Skip to content

Commit

Permalink
close #19
Browse files Browse the repository at this point in the history
  • Loading branch information
hacdias committed Aug 21, 2016
1 parent 63184da commit b9ca7e2
Show file tree
Hide file tree
Showing 10 changed files with 127 additions and 90 deletions.
12 changes: 11 additions & 1 deletion assets/embed/public/css/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,16 @@ pre {
border: 1px solid #e6e6e6;
border-radius: 0.5em;
background-color: #f5f5f5;
white-space: pre-wrap;
/* css-3 */
white-space: -moz-pre-wrap;
/* Mozilla, since 1999 */
white-space: -pre-wrap;
/* Opera 4-6 */
white-space: -o-pre-wrap;
/* Opera 7 */
word-wrap: break-word;
/* Internet Explorer 5.5+ */
}

@media (max-width: 600px) {
Expand Down Expand Up @@ -1107,4 +1117,4 @@ i.spin {
column-count: 1;
column-gap: 0;
}
}
}
105 changes: 60 additions & 45 deletions assets/embed/public/js/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -509,62 +509,73 @@ document.addEventListener('listing', event => {
}
});

document.querySelector('#search input').addEventListener('focus', event => {
document.getElementById('search').classList.add('active');
});
if (document.getElementById('search')) {
document.querySelector('#search input').addEventListener('focus', event => {
document.getElementById('search').classList.add('active');
});

document.querySelector('#search input').addEventListener('blur', event => {
document.getElementById('search').classList.remove('active');
document.querySelector('#search input').value = '';
});
document.querySelector('#search input').addEventListener('blur', event => {
document.getElementById('search').classList.remove('active');
document.querySelector('#search input').value = '';
});

document.querySelector('#search input').addEventListener('keyup', searchEvent);
document.querySelector('#search input').addEventListener('keyup', searchEvent);
}

// Enables upload button
document.getElementById("upload").addEventListener("click", (event) => {
document.getElementById("upload-input").click();
});
if (document.getElementById("upload")) {
// Enables upload button
document.getElementById("upload").addEventListener("click", (event) => {
document.getElementById("upload-input").click();
});

// Enables rename button
document.getElementById("rename").addEventListener("click", renameEvent);
}

document.getElementById('new').addEventListener('click', event => {
let newdir = document.getElementById('newdir');
newdir.classList.add('enabled');
newdir.focus();
});
if (document.getElementById("rename")) {
// Enables rename button
document.getElementById("rename").addEventListener("click", renameEvent);
}

document.getElementById('newdir').addEventListener('blur', event => {
document.getElementById('newdir').classList.remove('enabled');
});
if (document.getElementById('new')) {
document.getElementById('new').addEventListener('click', event => {
let newdir = document.getElementById('newdir');
newdir.classList.add('enabled');
newdir.focus();
});
}

document.getElementById('newdir').addEventListener('keydown', newDirEvent);
if (document.getElementById('newdir')) {
document.getElementById('newdir').addEventListener('blur', event => {
document.getElementById('newdir').classList.remove('enabled');
});

// Drag and Drop
let items = document.getElementsByClassName('item');
document.addEventListener("dragover", function(event) {
event.preventDefault();
}, false);
document.getElementById('newdir').addEventListener('keydown', newDirEvent);

document.addEventListener("dragover", (event) => {
Array.from(items).forEach(file => {
file.style.opacity = 0.5;
});
}, false);
// Drag and Drop
let items = document.getElementsByClassName('item');
document.addEventListener("dragover", function(event) {
event.preventDefault();
}, false);

document.addEventListener("dragleave", (event) => {
Array.from(items).forEach(file => {
file.style.opacity = 1;
});
}, false);
document.addEventListener("dragover", (event) => {
Array.from(items).forEach(file => {
file.style.opacity = 0.5;
});
}, false);

document.addEventListener("drop", function(event) {
event.preventDefault();
var dt = event.dataTransfer;
var files = dt.files;
document.addEventListener("dragleave", (event) => {
Array.from(items).forEach(file => {
file.style.opacity = 1;
});
}, false);

handleFiles(files);
}, false);
document.addEventListener("drop", function(event) {
event.preventDefault();
var dt = event.dataTransfer;
var files = dt.files;

handleFiles(files);
}, false);
}
});

