support fixed-ratio icon lists
This commit is contained in:
parent
accb7c862a
commit
6dfa732636
4 changed files with 64 additions and 44 deletions
|
|
@ -53,10 +53,10 @@ Ox.IconList = function(options, self) {
|
|||
self.options.defaultRatio = self.options.fixedRatio;
|
||||
}
|
||||
|
||||
$.extend(self, {
|
||||
itemHeight: self.options.size * 1.5,
|
||||
itemWidth: self.options.size
|
||||
});
|
||||
self.iconHeight = self.options.size / (self.options.fixedRatio || 1);
|
||||
self.iconWidth = self.options.size;
|
||||
self.itemHeight = self.iconHeight + self.options.size * 0.5;
|
||||
self.itemWidth = self.options.size;
|
||||
|
||||
that.$element = Ox.List({
|
||||
centered: self.options.centered,
|
||||
|
|
@ -89,15 +89,27 @@ Ox.IconList = function(options, self) {
|
|||
|
||||
function constructItem(data) {
|
||||
var isEmpty = Ox.isEmpty(data);
|
||||
data = !isEmpty ?
|
||||
self.options.item(data, self.options.sort, self.options.size) : {}
|
||||
ratio = !isEmpty ? data.width / data.height : self.options.defaultRatio;
|
||||
data = !isEmpty
|
||||
? self.options.item(data, self.options.sort, self.options.size)
|
||||
: {
|
||||
width: Math.round(self.options.size * (
|
||||
self.options.defaultRatio >= 1 ? 1 : self.options.defaultRatio
|
||||
)),
|
||||
height: Math.round(self.options.size / (
|
||||
self.options.defaultRatio <= 1 ? 1 : self.options.defaultRatio
|
||||
))
|
||||
};
|
||||
return self.options.itemConstructor($.extend(data, {
|
||||
borderRadius: self.options.borderRadius,
|
||||
fixedRatio: self.options.fixedRatio,
|
||||
height: Math.round(self.options.size / (ratio <= 1 ? 1 : ratio)),
|
||||
size: self.options.size,
|
||||
width: Math.round(self.options.size * (ratio >= 1 ? 1 : ratio))
|
||||
iconHeight: self.iconHeight,
|
||||
iconWidth: self.iconWidth,
|
||||
imageHeight: data.height,
|
||||
imageWidth: data.width,
|
||||
itemHeight: self.itemHeight,
|
||||
itemWidth: self.itemWidth,
|
||||
//height: Math.round(self.options.size / (ratio <= 1 ? 1 : ratio)),
|
||||
//size: self.options.size,
|
||||
//width: Math.round(self.options.size * (ratio >= 1 ? 1 : ratio))
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue