sdk: inline the widget html definition
This commit is contained in:
parent
e8dd95a830
commit
f13618fef1
166
static/sdk.js
166
static/sdk.js
@ -57,6 +57,170 @@
|
||||
});
|
||||
};
|
||||
|
||||
var widgetHtml = `
|
||||
<style type="text/css">
|
||||
.contented {
|
||||
box-sizing:border-box;
|
||||
text-align: center;
|
||||
border: 8px dashed lightgrey;
|
||||
padding: 12px;
|
||||
background:white; /* not transparent */
|
||||
|
||||
text-overflow:hidden;
|
||||
overflow:auto;
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
position:relative;
|
||||
}
|
||||
.contented .contented-close {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.contented .contented-upload-type-selector {
|
||||
display:block;
|
||||
margin-bottom: 1em;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.contented .contented-upload-type {
|
||||
display:inline-block;
|
||||
opacity:0.2;
|
||||
transition:opacity linear 0.1s;
|
||||
cursor:pointer;
|
||||
}
|
||||
.contented .contented-upload-type:hover {
|
||||
opacity:0.5;
|
||||
transition:opacity linear 0s;
|
||||
}
|
||||
.contented .contented-upload-type svg {
|
||||
width:36px;
|
||||
height:36px;
|
||||
}
|
||||
.contented .contented-upload-type.contented-upload-type-active {
|
||||
opacity:1;
|
||||
}
|
||||
.contented.is-dragging {
|
||||
background: lightblue;
|
||||
}
|
||||
.contented-content-area {
|
||||
position:absolute;
|
||||
top: 60px;
|
||||
bottom: 10px;
|
||||
left: 10px;
|
||||
width: calc(100% - 20px);
|
||||
|
||||
/* Prevent blur under translateY */
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.contented-content-area > div {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.contented-upload-if {
|
||||
display:none;
|
||||
}
|
||||
.contented-if-paste, .contented-if-drawing {
|
||||
height:100%;
|
||||
}
|
||||
.contented-upload-if.contented-active {
|
||||
display:block;
|
||||
}
|
||||
.contented textarea {
|
||||
resize: none;
|
||||
width:100%;
|
||||
height:calc(100% - 1em - 15px);
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.contented-progress-bar {
|
||||
display: block;
|
||||
width:90%;
|
||||
margin:0.5em auto 0 auto;
|
||||
|
||||
height:16px;
|
||||
border-radius:8px;
|
||||
background:lightgrey;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
}
|
||||
.contented-progress-element {
|
||||
position:absolute;
|
||||
background:darkgreen;
|
||||
left:0;
|
||||
width:0%;
|
||||
height:100%;
|
||||
}
|
||||
</style>
|
||||
<div class="contented">
|
||||
|
||||
<div class="contented-close">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type-selector">
|
||||
|
||||
<div class="contented-upload-type contented-upload-type-active" data-upload-type="drag" title="Drag and drop">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="file" title="Multiple files">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="paste" title="Paste">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="drawing" title="Drawing">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M16.84,2.73C16.45,2.73 16.07,2.88 15.77,3.17L13.65,5.29L18.95,10.6L21.07,8.5C21.67,7.89 21.67,6.94 21.07,6.36L17.9,3.17C17.6,2.88 17.22,2.73 16.84,2.73M12.94,6L4.84,14.11L7.4,14.39L7.58,16.68L9.86,16.85L10.15,19.41L18.25,11.3M4.25,15.04L2.5,21.73L9.2,19.94L8.96,17.78L6.65,17.61L6.47,15.29" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contented-content-area">
|
||||
<div class="contented-upload-if contented-if-drag contented-active">
|
||||
<label>Drop files or Ctrl-V to upload <span class="contented-extratext"></span></label>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-file">
|
||||
<label>Select files to upload <span class="contented-extratext"></span></label><br>
|
||||
<input class="contented-file-selector" type="file" multiple>
|
||||
<button class="contented-file-upload">Upload »</button>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-paste">
|
||||
<textarea placeholder="Paste content here"></textarea>
|
||||
<button class="contented-paste-upload">Upload »</button>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-drawing">
|
||||
<div class="contented-drawing-area"></div>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-progress">
|
||||
<label>...</label>
|
||||
<div class="contented-progress-bar"><div class="contented-progress-element"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
var initArea = function (elementSelector, onUploaded, onClose) {
|
||||
onUploaded = onUploaded || function () { };
|
||||
onClose = onClose || function () { };
|
||||
@ -76,7 +240,7 @@
|
||||
extraText = " (max " + formatBytes(ret.MaxUploadBytes) + ")";
|
||||
}
|
||||
|
||||
$.get(contented.baseURL + "widget.html", function (widgetHtml) {
|
||||
|
||||
|
||||
var $f = $("<div>").html(widgetHtml);
|
||||
$f.find(".contented-extratext").text(extraText);
|
||||
|
@ -1,161 +0,0 @@
|
||||
<style type="text/css">
|
||||
.contented {
|
||||
box-sizing:border-box;
|
||||
text-align: center;
|
||||
border: 8px dashed lightgrey;
|
||||
padding: 12px;
|
||||
background:white; /* not transparent */
|
||||
|
||||
text-overflow:hidden;
|
||||
overflow:auto;
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
position:relative;
|
||||
}
|
||||
.contented .contented-close {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.contented .contented-upload-type-selector {
|
||||
display:block;
|
||||
margin-bottom: 1em;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.contented .contented-upload-type {
|
||||
display:inline-block;
|
||||
opacity:0.2;
|
||||
transition:opacity linear 0.1s;
|
||||
cursor:pointer;
|
||||
}
|
||||
.contented .contented-upload-type:hover {
|
||||
opacity:0.5;
|
||||
transition:opacity linear 0s;
|
||||
}
|
||||
.contented .contented-upload-type svg {
|
||||
width:36px;
|
||||
height:36px;
|
||||
}
|
||||
.contented .contented-upload-type.contented-upload-type-active {
|
||||
opacity:1;
|
||||
}
|
||||
.contented.is-dragging {
|
||||
background: lightblue;
|
||||
}
|
||||
.contented-content-area {
|
||||
position:absolute;
|
||||
top: 60px;
|
||||
bottom: 10px;
|
||||
left: 10px;
|
||||
width: calc(100% - 20px);
|
||||
|
||||
/* Prevent blur under translateY */
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.contented-content-area > div {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.contented-upload-if {
|
||||
display:none;
|
||||
}
|
||||
.contented-if-paste, .contented-if-drawing {
|
||||
height:100%;
|
||||
}
|
||||
.contented-upload-if.contented-active {
|
||||
display:block;
|
||||
}
|
||||
.contented textarea {
|
||||
resize: none;
|
||||
width:100%;
|
||||
height:calc(100% - 1em - 15px);
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.contented-progress-bar {
|
||||
display: block;
|
||||
width:90%;
|
||||
margin:0.5em auto 0 auto;
|
||||
|
||||
height:16px;
|
||||
border-radius:8px;
|
||||
background:lightgrey;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
}
|
||||
.contented-progress-element {
|
||||
position:absolute;
|
||||
background:darkgreen;
|
||||
left:0;
|
||||
width:0%;
|
||||
height:100%;
|
||||
}
|
||||
</style>
|
||||
<div class="contented">
|
||||
|
||||
<div class="contented-close">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type-selector">
|
||||
|
||||
<div class="contented-upload-type contented-upload-type-active" data-upload-type="drag" title="Drag and drop">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="file" title="Multiple files">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="paste" title="Paste">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-type" data-upload-type="drawing" title="Drawing">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path fill="#000000" d="M16.84,2.73C16.45,2.73 16.07,2.88 15.77,3.17L13.65,5.29L18.95,10.6L21.07,8.5C21.67,7.89 21.67,6.94 21.07,6.36L17.9,3.17C17.6,2.88 17.22,2.73 16.84,2.73M12.94,6L4.84,14.11L7.4,14.39L7.58,16.68L9.86,16.85L10.15,19.41L18.25,11.3M4.25,15.04L2.5,21.73L9.2,19.94L8.96,17.78L6.65,17.61L6.47,15.29" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contented-content-area">
|
||||
<div class="contented-upload-if contented-if-drag contented-active">
|
||||
<label>Drop files or Ctrl-V to upload <span class="contented-extratext"></span></label>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-file">
|
||||
<label>Select files to upload <span class="contented-extratext"></span></label><br>
|
||||
<input class="contented-file-selector" type="file" multiple>
|
||||
<button class="contented-file-upload">Upload »</button>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-paste">
|
||||
<textarea placeholder="Paste content here"></textarea>
|
||||
<button class="contented-paste-upload">Upload »</button>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-drawing">
|
||||
<div class="contented-drawing-area"></div>
|
||||
</div>
|
||||
|
||||
<div class="contented-upload-if contented-if-progress">
|
||||
<label>...</label>
|
||||
<div class="contented-progress-bar"><div class="contented-progress-element"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user