mirror of
https://github.com/lemeow125/EquipmentTracker-Backend.git
synced 2025-05-17 03:48:17 +08:00
Initial commit
This commit is contained in:
commit
c92d80c7fd
637 changed files with 73212 additions and 0 deletions
|
@ -0,0 +1,315 @@
|
|||
var responseDisplay = 'data'
|
||||
var coreapi = window.coreapi
|
||||
var schema = window.schema
|
||||
|
||||
function normalizeKeys (arr) {
|
||||
var _normarr = [];
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
_normarr = _normarr.concat(arr[i].split(' > '));
|
||||
}
|
||||
return _normarr;
|
||||
}
|
||||
|
||||
function normalizeHTTPHeader (str) {
|
||||
// Capitalize HTTP headers for display.
|
||||
return (str.charAt(0).toUpperCase() + str.substring(1))
|
||||
.replace(/-(.)/g, function ($1) {
|
||||
return $1.toUpperCase()
|
||||
})
|
||||
.replace(/(Www)/g, function ($1) {
|
||||
return 'WWW'
|
||||
})
|
||||
.replace(/(Xss)/g, function ($1) {
|
||||
return 'XSS'
|
||||
})
|
||||
.replace(/(Md5)/g, function ($1) {
|
||||
return 'MD5'
|
||||
})
|
||||
}
|
||||
|
||||
function formEntries (form) {
|
||||
// Polyfill for new FormData(form).entries()
|
||||
var formData = new FormData(form)
|
||||
if (formData.entries !== undefined) {
|
||||
return Array.from(formData.entries())
|
||||
}
|
||||
|
||||
var entries = []
|
||||
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
var element = form.elements[i]
|
||||
|
||||
if (!element.name) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (element.type === 'file') {
|
||||
for (var j = 0; j < element.files.length; j++) {
|
||||
entries.push([element.name, element.files[j]])
|
||||
}
|
||||
} else if (element.type === 'select-multiple' || element.type === 'select-one') {
|
||||
for (var j = 0; j < element.selectedOptions.length; j++) {
|
||||
entries.push([element.name, element.selectedOptions[j].value])
|
||||
}
|
||||
} else if (element.type === 'checkbox') {
|
||||
if (element.checked) {
|
||||
entries.push([element.name, element.value])
|
||||
}
|
||||
} else {
|
||||
entries.push([element.name, element.value])
|
||||
}
|
||||
}
|
||||
|
||||
return entries
|
||||
}
|
||||
|
||||
$(function () {
|
||||
var $selectedAuthentication = $('#selected-authentication')
|
||||
var $authControl = $('#auth-control')
|
||||
var $authTokenModal = $('#auth_token_modal')
|
||||
var $authBasicModal = $('#auth_basic_modal')
|
||||
var $authSessionModal = $('#auth_session_modal')
|
||||
|
||||
// Language Control
|
||||
$('#language-control li').click(function (event) {
|
||||
event.preventDefault()
|
||||
var $languageMenuItem = $(this).find('a')
|
||||
var $languageControls = $(this).closest('ul').find('li')
|
||||
var $languageControlLinks = $languageControls.find('a')
|
||||
var language = $languageMenuItem.data('language')
|
||||
|
||||
$languageControlLinks.not('[data-language="' + language + '"]').parent().removeClass('active')
|
||||
$languageControlLinks.filter('[data-language="' + language + '"]').parent().addClass('active')
|
||||
|
||||
$('#selected-language').text(language)
|
||||
|
||||
var $codeBlocks = $('pre.highlight')
|
||||
$codeBlocks.not('[data-language="' + language + '"]').addClass('hide')
|
||||
$codeBlocks.filter('[data-language="' + language + '"]').removeClass('hide')
|
||||
})
|
||||
|
||||
// API Explorer
|
||||
$('form.api-interaction').submit(function (event) {
|
||||
event.preventDefault()
|
||||
|
||||
var $form = $(this).closest('form')
|
||||
var $requestMethod = $form.find('.request-method')
|
||||
var $requestUrl = $form.find('.request-url')
|
||||
var $toggleView = $form.closest('.modal-content').find('.toggle-view')
|
||||
var $responseStatusCode = $form.find('.response-status-code')
|
||||
var $meta = $form.find('.meta')
|
||||
var $responseRawResponse = $form.find('.response-raw-response')
|
||||
var $requestAwaiting = $form.find('.request-awaiting')
|
||||
var $responseRaw = $form.find('.response-raw')
|
||||
var $responseData = $form.find('.response-data')
|
||||
var key = normalizeKeys($form.data('key'))
|
||||
var params = {}
|
||||
var entries = formEntries($form.get()[0])
|
||||
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
var entry = entries[i]
|
||||
var paramKey = entry[0]
|
||||
var paramValue = entry[1]
|
||||
var $elem = $form.find('[name="' + paramKey + '"]')
|
||||
var dataType = $elem.data('type') || 'string'
|
||||
|
||||
if (dataType === 'integer' && paramValue) {
|
||||
var value = parseInt(paramValue)
|
||||
if (!isNaN(value)) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if (dataType === 'number' && paramValue) {
|
||||
var value = parseFloat(paramValue)
|
||||
if (!isNaN(value)) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if (dataType === 'boolean' && paramValue) {
|
||||
var value = {
|
||||
'true': true,
|
||||
'false': false
|
||||
}[paramValue.toLowerCase()]
|
||||
if (value !== undefined) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if ((dataType === 'array' && paramValue) || (dataType === 'object' && paramValue)) {
|
||||
try {
|
||||
params[paramKey] = JSON.parse(paramValue)
|
||||
} catch (err) {
|
||||
// Ignore malformed JSON
|
||||
}
|
||||
} else if (dataType === 'string' && paramValue) {
|
||||
params[paramKey] = paramValue
|
||||
}
|
||||
}
|
||||
|
||||
$form.find(':checkbox').each(function (index) {
|
||||
// Handle unselected checkboxes
|
||||
var name = $(this).attr('name')
|
||||
if (!params.hasOwnProperty(name)) {
|
||||
params[name] = false
|
||||
}
|
||||
})
|
||||
|
||||
function requestCallback (request) {
|
||||
// Fill in the "GET /foo/" display.
|
||||
var parser = document.createElement('a')
|
||||
parser.href = request.url
|
||||
var method = request.options.method
|
||||
var path = parser.pathname + parser.hash + parser.search
|
||||
|
||||
$requestMethod.text(method)
|
||||
$requestUrl.text(path)
|
||||
}
|
||||
|
||||
function responseCallback (response, responseText) {
|
||||
// Display the 'Data'/'Raw' control.
|
||||
$toggleView.removeClass('hide')
|
||||
|
||||
// Fill in the "200 OK" display.
|
||||
$responseStatusCode.removeClass('label-success').removeClass('label-danger')
|
||||
if (response.ok) {
|
||||
$responseStatusCode.addClass('label-success')
|
||||
} else {
|
||||
$responseStatusCode.addClass('label-danger')
|
||||
}
|
||||
$responseStatusCode.text(response.status)
|
||||
$meta.removeClass('hide')
|
||||
|
||||
// Fill in the Raw HTTP response display.
|
||||
var panelText = 'HTTP/1.1 ' + response.status + ' ' + response.statusText + '\n'
|
||||
response.headers.forEach(function (header, key) {
|
||||
panelText += normalizeHTTPHeader(key) + ': ' + header + '\n'
|
||||
})
|
||||
if (responseText) {
|
||||
panelText += '\n' + responseText
|
||||
}
|
||||
$responseRawResponse.text(panelText)
|
||||
}
|
||||
|
||||
// Instantiate a client to make the outgoing request.
|
||||
var options = {
|
||||
requestCallback: requestCallback,
|
||||
responseCallback: responseCallback
|
||||
}
|
||||
|
||||
// Setup authentication options.
|
||||
if (window.auth && window.auth.type === 'token') {
|
||||
// Header authentication
|
||||
options.auth = new coreapi.auth.TokenAuthentication({
|
||||
scheme: window.auth.scheme,
|
||||
token: window.auth.token
|
||||
})
|
||||
} else if (window.auth && window.auth.type === 'basic') {
|
||||
// Basic authentication
|
||||
options.auth = new coreapi.auth.BasicAuthentication({
|
||||
username: window.auth.username,
|
||||
password: window.auth.password
|
||||
})
|
||||
} else if (window.auth && window.auth.type === 'session') {
|
||||
// Session authentication
|
||||
options.auth = new coreapi.auth.SessionAuthentication({
|
||||
csrfCookieName: 'csrftoken',
|
||||
csrfHeaderName: 'X-CSRFToken'
|
||||
})
|
||||
}
|
||||
|
||||
var client = new coreapi.Client(options)
|
||||
client.action(schema, key, params).then(function (data) {
|
||||
var response = JSON.stringify(data, null, 2)
|
||||
$requestAwaiting.addClass('hide')
|
||||
$responseRaw.addClass('hide')
|
||||
$responseData.addClass('hide').text('').jsonView(response)
|
||||
|
||||
if (responseDisplay === 'data') {
|
||||
$responseData.removeClass('hide')
|
||||
} else {
|
||||
$responseRaw.removeClass('hide')
|
||||
}
|
||||
}).catch(function (error) {
|
||||
var response = JSON.stringify(error.content, null, 2)
|
||||
$requestAwaiting.addClass('hide')
|
||||
$responseRaw.addClass('hide')
|
||||
$responseData.addClass('hide').text('').jsonView(response)
|
||||
|
||||
if (responseDisplay === 'data') {
|
||||
$responseData.removeClass('hide')
|
||||
} else {
|
||||
$responseRaw.removeClass('hide')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 'Data'/'Raw' control
|
||||
$('.toggle-view button').click(function () {
|
||||
var $modalContent = $(this).closest('.modal-content')
|
||||
var $modalResponseRaw = $modalContent.find('.response-raw')
|
||||
var $modalResponseData = $modalContent.find('.response-data')
|
||||
|
||||
responseDisplay = $(this).data('display-toggle')
|
||||
|
||||
$(this).removeClass('btn-default').addClass('btn-info').siblings().removeClass('btn-info')
|
||||
|
||||
if (responseDisplay === 'raw') {
|
||||
$modalResponseRaw.removeClass('hide')
|
||||
$modalResponseData.addClass('hide')
|
||||
} else {
|
||||
$modalResponseData.removeClass('hide')
|
||||
$modalResponseRaw.addClass('hide')
|
||||
}
|
||||
})
|
||||
|
||||
// Authentication: none
|
||||
$authControl.find("[data-auth='none']").click(function (event) {
|
||||
event.preventDefault()
|
||||
window.auth = null
|
||||
$selectedAuthentication.text('none')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='none']").closest('li').addClass('active')
|
||||
})
|
||||
|
||||
// Authentication: token
|
||||
$('form.authentication-token-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
var $form = $(this).closest('form')
|
||||
var scheme = $form.find('input#scheme').val()
|
||||
var token = $form.find('input#token').val()
|
||||
window.auth = {
|
||||
'type': 'token',
|
||||
'scheme': scheme,
|
||||
'token': token
|
||||
}
|
||||
$selectedAuthentication.text('token')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='token']").closest('li').addClass('active')
|
||||
$authTokenModal.modal('hide')
|
||||
})
|
||||
|
||||
// Authentication: basic
|
||||
$('form.authentication-basic-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
var $form = $(this).closest('form')
|
||||
var username = $form.find('input#username').val()
|
||||
var password = $form.find('input#password').val()
|
||||
window.auth = {
|
||||
'type': 'basic',
|
||||
'username': username,
|
||||
'password': password
|
||||
}
|
||||
$selectedAuthentication.text('basic')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='basic']").closest('li').addClass('active')
|
||||
$authBasicModal.modal('hide')
|
||||
})
|
||||
|
||||
// Authentication: session
|
||||
$('form.authentication-session-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
window.auth = {
|
||||
'type': 'session'
|
||||
}
|
||||
$selectedAuthentication.text('session')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='session']").closest('li').addClass('active')
|
||||
$authSessionModal.modal('hide')
|
||||
})
|
||||
})
|
Binary file not shown.
315
equipment_tracker/static/rest_framework/docs/js/api.js
Normal file
315
equipment_tracker/static/rest_framework/docs/js/api.js
Normal file
|
@ -0,0 +1,315 @@
|
|||
var responseDisplay = 'data'
|
||||
var coreapi = window.coreapi
|
||||
var schema = window.schema
|
||||
|
||||
function normalizeKeys (arr) {
|
||||
var _normarr = [];
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
_normarr = _normarr.concat(arr[i].split(' > '));
|
||||
}
|
||||
return _normarr;
|
||||
}
|
||||
|
||||
function normalizeHTTPHeader (str) {
|
||||
// Capitalize HTTP headers for display.
|
||||
return (str.charAt(0).toUpperCase() + str.substring(1))
|
||||
.replace(/-(.)/g, function ($1) {
|
||||
return $1.toUpperCase()
|
||||
})
|
||||
.replace(/(Www)/g, function ($1) {
|
||||
return 'WWW'
|
||||
})
|
||||
.replace(/(Xss)/g, function ($1) {
|
||||
return 'XSS'
|
||||
})
|
||||
.replace(/(Md5)/g, function ($1) {
|
||||
return 'MD5'
|
||||
})
|
||||
}
|
||||
|
||||
function formEntries (form) {
|
||||
// Polyfill for new FormData(form).entries()
|
||||
var formData = new FormData(form)
|
||||
if (formData.entries !== undefined) {
|
||||
return Array.from(formData.entries())
|
||||
}
|
||||
|
||||
var entries = []
|
||||
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
var element = form.elements[i]
|
||||
|
||||
if (!element.name) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (element.type === 'file') {
|
||||
for (var j = 0; j < element.files.length; j++) {
|
||||
entries.push([element.name, element.files[j]])
|
||||
}
|
||||
} else if (element.type === 'select-multiple' || element.type === 'select-one') {
|
||||
for (var j = 0; j < element.selectedOptions.length; j++) {
|
||||
entries.push([element.name, element.selectedOptions[j].value])
|
||||
}
|
||||
} else if (element.type === 'checkbox') {
|
||||
if (element.checked) {
|
||||
entries.push([element.name, element.value])
|
||||
}
|
||||
} else {
|
||||
entries.push([element.name, element.value])
|
||||
}
|
||||
}
|
||||
|
||||
return entries
|
||||
}
|
||||
|
||||
$(function () {
|
||||
var $selectedAuthentication = $('#selected-authentication')
|
||||
var $authControl = $('#auth-control')
|
||||
var $authTokenModal = $('#auth_token_modal')
|
||||
var $authBasicModal = $('#auth_basic_modal')
|
||||
var $authSessionModal = $('#auth_session_modal')
|
||||
|
||||
// Language Control
|
||||
$('#language-control li').click(function (event) {
|
||||
event.preventDefault()
|
||||
var $languageMenuItem = $(this).find('a')
|
||||
var $languageControls = $(this).closest('ul').find('li')
|
||||
var $languageControlLinks = $languageControls.find('a')
|
||||
var language = $languageMenuItem.data('language')
|
||||
|
||||
$languageControlLinks.not('[data-language="' + language + '"]').parent().removeClass('active')
|
||||
$languageControlLinks.filter('[data-language="' + language + '"]').parent().addClass('active')
|
||||
|
||||
$('#selected-language').text(language)
|
||||
|
||||
var $codeBlocks = $('pre.highlight')
|
||||
$codeBlocks.not('[data-language="' + language + '"]').addClass('hide')
|
||||
$codeBlocks.filter('[data-language="' + language + '"]').removeClass('hide')
|
||||
})
|
||||
|
||||
// API Explorer
|
||||
$('form.api-interaction').submit(function (event) {
|
||||
event.preventDefault()
|
||||
|
||||
var $form = $(this).closest('form')
|
||||
var $requestMethod = $form.find('.request-method')
|
||||
var $requestUrl = $form.find('.request-url')
|
||||
var $toggleView = $form.closest('.modal-content').find('.toggle-view')
|
||||
var $responseStatusCode = $form.find('.response-status-code')
|
||||
var $meta = $form.find('.meta')
|
||||
var $responseRawResponse = $form.find('.response-raw-response')
|
||||
var $requestAwaiting = $form.find('.request-awaiting')
|
||||
var $responseRaw = $form.find('.response-raw')
|
||||
var $responseData = $form.find('.response-data')
|
||||
var key = normalizeKeys($form.data('key'))
|
||||
var params = {}
|
||||
var entries = formEntries($form.get()[0])
|
||||
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
var entry = entries[i]
|
||||
var paramKey = entry[0]
|
||||
var paramValue = entry[1]
|
||||
var $elem = $form.find('[name="' + paramKey + '"]')
|
||||
var dataType = $elem.data('type') || 'string'
|
||||
|
||||
if (dataType === 'integer' && paramValue) {
|
||||
var value = parseInt(paramValue)
|
||||
if (!isNaN(value)) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if (dataType === 'number' && paramValue) {
|
||||
var value = parseFloat(paramValue)
|
||||
if (!isNaN(value)) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if (dataType === 'boolean' && paramValue) {
|
||||
var value = {
|
||||
'true': true,
|
||||
'false': false
|
||||
}[paramValue.toLowerCase()]
|
||||
if (value !== undefined) {
|
||||
params[paramKey] = value
|
||||
}
|
||||
} else if ((dataType === 'array' && paramValue) || (dataType === 'object' && paramValue)) {
|
||||
try {
|
||||
params[paramKey] = JSON.parse(paramValue)
|
||||
} catch (err) {
|
||||
// Ignore malformed JSON
|
||||
}
|
||||
} else if (dataType === 'string' && paramValue) {
|
||||
params[paramKey] = paramValue
|
||||
}
|
||||
}
|
||||
|
||||
$form.find(':checkbox').each(function (index) {
|
||||
// Handle unselected checkboxes
|
||||
var name = $(this).attr('name')
|
||||
if (!params.hasOwnProperty(name)) {
|
||||
params[name] = false
|
||||
}
|
||||
})
|
||||
|
||||
function requestCallback (request) {
|
||||
// Fill in the "GET /foo/" display.
|
||||
var parser = document.createElement('a')
|
||||
parser.href = request.url
|
||||
var method = request.options.method
|
||||
var path = parser.pathname + parser.hash + parser.search
|
||||
|
||||
$requestMethod.text(method)
|
||||
$requestUrl.text(path)
|
||||
}
|
||||
|
||||
function responseCallback (response, responseText) {
|
||||
// Display the 'Data'/'Raw' control.
|
||||
$toggleView.removeClass('hide')
|
||||
|
||||
// Fill in the "200 OK" display.
|
||||
$responseStatusCode.removeClass('label-success').removeClass('label-danger')
|
||||
if (response.ok) {
|
||||
$responseStatusCode.addClass('label-success')
|
||||
} else {
|
||||
$responseStatusCode.addClass('label-danger')
|
||||
}
|
||||
$responseStatusCode.text(response.status)
|
||||
$meta.removeClass('hide')
|
||||
|
||||
// Fill in the Raw HTTP response display.
|
||||
var panelText = 'HTTP/1.1 ' + response.status + ' ' + response.statusText + '\n'
|
||||
response.headers.forEach(function (header, key) {
|
||||
panelText += normalizeHTTPHeader(key) + ': ' + header + '\n'
|
||||
})
|
||||
if (responseText) {
|
||||
panelText += '\n' + responseText
|
||||
}
|
||||
$responseRawResponse.text(panelText)
|
||||
}
|
||||
|
||||
// Instantiate a client to make the outgoing request.
|
||||
var options = {
|
||||
requestCallback: requestCallback,
|
||||
responseCallback: responseCallback
|
||||
}
|
||||
|
||||
// Setup authentication options.
|
||||
if (window.auth && window.auth.type === 'token') {
|
||||
// Header authentication
|
||||
options.auth = new coreapi.auth.TokenAuthentication({
|
||||
scheme: window.auth.scheme,
|
||||
token: window.auth.token
|
||||
})
|
||||
} else if (window.auth && window.auth.type === 'basic') {
|
||||
// Basic authentication
|
||||
options.auth = new coreapi.auth.BasicAuthentication({
|
||||
username: window.auth.username,
|
||||
password: window.auth.password
|
||||
})
|
||||
} else if (window.auth && window.auth.type === 'session') {
|
||||
// Session authentication
|
||||
options.auth = new coreapi.auth.SessionAuthentication({
|
||||
csrfCookieName: 'csrftoken',
|
||||
csrfHeaderName: 'X-CSRFToken'
|
||||
})
|
||||
}
|
||||
|
||||
var client = new coreapi.Client(options)
|
||||
client.action(schema, key, params).then(function (data) {
|
||||
var response = JSON.stringify(data, null, 2)
|
||||
$requestAwaiting.addClass('hide')
|
||||
$responseRaw.addClass('hide')
|
||||
$responseData.addClass('hide').text('').jsonView(response)
|
||||
|
||||
if (responseDisplay === 'data') {
|
||||
$responseData.removeClass('hide')
|
||||
} else {
|
||||
$responseRaw.removeClass('hide')
|
||||
}
|
||||
}).catch(function (error) {
|
||||
var response = JSON.stringify(error.content, null, 2)
|
||||
$requestAwaiting.addClass('hide')
|
||||
$responseRaw.addClass('hide')
|
||||
$responseData.addClass('hide').text('').jsonView(response)
|
||||
|
||||
if (responseDisplay === 'data') {
|
||||
$responseData.removeClass('hide')
|
||||
} else {
|
||||
$responseRaw.removeClass('hide')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 'Data'/'Raw' control
|
||||
$('.toggle-view button').click(function () {
|
||||
var $modalContent = $(this).closest('.modal-content')
|
||||
var $modalResponseRaw = $modalContent.find('.response-raw')
|
||||
var $modalResponseData = $modalContent.find('.response-data')
|
||||
|
||||
responseDisplay = $(this).data('display-toggle')
|
||||
|
||||
$(this).removeClass('btn-default').addClass('btn-info').siblings().removeClass('btn-info')
|
||||
|
||||
if (responseDisplay === 'raw') {
|
||||
$modalResponseRaw.removeClass('hide')
|
||||
$modalResponseData.addClass('hide')
|
||||
} else {
|
||||
$modalResponseData.removeClass('hide')
|
||||
$modalResponseRaw.addClass('hide')
|
||||
}
|
||||
})
|
||||
|
||||
// Authentication: none
|
||||
$authControl.find("[data-auth='none']").click(function (event) {
|
||||
event.preventDefault()
|
||||
window.auth = null
|
||||
$selectedAuthentication.text('none')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='none']").closest('li').addClass('active')
|
||||
})
|
||||
|
||||
// Authentication: token
|
||||
$('form.authentication-token-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
var $form = $(this).closest('form')
|
||||
var scheme = $form.find('input#scheme').val()
|
||||
var token = $form.find('input#token').val()
|
||||
window.auth = {
|
||||
'type': 'token',
|
||||
'scheme': scheme,
|
||||
'token': token
|
||||
}
|
||||
$selectedAuthentication.text('token')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='token']").closest('li').addClass('active')
|
||||
$authTokenModal.modal('hide')
|
||||
})
|
||||
|
||||
// Authentication: basic
|
||||
$('form.authentication-basic-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
var $form = $(this).closest('form')
|
||||
var username = $form.find('input#username').val()
|
||||
var password = $form.find('input#password').val()
|
||||
window.auth = {
|
||||
'type': 'basic',
|
||||
'username': username,
|
||||
'password': password
|
||||
}
|
||||
$selectedAuthentication.text('basic')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='basic']").closest('li').addClass('active')
|
||||
$authBasicModal.modal('hide')
|
||||
})
|
||||
|
||||
// Authentication: session
|
||||
$('form.authentication-session-form').submit(function (event) {
|
||||
event.preventDefault()
|
||||
window.auth = {
|
||||
'type': 'session'
|
||||
}
|
||||
$selectedAuthentication.text('session')
|
||||
$authControl.find("[data-auth]").closest('li').removeClass('active')
|
||||
$authControl.find("[data-auth='session']").closest('li').addClass('active')
|
||||
$authSessionModal.modal('hide')
|
||||
})
|
||||
})
|
BIN
equipment_tracker/static/rest_framework/docs/js/api.js.gz
Normal file
BIN
equipment_tracker/static/rest_framework/docs/js/api.js.gz
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* jquery.json-view - jQuery collapsible JSON plugin
|
||||
* @version v1.0.0
|
||||
* @link http://github.com/bazh/jquery.json-view
|
||||
* @license MIT
|
||||
*/
|
||||
!function(e){"use strict";var n=function(n){var a=e("<span />",{"class":"collapser",on:{click:function(){var n=e(this);n.toggleClass("collapsed");var a=n.parent().children(".block"),p=a.children("ul");n.hasClass("collapsed")?(p.hide(),a.children(".dots, .comments").show()):(p.show(),a.children(".dots, .comments").hide())}}});return n&&a.addClass("collapsed"),a},a=function(a,p){var t=e.extend({},{nl2br:!0},p),r=function(e){return e.toString()?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">"):""},s=function(n,a){return e("<span />",{"class":a,html:r(n)})},l=function(a,p){switch(e.type(a)){case"object":p||(p=0);var c=e("<span />",{"class":"block"}),d=Object.keys(a).length;if(!d)return c.append(s("{","b")).append(" ").append(s("}","b"));c.append(s("{","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(s('"',"q")).append(a).append(s('"',"q")).append(": ").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("}","b")),c.append(1===Object.keys(a).length?s("// 1 item","comments"):s("// "+Object.keys(a).length+" items","comments")),c;case"array":p||(p=0);var d=a.length,c=e("<span />",{"class":"block"});if(!d)return c.append(s("[","b")).append(" ").append(s("]","b"));c.append(s("[","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("]","b")),c.append(1===a.length?s("// 1 item","comments"):s("// "+a.length+" items","comments")),c;case"string":if(a=r(a),/^(http|https|file):\/\/[^\s]+$/i.test(a))return e("<span />").append(s('"',"q")).append(e("<a />",{href:a,text:a})).append(s('"',"q"));if(t.nl2br){var o=/\n/g;o.test(a)&&(a=(a+"").replace(o,"<br />"))}var u=e("<span />",{"class":"str"}).html(a);return e("<span />").append(s('"',"q")).append(u).append(s('"',"q"));case"number":return s(a.toString(),"num");case"undefined":return s("undefined","undef");case"null":return s("null","null");case"boolean":return s(a?"true":"false","bool")}};return l(a)};return e.fn.jsonView=function(n,p){var t=e(this);if(p=e.extend({},{nl2br:!0},p),"string"==typeof n)try{n=JSON.parse(n)}catch(r){}return t.append(e("<div />",{"class":"json-view"}).append(a(n,p))),t}}(jQuery);
|
Binary file not shown.
7
equipment_tracker/static/rest_framework/docs/js/jquery.json-view.min.js
vendored
Normal file
7
equipment_tracker/static/rest_framework/docs/js/jquery.json-view.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* jquery.json-view - jQuery collapsible JSON plugin
|
||||
* @version v1.0.0
|
||||
* @link http://github.com/bazh/jquery.json-view
|
||||
* @license MIT
|
||||
*/
|
||||
!function(e){"use strict";var n=function(n){var a=e("<span />",{"class":"collapser",on:{click:function(){var n=e(this);n.toggleClass("collapsed");var a=n.parent().children(".block"),p=a.children("ul");n.hasClass("collapsed")?(p.hide(),a.children(".dots, .comments").show()):(p.show(),a.children(".dots, .comments").hide())}}});return n&&a.addClass("collapsed"),a},a=function(a,p){var t=e.extend({},{nl2br:!0},p),r=function(e){return e.toString()?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">"):""},s=function(n,a){return e("<span />",{"class":a,html:r(n)})},l=function(a,p){switch(e.type(a)){case"object":p||(p=0);var c=e("<span />",{"class":"block"}),d=Object.keys(a).length;if(!d)return c.append(s("{","b")).append(" ").append(s("}","b"));c.append(s("{","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(s('"',"q")).append(a).append(s('"',"q")).append(": ").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("}","b")),c.append(1===Object.keys(a).length?s("// 1 item","comments"):s("// "+Object.keys(a).length+" items","comments")),c;case"array":p||(p=0);var d=a.length,c=e("<span />",{"class":"block"});if(!d)return c.append(s("[","b")).append(" ").append(s("]","b"));c.append(s("[","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("]","b")),c.append(1===a.length?s("// 1 item","comments"):s("// "+a.length+" items","comments")),c;case"string":if(a=r(a),/^(http|https|file):\/\/[^\s]+$/i.test(a))return e("<span />").append(s('"',"q")).append(e("<a />",{href:a,text:a})).append(s('"',"q"));if(t.nl2br){var o=/\n/g;o.test(a)&&(a=(a+"").replace(o,"<br />"))}var u=e("<span />",{"class":"str"}).html(a);return e("<span />").append(s('"',"q")).append(u).append(s('"',"q"));case"number":return s(a.toString(),"num");case"undefined":return s("undefined","undef");case"null":return s("null","null");case"boolean":return s(a?"true":"false","bool")}};return l(a)};return e.fn.jsonView=function(n,p){var t=e(this);if(p=e.extend({},{nl2br:!0},p),"string"==typeof n)try{n=JSON.parse(n)}catch(r){}return t.append(e("<div />",{"class":"json-view"}).append(a(n,p))),t}}(jQuery);
|
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue