spee.ch/public/assets/js/createChannelFunctions.js

56 lines
2.6 KiB
JavaScript
Raw Normal View History

2017-11-10 02:46:50 +01:00
// display the content that shows channel creation has started
function showChannelCreateInProgressDisplay () {
const publishChannelForm = document.getElementById('publish-channel-form');
const inProgress = document.getElementById('channel-publish-in-progress');
2017-11-10 02:46:50 +01:00
const channelProgressBar = document.getElementById('create-channel-progress-bar');
publishChannelForm.hidden = true;
inProgress.hidden = false;
2017-11-10 02:46:50 +01:00
createProgressBar(channelProgressBar, 12);
}
2017-11-10 02:46:50 +01:00
// display the content that shows channle creation is done
function showChannelCreateDoneDisplay() {
const inProgress = document.getElementById('channel-publish-in-progress');
inProgress.hidden=true;
const done = document.getElementById('channel-publish-done');
done.hidden = false;
}
function showChannelCreationError(msg) {
const inProgress = document.getElementById('channel-publish-in-progress');
inProgress.innerText = msg;
}
function publishNewChannel (event) {
const userName = document.getElementById('new-channel-name').value;
const password = document.getElementById('new-channel-password').value;
// prevent default so this script can handle submission
event.preventDefault();
// validate submission
validationFunctions.validateNewChannelSubmission(userName, password)
.then(() => {
showChannelCreateInProgressDisplay();
return sendAuthRequest(userName, password, '/signup') // post the request
})
.then(result => {
2017-12-01 03:23:27 +01:00
setUserCookies(result.channelName, result.channelClaimId, result.shortChannelId);
showChannelCreateDoneDisplay();
2017-12-01 03:23:27 +01:00
// if user is on the home page, update the needed elements without reloading
if (window.location.pathname === '/') {
2017-12-01 03:23:27 +01:00
replaceChannelOptionInPublishChannelSelect(result.channelName);
replaceChannelOptionInNavBarChannelSelect(result.channelName);
// if user is not on home page, redirect to home page
} else {
window.location = '/';
}
})
.catch(error => {
if (error.name === 'ChannelNameError' || error.name === 'ChannelPasswordError'){
const channelNameErrorDisplayElement = document.getElementById('input-error-channel-name');
2017-11-10 02:46:50 +01:00
validationFunctions.showError(channelNameErrorDisplayElement, error.message);
} else {
console.log('signup failure:', error);
showChannelCreationError('Unfortunately, Spee.ch encountered an error while creating your channel. Please let us know in slack!');
}
})
}