updates
parent
a5254560f5
commit
69efc2d70f
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -60,6 +60,79 @@ $(document).on('ready pjax:success', function() {
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if ($('main').hasClass('browse')) {
|
||||||
|
$('.new').click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
if ($(this).data("opened")) {
|
||||||
|
$('#new-file').fadeOut(200);
|
||||||
|
$(this).data("opened", false);
|
||||||
|
} else {
|
||||||
|
$('#new-file').fadeIn(200);
|
||||||
|
$(this).data("opened", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#new-file').on('keypress', 'input', function(event) {
|
||||||
|
if (event.keyCode == 13) {
|
||||||
|
event.preventDefault();
|
||||||
|
var value = $(this).val(),
|
||||||
|
splited = value.split(":"),
|
||||||
|
filename = "",
|
||||||
|
archtype = "";
|
||||||
|
|
||||||
|
if (value == "") {
|
||||||
|
notification({
|
||||||
|
text: "You have to write something. If you want to close the box, click the button again.",
|
||||||
|
type: 'warning',
|
||||||
|
timeout: 5000
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} else if (splited.length == 1) {
|
||||||
|
filename = value;
|
||||||
|
} else if (splited.length == 2) {
|
||||||
|
filename = splited[0];
|
||||||
|
archtype = splited[1];
|
||||||
|
} else {
|
||||||
|
notification({
|
||||||
|
text: "Hmm... I don't understand you. Try writing something like 'name[:archtype]'.",
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var content = '{"filename": "' + filename + '", "archtype": "' + archtype + '"}';
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: window.location.pathname,
|
||||||
|
data: content,
|
||||||
|
dataType: 'json',
|
||||||
|
encode: true,
|
||||||
|
}).done(function(data) {
|
||||||
|
notification({
|
||||||
|
text: "File created successfully. You will be redirected.",
|
||||||
|
type: 'success',
|
||||||
|
timeout: 5000
|
||||||
|
});
|
||||||
|
}).fail(function(data) {
|
||||||
|
// error types
|
||||||
|
notification({
|
||||||
|
text: 'Something went wrong.',
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
|
console.log(data);
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// If it's editor page
|
// If it's editor page
|
||||||
if ($(".editor")[0]) {
|
if ($(".editor")[0]) {
|
||||||
editor = false;
|
editor = false;
|
||||||
|
|
|
@ -24,9 +24,22 @@
|
||||||
|
|
||||||
.browse .actions .go-right {
|
.browse .actions .go-right {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
position : relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.browse tr {
|
.browse tr {
|
||||||
line-height : 2em;
|
line-height : 2em;
|
||||||
border-bottom: 1px solid rgba(0,0,0,0.03);
|
border-bottom: 1px solid rgba(0,0,0,0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
.browse #new-file {
|
||||||
|
display : none;
|
||||||
|
position : absolute;
|
||||||
|
right : 0;
|
||||||
|
top : 2.5em;
|
||||||
|
background-color: #263238;
|
||||||
|
color : rgba(255,255,255,.5);
|
||||||
|
border-radius : .5em;
|
||||||
|
padding : 1em;
|
||||||
|
width : 182%;
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
/* FORMS ELEMENTS */
|
/* FORMS ELEMENTS */
|
||||||
form input {
|
input {
|
||||||
width : 100%;
|
width : 100%;
|
||||||
background-color: rgba(0, 0, 0, 0.25);
|
background-color: rgba(0, 0, 0, 0.25);
|
||||||
color : rgba(255, 255, 255, 0.3);
|
color : rgba(255, 255, 255, 0.3);
|
||||||
|
@ -12,13 +12,13 @@ form input {
|
||||||
transition : .5s ease-out all;
|
transition : .5s ease-out all;
|
||||||
}
|
}
|
||||||
|
|
||||||
form input:focus {
|
input:focus {
|
||||||
color : rgba(255, 255, 255, 0.7);
|
color : rgba(255, 255, 255, 0.7);
|
||||||
border : 0;
|
border : 0;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
form label {
|
label {
|
||||||
width : 10.5em;
|
width : 10.5em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin : .1em 0 0;
|
margin : .1em 0 0;
|
||||||
|
@ -109,6 +109,10 @@ button.delete {
|
||||||
transition: .2s ease-in-out opacity;
|
transition: .2s ease-in-out opacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div[data-type="array-item"] {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
label:hover > .actions,
|
label:hover > .actions,
|
||||||
h1:hover > .actions,
|
h1:hover > .actions,
|
||||||
h3:hover > .actions,
|
h3:hover > .actions,
|
||||||
|
@ -120,8 +124,4 @@ input[data-parent-type="array"] + .actions {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top : 1em;
|
top : 1em;
|
||||||
right : .5em;
|
right : .5em;
|
||||||
}
|
|
||||||
|
|
||||||
div[data-type="array-item"] {
|
|
||||||
position: relative;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,9 @@
|
||||||
package browse
|
package browse
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
@ -49,6 +52,25 @@ func ServeHTTP(w http.ResponseWriter, r *http.Request, c *config.Config) (int, e
|
||||||
|
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
w.Write([]byte("{}"))
|
w.Write([]byte("{}"))
|
||||||
|
} else if r.Method == "POST" {
|
||||||
|
// Get the JSON information sent using a buffer
|
||||||
|
buffer := new(bytes.Buffer)
|
||||||
|
buffer.ReadFrom(r.Body)
|
||||||
|
|
||||||
|
// Creates the raw file "map" using the JSON
|
||||||
|
var info map[string]interface{}
|
||||||
|
json.Unmarshal(buffer.Bytes(), &info)
|
||||||
|
|
||||||
|
// Check if filename and archtype are specified in
|
||||||
|
// the request
|
||||||
|
if _, ok := info["filename"]; !ok {
|
||||||
|
return 400, errors.New("Filename not specified.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := info["archtype"]; !ok {
|
||||||
|
return 400, errors.New("Archtype not specified.")
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
functions := template.FuncMap{
|
functions := template.FuncMap{
|
||||||
"CanBeEdited": utils.CanBeEdited,
|
"CanBeEdited": utils.CanBeEdited,
|
||||||
|
|
|
@ -14,7 +14,11 @@
|
||||||
<div class="go-right">
|
<div class="go-right">
|
||||||
<input type="file" value="Upload">
|
<input type="file" value="Upload">
|
||||||
<button id="upload">Upload <i class="fa fa-cloud-upload"></i></button>
|
<button id="upload">Upload <i class="fa fa-cloud-upload"></i></button>
|
||||||
<button class="default">New <i class="fa fa-plus"></i></button>
|
<button class="default new">New <i class="fa fa-plus"></i></button>
|
||||||
|
<div id="new-file">
|
||||||
|
Write the name of the new file. If you want to use an archetype, add ':archetype' in the end, replacing 'archetype' by its name.
|
||||||
|
<input id="new-file-name" type="text">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue