mimetypes
This commit is contained in:
parent
c2546d8741
commit
4c17e1a1a3
7 changed files with 101 additions and 57 deletions
31
src/vue-poc/components/mimetypes.js
Normal file
31
src/vue-poc/components/mimetypes.js
Normal file
|
@ -0,0 +1,31 @@
|
|||
// Mimetype info
|
||||
const MimeTypes={
|
||||
toMode:[
|
||||
{name: "text/plain", mode: "text"},
|
||||
{name: "text/xml", mode: "xml"},
|
||||
{name: "application/xml", mode:"xml"},
|
||||
{name: "application/xquery", mode:"xquery"},
|
||||
{name: "text/ecmascript", mode:"javascript"},
|
||||
{name: "application/sparql-query", mode:"sparql"},
|
||||
{name: "text/html", mode:"html"},
|
||||
{name: "text/turtle", mode:"turtle"},
|
||||
{name: "text/css", mode:"css"},
|
||||
{name: "image/svg+xml", mode:"svg"}
|
||||
],
|
||||
mode:{
|
||||
"text": {},
|
||||
"javascript": {
|
||||
format(t){ return js_beautify(t, { indent_size: 2 })}
|
||||
},
|
||||
"xml": {
|
||||
format(t){ return html_beautify(t, { indent_size: 3 ,indent_inner_html:true})}
|
||||
},
|
||||
"css": {}
|
||||
},
|
||||
install(Vue){
|
||||
Object.defineProperty(Vue.prototype, '$MimeTypes', {
|
||||
get () { return MimeTypes }
|
||||
}) }
|
||||
|
||||
};
|
||||
Vue.use(MimeTypes);
|
|
@ -81,19 +81,6 @@ const Notification={
|
|||
};
|
||||
Vue.use(Notification);
|
||||
|
||||
// Mimetype info
|
||||
const MimeTypes=[
|
||||
{name: "text/plain", mode: "text"},
|
||||
{name: "text/xml", mode: "xml"},
|
||||
{name: "application/xml", mode:"xml"},
|
||||
{name: "application/xquery", mode:"xquery"},
|
||||
{name: "text/ecmascript", mode:"javascript"},
|
||||
{name: "application/sparql-query", mode:"sparql"},
|
||||
{name: "text/html", mode:"html"},
|
||||
{name: "text/turtle", mode:"turtle"},
|
||||
{name: "text/css", mode:"css"},
|
||||
{name: "image/svg+xml", mode:"svg"}
|
||||
];
|
||||
|
||||
// Settings read and write list clear
|
||||
localforage.config({
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<v-menu left transition="v-fade-transition" >
|
||||
<v-chip label small slot="activator" >{{ mode }}</v-chip>
|
||||
<v-list dense>
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
|
@ -166,8 +166,7 @@ v-on:annotation="annotation"></vue-ace>
|
|||
message: "Cant do that",
|
||||
events: new Vue({}),
|
||||
folded: false, // toggle fold/unfold action
|
||||
aceSettings: { },
|
||||
mimeTypes:MimeTypes
|
||||
aceSettings: { }
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -11,17 +11,17 @@
|
|||
<v-menu v-if="active" left transition="v-fade-transition" >
|
||||
<v-chip label small slot="activator" >{{ active.mode }}</v-chip>
|
||||
<v-list dense>
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="mimetype(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
<v-menu v-if="active" left transition="v-fade-transition" >
|
||||
<v-btn icon slot="activator" ><v-icon>lightbulb_outline</v-icon></v-btn>
|
||||
<v-list dense>
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="lightbulb(type.name)"></v-list-tile-title>
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
@ -125,8 +125,7 @@
|
|||
active: null,
|
||||
items: [],
|
||||
wrap: true,
|
||||
aceSettings: {},
|
||||
mimeTypes: MimeTypes
|
||||
aceSettings: {}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -149,11 +148,10 @@
|
|||
},
|
||||
|
||||
openUri(){
|
||||
console.log("mimetypes: ",this.mimeTypes);
|
||||
alert("openUri TODO")
|
||||
},
|
||||
|
||||
mimetype(type){
|
||||
setMode(type){
|
||||
this.active.mode=type.mode
|
||||
},
|
||||
|
||||
|
|
|
@ -90,10 +90,9 @@ as xs:string
|
|||
:)
|
||||
declare function vue:compile($proj as xs:string)
|
||||
{
|
||||
let $FEATURES:="features/"=>file:resolve-path($proj=>trace("proj:"))
|
||||
let $COMPONENTS:="components/"=>file:resolve-path($proj)
|
||||
let $FILTERS:="components/filters.js"=>file:resolve-path($proj)
|
||||
|
||||
let $FEATURES:= file:resolve-path("features/",$proj=>trace("proj:"))
|
||||
let $COMPONENTS:= file:resolve-path("components/",$proj)
|
||||
let $js:=vue:filelist(file:resolve-path("components/",$proj),".*\.js")
|
||||
let $CORE:="core.js"=>file:resolve-path($proj)
|
||||
let $ROUTER:="router.js"=>file:resolve-path($proj)
|
||||
let $APP:="app.vue"=>file:resolve-path($proj)
|
||||
|
@ -110,13 +109,20 @@ let $comps:=$files!vue:feature-build(.,true())
|
|||
let $comment:="// generated " || current-dateTime() || "

"
|
||||
return file:write-text($DEST,string-join(($comment,
|
||||
$comps,
|
||||
vue:js-test($FILTERS),
|
||||
$js!vue:js-test(.),
|
||||
$feats,
|
||||
vue:js-test($ROUTER),
|
||||
$APP!vue:feature-build(.,false()),
|
||||
vue:js-test($CORE))))
|
||||
};
|
||||
|
||||
(:~
|
||||
: return sequence of file paths starting from $path matching $filter
|
||||
:)
|
||||
declare function vue:filelist($path as xs:string,$filter as xs:string){
|
||||
fw:directory-list($path,map{"include-filter": $filter})
|
||||
//c:file/@name/resolve-uri(.,base-uri(.))
|
||||
};
|
||||
(:~
|
||||
: javascript source with comment
|
||||
:)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// generated 2018-06-13T23:04:52.306+01:00
|
||||
// generated 2018-06-14T22:56:00.937+01:00
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
||||
Vue.component('qd-autoheight',{template:`
|
||||
|
@ -715,7 +715,7 @@ Vue.component('vue-ace',{template:`
|
|||
}
|
||||
);
|
||||
|
||||
// src: C:\Users\andy\git\vue-poc\src\vue-poc\components\filters.js
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/filters.js
|
||||
/**
|
||||
* some vue filters, requires moment
|
||||
* formatDate
|
||||
|
@ -762,6 +762,39 @@ Vue.filter('round', function(value, decimals) {
|
|||
return value;
|
||||
});
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/mimetypes.js
|
||||
// Mimetype info
|
||||
const MimeTypes={
|
||||
toMode:[
|
||||
{name: "text/plain", mode: "text"},
|
||||
{name: "text/xml", mode: "xml"},
|
||||
{name: "application/xml", mode:"xml"},
|
||||
{name: "application/xquery", mode:"xquery"},
|
||||
{name: "text/ecmascript", mode:"javascript"},
|
||||
{name: "application/sparql-query", mode:"sparql"},
|
||||
{name: "text/html", mode:"html"},
|
||||
{name: "text/turtle", mode:"turtle"},
|
||||
{name: "text/css", mode:"css"},
|
||||
{name: "image/svg+xml", mode:"svg"}
|
||||
],
|
||||
mode:{
|
||||
"text": {},
|
||||
"javascript": {
|
||||
format(t){ return js_beautify(t, { indent_size: 2 })}
|
||||
},
|
||||
"xml": {
|
||||
format(t){ return html_beautify(t, { indent_size: 3 ,indent_inner_html:true})}
|
||||
},
|
||||
"css": {}
|
||||
},
|
||||
install(Vue){
|
||||
Object.defineProperty(Vue.prototype, '$MimeTypes', {
|
||||
get () { return MimeTypes }
|
||||
}) }
|
||||
|
||||
};
|
||||
Vue.use(MimeTypes);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/404.vue
|
||||
const Notfound=Vue.extend({template:`
|
||||
<v-container fluid="">
|
||||
|
@ -1252,7 +1285,7 @@ const Edit=Vue.extend({template:`
|
|||
<v-menu left="" transition="v-fade-transition">
|
||||
<v-chip label="" small="" slot="activator">{{ mode }}</v-chip>
|
||||
<v-list dense="">
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
|
@ -1379,8 +1412,7 @@ const Edit=Vue.extend({template:`
|
|||
message: "Cant do that",
|
||||
events: new Vue({}),
|
||||
folded: false, // toggle fold/unfold action
|
||||
aceSettings: { },
|
||||
mimeTypes:MimeTypes
|
||||
aceSettings: { }
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -1533,17 +1565,17 @@ const Tabs=Vue.extend({template:`
|
|||
<v-menu v-if="active" left="" transition="v-fade-transition">
|
||||
<v-chip label="" small="" slot="activator">{{ active.mode }}</v-chip>
|
||||
<v-list dense="">
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="mimetype(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
<v-menu v-if="active" left="" transition="v-fade-transition">
|
||||
<v-btn icon="" slot="activator"><v-icon>lightbulb_outline</v-icon></v-btn>
|
||||
<v-list dense="">
|
||||
<v-list-tile v-for="type in mimeTypes" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="lightbulb(type.name)"></v-list-tile-title>
|
||||
<v-list-tile v-for="type in $MimeTypes.toMode" :key="type.name">
|
||||
<v-list-tile-title v-text="type.name" @click="setMode(type)"></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
@ -1626,8 +1658,7 @@ const Tabs=Vue.extend({template:`
|
|||
active: null,
|
||||
items: [],
|
||||
wrap: true,
|
||||
aceSettings: {},
|
||||
mimeTypes: MimeTypes
|
||||
aceSettings: {}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1650,11 +1681,10 @@ const Tabs=Vue.extend({template:`
|
|||
},
|
||||
|
||||
openUri(){
|
||||
console.log("mimetypes: ",this.mimeTypes);
|
||||
alert("openUri TODO")
|
||||
},
|
||||
|
||||
mimetype(type){
|
||||
setMode(type){
|
||||
this.active.mode=type.mode
|
||||
},
|
||||
|
||||
|
@ -5730,19 +5760,6 @@ const Notification={
|
|||
};
|
||||
Vue.use(Notification);
|
||||
|
||||
// Mimetype info
|
||||
const MimeTypes=[
|
||||
{name: "text/plain", mode: "text"},
|
||||
{name: "text/xml", mode: "xml"},
|
||||
{name: "application/xml", mode:"xml"},
|
||||
{name: "application/xquery", mode:"xquery"},
|
||||
{name: "text/ecmascript", mode:"javascript"},
|
||||
{name: "application/sparql-query", mode:"sparql"},
|
||||
{name: "text/html", mode:"html"},
|
||||
{name: "text/turtle", mode:"turtle"},
|
||||
{name: "text/css", mode:"css"},
|
||||
{name: "image/svg+xml", mode:"svg"}
|
||||
];
|
||||
|
||||
// Settings read and write list clear
|
||||
localforage.config({
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
"use strict";
|
||||
importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js');
|
||||
|
||||
if (workbox) {
|
||||
console.log(`Yay! Workbox is loaded 🎉`);
|
||||
} else {
|
||||
console.log(`Boo! Workbox didn't load 😬`);
|
||||
};
|
||||
console.log('WORKER: executing.');
|
||||
|
||||
/* A version number is useful when updating the worker logic,
|
||||
|
|
Loading…
Add table
Reference in a new issue