active-channel.js 1.69 KB
/*
 * 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, $, URITemplate) {
    'use strict';

    // id of the modal form
    var modal = '#active-channel-modal';

    // Ajax submit the channel linking form
    $(document).on('submit', modal, function(e) {
        e.preventDefault();
        var $modal = $(modal);
        $modal.modal('hide');

        var handleFormSuccess = function(data, textStatus, jqXHR) {
            $modal.remove();
            var content = $('.foundation-content').adaptTo('foundation-content');
            content.refresh();
        };

        var handleFormFailure = function(jqXHR) {
            var message = $('#Message', jqXHR.responseText).text();
            var ui = $(window).adaptTo('foundation-ui');
            ui.alert(Granite.I18n.get('Error'), message, 'error');
        };

        $.ajax({
            method: 'post',
            url: Granite.HTTP.externalize($modal.attr('action')),
            data: $modal.serialize()
        }).done(handleFormSuccess).fail(handleFormFailure);
    });

}(window, document, Granite.$, Granite.URITemplate));