Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
198 changes: 0 additions & 198 deletions _app/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -384,8 +384,6 @@ App.Views = {};
scrollContent: this.scrollContent,
content: document.getElementsByClassName('guide_content')[0]
});
// setup the server/mount path editor
this.setupServerFieldCustomization();
this.mobileToc = document.getElementById('mobile_toc').getElementsByTagName('select')[0];
this.renderMobileTOC();
this.handleWindowResize();
Expand All @@ -405,202 +403,6 @@ App.Views = {};
this.mobileToc.getElementsByTagName('option')[0].setAttribute('selected', true);
},

setupServerFieldCustomization: function setupServerFieldCustomization() {

if(!document.getElementById('parse-server-custom-url')) {
// no customization available on this page
return;
}

if (typeof(Storage) !== "undefined") {
// apply previous values from local storage
const _url = localStorage.getItem('parse-server-custom-url');
const _mount = localStorage.getItem('parse-server-custom-mount');
const _protocol = localStorage.getItem('parse-server-custom-protocol');
const _appId = localStorage.getItem('parse-server-custom-appid');
const _masterKey = localStorage.getItem('parse-server-custom-masterkey');
const _clientKey = localStorage.getItem('parse-server-custom-clientkey');
const _restApiKey = localStorage.getItem('parse-server-custom-restapikey');

// set existing entries
if (_url) {
$(".custom-parse-server-url").html(_url);
$("#parse-server-custom-url").val(_url);
}
if (_mount) {
$(".custom-parse-server-mount").html(_mount);
$("#parse-server-custom-mount").val(_mount);
}
if (_protocol) {
$(".custom-parse-server-protocol").html(_protocol);
$("#parse-server-custom-protocol").val(_protocol);
}
if (_appId) {
$(".custom-parse-server-appid").html(_appId);
$("#parse-server-custom-appid").val(_appId);
}
if (_masterKey) {
$(".custom-parse-server-masterkey").html(_masterKey);
$("#parse-server-custom-masterkey").val(_masterKey);
}
if (_clientKey) {
$(".custom-parse-server-clientkey").html(_clientKey);
$("#parse-server-custom-clientkey").val(_clientKey);
}
if (_restApiKey) {
$(".custom-parse-server-restapikey").html(_restApiKey);
$("#parse-server-custom-restapikey").val(_restApiKey);
}
}

// set url listener
$('#parse-server-custom-url').keyup(function() {
const url = $('#parse-server-custom-url').val();
if(!url.match(/^[-_a-z0-9\.]+(?::[0-9]+)?$/i)) {
// not a valid url
return;
}
$(".custom-parse-server-url").html(url);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-url', url);
}
});

// set mount listener
$('#parse-server-custom-mount').keyup(function() {
var mount = $('#parse-server-custom-mount').val();
if(!mount.match(/^[-_a-z0-9\/]+$/i) && mount !== '') {
// not a valid mount path, and not empty
return;
}
if(!mount.match(/^\//)) {
// add leading slash
mount = '/'+mount;
}
if(!mount.match(/\/$/)) {
// add trailing slash
mount = mount+'/';
}
$(".custom-parse-server-mount").html(mount);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-mount', mount);
}
});

// set protocol listener
$('#parse-server-custom-protocol').change(function() {
const protocol = $('#parse-server-custom-protocol').val();
if(!protocol.match(/^[a-z]+$/)) {
// not a valid protocol
return;
}
$(".custom-parse-server-protocol").html(protocol);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-protocol', protocol);
}
});

// set appId listener
$('#parse-server-custom-appid').keyup(function() {
var appId = $('#parse-server-custom-appid').val();
if(!appId.match(/^[^\s]+$/i)) {
// not a valid appId
return;
}
// encode any html
appId = appId.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
$(".custom-parse-server-appid").html(appId);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-appid', appId);
}
});

// set masterKey listener
$('#parse-server-custom-masterkey').keyup(function() {
var masterKey = $('#parse-server-custom-masterkey').val();
if(!masterKey.match(/^[^\s]+$/i)) {
// not a valid masterKey
return;
}
// encode any html
masterKey = masterKey.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
$(".custom-parse-server-masterkey").html(masterKey);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-masterkey', masterKey);
}
});

// set clientKey listener
$('#parse-server-custom-clientkey').keyup(function() {
var clientKey = $('#parse-server-custom-clientkey').val();
if(!clientKey.match(/^[^\s]+$/i)) {
// not a valid clientKey
return;
}
// encode any html
clientKey = clientKey.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
$(".custom-parse-server-clientkey").html(clientKey);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-clientkey', clientKey);
}
});

// set restApiKey listener
$('#parse-server-custom-restapikey').keyup(function() {
var restApiKey = $('#parse-server-custom-restapikey').val();
if(!restApiKey.match(/^[^\s]+$/i)) {
// not a valid restApiKey
return;
}
// encode any html
restApiKey = restApiKey.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
$(".custom-parse-server-restapikey").html(restApiKey);
if (typeof(Storage) !== "undefined") {
localStorage.setItem('parse-server-custom-restapikey', restApiKey);
}
});

