jupyterhub/theme/static/js/token.js

59 lines
1.4 KiB
JavaScript
Raw Normal View History

2023-01-20 13:01:31 +00:00
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
require(["jquery", "jhapi", "moment"], function ($, JHAPI, moment) {
"use strict";
var base_url = window.jhdata.base_url;
var user = window.jhdata.user;
var api = new JHAPI(base_url);
$(".time-col").map(function (i, el) {
// convert ISO datestamps to nice momentjs ones
el = $(el);
var m = moment(new Date(el.text().trim()));
el.text(m.isValid() ? m.fromNow() : el.text());
});
$("#request-token-form").submit(function () {
var note = $("#token-note").val();
if (!note.length) {
note = "Requested via token page";
}
var expiration_seconds =
parseInt($("#token-expiration-seconds").val()) || null;
api.request_token(
user,
{
note: note,
expires_in: expiration_seconds,
},
{
success: function (reply) {
$("#token-result").text(reply.token);
$("#token-area").show();
},
},
);
return false;
});
function get_token_row(element) {
while (!element.hasClass("token-row")) {
element = element.parent();
}
return element;
}
$(".revoke-token-btn").click(function () {
var el = $(this);
var row = get_token_row(el);
el.attr("disabled", true);
api.revoke_token(user, row.data("token-id"), {
success: function (reply) {
row.remove();
},
});
});
});