| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 if (typeof Polymer == 'undefined') | 5 if (typeof Polymer == 'undefined') |
| 6 Polymer = {dom: 'shadow'}; | 6 Polymer = {dom: 'shadow'}; |
| 7 else | 7 else |
| 8 console.error('Polymer is already defined.'); | 8 console.error('Polymer is already defined.'); |
| 9 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 9 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 10 // Use of this source code is governed by a BSD-style license that can be | 10 // Use of this source code is governed by a BSD-style license that can be |
| (...skipping 1560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1571 download: function(url) { | 1571 download: function(url) { |
| 1572 var a = document.createElement('a'); | 1572 var a = document.createElement('a'); |
| 1573 a.href = url; | 1573 a.href = url; |
| 1574 a.setAttribute('download', ''); | 1574 a.setAttribute('download', ''); |
| 1575 a.click(); | 1575 a.click(); |
| 1576 }, | 1576 }, |
| 1577 | 1577 |
| 1578 /** @param {string} id ID of the download that the user started dragging. */ | 1578 /** @param {string} id ID of the download that the user started dragging. */ |
| 1579 drag: chromeSendWithId('drag'), | 1579 drag: chromeSendWithId('drag'), |
| 1580 | 1580 |
| 1581 /** @private {boolean} */ | 1581 /** Loads more downloads with the current search terms. */ |
| 1582 isSearching_: false, | 1582 loadMore: function() { |
| 1583 chrome.send('getDownloads', this.searchTerms_); |
| 1584 }, |
| 1583 | 1585 |
| 1584 /** | 1586 /** |
| 1585 * @return {boolean} Whether the user is currently searching for downloads | 1587 * @return {boolean} Whether the user is currently searching for downloads |
| 1586 * (i.e. has a non-empty search term). | 1588 * (i.e. has a non-empty search term). |
| 1587 */ | 1589 */ |
| 1588 isSearching: function() { | 1590 isSearching: function() { |
| 1589 return this.isSearching_; | 1591 return this.searchTerms_.length > 0; |
| 1590 }, | 1592 }, |
| 1591 | 1593 |
| 1592 /** Opens the current local destination for downloads. */ | 1594 /** Opens the current local destination for downloads. */ |
| 1593 openDownloadsFolder: chrome.send.bind(chrome, 'openDownloadsFolder'), | 1595 openDownloadsFolder: chrome.send.bind(chrome, 'openDownloadsFolder'), |
| 1594 | 1596 |
| 1595 /** | 1597 /** |
| 1596 * @param {string} id ID of the download to run locally on the user's box. | 1598 * @param {string} id ID of the download to run locally on the user's box. |
| 1597 */ | 1599 */ |
| 1598 openFile: chromeSendWithId('openFile'), | 1600 openFile: chromeSendWithId('openFile'), |
| 1599 | 1601 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1611 * warnings. | 1613 * warnings. |
| 1612 */ | 1614 */ |
| 1613 saveDangerous: chromeSendWithId('saveDangerous'), | 1615 saveDangerous: chromeSendWithId('saveDangerous'), |
| 1614 | 1616 |
| 1615 /** @param {string} searchText What to search for. */ | 1617 /** @param {string} searchText What to search for. */ |
| 1616 search: function(searchText) { | 1618 search: function(searchText) { |
| 1617 if (this.searchText_ == searchText) | 1619 if (this.searchText_ == searchText) |
| 1618 return; | 1620 return; |
| 1619 | 1621 |
| 1620 this.searchText_ = searchText; | 1622 this.searchText_ = searchText; |
| 1623 this.searchTerms_ = ActionService.splitTerms(this.searchText_); |
| 1624 this.loadMore(); |
| 1625 }, |
| 1621 | 1626 |
| 1622 var terms = ActionService.splitTerms(searchText); | 1627 /** @private {Array<string>} */ |
| 1623 this.isSearching_ = terms.length > 0; | 1628 searchTerms_: [], |
| 1624 | 1629 |
| 1625 chrome.send('getDownloads', terms); | 1630 /** @private {string} */ |
| 1626 }, | 1631 searchText_: '', |
| 1627 | 1632 |
| 1628 /** | 1633 /** |
| 1629 * Shows the local folder a finished download resides in. | 1634 * Shows the local folder a finished download resides in. |
| 1630 * @param {string} id ID of the download to show. | 1635 * @param {string} id ID of the download to show. |
| 1631 */ | 1636 */ |
| 1632 show: chromeSendWithId('show'), | 1637 show: chromeSendWithId('show'), |
| 1633 | 1638 |
| 1634 /** Undo download removal. */ | 1639 /** Undo download removal. */ |
| 1635 undo: chrome.send.bind(chrome, 'undo'), | 1640 undo: chrome.send.bind(chrome, 'undo'), |
| 1636 }; | 1641 }; |
| (...skipping 15332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16969 items_: { | 16974 items_: { |
| 16970 type: Array, | 16975 type: Array, |
| 16971 value: function() { return []; }, | 16976 value: function() { return []; }, |
| 16972 }, | 16977 }, |
| 16973 }, | 16978 }, |
| 16974 | 16979 |
| 16975 hostAttributes: { | 16980 hostAttributes: { |
| 16976 loading: true, | 16981 loading: true, |
| 16977 }, | 16982 }, |
| 16978 | 16983 |
| 16984 listeners: { |
| 16985 'downloads-list.scroll': 'onListScroll_', |
| 16986 }, |
| 16987 |
| 16979 observers: [ | 16988 observers: [ |
| 16980 'itemsChanged_(items_.*)', | 16989 'itemsChanged_(items_.*)', |
| 16981 ], | 16990 ], |
| 16982 | 16991 |
| 16983 /** @private */ | 16992 /** @private */ |
| 16984 clearAll_: function() { | 16993 clearAll_: function() { |
| 16985 this.set('items_', []); | 16994 this.set('items_', []); |
| 16986 }, | 16995 }, |
| 16987 | 16996 |
| 16988 /** @private */ | 16997 /** @private */ |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17036 * @param {Event} e | 17045 * @param {Event} e |
| 17037 * @private | 17046 * @private |
| 17038 */ | 17047 */ |
| 17039 onCommand_: function(e) { | 17048 onCommand_: function(e) { |
| 17040 if (e.command.id == 'clear-all-command') | 17049 if (e.command.id == 'clear-all-command') |
| 17041 downloads.ActionService.getInstance().clearAll(); | 17050 downloads.ActionService.getInstance().clearAll(); |
| 17042 else if (e.command.id == 'undo-command') | 17051 else if (e.command.id == 'undo-command') |
| 17043 downloads.ActionService.getInstance().undo(); | 17052 downloads.ActionService.getInstance().undo(); |
| 17044 }, | 17053 }, |
| 17045 | 17054 |
| 17055 /** |
| 17056 * @param {Event} e |
| 17057 * @private |
| 17058 */ |
| 17059 onListScroll_: function(e) { |
| 17060 var list = this.$['downloads-list']; |
| 17061 if (list.scrollHeight > list.offsetHeight && |
| 17062 list.scrollTop + list.offsetHeight == list.scrollHeight) { |
| 17063 // Reached the end of the scrollback. Attempt to load more items. |
| 17064 downloads.ActionService.getInstance().loadMore(); |
| 17065 } |
| 17066 }, |
| 17067 |
| 17046 /** @private */ | 17068 /** @private */ |
| 17047 onLoad_: function() { | 17069 onLoad_: function() { |
| 17048 cr.ui.decorate('command', cr.ui.Command); | 17070 cr.ui.decorate('command', cr.ui.Command); |
| 17049 document.addEventListener('canExecute', this.onCanExecute_.bind(this)); | 17071 document.addEventListener('canExecute', this.onCanExecute_.bind(this)); |
| 17050 document.addEventListener('command', this.onCommand_.bind(this)); | 17072 document.addEventListener('command', this.onCommand_.bind(this)); |
| 17051 | 17073 |
| 17052 // Shows all downloads. | 17074 downloads.ActionService.getInstance().loadMore(); |
| 17053 downloads.ActionService.getInstance().search(''); | |
| 17054 }, | 17075 }, |
| 17055 | 17076 |
| 17056 /** | 17077 /** |
| 17057 * @param {number} index | 17078 * @param {number} index |
| 17058 * @private | 17079 * @private |
| 17059 */ | 17080 */ |
| 17060 removeItem_: function(index) { | 17081 removeItem_: function(index) { |
| 17061 this.splice('items_', index, 1); | 17082 this.splice('items_', index, 1); |
| 17062 this.updateHideDates_(index, index); | 17083 this.updateHideDates_(index, index); |
| 17063 }, | 17084 }, |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17115 Manager.get().updateItem_(index, data); | 17136 Manager.get().updateItem_(index, data); |
| 17116 }; | 17137 }; |
| 17117 | 17138 |
| 17118 return {Manager: Manager}; | 17139 return {Manager: Manager}; |
| 17119 }); | 17140 }); |
| 17120 // Copyright 2015 The Chromium Authors. All rights reserved. | 17141 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 17121 // Use of this source code is governed by a BSD-style license that can be | 17142 // Use of this source code is governed by a BSD-style license that can be |
| 17122 // found in the LICENSE file. | 17143 // found in the LICENSE file. |
| 17123 | 17144 |
| 17124 window.addEventListener('load', downloads.Manager.onLoad); | 17145 window.addEventListener('load', downloads.Manager.onLoad); |
| OLD | NEW |