/* * * * * * * * * * * * * * * *
Expand Down Expand Up @@ -833,7 +844,11 @@ document.addEventListener("DOMContentLoaded", function(event) {

// Enables open, delete and download buttons
document.getElementById("open").addEventListener("click", openEvent);
document.getElementById("delete").addEventListener("click", deleteEvent);

if (document.getElementById("delete")) {
document.getElementById("delete").addEventListener("click", deleteEvent);
}

document.getElementById("download").addEventListener("click", downloadEvent);
document.getElementById("open-nav").addEventListener("click", event => {
document.querySelector("header > div:nth-child(2)").classList.toggle("active");
Expand Down
4 changes: 3 additions & 1 deletion assets/embed/templates/actions.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@
<div class="action" id="open">
<i class="material-icons" title="See raw">open_in_new</i> <span>See raw</span>
</div>
{{ if .IsDir }}
{{ if and .IsDir .User.AllowEdit }}
<div class="action" id="rename">
<i class="material-icons" title="Edit">mode_edit</i>
</div>
{{ end }}
<div class="action" id="download">
<i class="material-icons" title="Download">file_download</i> <span>Download</span>
</div>
{{ if .User.AllowEdit }}
<div class="action" id="delete">
<i class="material-icons" title="Delete">delete</i> <span>Delete</span>
</div>
{{ end }}
{{ end }}
6 changes: 5 additions & 1 deletion assets/embed/templates/base.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,22 @@

{{ if .IsDir}}

{{ if .User.AllowCommands }}
<div id="search">
<i class="material-icons" title="Storage">storage</i>
<input type="text" placeholder="Execute a command...">
<div>Write your git, mercurial or svn command and press enter.</div>
</div>
{{ end }}

<div class="action" id="view">
<i class="material-icons" title="Switch view">view_headline</i> <span>Switch view</span>
</div>
{{ if .User.AllowNew }}
<div class="action" id="upload">
<i class="material-icons" title="Upload">file_upload</i> <span>Upload</span>
</div>
{{ end }}
{{ else }}
{{ template "actions" . }}
{{ end }}
Expand Down Expand Up @@ -103,7 +107,7 @@
{{ end }}

<main>
{{ template "content" .Data }}
{{ template "content" . }}
<span id="token">{{ .Config.Token }}</span>
</main>

Expand Down
2 changes: 2 additions & 0 deletions assets/embed/templates/editor.tmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{{ define "content" }}
{{ with .Data }}
<div id="editor" class="container" data-kind="{{ .Class }}">
<form method="POST" action="./">
{{ if or (eq .Class "frontmatter-only") (eq .Class "complete") }}
Expand Down Expand Up @@ -30,3 +31,4 @@
</form>
</div>
{{ end }}
{{ end }}
78 changes: 41 additions & 37 deletions assets/embed/templates/listing.tmpl
Original file line number Diff line number Diff line change
@@ -1,42 +1,46 @@
{{ define "content" }}
<div class="listing">
<div class="container" id="listing">
{{- range .Items}}
<div class="item" data-dir="{{- if .IsDir}}true{{ else }}false{{ end }}" id="{{.URL}}">
<div>
<a href="{{.URL}}">
{{- if .IsDir}}
<i class="material-icons">folder</i>
{{- else}}
<i class="material-icons">insert_drive_file</i>
{{- end}}
</a>
</div>
<div>
<a href="{{.URL}}">
<span class="name">{{.Name}}</span>
{{- if .IsDir}}
<p data-order="-1">&mdash;</p>
{{- else}}
<p data-order="{{.Size}}">{{.HumanSize}}</p>
{{- end}}
<p>
<time datetime="{{.HumanModTime " 2006-01-02T15:04:05Z"}}">{{.HumanModTime "01/02/2006 03:04:05 PM -07:00"}}</time>
</p>
</a>
</div>
<span class="checkbox" data-href="{{.URL}}"><i class="material-icons">check</i></div>
{{ with .Data }}
<div class="listing">
<div class="container" id="listing">
{{- range .Items}}
<div class="item" data-dir="{{- if .IsDir}}true{{ else }}false{{ end }}" id="{{.URL}}">
<div>
<a href="{{.URL}}">
{{- if .IsDir}}
<i class="material-icons">folder</i>
{{- else}}
<i class="material-icons">insert_drive_file</i>
{{- end}}
</a>
</div>
<div>
<a href="{{.URL}}">
<span class="name">{{.Name}}</span>
{{- if .IsDir}}
<p data-order="-1">&mdash;</p>
{{- else}}
<p data-order="{{.Size}}">{{.HumanSize}}</p>
{{- end}}
<p>
<time datetime="{{.HumanModTime " 2006-01-02T15:04:05Z"}}">{{.HumanModTime "01/02/2006 03:04:05 PM -07:00"}}</time>
</p>
</a>
</div>
<span class="checkbox" data-href="{{.URL}}"><i class="material-icons">check</i>
</div>
{{- end}}
</div>
</div>
</div>
</div>

<input style="display:none" type="file" id="upload-input" onchange="handleFiles(this.files)" value="Upload" multiple>
<input style="display:none" type="file" id="upload-input" onchange="handleFiles(this.files)" value="Upload" multiple>
{{ end }}

{{ if .User.AllowNew }}
<input id="newdir" type="text" placeholder="Name...">

<div class="floating">
<div class="action" id="new">
<i class="material-icons" title="New">add</i>
</div>
</div>
{{ end }}
<div class="floating">
<div class="action" id="new">
<i class="material-icons" title="New">add</i>
</div>
</div>
{{ end }}
{{ end }}
2 changes: 1 addition & 1 deletion assets/embed/templates/minimal.tmpl
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
{{ template "content" .Data }}
{{ template "content" . }}
<span id="token">{{ .Config.Token }}</span>
4 changes: 2 additions & 2 deletions assets/embed/templates/single.tmpl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{ define "content" }}

{{ with .Data}}
<main class="container">
{{ if eq .Type "image" }}
<img src="{{ .URL }}?raw=true">
Expand All @@ -11,5 +11,5 @@
<pre>{{ .Content }}</pre>
{{ end }}
</main>

{{ end }}
{{ end }}
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func Parse(c *caddy.Controller) ([]Config, error) {

for c.Next() {
var cfg = Config{UserConfig: &UserConfig{}}
cfg.PathScope = "."
cfg.PathScope = "./"
cfg.BaseURL = ""
cfg.FrontMatter = "yaml"
cfg.HugoEnabled = false
Expand Down
2 changes: 1 addition & 1 deletion directory/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ func (i *Info) serveSingleFile(w http.ResponseWriter, r *http.Request, c *config
},
}

if CanBeEdited(i.Name) {
if CanBeEdited(i.Name) && u.AllowEdit {
editor, err := i.GetEditor()

if err != nil {
Expand Down

0 comments on commit b9ca7e2

Please sign in to comment.