Skip to content

Commit

Permalink
#6594 store personal access token in beakerx.json
Browse files Browse the repository at this point in the history
  • Loading branch information
Mariusz Jurowicz committed Jan 12, 2018
1 parent 4db4ec6 commit 52dd42f
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 18 deletions.
2 changes: 1 addition & 1 deletion js/notebook/src/Plot.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ var PlotView = widgets.DOMWidgetView.extend({
scope.destroy();
});
}
that._currentScope.destroy();
that._currentScope && that._currentScope.destroy();

setTimeout(function() { that._currentScope = null; });
});
Expand Down
70 changes: 55 additions & 15 deletions js/notebook/src/extension/gistPublish/gistPublishModal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,44 @@
import * as _ from 'underscore';

const dialog = require('base/js/dialog');
const utils = require('base/js/utils');

export default class GistPublishModal {
static template = _.template(require('./modalTemplate.html'))();
static settingsUrl = `${(Jupyter.notebook_list || Jupyter.notebook).base_url}beakerx/settings`;

static show(submitCallback: Function): void {
GistPublishModal.getGithubPersonalAccessToken()
.then(personalAccessToken => {
GistPublishModal.create(submitCallback, personalAccessToken);
});
}

static create(submitCallback, personalAccessToken = '') {
const modalContent = GistPublishModal.createModalContent();
const personalAccessTokenInput = modalContent.querySelector('input');

if (personalAccessTokenInput) {
personalAccessTokenInput.value = personalAccessToken;
}

dialog.modal({
title : 'Publish to a Github Gist',
body : modalContent,
buttons: {
'Publish': {
'class' : 'btn-primary',
'click': () => {
const personalAccessToken = personalAccessTokenInput ? personalAccessTokenInput.value : '';

submitCallback(personalAccessToken);
GistPublishModal.storePersonalAccessToken(personalAccessToken);
}
},
'Cancel': {}
}
});
}

static createModalContent(): HTMLElement {
const modalContent = document.createElement('div');
Expand All @@ -37,22 +72,27 @@ export default class GistPublishModal {
return modalContent;
}

static show(submitCallback: Function): void {
const modalContent = GistPublishModal.createModalContent();
const personalAccessTokenInput = modalContent.querySelector('input');
static storePersonalAccessToken(githubPersonalAccessToken = ''): Promise<any> {
return GistPublishModal.getStoredSettings()
.then(storedSettings =>
utils.ajax(GistPublishModal.settingsUrl, {
type: 'POST',
data: JSON.stringify({
...storedSettings,
githubPersonalAccessToken
})
})
);
}

dialog.modal({
title : 'Publish to a Github Gist',
body : modalContent,
buttons: {
'Publish': {
'class' : 'btn-primary',
'click': () => {
submitCallback(personalAccessTokenInput ? personalAccessTokenInput.value : null);
}
},
'Cancel': {}
}
static getGithubPersonalAccessToken(): Promise<any> {
return GistPublishModal.getStoredSettings()
.then(settings => settings.githubPersonalAccessToken || '');
}

static getStoredSettings(): Promise<any> {
return utils.ajax(GistPublishModal.settingsUrl, {
method: 'GET'
});
}
}
2 changes: 1 addition & 1 deletion js/notebook/src/extension/gistPublish/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,5 @@ function doPublish(personalAccessToken): void {
}
};

$.ajax(gistsUrl, settings);
return $.ajax(gistsUrl, settings);
}
2 changes: 1 addition & 1 deletion js/notebook/src/plot/plotScope.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ define([
moment
) {

var CONTEXT_MENU_DEBOUNCE_TIME = 250;
var CONTEXT_MENU_DEBOUNCE_TIME = 350;

function PlotScope(wrapperId) {
this.wrapperId = wrapperId;
Expand Down

0 comments on commit 52dd42f

Please sign in to comment.