Move all files to 2017/
This commit is contained in:
parent
ac7370f67f
commit
2875863330
15717 changed files with 0 additions and 0 deletions
104
2017/web/core/misc/tableresponsive.js
Normal file
104
2017/web/core/misc/tableresponsive.js
Normal file
|
@ -0,0 +1,104 @@
|
|||
/**
|
||||
* DO NOT EDIT THIS FILE.
|
||||
* See the following change record for more information,
|
||||
* https://www.drupal.org/node/2815083
|
||||
* @preserve
|
||||
**/
|
||||
|
||||
(function ($, Drupal, window) {
|
||||
function TableResponsive(table) {
|
||||
this.table = table;
|
||||
this.$table = $(table);
|
||||
this.showText = Drupal.t('Show all columns');
|
||||
this.hideText = Drupal.t('Hide lower priority columns');
|
||||
|
||||
this.$headers = this.$table.find('th');
|
||||
|
||||
this.$link = $('<button type="button" class="link tableresponsive-toggle"></button>').attr('title', Drupal.t('Show table cells that were hidden to make the table fit within a small screen.')).on('click', $.proxy(this, 'eventhandlerToggleColumns'));
|
||||
|
||||
this.$table.before($('<div class="tableresponsive-toggle-columns"></div>').append(this.$link));
|
||||
|
||||
$(window).on('resize.tableresponsive', $.proxy(this, 'eventhandlerEvaluateColumnVisibility')).trigger('resize.tableresponsive');
|
||||
}
|
||||
|
||||
Drupal.behaviors.tableResponsive = {
|
||||
attach: function attach(context, settings) {
|
||||
var $tables = $(context).find('table.responsive-enabled').once('tableresponsive');
|
||||
if ($tables.length) {
|
||||
var il = $tables.length;
|
||||
for (var i = 0; i < il; i++) {
|
||||
TableResponsive.tables.push(new TableResponsive($tables[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.extend(TableResponsive, {
|
||||
tables: []
|
||||
});
|
||||
|
||||
$.extend(TableResponsive.prototype, {
|
||||
eventhandlerEvaluateColumnVisibility: function eventhandlerEvaluateColumnVisibility(e) {
|
||||
var pegged = parseInt(this.$link.data('pegged'), 10);
|
||||
var hiddenLength = this.$headers.filter('.priority-medium:hidden, .priority-low:hidden').length;
|
||||
|
||||
if (hiddenLength > 0) {
|
||||
this.$link.show().text(this.showText);
|
||||
}
|
||||
|
||||
if (!pegged && hiddenLength === 0) {
|
||||
this.$link.hide().text(this.hideText);
|
||||
}
|
||||
},
|
||||
eventhandlerToggleColumns: function eventhandlerToggleColumns(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
var $hiddenHeaders = this.$headers.filter('.priority-medium:hidden, .priority-low:hidden');
|
||||
this.$revealedCells = this.$revealedCells || $();
|
||||
|
||||
if ($hiddenHeaders.length > 0) {
|
||||
$hiddenHeaders.each(function (index, element) {
|
||||
var $header = $(this);
|
||||
var position = $header.prevAll('th').length;
|
||||
self.$table.find('tbody tr').each(function () {
|
||||
var $cells = $(this).find('td').eq(position);
|
||||
$cells.show();
|
||||
|
||||
self.$revealedCells = $().add(self.$revealedCells).add($cells);
|
||||
});
|
||||
$header.show();
|
||||
|
||||
self.$revealedCells = $().add(self.$revealedCells).add($header);
|
||||
});
|
||||
this.$link.text(this.hideText).data('pegged', 1);
|
||||
} else {
|
||||
this.$revealedCells.hide();
|
||||
|
||||
this.$revealedCells.each(function (index, element) {
|
||||
var $cell = $(this);
|
||||
var properties = $cell.attr('style').split(';');
|
||||
var newProps = [];
|
||||
|
||||
var match = /^display\s*:\s*none$/;
|
||||
for (var i = 0; i < properties.length; i++) {
|
||||
var prop = properties[i];
|
||||
prop.trim();
|
||||
|
||||
var isDisplayNone = match.exec(prop);
|
||||
if (isDisplayNone) {
|
||||
continue;
|
||||
}
|
||||
newProps.push(prop);
|
||||
}
|
||||
|
||||
$cell.attr('style', newProps.join(';'));
|
||||
});
|
||||
this.$link.text(this.showText).data('pegged', 0);
|
||||
|
||||
$(window).trigger('resize.tableresponsive');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Drupal.TableResponsive = TableResponsive;
|
||||
})(jQuery, Drupal, window);
|
Reference in a new issue