Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / resources / print_preview / search / recent_destination_list.js
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('print_preview', function() {
6   'use strict';
7
8   /**
9    * Sub-class of a destination list that shows recent destinations. This list
10    * does not render a "Show all" button.
11    * @param {!cr.EventTarget} eventTarget Event target to pass to destination
12    *     items for dispatching SELECT events.
13    * @constructor
14    * @extends {print_preview.DestinationList}
15    */
16   function RecentDestinationList(eventTarget) {
17     print_preview.DestinationList.call(
18         this,
19         eventTarget,
20         loadTimeData.getString('recentDestinationsTitle'));
21   };
22
23   RecentDestinationList.prototype = {
24     __proto__: print_preview.DestinationList.prototype,
25
26     /** @override */
27     updateShortListSize: function(size) {
28       this.setShortListSizeInternal(
29           Math.max(1, Math.min(size, this.getDestinationsCount())));
30     },
31
32     /** @override */
33     renderListInternal: function(destinations) {
34       setIsVisible(this.getChildElement('.no-destinations-message'),
35                    destinations.length == 0);
36       setIsVisible(this.getChildElement('.destination-list > footer'), false);
37       var numItems = Math.min(destinations.length, this.shortListSize_);
38       for (var i = 0; i < numItems; i++)
39         this.renderListItemInternal(destinations[i]);
40     }
41   };
42
43   return {
44     RecentDestinationList: RecentDestinationList
45   };
46 });