aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--css/redirector.css4
-rw-r--r--js/controllers/editredirect.js13
-rw-r--r--redirector.html1
3 files changed, 18 insertions, 0 deletions
diff --git a/css/redirector.css b/css/redirector.css
index a5a1d34..e2df85f 100644
--- a/css/redirector.css
+++ b/css/redirector.css
@@ -81,6 +81,10 @@ input[type="radio"] {
text-decoration: none;
}
+.btn.padded {
+ padding-left: 12px;
+ padding-right: 12px;
+}
.btn.grey {
color:#333;
diff --git a/js/controllers/editredirect.js b/js/controllers/editredirect.js
index 216581d..81a4ee9 100644
--- a/js/controllers/editredirect.js
+++ b/js/controllers/editredirect.js
@@ -23,6 +23,19 @@ redirectorApp.controller('EditRedirectCtrl', ['$scope', function($s) {
$s.$parent.showEditForm = true;
};
+ /**
+ * Duplicates a redirect.
+ * @param {Number} index
+ */
+ $s.$parent.duplicateRedirect = function (index) {
+ var redirect = new Redirect($s.redirects[index]);
+
+ $s.redirects.splice(index + 1, 0, redirect);
+
+ redirect.updateExampleResult();
+ $s.saveChanges();
+ }
+
$s.saveRedirect = function() {
if ($s.redirect.error) {
return; //Button is already disabled, but we still get the click
diff --git a/redirector.html b/redirector.html
index 3f9184b..eb27611 100644
--- a/redirector.html
+++ b/redirector.html
@@ -190,6 +190,7 @@
<a class="btn medium red" ng-click="confirmDeleteRedirect($index)">Delete</a>
<a class="btn medium grey move-up-btn" ng-class="{disabled:$first}" ng-click="moveUp($index)">▲</a>
<a class="btn medium grey move-down-btn" ng-class="{disabled:$last}" ng-click="moveDown($index)">▼</a>
+ <a class="btn medium grey padded" ng-click="duplicateRedirect($index)">Duplicate</a>
</div>
</div>
<label><input type="checkbox" ng-model="isSyncEnabled" ng-click="toggleSyncSetting()" /> Enable Storage Sync</label>