[add] html files
This commit is contained in:
parent
9ce2758e97
commit
9aeabc6ea1
8 changed files with 516 additions and 0 deletions
172
html/app.css
Normal file
172
html/app.css
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
/* app.css */
|
||||
|
||||
/* page scroll bar off */
|
||||
html { overflow-y: auto }
|
||||
|
||||
pre {
|
||||
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+ */
|
||||
}
|
||||
/* http://tobiasahlin.com/spinkit/ */
|
||||
.spinner {
|
||||
margin: 100px auto;
|
||||
width: 100px;
|
||||
height: 80px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.spinner > div {
|
||||
background-color: #0000a0;
|
||||
height: 100%;
|
||||
width: 16px;
|
||||
display: inline-block;
|
||||
|
||||
-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
||||
animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
||||
}
|
||||
|
||||
.spinner .rect2 {
|
||||
-webkit-animation-delay: -1.1s;
|
||||
animation-delay: -1.1s;
|
||||
}
|
||||
|
||||
.spinner .rect3 {
|
||||
-webkit-animation-delay: -1.0s;
|
||||
animation-delay: -1.0s;
|
||||
}
|
||||
|
||||
.spinner .rect4 {
|
||||
-webkit-animation-delay: -0.9s;
|
||||
animation-delay: -0.9s;
|
||||
}
|
||||
|
||||
.spinner .rect5 {
|
||||
-webkit-animation-delay: -0.8s;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
|
||||
@-webkit-keyframes sk-stretchdelay {
|
||||
0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
|
||||
20% { -webkit-transform: scaleY(1.0) }
|
||||
}
|
||||
|
||||
@keyframes sk-stretchdelay {
|
||||
0%, 40%, 100% {
|
||||
transform: scaleY(0.4);
|
||||
-webkit-transform: scaleY(0.4);
|
||||
} 20% {
|
||||
transform: scaleY(1.0);
|
||||
-webkit-transform: scaleY(1.0);
|
||||
}
|
||||
}
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
transition-property: opacity;
|
||||
transition-duration: .25s;
|
||||
}
|
||||
|
||||
.fade-enter-active {
|
||||
transition-delay: .25s;
|
||||
}
|
||||
|
||||
.fade-enter, .fade-leave-active {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.child-view {
|
||||
position: absolute;
|
||||
transition: all .5s cubic-bezier(.55,0,.1,1);
|
||||
}
|
||||
.slide-left-enter, .slide-right-leave-active {
|
||||
opacity: 0;
|
||||
-webkit-transform: translate(30px, 0);
|
||||
transform: translate(30px, 0);
|
||||
}
|
||||
.slide-left-leave-active, .slide-right-enter {
|
||||
opacity: 0;
|
||||
-webkit-transform: translate(-30px, 0);
|
||||
transform: translate(-30px, 0);
|
||||
}
|
||||
|
||||
td.vtop {
|
||||
vertical-align:top;
|
||||
}
|
||||
/*
|
||||
.ace_editor { height: 200px; }
|
||||
*/
|
||||
.acewrap{
|
||||
top:0px;
|
||||
left:0px;
|
||||
bottom:0px;
|
||||
right:0px;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
.ace_gutter-cell.ace_breakpoint{
|
||||
border-radius: 20px 0px 0px 20px;
|
||||
box-shadow: 0px 0px 1px 1px red inset;
|
||||
}
|
||||
.ace_editor_wrapper {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.ace_editor {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.multiline-ellipsis {
|
||||
display: block;
|
||||
display: -webkit-box;
|
||||
max-height: 110px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.4;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.qd-active {
|
||||
background-color: green;
|
||||
}
|
||||
.selcard {
|
||||
background-color: green;
|
||||
border: thick double #32a1ce;
|
||||
}
|
||||
|
||||
.contain {
|
||||
object-fit: contain;
|
||||
}
|
||||
.canvas {
|
||||
overflow: hidden;
|
||||
}
|
||||
.canvas .wrapper.outer > .background {
|
||||
fill: #000000;
|
||||
}
|
||||
.canvas .wrapper.inner > .background {
|
||||
fill: #CCCCCC;
|
||||
cursor: move;
|
||||
}
|
||||
.canvas .background {
|
||||
fill: #F6F6F6;
|
||||
stroke: #333333;
|
||||
cursor: move;
|
||||
}
|
||||
.canvas .panCanvas {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.canvas .minimap .frame {
|
||||
pointer-events: all;
|
||||
}
|
||||
.canvas .minimap .frame .background {
|
||||
stroke: #111111;
|
||||
stroke-width: 4px;
|
||||
fill-opacity: 0.1;
|
||||
fill: #000000;
|
||||
fill: url(#minimapGradient_qwpyza);
|
||||
filter: url(#minimapDropShadow_qwpyza);
|
||||
cursor: move;
|
||||
}
|
||||
80
html/app.html
Normal file
80
html/app.html
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="Vue poc" />
|
||||
<meta name="author" content="andy bunce." />
|
||||
<title>Vue Router Test</title>
|
||||
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" >
|
||||
<link rel="stylesheet" href="//unpkg.com/vuetify@2.4.11/dist/vuetify.min.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
||||
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/leaflet@1.6.0/dist/leaflet.css"/>
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@koumoul/vjsf@1.14.0/dist/main.css">
|
||||
<link href="/vue-poc/ui/app.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="/vue-poc/ui/svg/d3-svg.css" rel="stylesheet" type="text/css"/>
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.css" />
|
||||
</head>
|
||||
|
||||
<body >
|
||||
<div id="app">
|
||||
<h1>vue-poc</h1>
|
||||
|
||||
<div class="spinner">
|
||||
<div class="rect1"></div>
|
||||
<div class="rect2"></div>
|
||||
<div class="rect3"></div>
|
||||
<div class="rect4"></div>
|
||||
<div class="rect5"></div>
|
||||
<span>Loading, please wait...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/vue-router@3.4.9/dist/vue-router.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/vuex@3.6.0/dist/vuex.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
||||
<script src="//unpkg.com/vuetify@2.4.11/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ace.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ext-language_tools.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify-css.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.9.0/beautify-html.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/localforage/1.7.1/localforage.js" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="//cdn.jsdelivr.net/npm/luxon@1.25.0/build/global/luxon.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/vue-clip@1.0.0/dist/vue-clip.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.js" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="/vue-poc/ui/prism/prism.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/vue-prism-component@1.1.1/dist/vue-prism-component.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/vue-markdown@2.2.4/dist/vue-markdown.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/leaflet@1.6.0/dist/leaflet.js" crossorigin="anonymous"></script>
|
||||
<script src="//unpkg.com/vue2-leaflet@2.5.2/dist/vue2-leaflet.min.js" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="//cdn.jsdelivr.net/npm/@koumoul/vjsf@1.16.0/dist/main.js" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="//unpkg.com/vue-native-websocket@2.0.8/dist/build.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.min.js" crossorigin="anonymous"></script>
|
||||
<script src="/vue-poc/ui/svg/d3-svg.js"></script>
|
||||
<script src="/vue-poc/ui/state.js"></script>
|
||||
<script src="/vue-poc/ui/app-gen.js" type="module" ></script>
|
||||
<script>
|
||||
|
||||
if('serviceWorker' in navigator && false) {
|
||||
navigator.serviceWorker
|
||||
.register('/vue-poc/ui/serviceworker.js')
|
||||
.then(function() { console.log("Service Worker Registered"); });
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
64
html/state.js
Normal file
64
html/state.js
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
//
|
||||
const store = new Vuex.Store({
|
||||
state: {
|
||||
count: 92,
|
||||
|
||||
edit:{
|
||||
currentId: "?",
|
||||
query: "todo edit/query"
|
||||
},
|
||||
"features":{
|
||||
"serviceworker": false
|
||||
},
|
||||
"images": {
|
||||
thumbtask :`<thumbnail>
|
||||
<size width="200" height="200"/>
|
||||
<filters>
|
||||
<colorize color="green" alpha=".5"/>
|
||||
<caption position="CENTER">Some Text here</caption>
|
||||
<rotate angle="15"/>
|
||||
<canvas height="300" width="300" position="TOP_LEFT" color="yellow"/>
|
||||
</filters>
|
||||
<output format="gif"/>
|
||||
</thumbnail>
|
||||
`
|
||||
},
|
||||
"settings": {
|
||||
"ace": {
|
||||
theme: "github",
|
||||
themeDark: "chaos",
|
||||
keybinding: "ace",
|
||||
fontsize: 16,
|
||||
enableSnippets:true,
|
||||
enableBasicAutocompletion:true,
|
||||
enableLiveAutocompletion:true
|
||||
},
|
||||
"dark": false
|
||||
},
|
||||
"markdown":{
|
||||
"toc": true
|
||||
}
|
||||
},
|
||||
|
||||
mutations: {
|
||||
increment (state) {
|
||||
state.count++
|
||||
},
|
||||
initialiseStore(state) {
|
||||
// Check if the ID exists
|
||||
var s=localStorage.getItem('store')
|
||||
if(s) {
|
||||
// Replace the state object with the stored item
|
||||
this.replaceState(
|
||||
Object.assign(state, JSON.parse(s))
|
||||
);
|
||||
}
|
||||
//console.log("initialiseStore: ",s)
|
||||
}
|
||||
}
|
||||
})
|
||||
store.subscribe((mutation, state) => {
|
||||
// Store the state object as a JSON string
|
||||
localStorage.setItem('store', JSON.stringify(state));
|
||||
//console.log("store subscribe")
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue