Skip to content

Commit

Permalink
Merge branch 'release/0.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Todd Appleton committed Aug 9, 2017
2 parents b5f8e19 + 69efb5b commit 2ac9f89
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 362 deletions.
4 changes: 2 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "swagger-ui",
"name": "df-swagger-ui",
"main": "dist/index.html",
"authors": [
"Mohsen Azimi <me@azimi.me>"
],
"description": "Swagger UI",
"description": "Swagger UI for DreamFactory",
"moduleType": [
"globals"
],
Expand Down
194 changes: 12 additions & 182 deletions dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,88 +25,33 @@
<script src='lib/marked.js' type='text/javascript'></script>
<script src='lib/swagger-oauth.js' type='text/javascript'></script>

<!-- Some basic translations -->
<!-- <script src='lang/translator.js' type='text/javascript'></script> -->
<!-- <script src='lang/ru.js' type='text/javascript'></script> -->
<!-- <script src='lang/en.js' type='text/javascript'></script> -->

<script type="text/javascript">

// Default API key for Swagger UI application
var _apiKey = "36fda24fe5588fa4285ac6c6c2fdfbdb6b6bc9834699774c9bf777f706d05a88";

// Session inherited from query parameter, iframe, or opener
function getSessionToken() {
var phpSessionId = getQueryParameter('session_token');
if (phpSessionId)
return phpSessionId;

phpSessionId = parent.document.cookie.match(/PHPSESSID=[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\;/i);

if ((phpSessionId == null) && (window.opener))
phpSessionId = window.opener.document.cookie.match(/PHPSESSID=[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\;/i);

if (phpSessionId == null)
return '';

if (typeof(phpSessionId) == 'undefined')
return '';

if (phpSessionId.length <= 0)
return '';

phpSessionId = phpSessionId[0];

var end = phpSessionId.lastIndexOf(';');
if (end == -1) end = phpSessionId.length;
var _sessionToken = getQueryParameter('session_token');
var _apiKey = getQueryParameter('api_key');
var _url = getQueryParameter('url');

return phpSessionId.substring(10, end);
}

/**
* Simplified access to the Query string on the current page's URL
* @param key
* @returns {Boolean}
*/
function getQueryParameter(key) {
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&");
var match = location.search.match(new RegExp("[?&]" + key + "=([^&]+)(&|$)"));
return match && decodeURIComponent(match[1].replace(/\+/g, " "));
var match = window.location.search.match(new RegExp("[?&]" + key + "=([^&]+)(&|$)"));
var result = match && decodeURIComponent(match[1].replace(/\+/g, " "));
if (result) {
return result;
}
return '';
}

$(function () {
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = location.protocol + "//" + location.host + "/api/v2/api_docs";
}

// Pre load translate...
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}

// pre-populate api key and session token if available
$('#input_apiKey').val(_apiKey);
var token = getSessionToken();
$('#input_sessionToken').val(token);

if(token === ''){
$('#header').show();
} else {
$('#header').hide();
}

var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("X-DreamFactory-Api-Key", _apiKey, "header");
var tokenAuth = new SwaggerClient.ApiKeyAuthorization("X-DreamFactory-Session-Token", token, "header");
var tokenAuth = new SwaggerClient.ApiKeyAuthorization("X-DreamFactory-Session-Token", _sessionToken, "header");

window.swaggerUi = new SwaggerUi({
url: url,
url: _url,
dom_id: "swagger-ui-container",
supportedSubmitMethods: ['get', 'post', 'put', 'patch', 'delete'],
authorizations: { 'api_key': apiKeyAuth, 'session_token': tokenAuth},
docExpansion: "none",
docExpansion: "list",
jsonEditor: false,
apisSorter: "alpha",
defaultModelRendering: 'schema',
Expand All @@ -124,65 +69,15 @@
});
}

if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}

$('pre code').each(function(i, e) {
hljs.highlightBlock(e)
});

addApiKeyAuthorization();
addSessionTokenAuthorization();
addHttpAuthorization();
},
onFailure: function(data) {
log("Unable to Load SwaggerUI");
}
});

function addApiKeyAuthorization(){
var key = encodeURIComponent($('#input_apiKey')[0].value);
if(key && (key.trim() != "")) {
// var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("X-DreamFactory-Api-Key", key, "header");
window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
log("added api key " + key);
} else {
window.swaggerUi.api.clientAuthorizations.remove("api_key");
}
}

function addSessionTokenAuthorization(){
var key = encodeURIComponent($('#input_sessionToken')[0].value);
if(key && (key.trim() != "")) {
// var tokenAuth = new SwaggerClient.ApiKeyAuthorization("session_token", key, "query");
var tokenAuth = new SwaggerClient.ApiKeyAuthorization("X-DreamFactory-Session-Token", key, "header");
window.swaggerUi.api.clientAuthorizations.add("session_token", tokenAuth);
log("added session token " + key);
} else {
window.swaggerUi.api.clientAuthorizations.remove("session_token");
}
}

function addHttpAuthorization(){
var username = $('#input_authUsername')[0].value;
var password = $('#input_authPassword')[0].value;
if(username && password){
var key = "Basic "+btoa(username+':'+password);
var httpAuth = new SwaggerClient.ApiKeyAuthorization("Authorization", key, "header");
window.swaggerUi.api.clientAuthorizations.add("http_auth", httpAuth);
log("added http auth " + key);
} else {
window.swaggerUi.api.clientAuthorizations.remove("http_auth");
}
}

$('#input_apiKey').change(addApiKeyAuthorization);
$('#input_sessionToken').change(addSessionTokenAuthorization);
$('#input_authUsername').change(addHttpAuthorization);
$('#input_authPassword').change(addHttpAuthorization);

window.swaggerUi.load();

function log() {
Expand All @@ -192,74 +87,9 @@
}
});

$(function() {
var _butExpand = $("#chevron_expand");
var _butCollapse = $("#chevron_collapse");
var _wrap = $("#wrapper");
var _form = $("#api_selector");

_wrap.height(0);

_butExpand.click(function() {
_butExpand.attr('hidden', 'hidden')
_wrap.height(_form.outerHeight(true));
});

_butCollapse.click(function() {
_butExpand.removeAttr('hidden');
_wrap.height(0);
});
});
</script>
</head>
<body class="swagger-section">
<div id='header'>
<div class="swagger-ui-wrap">
<div>
<div id="slim_header">
<img id="chevron_expand" src="images/menu_open_white.png" title="Click to Expand">
</div>
</div>
<div id="wrapper">
<form id='api_selector'>
<div>
<a href="http://www.dreamfactory.com"><img src="images/logo-navbar-194x42.png"></a>
<div>
<div id='input_margin'>
<span id="input_label">URL</span>
<input style="" placeholder="http://example.com/api/v2/api_docs" id="input_baseUrl" name="baseUrl" type="text"/>
</div>
<div id='input_margin'>
<span id="input_label">API Key</span>
<input style="" placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/>
</div>
<div id='input_margin'>
<span id="input_label">Session Token</span>
<input style="" placeholder="session_token" id="input_sessionToken" name="sessionToken" type="text"/>
</div>
<div id="section_credentials">
<div id="section_label" >
<span id="input_label">HTTP Basic Auth</span>
</div>
<div id="section_username" >
<input style="" placeholder="username" id="input_authUsername" name="authUsername" type="text"/>
</div>
<div id="section_password">
<input style="" placeholder="password" id="input_authPassword" name="authPassword" type="password"/>
</div>
</div>
<div id='section_explore'>
<a id="explore" href="#" data-sw-translate>Explore</a>
</div>
<div>
<img id="chevron_collapse" src="images/menu_close_white.png" title="Click to Collapse">
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
Expand Down

0 comments on commit 2ac9f89

Please sign in to comment.