v8: Fix table cells collapsing when sorting doctypes in Nested Content (#4832)

This commit is contained in:
Sebastiaan Janssen
2019-04-30 22:00:35 +02:00
committed by GitHub
2 changed files with 31 additions and 2 deletions

View File

@@ -23,7 +23,35 @@
$scope.sortableOptions = {
axis: "y",
cursor: "move",
handle: ".icon-navigation"
handle: ".handle",
placeholder: 'sortable-placeholder',
forcePlaceholderSize: true,
helper: function (e, ui) {
// When sorting table rows, the cells collapse. This helper fixes that: https://www.foliotek.com/devblog/make-table-rows-sortable-using-jquery-ui-sortable/
ui.children().each(function () {
$(this).width($(this).width());
});
return ui;
},
start: function (e, ui) {
var cellHeight = ui.item.height();
// Build a placeholder cell that spans all the cells in the row: https://stackoverflow.com/questions/25845310/jquery-ui-sortable-and-table-cell-size
var cellCount = 0;
$('td, th', ui.helper).each(function () {
// For each td or th try and get it's colspan attribute, and add that or 1 to the total
var colspan = 1;
var colspanAttr = $(this).attr('colspan');
if (colspanAttr > 1) {
colspan = colspanAttr;
}
cellCount += colspan;
});
// Add the placeholder UI - note that this is the item's content, so td rather than tr - and set height of tr
ui.placeholder.html('<td colspan="' + cellCount + '"></td>').height(cellHeight);
}
};
$scope.docTypeTabs = {};

View File

@@ -18,7 +18,8 @@
</thead>
<tbody ui-sortable="sortableOptions" ng-model="model.value">
<tr ng-repeat="config in model.value">
<td class="icon icon-navigation">
<td>
<i class="icon icon-navigation handle"></i>
</td>
<td>
<select id="{{model.alias}}_doctype_select"