Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: chrome/browser/resources/md_bookmarks/folder_node.js

Issue 2746363013: [MD Bookmarks] Add a drag and drop indicator to bookmarks. (Closed)
Patch Set: fix nit Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 Polymer({ 5 Polymer({
6 is: 'bookmarks-folder-node', 6 is: 'bookmarks-folder-node',
7 7
8 behaviors: [ 8 behaviors: [
9 bookmarks.StoreClient, 9 bookmarks.StoreClient,
10 ], 10 ],
(...skipping 20 matching lines...) Expand all
31 31
32 /** @private */ 32 /** @private */
33 isSelectedFolder_: { 33 isSelectedFolder_: {
34 type: Boolean, 34 type: Boolean,
35 value: false, 35 value: false,
36 reflectToAttribute: true, 36 reflectToAttribute: true,
37 computed: 'computeIsSelected_(itemId, selectedFolder_)' 37 computed: 'computeIsSelected_(itemId, selectedFolder_)'
38 }, 38 },
39 }, 39 },
40 40
41 /** @override */
41 attached: function() { 42 attached: function() {
42 this.watch('item_', function(state) { 43 this.watch('item_', function(state) {
43 return state.nodes[this.itemId]; 44 return state.nodes[this.itemId];
44 }.bind(this)); 45 }.bind(this));
45 this.watch('isClosed_', function(state) { 46 this.watch('isClosed_', function(state) {
46 return !!state.closedFolders[this.itemId]; 47 return !!state.closedFolders[this.itemId];
47 }.bind(this)); 48 }.bind(this));
48 this.watch('selectedFolder_', function(state) { 49 this.watch('selectedFolder_', function(state) {
49 return state.selectedFolder; 50 return state.selectedFolder;
50 }); 51 });
51 52
52 this.updateFromStore(); 53 this.updateFromStore();
53 }, 54 },
54 55
56 /** @return {HTMLElement} */
57 getDropTarget: function() {
58 return this.$.container;
59 },
60
55 /** 61 /**
56 * @private 62 * @private
57 * @return {string} 63 * @return {string}
58 */ 64 */
59 getFolderIcon_: function() { 65 getFolderIcon_: function() {
60 return this.isSelectedFolder_ ? 'bookmarks:folder-open' : 'cr:folder'; 66 return this.isSelectedFolder_ ? 'bookmarks:folder-open' : 'cr:folder';
61 }, 67 },
62 68
63 /** @private */ 69 /** @private */
64 selectFolder_: function() { 70 selectFolder_: function() {
(...skipping 19 matching lines...) Expand all
84 */ 90 */
85 computeIsSelected_: function(itemId, selectedFolder) { 91 computeIsSelected_: function(itemId, selectedFolder) {
86 return itemId == selectedFolder; 92 return itemId == selectedFolder;
87 }, 93 },
88 94
89 /** 95 /**
90 * @private 96 * @private
91 * @return {boolean} 97 * @return {boolean}
92 */ 98 */
93 hasChildFolder_: function() { 99 hasChildFolder_: function() {
94 for (var i = 0; i < this.item_.children.length; i++) { 100 return bookmarks.util.hasChildFolders(this.itemId, this.getState().nodes);
95 if (this.isFolder_(this.item_.children[i]))
96 return true;
97 }
98 return false;
99 }, 101 },
100 102
101 /** @private */ 103 /** @private */
102 depthChanged_: function() { 104 depthChanged_: function() {
103 this.style.setProperty('--node-depth', String(this.depth)); 105 this.style.setProperty('--node-depth', String(this.depth));
104 }, 106 },
105 107
106 /** 108 /**
107 * @private 109 * @private
108 * @return {number} 110 * @return {number}
109 */ 111 */
110 getChildDepth_: function() { 112 getChildDepth_: function() {
111 return this.depth + 1; 113 return this.depth + 1;
112 }, 114 },
113 115
114 /** 116 /**
115 * @param {string} itemId 117 * @param {string} itemId
116 * @private 118 * @private
117 * @return {boolean} 119 * @return {boolean}
118 */ 120 */
119 isFolder_: function(itemId) { 121 isFolder_: function(itemId) {
120 return !this.getState().nodes[itemId].url; 122 return !this.getState().nodes[itemId].url;
121 } 123 },
124
125 /**
126 * @private
127 * @return {boolean}
128 */
129 isRootFolder_: function() {
130 return this.depth == 0;
131 },
122 }); 132 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/md_bookmarks/folder_node.html ('k') | chrome/browser/resources/md_bookmarks/item.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698