// set reset button
$('#parse-server-custom-values-reset').click(function() {
// reset defaults
let _default = $("#parse-server-custom-url").attr('defaultval');
$(".custom-parse-server-url").html(_default);
$("#parse-server-custom-url").val(_default);
localStorage.setItem('parse-server-custom-url', _default);

_default = $("#parse-server-custom-mount").attr('defaultval');
$(".custom-parse-server-mount").html("/"+_default+"/");
$("#parse-server-custom-mount").val(_default);
localStorage.setItem('parse-server-custom-mount', "/"+_default+"/");

_default = $("#parse-server-custom-protocol").attr('defaultval');
$(".custom-parse-server-protocol").html(_default);
$("#parse-server-custom-protocol").val(_default);
localStorage.setItem('parse-server-custom-protocol', _default);

_default = $("#parse-server-custom-appid").attr('defaultval');
$(".custom-parse-server-appid").html(_default);
$("#parse-server-custom-appid").val(_default);
localStorage.setItem('parse-server-custom-appid', _default);

_default = $("#parse-server-custom-masterkey").attr('defaultval');
$(".custom-parse-server-masterkey").html(_default);
$("#parse-server-custom-masterkey").val(_default);
localStorage.setItem('parse-server-custom-masterkey', _default);

_default = $("#parse-server-custom-clientkey").attr('defaultval');
$(".custom-parse-server-clientkey").html(_default);
$("#parse-server-custom-clientkey").val(_default);
localStorage.setItem('parse-server-custom-clientkey', _default);

_default = $("#parse-server-custom-restapikey").attr('defaultval');
$(".parse-server-custom-restapikey").html(_default);
$("#parse-server-custom-restapikey").val(_default);
localStorage.setItem('parse-server-custom-restapikey', _default);
});

},

// we recalculate the header heights for the TOC
// highlighting when the height of the content changes
handleToggleChange: function() {
Expand Down
29 changes: 4 additions & 25 deletions _includes/common/server-customize.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,11 @@
# Your Configuration
# Server Configuration

<noscript>
<p style='padding:8px;color:#fff;background:#f06;border-radius:4px;font-weight:bold'>Customization requires Javascript to be enabled!</p>
</noscript>
Customize our docs with your server configuration.
The REST examples use placeholder values. Replace them only in your own local
code or terminal; do not paste production keys into websites or documentation
pages.

Note: `masterKey` overrides all permissions. Keep this secret.

Protocol:<br/>
<select id='parse-server-custom-protocol' class='custom-server-option' style='border:none' title='Set your access protocol here.' defaultval='https'>
<option value='https'>https</option>
<option value='http'>http</option>
</select><br/>
Domain:
<input id='parse-server-custom-url' class='custom-server-option' type='text' placeholder='your.domain.com, your.domain.com:1337' value='YOUR.PARSE-SERVER.HERE' defaultval='YOUR.PARSE-SERVER.HERE' title='Set your parse server domain here.' autocorrect='off' spellcheck='false'>
Mount Path:
<input id='parse-server-custom-mount' class='custom-server-option' type='text' placeholder='your-mount-path, /your-mount-path/' value='parse' defaultval='parse' title='Set your mount path here.' autocorrect='off' spellcheck='false'>
App Id:
<input id='parse-server-custom-appid' class='custom-server-option' type='text' placeholder='your-app-id-here' value='APPLICATION_ID' defaultval='APPLICATION_ID' title='Set your app id here.' autocorrect='off' spellcheck='false'>
Master Key:
<input id='parse-server-custom-masterkey' class='custom-server-option' type='text' placeholder='your-master-key-here' value='MASTER_KEY' defaultval='MASTER_KEY' title='Set your master key here.' autocorrect='off' spellcheck='false'>
Client Key:
<input id='parse-server-custom-clientkey' class='custom-server-option' type='text' placeholder='your-client-key-here' value='CLIENT_KEY' defaultval='CLIENT_KEY' title='Set your client key here here.' autocorrect='off' spellcheck='false'>
Rest API Key:
<input id='parse-server-custom-restapikey' class='custom-server-option' type='text' placeholder='your-rest-api-key-here' value='REST_API_KEY' defaultval='REST_API_KEY' title='Set your rest api key here here.' autocorrect='off' spellcheck='false'>

<input id='parse-server-custom-values-reset' class='custom-server-option' style='color:#000' type='button' value='Reset Values' title='Resets server values to their defaults.'>

- serverUrl: <code class="highlighter-rouge"><span class="custom-parse-server-protocol">https</span>://<span class="custom-parse-server-url">YOUR.PARSE-SERVER.HERE</span><span class="custom-parse-server-mount">/parse/</span></code>
- appId: <code class="highlighter-rouge"><span class="custom-parse-server-appid">APPLICATION_ID</span></code>
- masterKey: <code class="highlighter-rouge"><span class="custom-parse-server-masterkey">MASTER_KEY</span></code>
Expand Down
2 changes: 1 addition & 1 deletion assets/js/bundle.js

Large diffs are not rendered by default.