link-schedule.js
2.83 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
* ADOBE CONFIDENTIAL
*
* Copyright 2012 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, document, $, i18n) {
'use strict';
var MODAL_SELECTOR = '.screens-dcc-actions-assignschedule-dialog';
// Ajax submit the schedule linking form
$(document).on('submit', MODAL_SELECTOR, function(e) {
// Ignore if the omnisearch overlay is shown
if ($('coral-overlay[open]').length) {
return true;
}
e.preventDefault();
var $modal = $(MODAL_SELECTOR);
var $form = $modal.find('.coral-Form');
var ui = $(window).adaptTo('foundation-ui');
var $name = $('input[name=":nameHint"]', $form);
var $path = $('input[name="./path"]', $form);
var $schedulerTitle = $path.val().substr($path.val().lastIndexOf('/') + 1);
$name.val($schedulerTitle);
$(MODAL_SELECTOR).get(0).hide();
function done(data, textStatus, jqXHR) {
var content = $('.foundation-content').adaptTo('foundation-content');
content.refresh();
ui.notify(null, i18n.get('Schedule assigned.'), 'success');
}
function fail(jqXHR) {
var message = $('#Message', jqXHR.responseText).text();
ui.alert(i18n.get('Error'), message, 'error');
}
$.ajax({
method: 'post',
url: Granite.HTTP.externalize($form.attr('action')),
data: $form.serialize()
}).done(done).fail(fail);
});
// Add cache busting parameter to the dialog src to make sure its data is updated after a modification
// Remove once GRANITE-14378 has been tackled
$(document).on('foundation-contentloaded', function(ev) {
function eachCreateActivator(idx, el) {
var action = $(el).data('foundationCollectionAction');
action.data.src = action.data.src.replace(/[?&]t=\d+/, '');
action.data.src += (action.data.src.match(/\?.*/) ? '&' : '?') + 't=' + Date.now();
$(el).data('foundationCollectionAction', action);
}
if ($('.screens-DisplayDashboard').length) {
var $el = $('.screens-dcc-actions-ScheduleLink-create-activator');
$el.each(eachCreateActivator);
}
});
}(window, document, Granite.$, Granite.I18n));