Compare commits
No commits in common. "d549c9649267cf028f5ba61aa55a008831769ef9" and "2f2ad23fd6d4619e4871eba8b7729d48341f377a" have entirely different histories.
d549c96492
...
2f2ad23fd6
@ -13,7 +13,7 @@
|
|||||||
<div id="WindowsLayer"></div>
|
<div id="WindowsLayer"></div>
|
||||||
<div id="Applications"></div>
|
<div id="Applications"></div>
|
||||||
<!-- <div id="TestWindow" style="width: 100px; height: 100px; background-color: darkkhaki; position: absolute;" >
|
<!-- <div id="TestWindow" style="width: 100px; height: 100px; background-color: darkkhaki; position: absolute;" >
|
||||||
<div id="TestWindowHeader" class="VisualDragArea" style="width: 100%;height: 15px; background-color: cornflowerblue;">
|
<div id="TestWindowHeader" class="WindowDragArea" style="width: 100%;height: 15px; background-color: cornflowerblue;">
|
||||||
</div> -->
|
</div> -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
<div id="WindowBorder" class="Frame">
|
<div id="WindowBorder" class="Frame">
|
||||||
<div id="TestWindowHeader" class="WindowFrameTopBar">
|
<div id="TestWindowHeader" class="WindowFrameTopBar">
|
||||||
<button class="WindowFrameTopBarButton"></button>
|
<button class="WindowFrameTopBarButton"></button>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<div class="Lable">
|
<div class="WindowFrameTitle">
|
||||||
Test Title
|
Test Title
|
||||||
</div>
|
</div>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<button class="WindowFrameTopBarButton" ></button>
|
<button class="WindowFrameTopBarButton" ></button>
|
||||||
</div>
|
</div>
|
||||||
<div id="ContentFrame" class="ContentFrame">
|
<div id="ContentFrame" class="ContentFrame">
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
.NoClick {
|
.NoClick {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.Click {
|
.Click {
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
}
|
}
|
||||||
@ -27,11 +27,6 @@
|
|||||||
font-weight:initial;
|
font-weight:initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
*::-webkit-scrollbar { /* WebKit */
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
body{
|
body{
|
||||||
zoom: var(--zoom);
|
zoom: var(--zoom);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -50,16 +45,123 @@ body{
|
|||||||
touch-action: manipulation;
|
touch-action: manipulation;
|
||||||
}
|
}
|
||||||
|
|
||||||
#windows-layer {
|
/* @font-face {
|
||||||
width: 0px;
|
font-family: "EspySansRegular";
|
||||||
height: 0px;
|
src: url("res/EspySansRegular.ttf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
} */
|
||||||
|
|
||||||
|
#WindowsLayer {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
/* position: fixed; */
|
/* position: fixed; */
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#desktop-layer{
|
.Frame{
|
||||||
position: absolute;
|
width: 100%;
|
||||||
|
min-height: 200px;
|
||||||
|
height: auto;
|
||||||
|
background-color: #CCCCCC;
|
||||||
|
border: 1px solid #000000;
|
||||||
|
box-shadow: 1px 1px 0px #000,inset -1px -1px 0px rgba(0, 0, 0, 0.27), inset 1px 1px 0px #FFFFFF;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
padding: 4px;
|
||||||
|
gap:4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .WindowFrameTopBar{
|
||||||
|
width: 100%;
|
||||||
|
height: 13px;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 5px;
|
||||||
|
padding: 0px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.WindowFrameTitle{
|
||||||
|
pointer-events: none;
|
||||||
|
white-space: nowrap
|
||||||
|
}
|
||||||
|
|
||||||
|
.VisualFrame{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #9999CC;
|
position: relative;
|
||||||
}
|
/* overflow: scroll; */
|
||||||
|
/* overflow-x: hidden; */
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
|
||||||
|
flex: none;
|
||||||
|
order: 1;
|
||||||
|
align-self: stretch;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
background: #DDDDDD;
|
||||||
|
border: 1px solid #000000;
|
||||||
|
box-shadow: 0.5px 0.5px 0px 0.5px #FFFFFF, -0.5px -0.5px 0px 0.5px rgba(0, 0, 0, 0.25), inset 1px 1px 0px #FFFFFF;
|
||||||
|
|
||||||
|
/* Auto layout */
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ContentFrame{
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
/* background-color: aquamarine; */
|
||||||
|
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 12px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
gap:16px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.Old {
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
padding: 10px;
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 12px;
|
||||||
|
gap:16px;
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
align-self: stretch;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
@ -1,59 +0,0 @@
|
|||||||
.FileTileView{
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
|
|
||||||
/* Auto layout */
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: flex-start;
|
|
||||||
justify-content: flex-start;
|
|
||||||
gap: 50px;
|
|
||||||
row-gap: 20px;
|
|
||||||
/* padding: 15px; Shit fix TODO: */
|
|
||||||
margin: 15px;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
align-content: flex-start;
|
|
||||||
|
|
||||||
/* overflow: scroll; */
|
|
||||||
/* overflow-x: hidden; */
|
|
||||||
scrollbar-width: none; /* Firefox */
|
|
||||||
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.FileTileView::-webkit-scrollbar { /* WebKit */
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.FileTileView .Tile{
|
|
||||||
width: 50px;
|
|
||||||
height: 50px;
|
|
||||||
/* Auto layout */
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: flex-start;
|
|
||||||
gap: 2px;
|
|
||||||
padding: 0px;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.FileTileView .Icon{
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
background-image: url("./icons/folder.png");
|
|
||||||
background-size: cover;
|
|
||||||
|
|
||||||
image-rendering: optimizeSpeed; /* STOP SMOOTHING, GIVE ME SPEED */
|
|
||||||
image-rendering: -moz-crisp-edges; /* Firefox */
|
|
||||||
image-rendering: -o-crisp-edges; /* Opera */
|
|
||||||
image-rendering: -webkit-optimize-contrast; /* Chrome (and eventually Safari) */
|
|
||||||
image-rendering: pixelated; /* Universal support since 2021 */
|
|
||||||
image-rendering: optimize-contrast; /* CSS3 Proposed */
|
|
||||||
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
|
|
||||||
}
|
|
||||||
|
|
||||||
.FileTileView .Lable{
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
@ -1,89 +0,0 @@
|
|||||||
.scroller {
|
|
||||||
overflow-y: scroll;
|
|
||||||
scrollbar-color: #0A4C95 #C2D2E4;
|
|
||||||
border-radius: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll_content {
|
|
||||||
position: relative;
|
|
||||||
width: 400px;
|
|
||||||
height: 414px;
|
|
||||||
top: -17px;
|
|
||||||
padding: 20px 10px 20px 10px;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ScrollbarPlace{
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
border-left: 1px solid #000000;
|
|
||||||
width: 14px;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
bottom: 0px;
|
|
||||||
right: 0px;
|
|
||||||
width: 14px;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
background-color: #AAAAAA;
|
|
||||||
box-shadow: inset -1px 0px 0px rgba(255, 255, 255, 0.29), inset -2px 0px 0px rgba(255, 255, 255, 0.19), inset 1px 1px 0px rgba(0, 0, 0, 0.14), inset 2px 2px 0px rgba(0, 0, 0, 0.19);
|
|
||||||
|
|
||||||
/* Inside auto layout */
|
|
||||||
flex: none;
|
|
||||||
order: 0;
|
|
||||||
align-self: stretch;
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.ScrollBarScrollElement{
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
width: 14px;
|
|
||||||
height: 31px;
|
|
||||||
background: #9999FF;
|
|
||||||
|
|
||||||
box-shadow: 0px -1px 0px #000000, 0px 1px 0px #000000, 0px 2px 0px rgba(0, 0, 0, 0.13), 0px 3px 0px rgba(0, 0, 0, 0.19), inset 0px 1px 0px rgba(255, 255, 255, 0.5), inset 1px 0px 0px rgba(255, 255, 255, 0.5), inset -1px -1px 0px rgba(102, 102, 204, 0.91);
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-around;
|
|
||||||
gap: 5px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ScrollBarScrollElementDrag{
|
|
||||||
pointer-events: none;
|
|
||||||
/* background-color: #0A4C95; */
|
|
||||||
width: 7px;
|
|
||||||
height: 7px;
|
|
||||||
margin-left: -1px;
|
|
||||||
|
|
||||||
background: linear-gradient(transparent 0%,#CCCCFF 0%, #CCCCFF 50%, transparent 50%);
|
|
||||||
background-size: 2px 2px;
|
|
||||||
|
|
||||||
/* TODO white pixels in rows start */
|
|
||||||
filter: drop-shadow(1px 1px 0px #333399);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ScrollContent {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: scroll;
|
|
||||||
overflow-x: hidden;
|
|
||||||
scrollbar-width: none; /* Firefox */
|
|
||||||
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
||||||
|
|
||||||
/* Auto layout */
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: flex-start;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ScrollContent::-webkit-scrollbar { /* WebKit */
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
@ -1,12 +1,10 @@
|
|||||||
//TODO Scroll to mobile desktop: https://css-tricks.com/scroll-fix-content/
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
// console.log(window.screen.width)
|
// console.log(window.screen.width)
|
||||||
wde = new WebDesktopEnvironment
|
wde = new WebDesktopEnvironment
|
||||||
if (!WebDesktopEnvironment.isMobile){
|
if (!WebDesktopEnvironment.isMobile){
|
||||||
// WebDesktopEnvironment.Open("finder", ["/home/user"])
|
// WebDesktopEnvironment.Open("finder", ["/home/user"])
|
||||||
// WebDesktopEnvironment.Open("blog-viewer", ["/home/user/blog/test-1.blog"])
|
// WebDesktopEnvironment.Open("blog-viewer", ["/home/user/blog/test-1.blog"])
|
||||||
WebDesktopEnvironment.Open("personal-properties", ["kek"])
|
// WebDesktopEnvironment.Open("personal-properties", ["kek"])
|
||||||
} else {
|
} else {
|
||||||
WebDesktopEnvironment.Open("blog-viewer", ["/home/user/blog/test-1.blog"])
|
WebDesktopEnvironment.Open("blog-viewer", ["/home/user/blog/test-1.blog"])
|
||||||
}
|
}
|
||||||
@ -62,6 +60,7 @@ class WebDesktopEnvironment{
|
|||||||
|
|
||||||
let desktopLayer = document.createElement("div")
|
let desktopLayer = document.createElement("div")
|
||||||
desktopLayer.setAttribute('id', 'desktop-layer')
|
desktopLayer.setAttribute('id', 'desktop-layer')
|
||||||
|
desktopLayer.setAttribute('class', 'DesktopBackground')
|
||||||
document.body.appendChild(desktopLayer)
|
document.body.appendChild(desktopLayer)
|
||||||
WebDesktopEnvironment.Open("finder", ["/home/user", "desktop", desktopLayer])
|
WebDesktopEnvironment.Open("finder", ["/home/user", "desktop", desktopLayer])
|
||||||
|
|
||||||
@ -143,7 +142,7 @@ class WebDesktopEnvironment{
|
|||||||
document.body.querySelector('#windows-layer').appendChild(newWindow)
|
document.body.querySelector('#windows-layer').appendChild(newWindow)
|
||||||
return newWindow
|
return newWindow
|
||||||
} else {
|
} else {
|
||||||
newWindow.setAttribute("class", "WindowFrame")
|
newWindow.setAttribute("class", "StandartApplicationWindow")
|
||||||
newWindow.setAttribute("windowId", "SuperUniqUUID") //TODO:
|
newWindow.setAttribute("windowId", "SuperUniqUUID") //TODO:
|
||||||
|
|
||||||
newWindow.style.width = width.toString() + "px"
|
newWindow.style.width = width.toString() + "px"
|
||||||
@ -212,6 +211,8 @@ var getJSON = function(url, callback) {
|
|||||||
class WindowsCompositor{
|
class WindowsCompositor{
|
||||||
windowLayer = undefined
|
windowLayer = undefined
|
||||||
movingElement = null
|
movingElement = null
|
||||||
|
// xPosInit = 0
|
||||||
|
// yPosInit = 0
|
||||||
|
|
||||||
//TODO refactor this to dynamic add/remove listeners
|
//TODO refactor this to dynamic add/remove listeners
|
||||||
constructor(){
|
constructor(){
|
||||||
@ -225,14 +226,12 @@ class WindowsCompositor{
|
|||||||
// if (event.target.event.target.className != "DragArea"){}
|
// 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 window = event.target.closest('.StandartApplicationWindow')
|
||||||
let dragWindow = function(event){
|
let dragWindow = function(event){
|
||||||
// console.log(window)
|
// console.log(window)
|
||||||
// console.log(event.clientX)
|
// console.log(event.clientX)
|
||||||
// console.log(event.clientX - xPosInit, event.clientY - yPosInit)
|
// console.log(event.clientX - xPosInit, event.clientY - yPosInit)
|
||||||
window.style.left = `${event.clientX - xPosInit}px`
|
WindowsCompositor.dragElement(window,event.clientX - xPosInit, event.clientY - yPosInit)
|
||||||
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)
|
||||||
@ -246,14 +245,65 @@ class WindowsCompositor{
|
|||||||
|
|
||||||
this.windowLayer.addEventListener('mousedown', startDrag)
|
this.windowLayer.addEventListener('mousedown', startDrag)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (false) { //FIXME
|
||||||
|
addEventListener("mousedown", (event) => {
|
||||||
|
this.xPosInit = event.offsetX
|
||||||
|
this.yPosInit = event.offsetY
|
||||||
|
|
||||||
|
this.bringWindowToFront(event.target.closest('.StandartApplicationWindow'))
|
||||||
|
|
||||||
|
this.catchClick(event)
|
||||||
|
|
||||||
|
})
|
||||||
|
addEventListener("mouseup", (event) => {
|
||||||
|
this.movingElement = null
|
||||||
|
this.xPosInit = 0
|
||||||
|
})
|
||||||
|
addEventListener("mousemove", (event) => {
|
||||||
|
|
||||||
|
if (this.movingElement != null) {
|
||||||
|
this.dragElement(this.movingElement, event.clientX - this.xPosInit, event.clientY - this.yPosInit)
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {HTMLElement} window
|
* @param {HTMLElement} window
|
||||||
*/
|
*/
|
||||||
bringWindowToFront(window){ //FIXME
|
bringWindowToFront(window){
|
||||||
this.windowLayer.insertBefore(this.windowLayer.lastChild, window)
|
this.windowLayer.insertBefore(this.windowLayer.lastChild, window)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {MouseEvent} event
|
||||||
|
*/
|
||||||
|
catchClick(event){
|
||||||
|
switch (true) {
|
||||||
|
case event.target.className == "WindowFrameTopBar":
|
||||||
|
this.movingElement = event.target.parentElement
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {HTMLDivElement} element
|
||||||
|
* @param {number} posX
|
||||||
|
* @param {number} posY
|
||||||
|
*/
|
||||||
|
static dragElement(element, posX, posY) { //TODO
|
||||||
|
element.style.left = `${posX}px`
|
||||||
|
element.style.top = `${posY}px`
|
||||||
|
}
|
||||||
|
|
||||||
|
startDrag(){
|
||||||
|
this.windowLayer.addEventListener('mousemove', () => {
|
||||||
|
console.log("move")
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.WindowFrame{
|
.StandartApplicationWindow{
|
||||||
/* Auto layout */
|
/* Auto layout */
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -21,6 +21,20 @@
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.MobileApplicationWindow{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 4px;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
.ContentBorder {
|
.ContentBorder {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -43,74 +57,6 @@
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.WindowFrame .TitleBar{
|
|
||||||
width: 100%;
|
|
||||||
height: 13px;
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
gap: 5px;
|
|
||||||
padding: 0px;
|
|
||||||
|
|
||||||
|
|
||||||
/* Inside auto layout */
|
|
||||||
flex: none;
|
|
||||||
order: 0;
|
|
||||||
align-self: stretch;
|
|
||||||
flex-grow: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.WindowFrame .TitleBar .Lable{
|
|
||||||
position: relative;
|
|
||||||
top:1px;
|
|
||||||
/* font-size: 13px; */
|
|
||||||
|
|
||||||
pointer-events: none;
|
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
font-family: "Virtue";
|
|
||||||
letter-spacing: 0.35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.WindowFrame .TitleBar .Button{
|
|
||||||
width: 11px;
|
|
||||||
height: 11px;
|
|
||||||
padding: 0%;
|
|
||||||
position: relative;
|
|
||||||
top: 1px;
|
|
||||||
|
|
||||||
background: linear-gradient(135deg, #999999 18.18%, #FFFFFF 81.82%);
|
|
||||||
border: 1px solid #222222;
|
|
||||||
box-shadow: 0.5px 0.5px 0px 0.5px #FFFFFF,
|
|
||||||
-0.5px -0.5px 0px 0.5px rgba(0, 0, 0, 0.25),
|
|
||||||
inset 1px 1px 0px rgba(255, 255, 255, 0.5),
|
|
||||||
inset -1px -1px 0px rgba(0, 0, 0, 0.27);
|
|
||||||
|
|
||||||
/* Inside auto layout */
|
|
||||||
flex: none;
|
|
||||||
order: 0;
|
|
||||||
flex-grow: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.WindowFrame .TitleBar .Button:active {
|
|
||||||
background-color: rgba(0, 0, 0, 0.4); /* Green */
|
|
||||||
box-shadow: 0.5px 0.5px 0px 0.5px #FFFFFF,
|
|
||||||
-0.5px -0.5px 0px 0.5px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.WindowFrame .TitleBar .VisualDragArea{
|
|
||||||
pointer-events: none;
|
|
||||||
width: 100%;
|
|
||||||
height: 11px;
|
|
||||||
background: linear-gradient(transparent 0%,white 0%, white 50%, transparent 50%);
|
|
||||||
background-size: 2px 2px;
|
|
||||||
filter: drop-shadow(1px 1px 0px #777777);
|
|
||||||
}
|
|
||||||
|
|
||||||
.MobileContentBorder {
|
.MobileContentBorder {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -133,18 +79,43 @@
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MobileApplicationWindow{
|
.WindowFrameTopBarButton{
|
||||||
width: 100%;
|
width: 11px;
|
||||||
height: 100%;
|
height: 11px;
|
||||||
/* Auto layout */
|
padding: 0%;
|
||||||
display: flex;
|
position: relative;
|
||||||
flex-direction: column;
|
top: 1px;
|
||||||
align-items: flex-start;
|
|
||||||
gap: 4px;
|
|
||||||
|
|
||||||
position: absolute;
|
background: linear-gradient(135deg, #999999 18.18%, #FFFFFF 81.82%);
|
||||||
top: 0px;
|
border: 1px solid #222222;
|
||||||
left: 0px;
|
box-shadow: 0.5px 0.5px 0px 0.5px #FFFFFF,
|
||||||
|
-0.5px -0.5px 0px 0.5px rgba(0, 0, 0, 0.25),
|
||||||
|
inset 1px 1px 0px rgba(255, 255, 255, 0.5),
|
||||||
|
inset -1px -1px 0px rgba(0, 0, 0, 0.27);
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.WindowFrameTopBar{
|
||||||
|
width: 100%;
|
||||||
|
height: 13px;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 5px;
|
||||||
|
padding: 0px;
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
align-self: stretch;
|
||||||
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MobileWindowFrameBottomBar{
|
.MobileWindowFrameBottomBar{
|
||||||
@ -186,7 +157,7 @@
|
|||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.MobileWindowFrameBottomBar .MobileLable{
|
.MobileWindowFrameBottomBar .MobileWindowFrameTitle{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
/* top:1px; */
|
/* top:1px; */
|
||||||
/* font-size: 13px; */
|
/* font-size: 13px; */
|
||||||
@ -198,4 +169,190 @@
|
|||||||
letter-spacing: 0.35px;
|
letter-spacing: 0.35px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.WindowFrameTopBar .WindowFrameTitle{
|
||||||
|
position: relative;
|
||||||
|
top:1px;
|
||||||
|
/* font-size: 13px; */
|
||||||
|
|
||||||
|
pointer-events: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
font-family: "Virtue";
|
||||||
|
letter-spacing: 0.35px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.WindowFrameTopBarButton:active {
|
||||||
|
background-color: rgba(0, 0, 0, 0.4); /* Green */
|
||||||
|
box-shadow: 0.5px 0.5px 0px 0.5px #FFFFFF,
|
||||||
|
-0.5px -0.5px 0px 0.5px rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.WindowDragArea{
|
||||||
|
pointer-events: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 11px;
|
||||||
|
background: linear-gradient(transparent 0%,white 0%, white 50%, transparent 50%);
|
||||||
|
background-size: 2px 2px;
|
||||||
|
filter: drop-shadow(1px 1px 0px #777777);
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroller {
|
||||||
|
overflow-y: scroll;
|
||||||
|
scrollbar-color: #0A4C95 #C2D2E4;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll_content {
|
||||||
|
position: relative;
|
||||||
|
width: 400px;
|
||||||
|
height: 414px;
|
||||||
|
top: -17px;
|
||||||
|
padding: 20px 10px 20px 10px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ScrollbarPlace{
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
border-left: 1px solid #000000;
|
||||||
|
width: 14px;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
bottom: 0px;
|
||||||
|
right: 0px;
|
||||||
|
width: 14px;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
background-color: #AAAAAA;
|
||||||
|
box-shadow: inset -1px 0px 0px rgba(255, 255, 255, 0.29), inset -2px 0px 0px rgba(255, 255, 255, 0.19), inset 1px 1px 0px rgba(0, 0, 0, 0.14), inset 2px 2px 0px rgba(0, 0, 0, 0.19);
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
align-self: stretch;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ScrollBarScrollElement{
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
width: 14px;
|
||||||
|
height: 31px;
|
||||||
|
background: #9999FF;
|
||||||
|
|
||||||
|
box-shadow: 0px -1px 0px #000000, 0px 1px 0px #000000, 0px 2px 0px rgba(0, 0, 0, 0.13), 0px 3px 0px rgba(0, 0, 0, 0.19), inset 0px 1px 0px rgba(255, 255, 255, 0.5), inset 1px 0px 0px rgba(255, 255, 255, 0.5), inset -1px -1px 0px rgba(102, 102, 204, 0.91);
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
gap: 5px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ScrollBarScrollElementDrag{
|
||||||
|
pointer-events: none;
|
||||||
|
/* background-color: #0A4C95; */
|
||||||
|
width: 7px;
|
||||||
|
height: 7px;
|
||||||
|
margin-left: -1px;
|
||||||
|
|
||||||
|
background: linear-gradient(transparent 0%,#CCCCFF 0%, #CCCCFF 50%, transparent 50%);
|
||||||
|
background-size: 2px 2px;
|
||||||
|
|
||||||
|
/* TODO white pixels in rows start */
|
||||||
|
filter: drop-shadow(1px 1px 0px #333399);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.FileTileView{
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 50px;
|
||||||
|
row-gap: 20px;
|
||||||
|
/* padding: 15px; Shit fix TODO: */
|
||||||
|
margin: 15px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-content: flex-start;
|
||||||
|
|
||||||
|
overflow: scroll;
|
||||||
|
/* overflow-x: hidden; */
|
||||||
|
scrollbar-width: none; /* Firefox */
|
||||||
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.FileTileView::-webkit-scrollbar { /* WebKit */
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.FileTile{
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2px;
|
||||||
|
padding: 0px;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.FileTileIcon{
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
background-image: url("sys/wde/icons/folder.png");
|
||||||
|
background-size: cover;
|
||||||
|
|
||||||
|
image-rendering: optimizeSpeed; /* STOP SMOOTHING, GIVE ME SPEED */
|
||||||
|
image-rendering: -moz-crisp-edges; /* Firefox */
|
||||||
|
image-rendering: -o-crisp-edges; /* Opera */
|
||||||
|
image-rendering: -webkit-optimize-contrast; /* Chrome (and eventually Safari) */
|
||||||
|
image-rendering: pixelated; /* Universal support since 2021 */
|
||||||
|
image-rendering: optimize-contrast; /* CSS3 Proposed */
|
||||||
|
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
.FileTileTitle{
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ScrollContent {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: scroll;
|
||||||
|
overflow-x: hidden;
|
||||||
|
scrollbar-width: none; /* Firefox */
|
||||||
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
||||||
|
|
||||||
|
/* Auto layout */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ScrollContent::-webkit-scrollbar { /* WebKit */
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.DesktopBackground{
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #9999CC;
|
||||||
|
}
|
20
templates/about-me/app.tmpl
Normal file
20
templates/about-me/app.tmpl
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{{ define "about-me/app.tmpl" }}
|
||||||
|
|
||||||
|
<div class="StandartWindowFrame">
|
||||||
|
<div>
|
||||||
|
<div class="StandartWindowFrameTopBar">
|
||||||
|
<button id="closeWindowButton" class="StandartWindowFrameTopBarButton" title="Close Window"></button>
|
||||||
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
|
<div class="StandartWindowFrameTitle">
|
||||||
|
About me
|
||||||
|
</div>
|
||||||
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
|
</div>
|
||||||
|
<div class="ContentBorder">
|
||||||
|
<div class="ScrollContent">
|
||||||
|
TEST CONTENT
|
||||||
|
</div>
|
||||||
|
{{template "wde-widgets/scrollbar.tmpl" .}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
@ -4,8 +4,6 @@
|
|||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" type="text/css" href="res/base.css">
|
<link rel="stylesheet" type="text/css" href="res/base.css">
|
||||||
<link rel="stylesheet" type="text/css" href="res/wdeUI.css">
|
<link rel="stylesheet" type="text/css" href="res/wdeUI.css">
|
||||||
<link rel="stylesheet" type="text/css" href="res/sys/wde/wde-scrollbar.css">
|
|
||||||
<link rel="stylesheet" type="text/css" href="res/sys/wde/file-view.css">
|
|
||||||
<link rel="stylesheet" type="text/css" href="res/mobile-wdeUI.css">
|
<link rel="stylesheet" type="text/css" href="res/mobile-wdeUI.css">
|
||||||
<link rel="stylesheet" href="/res/sys/wde/simple-scrollbar.css">
|
<link rel="stylesheet" href="/res/sys/wde/simple-scrollbar.css">
|
||||||
<link rel="stylesheet" href="/res/sys/personal-properties/personal-properies.css">
|
<link rel="stylesheet" href="/res/sys/personal-properties/personal-properies.css">
|
||||||
@ -23,7 +21,7 @@
|
|||||||
<!-- <div id="WindowsLayer"></div> -->
|
<!-- <div id="WindowsLayer"></div> -->
|
||||||
<!-- <div id="Applications"></div> -->
|
<!-- <div id="Applications"></div> -->
|
||||||
<!-- <div id="TestWindow" style="width: 100px; height: 100px; background-color: darkkhaki; position: absolute;" >
|
<!-- <div id="TestWindow" style="width: 100px; height: 100px; background-color: darkkhaki; position: absolute;" >
|
||||||
<div id="TestWindowHeader" class="VisualDragArea" style="width: 100%;height: 15px; background-color: cornflowerblue;">
|
<div id="TestWindowHeader" class="WindowDragArea" style="width: 100%;height: 15px; background-color: cornflowerblue;">
|
||||||
</div> -->
|
</div> -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -8,15 +8,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="toolbar">
|
<div id="toolbar">
|
||||||
<div id="about-me" class="FileTile" >
|
<div id="about-me" class="FileTile" >
|
||||||
<div class="Icon NoClick" style="background-image: url('./res/sys/wde/icons/about-me.png');"></div>
|
<div class="FileTileIcon NoClick" style="background-image: url('./res/sys/wde/icons/about-me.png');"></div>
|
||||||
<div class="FileTileTitle NoClick">About Me</div>
|
<div class="FileTileTitle NoClick">About Me</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="mobile-desktop-blog" class="FileTile">
|
<div id="mobile-desktop-blog" class="FileTile">
|
||||||
<div class="Icon NoClick" style="background-image: url('./res/sys/wde/icons/desktop.png');"></div>
|
<div class="FileTileIcon NoClick" style="background-image: url('./res/sys/wde/icons/desktop.png');"></div>
|
||||||
<div class="FileTileTitle NoClick">Blog</div>
|
<div class="FileTileTitle NoClick">Blog</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="mobile-dekstop-close" class="FileTile">
|
<div id="mobile-dekstop-close" class="FileTile">
|
||||||
<div class="Icon NoClick" style="background-image: url('./res/sys/wde/icons/trash.png');"></div>
|
<div class="FileTileIcon NoClick" style="background-image: url('./res/sys/wde/icons/trash.png');"></div>
|
||||||
<div class="FileTileTitle NoClick">Close</div>
|
<div class="FileTileTitle NoClick">Close</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{{ define "blog-viewer/app.tmpl" }}
|
{{ define "blog-viewer/app.tmpl" }}
|
||||||
<div class="TitleBar DragArea">
|
<div id="TestWindowHeader" class="WindowFrameTopBar">
|
||||||
<button id="closeWindowButton" class="Button" title="Close Window"></button>
|
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<div class="Lable">
|
<div class="WindowFrameTitle">
|
||||||
{{.header}}
|
{{.header}}
|
||||||
</div>
|
</div>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ContentBorder">
|
<div class="ContentBorder">
|
||||||
<div class="blog-viewer ScrollContent">
|
<div class="blog-viewer ScrollContent">
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{{ define "finder/app.tmpl" }}
|
{{ define "finder/app.tmpl" }}
|
||||||
<div id="TestWindowHeader" class="TitleBar DragArea">
|
<div id="TestWindowHeader" class="WindowFrameTopBar DragArea">
|
||||||
<button id="closeWindowButton" class="Button" title="Close Window"></button>
|
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<div class="Lable">
|
<div class="WindowFrameTitle">
|
||||||
Files
|
Files
|
||||||
</div>
|
</div>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ToolBar">
|
<div class="ToolBar">
|
||||||
<button id="BackButton">Back</button>
|
<button id="BackButton">Back</button>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{{ define "img-viewer/app.tmpl" }}
|
{{ define "img-viewer/app.tmpl" }}
|
||||||
<div id="TestWindowHeader" class="WindowFrameTopBar DragArea">
|
<div id="TestWindowHeader" class="WindowFrameTopBar DragArea">
|
||||||
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<div class="Lable">
|
<div class="WindowFrameTitle">
|
||||||
About me
|
About me
|
||||||
</div>
|
</div>
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ContentBorder">
|
<div class="ContentBorder">
|
||||||
<!-- <div class="Img-Viewer-Picture-Toolbar">
|
<!-- <div class="Img-Viewer-Picture-Toolbar">
|
||||||
|
@ -1,55 +1,57 @@
|
|||||||
{{ define "personal-properties/app.tmpl" }}
|
{{ define "personal-properties/app.tmpl" }}
|
||||||
<div class="TitleBar DragArea">
|
<!-- <div id="WindowBorder" class="PersonalPropertiesFrame"> -->
|
||||||
<button id="closeWindowButton" class="Button" title="Close Window"></button>
|
<div id="TestWindowHeader" class="WindowFrameTopBar DragArea">
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
||||||
<div class="Lable">
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
About me
|
<div class="WindowFrameTitle">
|
||||||
</div>
|
About me
|
||||||
<div id="Drag" class="VisualDragArea"></div>
|
</div>
|
||||||
</div>
|
<div id="Drag" class="WindowDragArea"></div>
|
||||||
<div class="ContentBorder">
|
</div>
|
||||||
<div class="ScrollContent">
|
<!-- <div class="ContentBorder"></div> -->
|
||||||
<div class="PropertiesList">
|
<div class="ContentBorder">
|
||||||
<div class="Personal-properties-bio">
|
<div class="ScrollContent">
|
||||||
<img src="data:{{ .headerProps.Icon.Header }},{{ .headerProps.Icon.Base64 }}" alt="My Photo" style="width: 48px;height: 48px;">
|
<div class="PropertiesList">
|
||||||
<div class="Personal-properties-textbio">
|
<div class="Personal-properties-bio">
|
||||||
<div>{{ .headerProps.Name }}</div>
|
<img src="data:{{ .headerProps.Icon.Header }},{{ .headerProps.Icon.Base64 }}" alt="My Photo" style="width: 48px;height: 48px;">
|
||||||
<div>{{ .headerProps.Info1 }}</div>
|
<div class="Personal-properties-textbio">
|
||||||
<div>{{ .headerProps.Info2 }}</div>
|
<div>{{ .headerProps.Name }}</div>
|
||||||
</div>
|
<div>{{ .headerProps.Info1 }}</div>
|
||||||
</div>
|
<div>{{ .headerProps.Info2 }}</div>
|
||||||
{{ range $propIsland := .allprops }}
|
|
||||||
<div id="prop" class="Personal-properties-prop">
|
|
||||||
<div class="Personal-properties-prop-title">
|
|
||||||
{{$propIsland.Header}}:
|
|
||||||
</div>
|
|
||||||
<div class="Personal-properties-prop-content">
|
|
||||||
{{range $prop := $propIsland.Props}}
|
|
||||||
<div class="Personal-properties-prop-row">
|
|
||||||
<div class="Personal-properties-prop-key">
|
|
||||||
{{$prop.Key}}:
|
|
||||||
{{ range $value := $prop.KeyComments }}
|
|
||||||
<div class="Personal-properties-prop-key-comments">
|
|
||||||
{{ $value }}
|
|
||||||
</div>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
<div class="Personal-properties-prop-values">
|
|
||||||
{{ range $value := $prop.Values }}
|
|
||||||
<div class="Personal-properties-prop-value">
|
|
||||||
{{ $value }}
|
|
||||||
</div>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
</div>
|
||||||
|
{{ range $propIsland := .allprops }}
|
||||||
|
<div id="prop" class="Personal-properties-prop">
|
||||||
|
<div class="Personal-properties-prop-title">
|
||||||
|
{{$propIsland.Header}}:
|
||||||
|
</div>
|
||||||
|
<div class="Personal-properties-prop-content">
|
||||||
|
{{range $prop := $propIsland.Props}}
|
||||||
|
<div class="Personal-properties-prop-row">
|
||||||
|
<div class="Personal-properties-prop-key">
|
||||||
|
{{$prop.Key}}:
|
||||||
|
{{ range $value := $prop.KeyComments }}
|
||||||
|
<div class="Personal-properties-prop-key-comments">
|
||||||
|
{{ $value }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
<div class="Personal-properties-prop-values">
|
||||||
|
{{ range $value := $prop.Values }}
|
||||||
|
<div class="Personal-properties-prop-value">
|
||||||
|
{{ $value }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{template "wde-widgets/scrollbar.tmpl" .}}
|
||||||
</div>
|
</div>
|
||||||
{{template "wde-widgets/scrollbar.tmpl" .}}
|
|
||||||
</div>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
{{ define "wde-widgets/file-tile-view.tmpl" }}
|
{{ define "wde-widgets/file-tile-view.tmpl" }}
|
||||||
{{ range $fileTile := .Files }}
|
{{ range $fileTile := .Files }}
|
||||||
<div fileType="{{ $fileTile.Type }}" class="Tile" name="{{$fileTile.Name}}">
|
<div fileType="{{ $fileTile.Type }}" class="FileTile" name="{{$fileTile.Name}}">
|
||||||
<div class="Icon NoClick"></div>
|
<div class="FileTileIcon NoClick"></div>
|
||||||
<div class="Lable NoClick">{{ $fileTile.Name }}</div>
|
<div class="FileTileTitle NoClick">{{ $fileTile.Name }}</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
@ -1,6 +1,6 @@
|
|||||||
{{ define "wde-widgets/file-tile.tmpl" }}
|
{{ define "wde-widgets/file-tile.tmpl" }}
|
||||||
<div class="FileTile">
|
<div class="FileTile">
|
||||||
<div class="Icon"></div>
|
<div class="FileTileIcon"></div>
|
||||||
<div class="FileTileTitle">{{ .Name }}</div>
|
<div class="FileTileTitle">{{ .Name }}</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
@ -149,7 +149,7 @@ func (p *PersonalPropertiesApp) Render() (gin.H, error) {
|
|||||||
headerProps := props.Data.(primitive.D).Map()["headerprops"].(primitive.D).Map()
|
headerProps := props.Data.(primitive.D).Map()["headerprops"].(primitive.D).Map()
|
||||||
file, err := p.fs.Read(headerProps["icon"].(string))
|
file, err := p.fs.Read(headerProps["icon"].(string))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//TODO err catch
|
//TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := wde.ReadImage(file)
|
data, err := wde.ReadImage(file)
|
||||||
|
Loading…
Reference in New Issue
Block a user