Compare commits

...

2 Commits

5 changed files with 34 additions and 23 deletions

View File

@ -59,6 +59,7 @@ body{
#desktop-layer{ #desktop-layer{
position: absolute; position: absolute;
/* margin: 0px; */
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #9999CC; background-color: #9999CC;

View File

@ -1,7 +1,13 @@
.FileTileView{ .FileTileView{
width: 100%; width: 100%;
height: auto; height: 100%;
/* FIXME Bug, on desktop mode top ~10 pixel are not active, like margin:10px */
}
.FileTileView .FlexContainer{
width: 100%;
height: auto;
/* Auto layout */ /* Auto layout */
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@ -18,7 +24,6 @@
/* overflow-x: hidden; */ /* overflow-x: hidden; */
scrollbar-width: none; /* Firefox */ scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* Internet Explorer 10+ */ -ms-overflow-style: none; /* Internet Explorer 10+ */
} }
.FileTileView::-webkit-scrollbar { /* WebKit */ .FileTileView::-webkit-scrollbar { /* WebKit */

View File

@ -10,14 +10,13 @@ class FileView{
this.parentElem = fileViewElem this.parentElem = fileViewElem
fileViewElem.addEventListener('click', (event) => { fileViewElem.addEventListener('click', (event) => {
if (event.target.classList[0] == 'FileTileView')
console.log(event) {
this.DeselectAll()
return
}
if (event.detail === 1){ if (event.detail === 1){
this.selected.forEach(element => { this.DeselectAll()
// console.log
element.classList.remove("Selected")
});
this.selected = []
this.selected.push(event.target) this.selected.push(event.target)
event.target.classList.add("Selected") event.target.classList.add("Selected")
} else if (event.detail === 2) { } else if (event.detail === 2) {
@ -26,6 +25,13 @@ class FileView{
}) })
} }
DeselectAll(){
this.selected.forEach(element => {
element.classList.remove("Selected")
});
this.selected = []
}
/** Get html of folder by path /** Get html of folder by path
* @param {string} path * @param {string} path
*/ */

View File

@ -210,29 +210,25 @@ var getJSON = function(url, callback) {
}; };
class WindowsCompositor{ class WindowsCompositor{
windowLayer = undefined static windowsLayer
movingElement = null
//TODO refactor this to dynamic add/remove listeners
constructor(){ constructor(){
this.windowLayer = document.body.querySelector('#windows-layer') this.windowLayer = document.body.querySelector('#windows-layer')
WindowsCompositor.windowsLayer = document.body.querySelector('#windows-layer')
if (!WebDesktopEnvironment.isMobile) { if (!WebDesktopEnvironment.isMobile) {
let startDrag = function(event) { let startDrag = function(event) {
let window = event.target.closest('.WindowFrame')
WindowsCompositor.bringWindowToFront(window)
let targetClasses = event.target.className.split(' ') let targetClasses = event.target.className.split(' ')
if (targetClasses[targetClasses.length - 1] != 'DragArea'){ if (targetClasses[targetClasses.length - 1] != 'DragArea'){
return return
} }
// if (event.target.event.target.className != "DragArea"){}
let xPosInit = event.offsetX let xPosInit = event.offsetX
let yPosInit = event.offsetY let yPosInit = event.offsetY
let window = event.target.closest('.WindowFrame')
let dragWindow = function(event){ let dragWindow = function(event){
// console.log(window)
// console.log(event.clientX)
// console.log(event.clientX - xPosInit, event.clientY - yPosInit)
window.style.left = `${event.clientX - xPosInit}px` window.style.left = `${event.clientX - xPosInit}px`
window.style.top = `${event.clientY - yPosInit}px` window.style.top = `${event.clientY - yPosInit}px`
// WindowsCompositor.dragElement(window,event.clientX - xPosInit, event.clientY - yPosInit)
} }
let stopDrag = function(){ let stopDrag = function(){
removeEventListener('mousemove', dragWindow) removeEventListener('mousemove', dragWindow)
@ -241,18 +237,19 @@ class WindowsCompositor{
addEventListener('mousemove', dragWindow) addEventListener('mousemove', dragWindow)
addEventListener('mouseup', stopDrag) addEventListener('mouseup', stopDrag)
// console.log(event)
} }
this.windowLayer.addEventListener('mousedown', startDrag) WindowsCompositor.windowsLayer.addEventListener('mousedown', startDrag)
} }
} }
/** /**
* @param {HTMLElement} window * @param {HTMLElement} window
*/ */
bringWindowToFront(window){ //FIXME static bringWindowToFront(window){ //FIXME
this.windowLayer.insertBefore(this.windowLayer.lastChild, window) if (window != WindowsCompositor.windowsLayer.lastChild ){
WindowsCompositor.windowsLayer.insertBefore(WindowsCompositor.windowsLayer.lastChild, window)
}
} }

View File

@ -1,9 +1,11 @@
{{ define "wde-widgets/file-tile-view.tmpl" }} {{ define "wde-widgets/file-tile-view.tmpl" }}
<div class="FlexContainer NoClick">
{{ range $fileTile := .Files }} {{ range $fileTile := .Files }}
<div fileType="{{ $fileTile.Type }}" class="Tile" name="{{$fileTile.Name}}"> <div fileType="{{ $fileTile.Type }}" class="Tile Click" name="{{$fileTile.Name}}">
<!-- <div class="Icon NoClick"></div> --> <!-- <div class="Icon NoClick"></div> -->
<img class="Icon NoClick" src="{{ $fileTile.Icon }}"> <img class="Icon NoClick" src="{{ $fileTile.Icon }}">
<div class="Lable NoClick">{{ $fileTile.Name }}</div> <div class="Lable NoClick">{{ $fileTile.Name }}</div>
</div> </div>
{{ end }} {{ end }}
</div>
{{ end }} {{ end }}