%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/extensions/MobileFrontend/resources/mobile.startup/ |
Current File : /www/varak.net/wiki.varak.net/extensions/MobileFrontend/resources/mobile.startup/PageList.js |
( function ( M ) { var View = M.require( 'mobile.startup/View' ), browser = M.require( 'mobile.startup/Browser' ).getSingleton(); /** * List of items page view * @class PageList * @extends View */ function PageList() { View.apply( this, arguments ); } OO.mfExtend( PageList, View, { /** * @memberof PageList * @instance * @mixes View#defaults * @property {Object} defaults Default options hash. * @property {Page[]} defaults.pages Array of Page objects. These should match * the Page model and not necessarily the * underlying API format used. * E.g. [ * { * heading: "<strong>C</strong>laude Monet", * id: undefined, * title: "Claude Monet", * displayTitle: "<i>Claude Monet</i>", * url: "/wiki/Claude_Monet", * thumbnail: { * height: 62, * source: "http://127.0.0.1:8080/images/thumb/thumb.jpg", * width: 80, * isLandscape: true * } * } * ] */ defaults: { pages: [] }, /** * Render page images for the existing page list. Assumes no page images have been loaded. * @memberof PageList * @instance */ renderPageImages: function () { var self = this; setTimeout( function () { self.$( '.list-thumb' ).each( function () { var style = self.$( this ).data( 'style' ); self.$( this ).attr( 'style', style ); } ); // Delay an unnecessary load of images on mobile (slower?) connections // In particular on search results which can be regenerated quickly. }, browser.isWideScreen() ? 0 : 1000 ); }, /** * @inheritdoc * @memberof PageList * @instance */ postRender: function () { this.renderPageImages(); }, template: mw.template.get( 'mobile.startup', 'PageList.hogan' ), /** * @memberof PageList * @instance */ templatePartials: { // The server uses a very different structure in // SpecialMobileEditWatchlist.getLineHtml(). Be aware of these differences // when updating server rendered items. item: mw.template.get( 'mobile.startup', 'PageListItem.hogan' ) } } ); M.define( 'mobile.startup/PageList', PageList ); }( mw.mobileFrontend ) );