cq.screens.dcc.openLink.js
1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
* ADOBE CONFIDENTIAL
*
* Copyright 2016 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and may be covered by U.S. and Foreign Patents,
* patents in process, and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
*/
(function(window, $, URITemplate) {
'use strict';
function computeUrl(url, item) {
var $item = $(item);
return URITemplate.expand(url, {
item: $item.data('link')
|| $item.find('[data-link]').data('link')
});
}
// deletes entries of a collection with the sling post servlet
$(window).adaptTo('foundation-registry').register('foundation.collection.action.action', {
name: 'cq.screens.dcc.openLink',
handler: function(name, el, config, collection, selections) {
var winMode = $('meta[name="user.preferences.winmode"]', document.head).prop('content');
var url;
if (winMode === 'single') {
var first = selections[0];
if (first) {
url = computeUrl(config.data.href, first);
window.location.href = url;
}
} else {
selections.forEach(function(item) {
url = computeUrl(config.data.href, item);
window.open(url);
});
}
}
});
}(window, Granite.$, Granite.URITemplate));