%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/985914/root/data/old/home/stash/atlassian-stash/static/page/maintenance/lock/
Upload File :
Create Path :
Current File : //proc/985914/root/data/old/home/stash/atlassian-stash/static/page/maintenance/lock/lock.js

define('page/maintenance/lock', [
    'jquery',
    'util/ajax',
    'util/navbuilder',
    'widget/submit-spinner',
    'layout/maintenance',
    'exports'
], function (
    $,
    ajax,
    navBuilder,
    SubmitSpinner,
    maintenance,
    exports
) {
        exports.onReady = function (hasToken) {
            var pollUrl = AJS.contextPath() + '/mvc/maintenance/lock',
                cancelButtonId = 'cancel';
            var opts = {
                pollUrl: pollUrl,
                pollTickCallback: function (progressBar, data, textStatus, xhr) {
                    // always return undefined - never done until the pollUrl returns a 404
                    return undefined;
                },
                cancelButtonId: cancelButtonId,
                redirectUrl: hasToken ? navBuilder.admin().build() : navBuilder.allProjects().build(),
                canceledHeader: AJS.I18n.getText('stash.web.lock.canceled.title'),
                cancelingDescription: AJS.I18n.getText('stash.web.lock.canceling.description'),
                hasCancelDialog: false
            };

            $('#' + cancelButtonId).on('click', function (event) {
                var $button = $(this),
                    $form = $button.closest('form'),
                    $tokenField = $form.find('input[name=token]'),
                    token = $tokenField.val(),
                    spinner = new SubmitSpinner($button, 'after');

                spinner.show();

                // Can't use data() because jQuery sends the data as content body instead of query string parameters for
                // all non-GET requests. Encode the token into the query string of the url.
                ajax.rest({
                    url: pollUrl + "?token=" + encodeURIComponent(token),
                    type: 'DELETE',
                    statusCode: {
                        409: function (xhr, textStatus, errorThrown, resp) {
                            $tokenField.parent().replaceWith(stash.layout.maintenance.tokenInputField(resp));
                            return false;
                        },
                        '*': function () {
                            return false;
                        }
                    }
                }).always(function () {
                    spinner.hide();
                }).done(function () {
                    window.location = opts.redirectUrl;
                });

                event.preventDefault();
            });

            maintenance.init(opts);
        };
    });

Zerion Mini Shell 1.0