sdk: simplify interface
This commit is contained in:
parent
f6b9fd2536
commit
a2a3beb714
@ -22,7 +22,7 @@ html, body {
|
|||||||
<script type="text/javascript" src="/sdk.js"></script>
|
<script type="text/javascript" src="/sdk.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
"use strict";
|
"use strict";
|
||||||
contented.enableDrop( $("#surrogate-area")[0], "", function(itm) {
|
contented.init("#surrogate-area", function(itm) {
|
||||||
console.log(itm);
|
console.log(itm);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
;"use strict";
|
;"use strict";
|
||||||
|
|
||||||
var contented = (function($) {
|
var contented = (function($, currentScriptPath) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
var baseURL = currentScriptPath.replace('sdk.js', '');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* contented_SupportsDrop returns whether drag-and-drop is supported by this
|
* contented_SupportsDrop returns whether drag-and-drop is supported by this
|
||||||
* browser.
|
* browser.
|
||||||
@ -17,19 +19,23 @@ var contented = (function($) {
|
|||||||
* contented_EnableDrop enables drag-and-drop upload on a DOM element.
|
* contented_EnableDrop enables drag-and-drop upload on a DOM element.
|
||||||
* The class "is-dragover" will be toggled on the target element.
|
* The class "is-dragover" will be toggled on the target element.
|
||||||
*
|
*
|
||||||
* @param DOMElement element Drop target
|
* @param any element Drop target (string selector / DOMElement / jQuery)
|
||||||
* @param string baseURL Base URL of the contented server
|
|
||||||
* @param Function onUploaded Called with a property object for every uploaded file
|
* @param Function onUploaded Called with a property object for every uploaded file
|
||||||
* @param Function onClose Called when the widget should be destroyed
|
* @param Function onClose Called when the widget should be destroyed
|
||||||
*/
|
*/
|
||||||
var contented_EnableDrop = function(element, baseURL, onUploaded, onClose) {
|
var contented_EnableDrop = function(elementSelector, onUploaded, onClose) {
|
||||||
onUploaded = onUploaded || function(){};
|
onUploaded = onUploaded || function(){};
|
||||||
onClose = onClose || function(){};
|
onClose = onClose || function(){};
|
||||||
|
|
||||||
|
if ($(elementSelector).length != 1) {
|
||||||
|
return; // should only find one element
|
||||||
|
}
|
||||||
|
var element = $(elementSelector)[0];
|
||||||
|
|
||||||
// <input type="hidden" name="MAX_FILE_SIZE" value="` + ret.MaxUploadBytes + `" />
|
// <input type="hidden" name="MAX_FILE_SIZE" value="` + ret.MaxUploadBytes + `" />
|
||||||
|
|
||||||
// Create a new div for ourselves on top of the existing area
|
// Create a new div for ourselves on top of the existing area
|
||||||
$.get(baseURL + "/about", function(ret) {
|
$.get(baseURL + "about", function(ret) {
|
||||||
$("title").text( ret.AppTitle );
|
$("title").text( ret.AppTitle );
|
||||||
|
|
||||||
var extraText = "";
|
var extraText = "";
|
||||||
@ -37,7 +43,7 @@ var contented = (function($) {
|
|||||||
extraText = " (max " + Math.floor(ret.MaxUploadBytes / (1024*1024)) + " MiB)";
|
extraText = " (max " + Math.floor(ret.MaxUploadBytes / (1024*1024)) + " MiB)";
|
||||||
}
|
}
|
||||||
|
|
||||||
$.get(baseURL + "/widget.html", function(widgetHtml) {
|
$.get(baseURL + "widget.html", function(widgetHtml) {
|
||||||
|
|
||||||
var $f = $("<div>").html(widgetHtml);
|
var $f = $("<div>").html(widgetHtml);
|
||||||
$f.find(".contented-extratext").text(extraText);
|
$f.find(".contented-extratext").text(extraText);
|
||||||
@ -147,7 +153,20 @@ var contented = (function($) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
'supportsDrop': contented_SupportsDrop,
|
'supportsDrop': contented_SupportsDrop,
|
||||||
'enableDrop': contented_EnableDrop
|
'init': contented_EnableDrop
|
||||||
};
|
};
|
||||||
|
|
||||||
})(jQuery);
|
})(
|
||||||
|
jQuery,
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
// Determine current script path
|
||||||
|
// @ref https://stackoverflow.com/a/26023176
|
||||||
|
var scripts = document.querySelectorAll( 'script[src]' );
|
||||||
|
var currentScript = scripts[ scripts.length - 1 ].src;
|
||||||
|
var currentScriptChunks = currentScript.split( '/' );
|
||||||
|
var currentScriptFile = currentScriptChunks[ currentScriptChunks.length - 1 ];
|
||||||
|
|
||||||
|
return currentScript.replace( currentScriptFile, '' );
|
||||||
|
})()
|
||||||
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user