device-clear-cache.js 1.63 KB
/*
 * ADOBE CONFIDENTIAL
 *
 * Copyright 2015 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.
 */

/* globals Granite */

(function(window, document, $, i18n, dcc) {
    'use strict';

    var STATUS_SELECTOR = '.screens-dashboard-DeviceStatusTile';
    var CLEAR_CACHE_ACTIVATOR = '.screens-dcc-actions-Device-clear-activator';

    var ui = $(window).adaptTo('foundation-ui');

    var clearPlayerCache = function(ev) {
        var $device = $(ev.currentTarget).closest('.screens-Device');
        var deviceId = $device.find('[data-device-id]').data('deviceId');

        if (!deviceId) {
            return;
        }

        dcc.playerCommands.sendCommandToDevice(deviceId, dcc.playerCommands.COMMANDS.CLEAR_CACHE_ALL);

        ui.wait($(ev.target).closest(STATUS_SELECTOR).get(0));
        ui.notify(null, i18n.get('Request for cache clearing sent.'), 'info');
        setTimeout(function() {
            ui.clearWait();
        }, 1000);
    };

    $(document).on('click', CLEAR_CACHE_ACTIVATOR, clearPlayerCache);

}(window, document, Granite.$, Granite.I18n, window.CQ.screens.dcc));