blob: abf014b67d13ce00620a06f7e8c33a0a069a9606 [file] [log] [blame]
//- Copyright (c) 2020 Chandan B N. All rights reserved.
extends layout
block info
if doc && doc.updatedAt
='Last updated ' + textUtil.timeSince(doc.updatedAt) + ' ago by ' + doc.author + ' (v' + doc.__v + ')'
block append head
if !min
link(rel='stylesheet', href= '/users/list/css')
link(href=conf.basedir + "css/tagify.css",rel="stylesheet",type="text/css")
block prepend bannerItemsLeft
if !min
a.fbn(href=(confOpts[schemaName].conf.uri? confOpts[schemaName].conf.uri : '/' + schemaName + '/' ), title=confOpts[schemaName].conf.title)
block append bannerItemsLeft
if !confOpts[schemaName].conf.readonly
block openButton
input#importJSON.hid(type="file",accept="application/json",onchange="loadFile(event,this);")
a.fbn.vgi-folder(type="file",onclick='importFile(event, this);') Open
if !min
button.fbn.sfe.vgi-put(id="save1") SAVE
a.fbn.vgi-download(type="button",oncontextmenu='downloadFile(event, this);',onclick='downloadFile(event, this);',value="Download") Download
block scripts
if opts
script
| var iconMap =
if opts.icons
| !{JSON.stringify(opts.icons)}
else
| {};
if opts.script
script !{opts.script}
if opts.render
- var compileScript = pugLib.compileFileClient('views/'+opts.render +'.pug', {name: "pugRender",basedir: 'views',compileDebug: false,inlineRuntimeFunctions: true})
script !{compileScript}
if opts.script && typeof opts.script === 'array'
script
each i,v in opts.script
| #{v} = !{opts.script[v].toString()};
if opts.validators
script
| var custom_validators = [!{opts.validators.toString()}];
if opts.errorFilter
script
| var errorFilter = !{opts.errorFilter.toString()};
if !min
script var csrfToken = "#{csrfToken}";
if opts && opts.conf && !opts.conf.readonly
- var compileScript = pugLib.compileFileClient('views/subcontent.pug', {name: "subdocRender",basedir: 'views',compileDebug: false,inlineRuntimeFunctions: true})
script !{compileScript}
script(src=conf.basedir + 'js/comment.js')
block content
div#mainTabGroup
span.lbl  
block editorTab
input.tab(name='tabs', type='radio', id='editorTab', value="1",checked)
label.lbl#editorLabel(for='editorTab')
span.flx
block editorLabel
| Editor
details.popup#errPop
summary.sml.hid#errCount
div.wht.pop.pad.bor.shd#errList
.wht.fil.bor.pad
block editorArea
iframe(name="x",style="display:none",src="about:blank")
form.editor(target="x",action="",id="docEditor")
if !min
a#remove.gap.flr.fbn.vgi-del.tred Delete this entry from local Vulnogram database
block sourceTab
input.tab(name='tabs', type='radio', id='sourceTab', value="2")
label.lbl(for='sourceTab')
block sourceLabel
| Source
.wht.fil.bor.pad
div(id="output",rows="40",cols="100%")
p
block customtabs
if !min
input.tab(name='tabs', type='radio', id='changesTab', value="6")
label.lbl(for='changesTab') Changes
.wht.fil.bor.pad
div#unSavedChanges
div#changelog
if !min
div(style="clear:both")
button.gap.btn.save(id="save2",style="visibility:hidden") SAVE
block initGlobals
script
if conf.publicDefectURL
| var defectURL = "!{conf.publicDefectURL}";
| var idpath = "#{idpath}";
| var allowAjax = "#{allowAjax}";
| var schemaName = "#{schemaName}";
| var postUrl = "#{postUrl?postUrl:''}";
| var csrfToken = "#{csrfToken}";
| var ajaxBase = "#{conf.basedir}";
if doc && doc.body
| var initJSON=!{JSON.stringify(doc.body).replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029').replace(/</g, '\\u003C').replace(/>/g, '\\u003E').replace(/\//g, '\\u002F')};
else
| var initJSON = undefined;
if min
| var docSchema=!{JSON.stringify(opts && opts.schema ? opts.schema : '{}').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029').replace(/</g, '\\u003C').replace(/>/g, '\\u003E').replace(/\//g, '\\u002F')};
script(src=conf.basedir + 'js/util.js')
script(src=conf.basedir + "js/wy/simple.js")
script(src=conf.basedir + "js/wy/wysihtml-toolbar.min.js")
if !min && opts && opts.schema
script(src=conf.basedir + schemaName + '/schema.js')
if conf.ajv && conf.ajvHash
script(src=conf.ajv,integrity=conf.ajvHash,crossorigin="anonymous")
script(src=conf.jsoneditor,integrity=conf.jsoneditorHash,crossorigin="anonymous")
script(src=conf.basedir + "js/tagify.min.js")
script(src=conf.ace,integrity=conf.aceHash,crossorigin="anonymous")
script(src=conf.basedir + 'js/editor.js')
script(src=conf.basedir + 'js/tablesort.min.js')
block loadEditor
block loadEditorloadJSON
script loadJSON(initJSON);
if doc && doc.body
script getChanges("#{doc_id}");
+alertDialog
block subcontent
if !min
include subcontent
- var id = doc_id;
if doc && opts && opts.conf && opts.conf.files
- var files = [];
if doc && doc.files
- files = doc.files;
+files
+commentBox
if doc && Object.keys(doc).length > 0
script
| document.getElementById("commentTemplate").insertAdjacentElement('afterend', newCommentBox());
#commentsBox
- var username = user.username;
- var docs = ucomments;//.sort(function(a, b) {return a.updatedAt < b.updatedAt;})
#comments
+comments
block logolink
br
a.logo(href="https://github.com/Vulnogram/Vulnogram") Vulnogram Project
mixin alertDialog
dialog.bor.rnd.shd.pad2#alertDialog
center
form(onsubmit="event.preventDefault();return false;")
h2.vgi-alert#alertMessage
.gap#smallAlert
center.gap
input#alertOk.btn.sfe(type="reset" onclick="document.getElementById('alertDialog').close();" value="OK")
input#alertCancel.btn.red(type="reset" onclick="document.getElementById('alertDialog').close();" value="Cancel" dstyle="display:none")