mirror of
				https://github.com/filebrowser/filebrowser.git
				synced 2025-10-31 17:23:09 +00:00 
			
		
		
		
	add some git stuff and put ajax in plain js
This commit is contained in:
		
							parent
							
								
									7c1a1c4f23
								
							
						
					
					
						commit
						8043610590
					
				
							
								
								
									
										2
									
								
								assets/js/app.min.js
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/js/app.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -24,10 +24,12 @@ $(document).on('page:browse', function() { | ||||
|   $('#content').on('submit', remove.selector, function(event) { | ||||
|     event.preventDefault(); | ||||
| 
 | ||||
|     $.ajax({ | ||||
|       type: 'DELETE', | ||||
|       url: remove.button.data("file") | ||||
|     }).done(function(data) { | ||||
|     var request = new XMLHttpRequest(); | ||||
|     request.open("DELETE", remove.button.data("file")); | ||||
|     request.send(); | ||||
|     request.onreadystatechange = function() { | ||||
|       if (request.readyState == 4) { | ||||
|         if (request.status == 200) { | ||||
|           $(foreground).fadeOut(200); | ||||
|           remove.form.fadeOut(200); | ||||
|           remove.row.fadeOut(200); | ||||
| @ -36,13 +38,15 @@ $(document).on('page:browse', function() { | ||||
|             type: 'success', | ||||
|             timeout: 5000 | ||||
|           }); | ||||
|     }).fail(function(data) { | ||||
|         } else { | ||||
|           notification({ | ||||
|             text: 'Something went wrong.', | ||||
|             type: 'error' | ||||
|           }); | ||||
|       console.log(data); | ||||
|     }); | ||||
|           console.log(request.responseText); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     return false; | ||||
|   }); | ||||
| @ -152,32 +156,38 @@ $(document).on('page:browse', function() { | ||||
|       return false; | ||||
|     } | ||||
| 
 | ||||
|     var content = '{"filename": "' + filename + '", "archetype": "' + archetype + '"}'; | ||||
|     var content = { | ||||
|       filename: filename, | ||||
|       archetype: archetype | ||||
|     } | ||||
| 
 | ||||
|     var request = new XMLHttpRequest(); | ||||
|     request.open("POST", window.location.pathname); | ||||
|     request.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); | ||||
|     request.send(JSON.stringify(content)); | ||||
|     request.onreadystatechange = function() { | ||||
|       if (request.readyState == 4) { | ||||
|         if (request.status == 200) { | ||||
|           var data = JSON.parse(request.responseText); | ||||
| 
 | ||||
|     $.ajax({ | ||||
|       type: 'POST', | ||||
|       url: window.location.pathname, | ||||
|       data: content, | ||||
|       dataType: 'json', | ||||
|       encode: true, | ||||
|     }).done(function(data) { | ||||
|           notification({ | ||||
|             text: "File created successfully.", | ||||
|             type: 'success', | ||||
|             timeout: 5000 | ||||
|           }); | ||||
| 
 | ||||
|           $.pjax({ | ||||
|             url: data.Location, | ||||
|             container: '#content' | ||||
|           }) | ||||
|     }).fail(function(data) { | ||||
|         } else { | ||||
|           notification({ | ||||
|             text: 'Something went wrong.', | ||||
|             type: 'error' | ||||
|           }); | ||||
|       console.log(data); | ||||
|     }); | ||||
|           console.log(request.responseText); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     return false; | ||||
|   }); | ||||
| @ -253,6 +263,78 @@ $(document).on('page:browse', function() { | ||||
|     return false; | ||||
|   }); | ||||
| 
 | ||||
|   /* GIT ACTIONS */ | ||||
| 
 | ||||
|   var git = new Object(); | ||||
|   git.selector = 'form#git'; | ||||
|   git.form = $(git.selector); | ||||
|   git.input = git.selector + ' input[type="text"]'; | ||||
| 
 | ||||
|   $('#content').on('click', 'button.git', function(event) { | ||||
|     event.preventDefault(); | ||||
|     $(foreground).fadeIn(200); | ||||
|     git.form.fadeIn(200); | ||||
|     return false; | ||||
|   }); | ||||
| 
 | ||||
|   $('#content').on('keypress', git.input, function(event) { | ||||
|     if (event.keyCode == 13) { | ||||
|       event.preventDefault(); | ||||
|       $(git.form).submit(); | ||||
|       return false; | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   $('#content').on('submit', git.selector, function(event) { | ||||
|     event.preventDefault(); | ||||
| 
 | ||||
|     var value = git.form.find('input[type="text"]').val(); | ||||
| 
 | ||||
|     if (value == "") { | ||||
|       notification({ | ||||
|         text: "You have to write something. If you want to close the box, click outside of the box.", | ||||
|         type: 'warning', | ||||
|         timeout: 5000 | ||||
|       }); | ||||
| 
 | ||||
|       return false; | ||||
|     } | ||||
| 
 | ||||
|     var request = new XMLHttpRequest(); | ||||
|     request.open("POST", "/admin/git"); | ||||
|     request.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); | ||||
|     request.send(JSON.stringify({ | ||||
|       command: value | ||||
|     })); | ||||
| 
 | ||||
|     /*$.ajax({ | ||||
|       type: 'POST', | ||||
|       url: window.location.pathname, | ||||
|       data: content, | ||||
|       dataType: 'json', | ||||
|       encode: true, | ||||
|     }).done(function(data) { | ||||
|       notification({ | ||||
|         text: "File created successfully.", | ||||
|         type: 'success', | ||||
|         timeout: 5000 | ||||
|       }); | ||||
| 
 | ||||
|       $.pjax({ | ||||
|         url: data.Location, | ||||
|         container: '#content' | ||||
|       }) | ||||
|     }).fail(function(data) { | ||||
|       notification({ | ||||
|         text: 'Something went wrong.', | ||||
|         type: 'error' | ||||
|       }); | ||||
|       console.log(data); | ||||
|     }); */ | ||||
| 
 | ||||
|     return false; | ||||
|   }); | ||||
| 
 | ||||
|   /* $(foreground) AND STUFF */ | ||||
| 
 | ||||
|   $('#content').on('click', '.close', function(event) { | ||||
| @ -268,6 +350,7 @@ $(document).on('page:browse', function() { | ||||
|     create.form.fadeOut(200); | ||||
|     rename.form.fadeOut(200); | ||||
|     remove.form.fadeOut(200); | ||||
|     git.form.fadeOut(200); | ||||
|     return false; | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| @ -1,6 +1,8 @@ | ||||
| package config | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/hacdias/caddy-hugo/hugo" | ||||
| @ -14,6 +16,7 @@ type Config struct { | ||||
| 	Styles string   // Admin styles path | ||||
| 	Args   []string // Hugo arguments | ||||
| 	Hugo   string   // Hugo executable path | ||||
| 	Git    bool     // Is this site a git repository | ||||
| } | ||||
| 
 | ||||
| // ParseHugo parses the configuration file | ||||
| @ -21,6 +24,7 @@ func ParseHugo(c *setup.Controller) (*Config, error) { | ||||
| 	conf := &Config{ | ||||
| 		Public: strings.Replace(c.Root, "./", "", -1), | ||||
| 		Path:   "./", | ||||
| 		Git:    false, | ||||
| 	} | ||||
| 
 | ||||
| 	conf.Hugo = hugo.GetPath() | ||||
| @ -59,5 +63,9 @@ func ParseHugo(c *setup.Controller) (*Config, error) { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if _, err := os.Stat(filepath.Join(conf.Path, ".git")); err == nil { | ||||
| 		conf.Git = true | ||||
| 	} | ||||
| 
 | ||||
| 	return conf, nil | ||||
| } | ||||
|  | ||||
							
								
								
									
										2
									
								
								hugo.go
									
									
									
									
									
								
							
							
								
								
								
								
								
								
							
						
						
									
										2
									
								
								hugo.go
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| //go:generate go get github.com/jteeuwen/go-bindata | ||||
| //go:generate go install github.com/jteeuwen/go-bindata/go-bindata | ||||
| //go:generate go-bindata -pkg assets -o assets/assets.go templates/ assets/css/ assets/js/ assets/fonts/ | ||||
| //go:generate go-bindata -debug -pkg assets -o assets/assets.go templates/ assets/css/ assets/js/ assets/fonts/ | ||||
| 
 | ||||
| // Package hugo makes the bridge between the static website generator Hugo | ||||
| // and the webserver Caddy, also providing an administrative user interface. | ||||
|  | ||||
| @ -7,9 +7,9 @@ | ||||
|       <span id="site-title">Path: {{ $path }}</span> | ||||
|       <div class="go-right"> | ||||
|         <input type="file" value="Upload" multiple> | ||||
|         <!-- <button class="darker"><i class="fa fa-refresh"></i></button> --> | ||||
|         <button id="upload">Upload <i class="fa fa-cloud-upload"></i></button> | ||||
|         <button class="default new">New <i class="fa fa-plus"></i></button> | ||||
|         {{ if .User.Git }}<button class="darker git"><i class="fa fa-git"></i></button>{{ end }} | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| @ -82,4 +82,13 @@ | ||||
|     <input type="submit" value="Rename"> | ||||
|   </p> | ||||
| </form> | ||||
| 
 | ||||
| <form class="popup hidden" id="git"> | ||||
|   <h3>Git</h3> | ||||
|   <p>Write down the <code>git</code> command you want to execute. You don't need to write <code>git</code>.</p> | ||||
|   <input type="text" placeholder="git push origin master"> | ||||
|   <p class="right"> | ||||
|     <input type="submit" value="Execute"> | ||||
|   </p> | ||||
| </form> | ||||
| {{ end }} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Henrique Dias
						Henrique Dias