/*=============================================================================== ************ Virtual List ************ ===============================================================================*/ var VirtualList = function (listBlock, params) { var defaults = { cols: 1, height: app.params.material ? 48 : 44, cache: true, dynamicHeightBufferSize: 1, showFilteredItemsOnly: false }; params = params || {}; for (var def in defaults) { if (typeof params[def] === 'undefined') { params[def] = defaults[def]; } } // Preparation var vl = this; vl.listBlock = $(listBlock); vl.params = params; vl.items = vl.params.items; if (vl.params.showFilteredItemsOnly) { vl.filteredItems = []; } if (vl.params.template) { if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template); else if (typeof vl.params.template === 'function') vl.template = vl.params.template; } vl.pageContent = vl.listBlock.parents('.page-content'); // Bad scroll var updatableScroll; if (typeof vl.params.updatableScroll !== 'undefined') { updatableScroll = vl.params.updatableScroll; } else { updatableScroll = true; if (app.device.ios && app.device.osVersion.split('.')[0] < 8) { updatableScroll = false; } } // Append