kod körük eklenti bir modifikasyonudur. Kılavuz verilerindeki öğelerin sayısını kontrol ederek ve buna bağlı olarak yüksekliği hesaplayarak çalışır. Eklentiye gönderilen seçenekler satır yüksekliği ve başlık yüksekliğidir.
ngGridCustomFlexibleHeightPlugin = function (opts) {
var self = this;
self.grid = null;
self.scope = null;
self.init = function (scope, grid, services) {
self.domUtilityService = services.DomUtilityService;
self.grid = grid;
self.scope = scope;
var recalcHeightForData = function() { setTimeout(innerRecalcForData, 1); };
var innerRecalcForData = function() {
var gridId = self.grid.gridId;
var footerPanelSel = '.' + gridId + ' .ngFooterPanel';
var extraHeight = self.grid.$topPanel.height() + $(footerPanelSel).height();
var naturalHeight = (grid.data.length - 1) * opts.rowHeight + opts.headerRowHeight;
self.grid.$viewport.css('height', (naturalHeight + 2) + 'px');
self.grid.$root.css('height', (naturalHeight + extraHeight + 2) + 'px');
// self.grid.refreshDomSizes();
if (!self.scope.$$phase) {
self.scope.$apply(function() {
self.domUtilityService.RebuildGrid(self.scope, self.grid);
});
}
else {
// $digest or $apply already in progress
self.domUtilityService.RebuildGrid(self.scope, self.grid);
}
};
scope.$watch(grid.config.data, recalcHeightForData);
};
};
Böyle ve diğer sorunlarla çalışan olmuştu yardımcı olur umarım ve (düzeltmek https://github.com/a5sk4s/ng-grid improve_layout github dalında çatalı görmek için bir girişimde başladı/tree/improve_layout) - bu devam eden bir iştir ve yeni sorunları ortaya çıkarabilir - burada pusulanın çatalına bakın: http://plnkr.co/edit/06CYAGjVURxGxDfX8wnt (bazı düzen sorunları, çünkü ng-grid.css değiştirdim ve referans olamaz) - umarım – Andreas
Teşekkürler Andreas. Eklentiyi doğru kullanmadığımı veya ngGrid kullanmam konusunda endişeliydim. Şu anda sadece bazı sorunları var gibi görünüyor. Bu özel sorun için, dalınızda hangi öğeleri değiştirdiğinizi biliyor musunuz? Bu şubeyi kullanmanın benim için bir seçenek olduğunu düşünmediğim yerdeki değişiklikleri yerel olarak yapabilirim. –
Andreas, bağlantı kesicinize bağlantı kesildi. – Rob