diff --git a/src/vue-poc/app.vue b/src/vue-poc/app.vue
index 5d55bdc..aec6152 100644
--- a/src/vue-poc/app.vue
+++ b/src/vue-poc/app.vue
@@ -157,6 +157,7 @@
{href: '/namespace', text: 'Namespaces',icon: 'label' },
{href: '/entity', text: 'Entities',icon: 'redeem' },
]},
+
{
icon: 'cast_connected',
text: 'Server' ,
@@ -172,6 +173,7 @@
{href: '/server/dicetest',text: 'Dice performance',icon: 'update'},
{href: '/server/settings',text: 'Server settings',icon: 'settings_applications'}
]},
+
{
icon: 'camera_roll',
text: 'Images' ,
@@ -185,6 +187,7 @@
{href: '/map',text: 'Map',icon: 'place'},
{href: '/images/report',text: 'Reports',icon: 'report'}
]},
+
{
icon: 'format_list_bulleted',
text: 'Forms' ,
diff --git a/src/vue-poc/components/EditTabs.js b/src/vue-poc/components/EditTabs.js
index c927941..f5cc4fa 100644
--- a/src/vue-poc/components/EditTabs.js
+++ b/src/vue-poc/components/EditTabs.js
@@ -1,11 +1,11 @@
//Manage array of text sources used for:edit tabs
// item{
-// name:
+// name: file name
// contentType: "text/xml",
// mode: "xml",
// text:
// id: ids have the form "Tn"
-// url: path to save to
+// uri: path to save to
// requires: Settings,HTTP
//
const GEditTabs={
@@ -20,20 +20,22 @@ const GEditTabs={
},
methods: {
+ // add tab return index
addItem(tab){
//console.log("new: ",tab);
var def={name: "AA"+this.nextId,
contentType: "text/xml",
mode: "xml",
text: "" +this.nextId +"",
- url: null
+ uri: null
};
var etab = Object.assign(def,tab);
etab.id= "T" + this.nextId
this.items.push (etab);
this.length++
this.nextId++;
- return etab;
+ var ind=this.items.indexOf(etab)
+ return ind;
},
closeItem(item){
diff --git a/src/vue-poc/components/mimetypes.js b/src/vue-poc/components/mimetypes.js
index bb50fa6..cb33ebd 100644
--- a/src/vue-poc/components/mimetypes.js
+++ b/src/vue-poc/components/mimetypes.js
@@ -34,16 +34,27 @@ const MimeTypes=new function(){
"format": formatdom
},
"css": {
- "format": formatcss
+ "format": formatcss,
+ "icon": "school"
+ },
+ "xquery": {
+ "icon": "spa"
}
};
+ // return [{name:.. mode:..}..]
this.list=function(){
var that=this
var h= Object.keys(this.contentType).map(
function(k){ return {name: k, mode: that.contentType[k].mode}}
)
return h
- }
+ };
+
+ this.icon=function(mode){
+ var i= this.mode[mode] && this.mode[mode].icon
+ return i || "insert_drive_file"
+ };
+
this.install=function(Vue){
Object.defineProperty(Vue.prototype, '$MimeTypes', {
get () { return MimeTypes }
diff --git a/src/vue-poc/components/qd-tablist.vue b/src/vue-poc/components/qd-tablist.vue
index 4fe25e7..58cf301 100644
--- a/src/vue-poc/components/qd-tablist.vue
+++ b/src/vue-poc/components/qd-tablist.vue
@@ -1,6 +1,9 @@
@@ -30,12 +33,12 @@
avatar dense ripple
@click="setItem(index)" :inactive="index == current"
>
-
+
check_circle
insert_drive_file
-
+
{{ edittabs.items[index].name }}
diff --git a/src/vue-poc/core.js b/src/vue-poc/core.js
index fe3f34d..b06066d 100644
--- a/src/vue-poc/core.js
+++ b/src/vue-poc/core.js
@@ -74,11 +74,11 @@ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.`},
- {name:"Shopping.xq", id:"2", mode: "xquery" ,dirty: false,
+ {name:"shopping.xq", id:"2", mode: "xquery" ,dirty: false,
text:`let $a:=1 to 5
return $a `},
- {name:"videos.xml", id:"3", mode:"xml",dirty: false, location: "xmldb:/vue-poc/aaa/bca/videos.xml",
+ {name:"videos.xml", id:"3", mode:"xml",dirty: false, uri: "xmldb:/vue-poc/aaa/bca/videos.xml",
text:`
hello
`}
diff --git a/src/vue-poc/features/edit/tabs.vue b/src/vue-poc/features/edit/tabs.vue
index 9433a23..c5a0c66 100644
--- a/src/vue-poc/features/edit/tabs.vue
+++ b/src/vue-poc/features/edit/tabs.vue
@@ -115,12 +115,13 @@
v-for="item in EditTabs.items"
:key="item.id"
ripple
+ :title="item.uri"
style="text-transform: none;text-align:left"
>
- insert_drive_file
+ {{ $MimeTypes.icon(item.mode) }}
- {{ (item.dirty?"*":"") }}
+ {{ (item.dirty?"*":"") }}
{{ item.name }}
@@ -131,22 +132,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -171,8 +171,7 @@
methods:{
add(){
- var a=this.EditTabs.addItem({text:"hi "+ new Date()})
- this.curIndex=this.EditTabs.items.indexOf(a)
+ this.curIndex=this.EditTabs.addItem({text:"hi "+ new Date()})
},
tabClose(item,index){
@@ -230,7 +229,7 @@
var d=this.active.mode;
var f=this.$MimeTypes.mode[d];
var f=f && f.validate;
- alert("no validate yet");
+ this.curIndex=this.EditTabs.addItem({text:"validate: todo\n "+ this.curIndex +"\n" + new Date()})
},
diff --git a/src/vue-poc/features/images/images.vue b/src/vue-poc/features/images/images.vue
index 6f7da75..1407c6b 100644
--- a/src/vue-poc/features/images/images.vue
+++ b/src/vue-poc/features/images/images.vue
@@ -60,8 +60,9 @@
v-for="image in images"
:key="image.name"
>
-
-
+
#{{image.keywords}}
diff --git a/src/vue-poc/features/login/login.vue b/src/vue-poc/features/login/login.vue
index 7ebc92e..5c6ee28 100644
--- a/src/vue-poc/features/login/login.vue
+++ b/src/vue-poc/features/login/login.vue
@@ -1,7 +1,7 @@
-
+
@@ -9,42 +9,41 @@
-
-
-
-
- (hidepass = !hidepass)"
- :type="hidepass ? 'password' : 'text'"
- required
- >
-
-
+
+
+ hidepass = !hidepass"
+ :type="hidepass ? 'password' : 'text'"
+ :rules="passwordRules"
+ counter
+ required
+ >
+
+
+
+
+ Login
+
+
+
+
+
+ Forgot Password
{{message}}
-
-
-
-
-
-
-
- Login
-
+
@@ -53,9 +52,16 @@
-
+