Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/save/index.js
Show First 20 Lines • Show All 127 Lines • ▼ Show 20 Lines | $(document).ready(() => { | ||||
}); | }); | ||||
$('#swh-origin-save-request-create-tab').on('shown.bs.tab', () => { | $('#swh-origin-save-request-create-tab').on('shown.bs.tab', () => { | ||||
removeUrlFragment(); | removeUrlFragment(); | ||||
}); | }); | ||||
let saveRequestAcceptedAlert = htmlAlert( | let saveRequestAcceptedAlert = htmlAlert( | ||||
'success', | 'success', | ||||
'The "save code now" request has been accepted and will be processed as soon as possible.' | 'The "save code now" request has been accepted and will be processed as soon as possible.', | ||||
true | |||||
); | ); | ||||
let saveRequestPendingAlert = htmlAlert( | let saveRequestPendingAlert = htmlAlert( | ||||
'warning', | 'warning', | ||||
'The "save code now" request has been put in pending state and may be accepted for processing after manual review.' | 'The "save code now" request has been put in pending state and may be accepted for processing after manual review.', | ||||
true | |||||
); | ); | ||||
let saveRequestRateLimitedAlert = htmlAlert( | let saveRequestRateLimitedAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'The rate limit for "save code now" requests has been reached. Please try again later.' | 'The rate limit for "save code now" requests has been reached. Please try again later.', | ||||
true | |||||
); | ); | ||||
let saveRequestUnknownErrorAlert = htmlAlert( | let saveRequestUnknownErrorAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'An unexpected error happened when submitting the "save code now request".' | 'An unexpected error happened when submitting the "save code now request".', | ||||
true | |||||
); | ); | ||||
$('#swh-save-origin-form').submit(event => { | $('#swh-save-origin-form').submit(event => { | ||||
event.preventDefault(); | event.preventDefault(); | ||||
event.stopPropagation(); | event.stopPropagation(); | ||||
$('.alert').alert('close'); | $('.alert').alert('close'); | ||||
if (event.target.checkValidity()) { | if (event.target.checkValidity()) { | ||||
$(event.target).removeClass('was-validated'); | $(event.target).removeClass('was-validated'); | ||||
▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | if (validUrl) { | ||||
input.setCustomValidity('The origin url is not valid or does not reference a code repository'); | input.setCustomValidity('The origin url is not valid or does not reference a code repository'); | ||||
} | } | ||||
} | } | ||||
export function initTakeNewSnapshot() { | export function initTakeNewSnapshot() { | ||||
let newSnapshotRequestAcceptedAlert = htmlAlert( | let newSnapshotRequestAcceptedAlert = htmlAlert( | ||||
'success', | 'success', | ||||
'The "take new snapshot" request has been accepted and will be processed as soon as possible.' | 'The "take new snapshot" request has been accepted and will be processed as soon as possible.', | ||||
true | |||||
); | ); | ||||
let newSnapshotRequestPendingAlert = htmlAlert( | let newSnapshotRequestPendingAlert = htmlAlert( | ||||
'warning', | 'warning', | ||||
'The "take new snapshot" request has been put in pending state and may be accepted for processing after manual review.' | 'The "take new snapshot" request has been put in pending state and may be accepted for processing after manual review.', | ||||
true | |||||
); | ); | ||||
let newSnapshotRequestRateLimitAlert = htmlAlert( | let newSnapshotRequestRateLimitAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'The rate limit for "take new snapshot" requests has been reached. Please try again later.' | 'The rate limit for "take new snapshot" requests has been reached. Please try again later.', | ||||
true | |||||
); | ); | ||||
let newSnapshotRequestUnknownErrorAlert = htmlAlert( | let newSnapshotRequestUnknownErrorAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'An unexpected error happened when submitting the "save code now request".' | 'An unexpected error happened when submitting the "save code now request".', | ||||
true | |||||
); | ); | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
$('#swh-take-new-snapshot-form').submit(event => { | $('#swh-take-new-snapshot-form').submit(event => { | ||||
event.preventDefault(); | event.preventDefault(); | ||||
event.stopPropagation(); | event.stopPropagation(); | ||||
let originType = $('#swh-input-visit-type').val(); | let originType = $('#swh-input-visit-type').val(); | ||||
let originUrl = $('#swh-input-origin-url').val(); | let originUrl = $('#swh-input-origin-url').val(); | ||||
originSaveRequest(originType, originUrl, | originSaveRequest(originType, originUrl, | ||||
() => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestAcceptedAlert), | () => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestAcceptedAlert), | ||||
() => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestPendingAlert), | () => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestPendingAlert), | ||||
(statusCode, errorData) => { | (statusCode, errorData) => { | ||||
$('#swh-take-new-snapshot-request-status').css('color', 'red'); | $('#swh-take-new-snapshot-request-status').css('color', 'red'); | ||||
if (statusCode === 403) { | if (statusCode === 403) { | ||||
const errorAlert = htmlAlert('danger', `Error: ${errorData['detail']}`); | const errorAlert = htmlAlert('danger', `Error: ${errorData['detail']}`, true); | ||||
$('#swh-take-new-snapshot-request-status').html(errorAlert); | $('#swh-take-new-snapshot-request-status').html(errorAlert); | ||||
} else if (statusCode === 429) { | } else if (statusCode === 429) { | ||||
$('#swh-take-new-snapshot-request-status').html(newSnapshotRequestRateLimitAlert); | $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestRateLimitAlert); | ||||
} else { | } else { | ||||
$('#swh-take-new-snapshot-request-status').html(newSnapshotRequestUnknownErrorAlert); | $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestUnknownErrorAlert); | ||||
} | } | ||||
}); | }); | ||||
}); | }); | ||||
}); | }); | ||||
} | } |