Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Commit 772fec1

Browse files
committed
Merge pull request #1757 from adobe/adrock/recent-delete
Added button to remove projects from the recent project dropdown.
2 parents afe3456 + e0f2674 commit 772fec1

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed
Lines changed: 15 additions & 0 deletions
Loading

src/extensions/default/RecentProjects/main.js

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ define(function (require, exports, module) {
9595

9696
var folderSpan = $("<span></span>").addClass("recent-folder").text(folder),
9797
restSpan = $("<span></span>").addClass("recent-folder-path").text(" - " + rest);
98-
return $("<a></a>").addClass("recent-folder-link").append(folderSpan).append(restSpan);
98+
return $("<a></a>").addClass("recent-folder-link").append(folderSpan).append(restSpan).data("path", path);
99+
}
100+
101+
function renderDelete() {
102+
return $("<div id='recent-folder-delete'></div>").addClass("trash-icon");
99103
}
100104

101105
/**
@@ -148,13 +152,45 @@ define(function (require, exports, module) {
148152
}
149153
});
150154
closeDropdown();
155+
})
156+
.mouseenter(function (e) {
157+
var $target = $(e.currentTarget),
158+
$del = renderDelete()
159+
.click(function () {
160+
// remove the project from the preferences.
161+
var prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_KEY),
162+
recentProjects = getRecentProjects(),
163+
index = recentProjects.indexOf($(this).data("path")),
164+
newProjects = [],
165+
i;
166+
for (i = 0; i < recentProjects.length; i++) {
167+
if (i !== index) {
168+
newProjects.push(recentProjects[i]);
169+
}
170+
}
171+
prefs.setValue("recentProjects", newProjects);
172+
closeDropdown();
173+
});
174+
175+
$(this).append($del);
176+
177+
$del.css("right", 5);
178+
$del.css("top", $target.position().top + 11);
179+
$del.css("display", "inline-block");
180+
$del.data("path", $(this).data("path"));
181+
})
182+
.mouseleave(function () {
183+
$("#recent-folder-delete").remove();
151184
});
185+
152186
$("<li></li>")
153187
.append($link)
154188
.appendTo($dropdown);
155189
hasProject = true;
156190
}
157191
});
192+
193+
158194
if (hasProject) {
159195
$("<li class='divider'>").appendTo($dropdown);
160196
}
@@ -203,4 +239,4 @@ define(function (require, exports, module) {
203239
.after("<span class='dropdown-arrow'></span>");
204240
$dropdownToggle = $("#project-dropdown-toggle").click(toggle);
205241
});
206-
});
242+
});

src/extensions/default/RecentProjects/styles.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
background-image: url("down-arrow.svg");
77
}
88

9+
.trash-icon {
10+
width: 16px;
11+
height: 16px;
12+
background-image: url("close_btn.svg");
13+
position: absolute;
14+
}
15+
916
#project-dropdown-toggle:hover {
1017
color: #a0a0a0;
1118
text-decoration: none;
@@ -23,6 +30,13 @@
2330
white-space: nowrap;
2431
}
2532

33+
#project-dropdown.dropdown-menu .recent-folder-link
34+
{
35+
display: block;
36+
margin: 5px 0;
37+
padding: 5px 26px 5px 10px;
38+
}
39+
2640
.recent-folder, #open-folder-link {
2741
color: #333;
2842
}

0 commit comments

Comments
 (0)