Allow social sharing to specify if a new window is opened

For example mail shares should not open a new window because it looks
weird.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2017-04-20 16:32:46 +02:00
parent 140580f9d8
commit 48fd0ee9f0
No known key found for this signature in database
GPG Key ID: F941078878347C0C
2 changed files with 16 additions and 8 deletions

View File

@ -85,7 +85,7 @@
'</li>' +
'{{#each social}}' +
'<li>' +
'<a href="#" class="shareOption menuitem pop-up" data-url="{{url}}">' +
'<a href="#" class="shareOption menuitem pop-up" data-url="{{url}}" data-window="{{newWindow}}">' +
'<span class="icon {{iconClass}}"' +
'></span><span>{{label}}' +
'</span>' +
@ -424,7 +424,8 @@
url: url,
label: t('core', 'Share to {name}', {name: model.get('name')}),
name: model.get('name'),
iconClass: model.get('iconClass')
iconClass: model.get('iconClass'),
newWindow: model.get('newWindow')
});
});
@ -515,14 +516,19 @@
event.stopPropagation();
var url = $(event.currentTarget).data('url');
var newWindow = $(event.currentTarget).data('window');
$(event.currentTarget).tooltip('hide');
if (url) {
var width = 600;
var height = 400;
var left = (screen.width/2)-(width/2);
var top = (screen.height/2)-(height/2);
if (newWindow === true) {
var width = 600;
var height = 400;
var left = (screen.width / 2) - (width / 2);
var top = (screen.height / 2) - (height / 2);
window.open(url, 'name', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left);
window.open(url, 'name', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left);
} else {
window.location.href = url;
}
}
}

View File

@ -36,7 +36,9 @@
/** Name to show in the tooltip */
name: null,
/** Icon class to display */
iconClass: null
iconClass: null,
/** Open in new windows */
newWindow: true
}
});