From 8523c7fbb6255bceff4ba3c7eaefe25765b3fe7f Mon Sep 17 00:00:00 2001 From: lxsang Date: Tue, 24 Nov 2020 20:07:46 +0000 Subject: [PATCH] update docify --- Docify/README.md | 15 +-------------- Docify/api/api.lua | 4 ++-- Docify/build/debug/README.md | 15 +-------------- Docify/build/debug/api.lua | 4 ++-- Docify/build/debug/main.js | 2 +- Docify/build/debug/package.json | 2 +- Docify/build/release/Docify.zip | Bin 28503 -> 28339 bytes Docify/coffees/dialogs.coffee | 2 +- Docify/coffees/main.coffee | 10 ++++++++-- Docify/package.json | 2 +- packages.json | 2 +- 11 files changed, 19 insertions(+), 39 deletions(-) diff --git a/Docify/README.md b/Docify/README.md index d979ead..249c205 100644 --- a/Docify/README.md +++ b/Docify/README.md @@ -1,15 +1,2 @@ # Docify -This is an example project, generated by AntOS Development Kit - -## Howto -Use the CodePad command palette to access to the SDK functionalities: - -1. Create new project -2. Init the project from the current folder located in side bar -3. Build and run the project -4. Release the project in zip package - -## Set up build target - -Open the `project.json` file from the current project tree and add/remove -build target entries. Save the file \ No newline at end of file +Simple PDF document manager \ No newline at end of file diff --git a/Docify/api/api.lua b/Docify/api/api.lua index db1e86d..0716c20 100644 --- a/Docify/api/api.lua +++ b/Docify/api/api.lua @@ -41,7 +41,7 @@ local merge_files = function(data) if #data.file > 1 then local cmd = "gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="..vfs.ospath(fpath) for i,v in ipairs(data.file) do - cmd = cmd.." "..vfs.ospath(v) + cmd = cmd.." \""..vfs.ospath(v).."\"" end os.execute(cmd) if not vfs.exists(fpath) then @@ -233,7 +233,7 @@ handle.preview = function(path) local tpath = docpath.."/cache/"..name if not vfs.exists(tpath) then -- regenerate thumb - local cmd = "convert -resize 250x500 "..vfs.ospath(path).."[0] "..vfs.ospath(tpath) + local cmd = "convert -resize 250x500 \""..vfs.ospath(path).."\"[0] "..vfs.ospath(tpath) os.execute(cmd) end diff --git a/Docify/build/debug/README.md b/Docify/build/debug/README.md index d979ead..249c205 100644 --- a/Docify/build/debug/README.md +++ b/Docify/build/debug/README.md @@ -1,15 +1,2 @@ # Docify -This is an example project, generated by AntOS Development Kit - -## Howto -Use the CodePad command palette to access to the SDK functionalities: - -1. Create new project -2. Init the project from the current folder located in side bar -3. Build and run the project -4. Release the project in zip package - -## Set up build target - -Open the `project.json` file from the current project tree and add/remove -build target entries. Save the file \ No newline at end of file +Simple PDF document manager \ No newline at end of file diff --git a/Docify/build/debug/api.lua b/Docify/build/debug/api.lua index db1e86d..0716c20 100644 --- a/Docify/build/debug/api.lua +++ b/Docify/build/debug/api.lua @@ -41,7 +41,7 @@ local merge_files = function(data) if #data.file > 1 then local cmd = "gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="..vfs.ospath(fpath) for i,v in ipairs(data.file) do - cmd = cmd.." "..vfs.ospath(v) + cmd = cmd.." \""..vfs.ospath(v).."\"" end os.execute(cmd) if not vfs.exists(fpath) then @@ -233,7 +233,7 @@ handle.preview = function(path) local tpath = docpath.."/cache/"..name if not vfs.exists(tpath) then -- regenerate thumb - local cmd = "convert -resize 250x500 "..vfs.ospath(path).."[0] "..vfs.ospath(tpath) + local cmd = "convert -resize 250x500 \""..vfs.ospath(path).."\"[0] "..vfs.ospath(tpath) os.execute(cmd) end diff --git a/Docify/build/debug/main.js b/Docify/build/debug/main.js index 5e7c5cf..a990c25 100644 --- a/Docify/build/debug/main.js +++ b/Docify/build/debug/main.js @@ -1 +1 @@ -(function(){var t,i,a,r;(r=class t extends this.OS.GUI.BasicDialog{constructor(){super("OwnerDialog",t.scheme)}main(){return super.main(),this.oview=this.find("ownview"),this.oview.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog("PromptDialog",{title:__("Owner"),label:__("Name")}).then(t=>this.parent.exec("insert",{table:"owners",data:{name:t}}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable to insert owner: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.oview.selectedItem)return this.ask({text:__("Do you realy want to delete: `{0}`",e.data.text)}).then(t=>{if(t)return this.parent.exec("delete",{table:"owners",id:parseInt(e.data.id)}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable delete category: {0}",t.toString()),t))})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:t=>{var e;if(e=this.oview.selectedItem)return this.openDialog("PromptDialog",{title:__("Owner"),label:__("Name"),value:e.data.name}).then(t=>this.parent.exec("update",{table:"owners",data:{id:parseInt(e.data.id),name:t}}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable to update owner: {0}",t.toString()),t))).catch(t=>this.error(t.toString()))}}],this.owner_refresh()}owner_refresh(){return this.parent.exec("fetch","owners").then(t=>{var e,i,a,r;for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch owners: {0}",t.toString()),e))}}).scheme="\n \n \n \n",(t=class t extends this.OS.GUI.BasicDialog{constructor(){super("DocDialog",t.scheme)}main(){var t,e,i,r,s,n,h,o;for(super.main(),this.flist=this.find("file-list"),this.dlist=this.find("dlist"),this.mlist=this.find("mlist"),this.ylist=this.find("ylist"),this.olist=this.find("olist"),this.setting=this.parent.setting,this.exec=this.parent.exec,this.preview=this.parent.preview,this.exec("fetch","owners").then(t=>{var e,i,a,r,s,n,h;if(t.error)return this.error(t.error);for(e=0,a=(s=t.result).length;ethis.error(__("Unable to fetch owner list: {0}",t.toString()),t)),this.dlist.push({text:"None",value:0}),h=0,t=i=1;i<=31;t=++i)this.dlist.push({text:""+t,value:t}),this.data&&parseInt(this.data.day)===t&&(h=t);for(this.dlist.selected=h,this.mlist.push({text:"None",value:0}),h=0,t=r=1;r<=12;t=++r)this.mlist.push({text:""+t,value:t}),this.data&&parseInt(this.data.month)===t&&(h=t);for(this.mlist.selected=h,this.ylist.push({text:"None",value:0}),this.ylist.selected=0,o=s=1980,n=(new Date).getFullYear();1980<=n?s<=n:s>=n;o=1980<=n?++s:--s)this.ylist.push({text:""+o,value:o,selected:this.data&&parseInt(this.data.year)===o});if(this.flist.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog(new a).then(t=>(t.text=t.filename,this.flist.push(t)))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.flist.selectedItem)return this.flist.delete(e)}}],this.flist.onlistselect=t=>this.parent.preview(t.data.item.data.path,this.find("preview-canvas")),this.find("btsave").onbtclick=t=>{var e,i;return(e={name:this.find("title").value.trim(),day:this.dlist.selectedItem.data.value,month:this.mlist.selectedItem.data.value,year:this.ylist.selectedItem.data.value,file:function(){var t,e,a,r;for(r=[],t=0,e=(a=this.flist.data).length;t0?(this.handle&&this.handle(e),this.quit()):this.notify(__("Please attach files to the entry")):this.notify(__("Please enter title"))},this.data)return this.find("title").value=this.data.name,this.find("note").value=this.data.note,this.find("tag").value=this.data.tags,(e=this.data.file.asFileHandle()).text=e.filename,this.flist.data=[e]}}).scheme='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n
\n
',(a=class t extends this.OS.GUI.BasicDialog{constructor(){super("FilePreviewDialog",t.scheme)}main(){return super.main(),this.flist=this.find("file-list"),this.flist.buttons=[{text:"",iconclass:"fa fa-refresh",onbtclick:t=>this.refresh()}],this.flist.onlistselect=t=>this.parent.preview(t.data.item.data.path,this.find("preview-canvas")),this.find("btok").onbtclick=t=>{var e;return(e=this.flist.selectedItem)?(this.handle&&this.handle(e.data),this.quit()):this.quit()},this.refresh()}refresh(){return(this.parent.setting.docpath+"/unclassified").asFileHandle().read().then(t=>{var e,i,a,r;if(t.error)return this.error(t.error);for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch unclassified file list: {0}",t.toString()),t))}}).scheme='\n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
',i=class extends this.OS.application.BaseApplication{constructor(t){super("Docify",t)}main(){return this.catview=this.find("catview"),this.docview=this.find("docview"),this.docpreview=this.find("preview-canvas"),this.docgrid=this.find("docgrid"),this.docgrid.header=[{text:"",width:100},{text:""}],this.find("btdld").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return e.data.file.asFileHandle().download().catch(t=>this.error(__("Unable to download: {}",t.toString()),t))},this.find("btopen").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return e.data.file.asFileHandle().meta().then(t=>t.error?this.error(t.error):this._gui.openWith(t.result)).catch(t=>this.error(t.toString(),t))},this.catview.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog("PromptDialog",{title:__("Category"),label:__("Name")}).then(t=>this.exec("insert",{table:"categories",data:{name:t}}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable to insert category: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.catview.selectedItem)return this.ask({text:__("Do you realy want to delete: `{0}`",e.data.text)}).then(t=>{if(t)return this.exec("delete",{table:"categories",id:parseInt(e.data.id)}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable delete category: {0}",t.toString()),t))})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:t=>{var e;if(e=this.catview.selectedItem)return this.openDialog("PromptDialog",{title:__("Category"),label:__("Name"),value:e.data.name}).then(t=>this.exec("update",{table:"categories",data:{id:parseInt(e.data.id),name:t}}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable to update category: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))}}],this.docview.onlistselect=t=>{var e;if(this.clear_preview(),e=t.data.item)return this.exec("get_doc",e.data.id).then(t=>{var e,i,a,r,s,n;if(t.error)return this.error(t.error);for(i in this.preview(t.result.file,this.docpreview),s=[],a={ctime:"Created on",mtime:"Modified on",note:"Note",tags:"Tags",name:"Title",owner:"Owner",edate:"Effective date",file:"File"},t.result.edate=`${t.result.day}/${t.result.month}/${t.result.year}`,r=t.result)n=r[i],(e=a[i])&&s.push([{text:e},{text:n}]);return this.docgrid.rows=s}).catch(t=>this.error(t.toString(),t))},this.catview.onlistselect=t=>{var e;if(this.clear_preview(),e=t.data.item)return this.update_doclist(e.data.id)},this.find("bt-add-doc").onbtclick=e=>{var i;return(i=this.catview.selectedItem)?this.openDialog(new t).then(t=>(t.cid=parseInt(i.data.id),this.exec("insertdoc",t).then(t=>t.error?this.error(t.error):(t.result&&this.notify(t.result),this.update_doclist(i.data.id),this.clear_preview())).catch(t=>this.error(t.toString(),t)))):this.notify(__("Please select a category"))},this.find("bt-del-doc").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return this.ask({text:__("Do you really want to delete: `{0}`",e.data.name)}).then(t=>{if(t)return this.exec("deletedoc",{id:e.data.id,file:e.data.file}).then(t=>t.error?this.error(t.error):(this.notify(t.result),this.update_doclist(e.data.cid),this.clear_preview())).catch(t=>this.error(t.toString(),t))})},this.find("bt-edit-doc").onbtclick=e=>{var i,a;if(a=this.docview.selectedItem,i=this.catview.selectedItem,a)return this.openDialog(new t,a.data).then(t=>(t.cid=parseInt(i.data.id),t.id=a.data.id,this.exec("updatedoc",{data:t,rm:!t.file.includes(a.data.file)&&a.data.file}).then(t=>t.error?this.error(t.error):(t.result&&this.notify(t.result),this.update_doclist(i.data.id),this.clear_preview())).catch(t=>this.error(t.toString(),t))))},this.initialize()}update_doclist(t){return this.exec("select",{table:"docs",cond:"cid = "+t}).then(t=>{var e,i,a,r;if(t.error)return this.error(t.error);for(e=0,i=(a=t.result).length;ethis.error(t.toString(),t))}clear_preview(){return this.docpreview.getContext("2d").clearRect(0,0,this.docpreview.width,this.docpreview.height),this.docgrid.rows=[]}preview(t,e){return this.exec("preview",t).then(t=>{var i;return t.error?this.error(t.error):(i=t.result.asFileHandle()).read("binary").then(t=>{var a,r;return(r=new Image).onload=()=>{var t;return t=e.getContext("2d"),e.height=r.height,e.width=r.width,t.drawImage(r,0,0)},a=new Blob([t],{type:i.info.mime}),r.src=URL.createObjectURL(a)}).catch(t=>this.error(t.toString(),t))}).catch(t=>this.error(t.toString(),t))}cat_refresh(){return this.exec("fetch","categories").then(t=>{var e,i,a,r;for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch categories: {0}",t.toString()),t))}initialize(){return this.setting.docpath?this.initdb():this.openDialog("FileDialog",{title:__("Please select a doc path"),mimes:["dir"]}).then(t=>(this.setting.docpath=t.file.path,this._api.setting(),this.initdb())).catch(t=>this.error(t.toString(),t))}exec(t,e){var i;return i={path:this.path()+"/api.lua",parameters:{action:t,docpath:this.setting.docpath,args:e}},this.call(i)}initdb(){return this.setting.docpath?this.exec("init").then(t=>t.error?this.error(t.error):(this.notify(t.result),this.cat_refresh())).catch(t=>this.error(__("Unable to init database: {0}",t.toString()),t)):this.error(__("No configured docpath"))}menu(){return[{text:"__(View)",nodes:[{text:"__(Owners)",id:"owners",shortcut:"A-O"},{text:"__(Preview)",id:"preview",shortcut:"A-P"}],onchildselect:t=>this.fileMenuHandle(t.data.item.data.id)}]}fileMenuHandle(t){switch(t){case"owners":return this.openDialog(new r,{title:__("Owners")});case"preview":return this.openDialog(new a).then(t=>this.notify(t.path))}}},this.OS.register("Docify",i)}).call(this); \ No newline at end of file +(function(){var t,i,a,r;(r=class t extends this.OS.GUI.BasicDialog{constructor(){super("OwnerDialog",t.scheme)}main(){return super.main(),this.oview=this.find("ownview"),this.oview.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog("PromptDialog",{title:__("Owner"),label:__("Name")}).then(t=>this.parent.exec("insert",{table:"owners",data:{name:t}}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable to insert owner: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.oview.selectedItem)return this.ask({text:__("Do you realy want to delete: `{0}`",e.data.text)}).then(t=>{if(t)return this.parent.exec("delete",{table:"owners",id:parseInt(e.data.id)}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable delete category: {0}",t.toString()),t))})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:t=>{var e;if(e=this.oview.selectedItem)return this.openDialog("PromptDialog",{title:__("Owner"),label:__("Name"),value:e.data.name}).then(t=>this.parent.exec("update",{table:"owners",data:{id:parseInt(e.data.id),name:t}}).then(t=>t.error?this.error(t.error):this.owner_refresh()).catch(t=>this.error(__("Unable to update owner: {0}",t.toString()),t))).catch(t=>this.error(t.toString()))}}],this.owner_refresh()}owner_refresh(){return this.parent.exec("fetch","owners").then(t=>{var e,i,a,r;for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch owners: {0}",t.toString()),e))}}).scheme="\n \n \n \n",(t=class t extends this.OS.GUI.BasicDialog{constructor(){super("DocDialog",t.scheme)}main(){var t,e,i,r,s,n,h,o;for(super.main(),this.flist=this.find("file-list"),this.dlist=this.find("dlist"),this.mlist=this.find("mlist"),this.ylist=this.find("ylist"),this.olist=this.find("olist"),this.setting=this.parent.setting,this.exec=this.parent.exec,this.preview=this.parent.preview,this.exec("fetch","owners").then(t=>{var e,i,a,r,s,n,h;if(t.error)return this.error(t.error);for(e=0,a=(s=t.result).length;ethis.error(__("Unable to fetch owner list: {0}",t.toString()),t)),this.dlist.push({text:"None",value:0}),h=0,t=i=1;i<=31;t=++i)this.dlist.push({text:""+t,value:t}),this.data&&parseInt(this.data.day)===t&&(h=t);for(this.dlist.selected=h,this.mlist.push({text:"None",value:0}),h=0,t=r=1;r<=12;t=++r)this.mlist.push({text:""+t,value:t}),this.data&&parseInt(this.data.month)===t&&(h=t);for(this.mlist.selected=h,this.ylist.push({text:"None",value:0}),this.ylist.selected=0,o=s=1980,n=(new Date).getFullYear();1980<=n?s<=n:s>=n;o=1980<=n?++s:--s)this.ylist.push({text:""+o,value:o,selected:this.data&&parseInt(this.data.year)===o});if(this.flist.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog(new a).then(t=>(t.text=t.filename,this.flist.push(t)))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.flist.selectedItem)return this.flist.delete(e)}}],this.flist.onlistselect=t=>this.parent.preview(t.data.item.data.path,this.find("preview-canvas")),this.find("btsave").onbtclick=t=>{var e,i;return(e={name:this.find("title").value.trim(),day:this.dlist.selectedItem.data.value,month:this.mlist.selectedItem.data.value,year:this.ylist.selectedItem.data.value,file:function(){var t,e,a,r;for(r=[],t=0,e=(a=this.flist.data).length;t0?(this.handle&&this.handle(e),this.quit()):this.notify(__("Please attach files to the entry")):this.notify(__("Please enter title"))},this.data)return this.find("title").value=this.data.name,this.find("note").value=this.data.note,this.find("tag").value=this.data.tags,(e=this.data.file.asFileHandle()).text=e.filename,this.flist.data=[e]}}).scheme='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n
\n
',(a=class t extends this.OS.GUI.BasicDialog{constructor(){super("FilePreviewDialog",t.scheme)}main(){return super.main(),this.flist=this.find("file-list"),this.flist.buttons=[{text:"",iconclass:"fa fa-refresh",onbtclick:t=>this.refresh()}],this.flist.onlistselect=t=>this.parent.preview(t.data.item.data.path,this.find("preview-canvas")),this.find("btok").onbtclick=t=>{var e;return(e=this.flist.selectedItem)?(this.handle&&this.handle(e.data),this.quit()):this.quit()},this.refresh()}refresh(){return(this.parent.setting.docpath+"/unclassified").asFileHandle().read().then(t=>{var e,i,a,r;if(t.error)return this.error(t.error);for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch unclassified file list: {0}",t.toString()),t))}}).scheme='\n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
',i=class extends this.OS.application.BaseApplication{constructor(t){super("Docify",t)}main(){return this.catview=this.find("catview"),this.docview=this.find("docview"),this.docpreview=this.find("preview-canvas"),this.docgrid=this.find("docgrid"),this.docgrid.header=[{text:"",width:100},{text:""}],this.find("btdld").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return e.data.file.asFileHandle().download().catch(t=>this.error(__("Unable to download: {}",t.toString()),t))},this.find("btopen").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return e.data.file.asFileHandle().meta().then(t=>t.error?this.error(t.error):this._gui.openWith(t.result)).catch(t=>this.error(t.toString(),t))},this.catview.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:t=>this.openDialog("PromptDialog",{title:__("Category"),label:__("Name")}).then(t=>this.exec("insert",{table:"categories",data:{name:t}}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable to insert category: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e;if(e=this.catview.selectedItem)return this.ask({text:__("Do you realy want to delete: `{0}`",e.data.text)}).then(t=>{if(t)return this.exec("delete",{table:"categories",id:parseInt(e.data.id)}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable delete category: {0}",t.toString()),t))})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:t=>{var e;if(e=this.catview.selectedItem)return this.openDialog("PromptDialog",{title:__("Category"),label:__("Name"),value:e.data.name}).then(t=>this.exec("update",{table:"categories",data:{id:parseInt(e.data.id),name:t}}).then(t=>t.error?this.error(t.error):this.cat_refresh()).catch(t=>this.error(__("Unable to update category: {0}",t.toString()),t))).catch(t=>this.error(t.toString(),t))}}],this.docview.onlistselect=t=>{var e;if(this.clear_preview(),e=t.data.item)return this.exec("get_doc",e.data.id).then(t=>{var e,i,a,r,s,n;if(t.error)return this.error(t.error);for(i in this.preview(t.result.file,this.docpreview),s=[],a={ctime:"Created on",mtime:"Modified on",note:"Note",tags:"Tags",name:"Title",owner:"Owner",edate:"Effective date",file:"File"},t.result.edate=`${t.result.day}/${t.result.month}/${t.result.year}`,r=t.result)n=r[i],(e=a[i])&&s.push([{text:e},{text:n}]);return this.docgrid.rows=s}).catch(t=>this.error(t.toString(),t))},this.catview.onlistselect=t=>{var e;if(this.clear_preview(),e=t.data.item)return this.update_doclist(e.data.id)},this.find("bt-add-doc").onbtclick=e=>{var i;return(i=this.catview.selectedItem)?this.openDialog(new t).then(t=>(t.cid=parseInt(i.data.id),this.exec("insertdoc",t).then(t=>t.error?this.error(t.error):(t.result&&this.notify(t.result),this.update_doclist(i.data.id),this.clear_preview())).catch(t=>this.error(t.toString(),t)))):this.notify(__("Please select a category"))},this.find("bt-del-doc").onbtclick=t=>{var e;if(e=this.docview.selectedItem)return this.ask({text:__("Do you really want to delete: `{0}`",e.data.name)}).then(t=>{if(t)return this.exec("deletedoc",{id:e.data.id,file:e.data.file}).then(t=>t.error?this.error(t.error):(this.notify(t.result),this.update_doclist(e.data.cid),this.clear_preview())).catch(t=>this.error(t.toString(),t))})},this.find("bt-edit-doc").onbtclick=e=>{var i,a;if(a=this.docview.selectedItem,i=this.catview.selectedItem,a)return this.openDialog(new t,a.data).then(t=>(t.cid=parseInt(i.data.id),t.id=a.data.id,this.exec("updatedoc",{data:t,rm:!t.file.includes(a.data.file)&&a.data.file}).then(t=>t.error?this.error(t.error):(t.result&&this.notify(t.result),this.update_doclist(i.data.id),this.clear_preview())).catch(t=>this.error(t.toString(),t))))},this.initialize()}update_doclist(t){return this.exec("select",{table:"docs",cond:"cid = "+t}).then(t=>{var e,i,a,r;if(t.error)return this.error(t.error);for(e=0,i=(a=t.result).length;ethis.error(t.toString(),t))}clear_preview(){return this.docpreview.getContext("2d").clearRect(0,0,this.docpreview.width,this.docpreview.height),this.docgrid.rows=[]}preview(t,e){return this.exec("preview",t).then(t=>{var i;return t.error?this.error(t.error):(i=t.result.asFileHandle()).read("binary").then(t=>{var a,r;return(r=new Image).onload=()=>{var t;return t=e.getContext("2d"),e.height=r.height,e.width=r.width,t.drawImage(r,0,0)},a=new Blob([t],{type:i.info.mime}),r.src=URL.createObjectURL(a)}).catch(t=>this.error(t.toString(),t))}).catch(t=>this.error(t.toString(),t))}cat_refresh(){return this.docview.data=[],this.clear_preview(),this.exec("fetch","categories").then(t=>{var e,i,a,r;for(e=0,i=(a=t.result).length;ethis.error(__("Unable to fetch categories: {0}",t.toString()),t))}initialize(){return this.setting.docpath?this.initdb():this.openDialog("FileDialog",{title:__("Please select a doc path"),mimes:["dir"]}).then(t=>(this.setting.docpath=t.file.path,this._api.setting(),this.initdb())).catch(t=>this.error(t.toString(),t))}exec(t,e){var i;return i={path:this.path()+"/api.lua",parameters:{action:t,docpath:this.setting.docpath,args:e}},this.call(i)}initdb(){return this.setting.docpath?this.exec("init").then(t=>t.error?this.error(t.error):(this.notify(t.result),this.cat_refresh())).catch(t=>this.error(__("Unable to init database: {0}",t.toString()),t)):this.error(__("No configured docpath"))}menu(){return[{text:"__(View)",nodes:[{text:"__(Owners)",id:"owners"},{text:"__(Preview)",id:"preview"},{text:"__(Change doc path)",id:"setdocp"}],onchildselect:t=>this.fileMenuHandle(t.data.item.data.id)}]}fileMenuHandle(t){switch(t){case"owners":return this.openDialog(new r,{title:__("Owners")});case"preview":return this.openDialog(new a).then(t=>this.notify(t.path));case"setdocp":return this.setting.docpath=void 0,this.initialize()}}},this.OS.register("Docify",i)}).call(this); \ No newline at end of file diff --git a/Docify/build/debug/package.json b/Docify/build/debug/package.json index ccc5454..a4222e1 100644 --- a/Docify/build/debug/package.json +++ b/Docify/build/debug/package.json @@ -7,7 +7,7 @@ "author": "", "email": "" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"Other", "iconclass":"fa fa-adn", "mimes":["none"], diff --git a/Docify/build/release/Docify.zip b/Docify/build/release/Docify.zip index 5d457112b18226e34166a5a479eff3b74dec7bf6..0ab237c5fae47fb8c5c5e8a235ab5151cd571246 100644 GIT binary patch delta 660 zcmZuu&ubGw6rOGRLyNVwHciZWSf^5UWjjp^1)C62Og$KcXbyr&T8G`)X2R}l*qOv? zDR}YR!{A-Te?az9@YJIedg-AkC{#R(2f?G@th7qRH#}zM@y$2i``+OvE&ixws+H8> zC`jVy#m3#ki`P%J=KyHG$$U#?8xSJY^Ee852aA^3vk-!+C|}N`<12%&rw1BP?&qe5 z8nB*k%2j=BI@EhSTBAY7Cq}h=%Wy-d z8xSUp05iN!qJB~D_s+kSV*Z`BD6i%HvkCk6y&n$_mH;?dig)swZg^eh2pTfe+U()T zAU3tJ&5K?bnY>hQ+Vb2gT!08(DwWKrgzKbfA&>fm;eaUVv$Gs^y1ZpZRxu)?8!>}# znO3}8nM{u>aXm^NAr}j*xa8A%TC?N*htE?oa-p?lZwj&@3UF=ByxGERoh0oTiD4GB zsat@Y2vzCGSMHbbqJud(slb9A+oDA|qKpcPefor$@)=o9scz$4VveLf ztHW16qmA{=Nlq~H{{Q?|mLJEqn&%()s}*fv3j7^-;_Z|MK$2%pUi{ua%*kz*yV~zI z03&^%>^uMgrVO?DKg{xo>Dq++$#RKunG1DT^pC*~SLmVPglSl<+v@LHklcO&LsP@Z delta 948 zcmZvaK}^&@6oy+DL8@Y65EL|dVJ~Q40O3GLJRplfHim`Oc+eoTowsb)cBW}(7xA(t zUOad(>A|Z<nq^2u0gYGo5+woBzH3@dxw$hS^=n zXId;nUzx}C`SuIHPc9A`#^TfNADJV4gw)F+5us0IrN17H9PEnj^&XFBTkdxqOK<9k z(}cvEJx`7{H0f3KdTGrx3_aQvePMbscWIhWTjJ(L69qMq*}_<^XR zEeBv3IR;cBgVHKYayeIo9M;hlzK2{w-jSA-&BBaWk;1wXBFGBDlweq(3>voZJjxmP z)I}-PrT}W&7>0VLBa68_lxy6Uj^NaFq=VsvWsMM+3Q(O299OorSZ4`b`8n);v| z2rpT%YeAp|m4(YN09V*5y}`iY5IPK@L<4J-!1Fuzi5a zzwP*{0Q)9g#-!FFN~rlzN>Gvp%cy!V=i?S{shLTtp{VjDC_Ad1|H$0N%K$NvLm3+i z&=YmEc7s9H6sV>UDAM{?b2TvSm5udxjp+N}TXQ6OPTUUt)8DL}c(^%c7@K49@Q~RX zv8B;?efDc-{OQJnOvgZ25rMR8a-wf?a4r&dHoa7cUfN%x&ul!SSn(DuqjS9X+A}na(5|3|q#`|cPssf1J7-?}R6IQnq_`j5Cf5!Xcz>(jY*qKH KlKIQiUw;7n2q1g_ diff --git a/Docify/coffees/dialogs.coffee b/Docify/coffees/dialogs.coffee index f5f8842..fb77380 100644 --- a/Docify/coffees/dialogs.coffee +++ b/Docify/coffees/dialogs.coffee @@ -251,7 +251,7 @@ class FilePreviewDialog extends this.OS.GUI.BasicDialog .then (d) => return @error d.error if d.error v.text = v.filename for v in d.result - @flist.data = d.result + @flist.data = (v for v in d.result when v.filename[0] isnt '.') .catch (e) => @error __("Unable to fetch unclassified file list: {0}", e.toString()), e diff --git a/Docify/coffees/main.coffee b/Docify/coffees/main.coffee index 42a061e..2ca80de 100644 --- a/Docify/coffees/main.coffee +++ b/Docify/coffees/main.coffee @@ -193,6 +193,8 @@ class Docify extends this.OS.application.BaseApplication @error e.toString(), e cat_refresh: () -> + @docview.data = [] + @clear_preview() @exec("fetch", "categories") .then (d) => v.text = v.name for v in d.result @@ -239,8 +241,9 @@ class Docify extends this.OS.application.BaseApplication { text: "__(View)", nodes: [ - { text: "__(Owners)", id:"owners", shortcut: "A-O"}, - { text: "__(Preview)", id:"preview", shortcut: "A-P"} + { text: "__(Owners)", id:"owners"}, + { text: "__(Preview)", id:"preview"}, + { text: "__(Change doc path)", id:"setdocp"} ], onchildselect: (e) => @fileMenuHandle e.data.item.data.id } @@ -254,5 +257,8 @@ class Docify extends this.OS.application.BaseApplication @openDialog(new FilePreviewDialog()) .then (d) => @notify d.path + when "setdocp" + @setting.docpath = undefined + @initialize() this.OS.register "Docify", Docify \ No newline at end of file diff --git a/Docify/package.json b/Docify/package.json index ccc5454..a4222e1 100644 --- a/Docify/package.json +++ b/Docify/package.json @@ -7,7 +7,7 @@ "author": "", "email": "" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"Other", "iconclass":"fa fa-adn", "mimes":["none"], diff --git a/packages.json b/packages.json index 100f5a9..027619f 100644 --- a/packages.json +++ b/packages.json @@ -77,7 +77,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Docify/README.md", "category": "Other", "author": "", - "version": "0.0.1-a", + "version": "0.0.2-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Docify/build/release/Docify.zip" }, {