2024-10-31 11:02:58 +01:00

13 lines
20 KiB
JavaScript

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var N=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var U=(a,h)=>{for(var t in h)N(a,t,{get:h[t],enumerable:!0})},X=(a,h,t,e)=>{if(h&&typeof h=="object"||typeof h=="function")for(let n of W(h))!G.call(a,n)&&n!==t&&N(a,n,{get:()=>h[n],enumerable:!(e=j(h,n))||e.enumerable});return a};var Y=a=>X(N({},"__esModule",{value:!0}),a);var v=(a,h,t)=>new Promise((e,n)=>{var s=i=>{try{o(t.next(i))}catch(l){n(l)}},r=i=>{try{o(t.throw(i))}catch(l){n(l)}},o=i=>i.done?e(i.value):Promise.resolve(i.value).then(s,r);o((t=t.apply(a,h)).next())});var te={};U(te,{default:()=>L});module.exports=Y(te);function k(a,h){let t=Object.keys(h).map(e=>J(a,e,h[e]));return t.length===1?t[0]:function(){t.forEach(e=>e())}}function J(a,h,t){let e=a[h],n=a.hasOwnProperty(h),s=n?e:function(){return Object.getPrototypeOf(a)[h].apply(this,arguments)},r=t(s);return e&&Object.setPrototypeOf(r,e),Object.setPrototypeOf(o,r),a[h]=o,i;function o(...l){return r===s&&a[h]===o&&i(),r.apply(this,l)}function i(){a[h]===o&&(n?a[h]=s:delete a[h]),r!==s&&(r=s,Object.setPrototypeOf(o,e||Function))}}var p=require("obsidian");var V=require("obsidian");var B=class extends V.MarkdownRenderer{constructor(t,e,n){super(t,e);this.app=t,this.match=n,this.subpath="",this.indent="",this.filePath=this.match.parentDom.path,this.file=this.match.parentDom.file,this.renderer.previewEl.onNodeInserted(()=>(this.updateOptions(),this.renderer.onResize()))}updateOptions(){let t=this.app.vault.getConfig("readableLineLength");this.renderer.previewEl.toggleClass("is-readable-line-width",t);let e=this.app.vault.getConfig("foldHeading");this.renderer.previewEl.toggleClass("allow-fold-headings",e);let n=this.app.vault.getConfig("foldIndent");this.renderer.previewEl.toggleClass("allow-fold-lists",n),this.renderer.previewEl.toggleClass("rtl",this.app.vault.getConfig("rightToLeft")),e||this.renderer.unfoldAllHeadings(),n||this.renderer.unfoldAllLists(),this.renderer.previewEl.toggleClass("show-frontmatter",this.app.vault.getConfig("showFrontmatter"));let s=this.app.vault.getConfig("tabSize");this.renderer.previewEl.style.tabSize=String(s),this.renderer.rerender()}onRenderComplete(){}getFile(){return this.match.parent.file}edit(t){return v(this,null,function*(){var l;this.renderer.set(t);let e=yield this.app.vault.cachedRead(this.file),s=(l=e.slice(this.match.start,this.match.end).match(/^\s+/g))==null?void 0:l.first();s&&(t=t.replace(/^/gm,s));let r=e.slice(0,this.match.start),o=e.slice(this.match.end,this.match.parent.content.length);var i=r+t+o;this.app.vault.modify(this.file,i)})}};var b=require("obsidian");var M=i18next.t.bind(i18next);var I={defaultCollapse:!1,defaultShowContext:!1,defaultHideTitle:!1,defaultHideResults:!1,defaultRenderMarkdown:!1,defaultSortOrder:"alphabetical"},R=[{key:"alphabetical",label:M("plugins.file-explorer.label-sort-a-to-z")},{key:"alphabeticalReverse",label:M("plugins.file-explorer.label-sort-z-to-a")},{key:"byModifiedTime",label:M("plugins.file-explorer.label-sort-new-to-old")},{key:"byModifiedTimeReverse",label:M("plugins.file-explorer.label-sort-old-to-new")},{key:"byCreatedTime",label:M("plugins.file-explorer.label-sort-created-new-to-old")},{key:"byCreatedTimeReverse",label:M("plugins.file-explorer.label-sort-created-old-to-new")}],Z=a=>a.reduce((h,t)=>(h[t.key]=t.label,h),{}),H=class extends b.PluginSettingTab{constructor(t,e){super(t,e);this.plugin=e}hide(){}display(){let{containerEl:t}=this;t.empty(),new b.Setting(t).setName("Collapse query results by default").addToggle(e=>e.setValue(this.plugin.settings.defaultCollapse).onChange(n=>{this.plugin.settings.defaultCollapse=n,this.plugin.saveSettings()})),new b.Setting(t).setName("Show additional query result context by default").addToggle(e=>e.setValue(this.plugin.settings.defaultShowContext).onChange(n=>{this.plugin.settings.defaultShowContext=n,this.plugin.saveSettings()})),new b.Setting(t).setName("Hide query title by default").addToggle(e=>e.setValue(this.plugin.settings.defaultHideTitle).onChange(n=>{this.plugin.settings.defaultHideTitle=n,this.plugin.saveSettings()})),new b.Setting(t).setName("Hide query results by default").addToggle(e=>e.setValue(this.plugin.settings.defaultHideResults).onChange(n=>{this.plugin.settings.defaultHideResults=n,this.plugin.saveSettings()})),new b.Setting(t).setName("Render results as Markdown by default").addToggle(e=>e.setValue(this.plugin.settings.defaultRenderMarkdown).onChange(n=>{this.plugin.settings.defaultRenderMarkdown=n,this.plugin.saveSettings()})),new b.Setting(t).setName("Default query result sort order").addDropdown(e=>{e.addOptions(Z(R)),e.setValue(this.plugin.settings.defaultSortOrder),e.onChange(n=>v(this,null,function*(){this.plugin.settings.defaultSortOrder=n,yield this.plugin.saveSettings()}))})}};function $(a,h,t,e,n){let s=document.getElementById("query-control-sort-tooltip");if(s){s.remove();return}let r=document.createElement("div");r.classList.add("query-control-sort-tooltip");let o=h.getBoundingClientRect();r.style.top=`${o.bottom+window.scrollY+5}px`,r.style.left=`${o.left+window.scrollX}px`,a.forEach(u=>{let f=document.createElement("div");if(f.classList.add("query-control-sort-option"),f.textContent=u.label,u.key===e){f.setAttribute("aria-current","true");let C=document.createElement("span");C.textContent="\u2714\uFE0F",C.classList.add("query-control-sort-option-checkmark"),f.appendChild(C)}f.addEventListener("click",()=>{t(u.key),r.remove()}),r.appendChild(f)}),document.body.appendChild(r);let i=()=>{document.removeEventListener("mousedown",c,!0),document.removeEventListener("touchstart",c,!0),document.removeEventListener("click",c,!0),document.removeEventListener("keydown",g,!0),n.workspace.off("active-leaf-change",l)},l=()=>{r.parentElement&&(r.remove(),i())},c=u=>{!r.contains(u.target)&&!h.contains(u.target)&&(r.remove(),i())},g=u=>{r.remove(),i()};document.addEventListener("mousedown",c,!0),document.addEventListener("touchstart",c,!0),document.addEventListener("click",c),document.addEventListener("keydown",g,!0),n.workspace.on("active-leaf-change",l)}var K=!1;var F=new WeakMap,L=class extends p.Plugin{onload(){return v(this,null,function*(){yield this.loadSettings();let t=this;this.registerSettingsTab(),this.register(k(this.app.viewRegistry.constructor.prototype,{registerView(n){return function(s,r,...o){return t.app.workspace.trigger("view-registered",s,r),n.call(this,s,r,...o)}}}));let e;if(!this.app.workspace.layoutReady){let n=this.app.workspace.on("view-registered",(r,o)=>{if(r!=="search")return;this.app.workspace.offref(n);let i=new p.WorkspaceLeaf(t.app),l=o(i);t.patchNativeSearch(l);let c=k(p.Modal.prototype,{open(g){return function(...u){t.SearchResultsExport=this.constructor}}});l.onCopyResultsClick(new MouseEvent(null)),c()}),s=this.app.workspace.on("view-registered",(r,o)=>{if(r!=="backlink")return;this.app.workspace.offref(s);let i=new p.WorkspaceLeaf(t.app),l=o(i);t.SearchHeaderDOM=l.backlink.headerDom.constructor})}this.register(e=k(p.Component.prototype,{addChild(n){return function(s,...r){try{if(!t.isSearchPatched&&s instanceof p.Component&&s.hasOwnProperty("searchQuery")&&s.hasOwnProperty("sourcePath")&&s.hasOwnProperty("dom")){let i=s;t.patchSearchView(i),t.isSearchPatched=!0}if(s instanceof p.Component&&s.hasOwnProperty("backlinkDom")){let i=s;F.set(i.backlinkDom.el.closest(".backlink-pane"),s),t.isBacklinksPatched||(t.patchBacklinksView(i),t.isBacklinksPatched=!0)}}catch(i){console.error("Error in Component.addChild around patch:",i)}return n.call(this,s,...r)}}}))})}loadSettings(){return v(this,null,function*(){this.settings=Object.assign({},I,yield this.loadData())})}saveSettings(){return v(this,null,function*(){yield this.saveData(this.settings)})}registerSettingsTab(){this.settingsTab=new H(this.app,this),this.addSettingTab(this.settingsTab)}getSearchHeader(){var n,s,r;let t=(n=this.app.workspace.getLeavesOfType("backlink"))==null?void 0:n.first();t==null||t.loadIfDeferred();let e=(r=(s=t==null?void 0:t.view)==null?void 0:s.backlink)==null?void 0:r.headerDom;return e==null?void 0:e.constructor}onunload(){K&&console.log("EmbeddedQueryControlPlugin: onunload")}patchNativeSearch(t){let e=this;this.register(k(t.constructor.prototype,{onResize(n){return function(...s){var o;let r=(o=this.dom.vChildren)==null?void 0:o._children;return this.dom.el.clientWidth===0?(r.forEach(i=>{i.setCollapse(!0,!1)}),this.dom.hidden=!0):this.dom.hidden&&(this.dom.hidden=!1,setTimeout(()=>{r.forEach(i=>{i.setCollapse(this.dom.collapseAll,!1)})},100)),n.call(this,...s)}},stopSearch(n){return function(...s){let r=n.call(this,...s);return this.renderComponent&&(this.renderComponent.unload(),this.renderComponent=new p.Component),r}},addChild(n){return function(...s){var o;try{if(!this.patched){this.renderComponent||(this.renderComponent=new p.Component,this.renderComponent.load()),this.patched=!0,this.dom.parent=this,e.patchSearchResultDOM(this.dom.constructor),this.setRenderMarkdown=function(l){var g,u;let c=(g=this.dom.vChildren)==null?void 0:g._children;this.dom.renderMarkdown=l,c.forEach(f=>{f.renderContentMatches()}),this.dom.infinityScroll.invalidateAll(),this.dom.childrenEl.toggleClass("cm-preview-code-block",l),this.dom.childrenEl.toggleClass("is-rendered",l),(u=this.renderMarkdownButtonEl)==null||u.toggleClass("is-active",l)},this.renderMarkdownButtonEl=(o=this.headerDom)==null?void 0:o.addNavButton("reading-glasses","Render Markdown",()=>this.setRenderMarkdown(!this.dom.renderMarkdown));let i={renderMarkdown:e.settings.defaultRenderMarkdown};this.settings||(this.settings={}),Object.entries(i).forEach(([l,c])=>{this.settings.hasOwnProperty(l)?l==="sort"&&!R.hasOwnProperty(this.settings.sort)&&(this.settings[l]=c):this.settings[l]=c}),this.setRenderMarkdown(this.settings.renderMarkdown)}}catch(i){console.error("Error in searchView.addChild around patch:",i)}return n.call(this,...s)}}}))}patchSearchResultDOM(t){let e=this,n=k(t.prototype,{addResult(s){return function(...r){n();let o=s.call(this,...r),i=o.constructor;return e.isSearchResultItemPatched||e.patchSearchResultItem(i),o}}});this.register(n),this.register(k(t.prototype,{startLoader(s){return function(...r){var i,l,c,g,u,f;try{let C=this.el.closest(".backlink-pane"),x=F.get(C);if(C&&x&&(x.patched||ee(this,e,C,x)),!((l=(i=this.parent)==null?void 0:i.searchParamsContainerEl)!=null&&l.patched)&&((g=(c=this.el)==null?void 0:c.parentElement)==null?void 0:g.getAttribute("data-type"))==="search"&&(this.parent.searchParamsContainerEl.patched=!0,new p.Setting(this.parent.searchParamsContainerEl).setName("Render Markdown").setClass("mod-toggle").addToggle(O=>{O.setValue(e.settings.defaultRenderMarkdown),O.onChange(E=>{var D;this.renderMarkdown=E,((D=this.vChildren)==null?void 0:D._children).forEach(d=>{d.renderContentMatches()}),this.infinityScroll.invalidateAll(),this.childrenEl.toggleClass("cm-preview-code-block",E),this.childrenEl.toggleClass("is-rendered",E)})})),!this.patched&&((u=this.el.parentElement)==null?void 0:u.hasClass("internal-query"))){let O=e.SearchHeaderDOM?e.SearchHeaderDOM:e.getSearchHeader();if(!O){console.error("Error: _SearchHeaderDOM is undefined. Cannot create headerDom.");return}if((f=this.el)!=null&&f.closest(".internal-query")){this.patched=!0;let E=this.el.parentElement.querySelector(".internal-query-header");this.setExtraContext=function(d){var w;let y=(w=this.vChildren)==null?void 0:w._children;this.extraContext=d,this.extraContextButtonEl.toggleClass("is-active",d),y.forEach(m=>{m.setExtraContext(d)}),this.infinityScroll.invalidateAll()},this.setTitleDisplay=function(d){this.showTitle=d,this.showTitleButtonEl.toggleClass("is-active",d),E.toggleClass("is-hidden",d)},this.setResultsDisplay=function(d){this.showResults=d,this.showResultsButtonEl.toggleClass("is-active",d),this.el.toggleClass("is-hidden",d)},this.setRenderMarkdown=function(d){var w;this.renderMarkdown=d,((w=this.vChildren)==null?void 0:w._children).forEach(m=>{m.renderContentMatches()}),this.infinityScroll.invalidateAll(),this.childrenEl.toggleClass("cm-preview-code-block",d),this.childrenEl.toggleClass("is-rendered",d),this.renderMarkdownButtonEl.toggleClass("is-active",d)},this.setCollapseAll=function(d){var w;let y=(w=this.vChildren)==null?void 0:w._children;this.collapseAllButtonEl.toggleClass("is-active",d),this.collapseAll=d,y.forEach(m=>{m.setCollapse(d,!1)}),this.infinityScroll.invalidateAll()},this.setSortOrder=d=>{this.sortOrder=d,this.changed(),this.infinityScroll.invalidateAll()},this.onCopyResultsClick=d=>v(this,null,function*(){var A,P;d.preventDefault();let y=[],w=(A=this.vChildren)==null?void 0:A._children;for(let T of w){let Q=T.file.path,q="",z=(P=T.vChildren)==null?void 0:P._children;for(let _ of z)q+=_.parent.content.substring(_.start,_.end)+`
`;y.push(`## ${Q}
${q}`)}let m=y.join(`
`);try{yield navigator.clipboard.writeText(m),new p.Notice("Search results copied to clipboard.")}catch(T){console.error("Failed to copy search results:",T),new p.Notice("Failed to copy search results.")}});let S=this.headerDom=new O(this.app,this.el.parentElement);E.insertAdjacentElement("afterend",S.navHeaderEl),this.collapseAllButtonEl=S.addNavButton("bullet-list",M("plugins.search.label-collapse-results"),d=>(d.stopPropagation(),this.setCollapseAll(!this.collapseAll))),this.extraContextButtonEl=S.addNavButton("expand-vertically",M("plugins.search.label-more-context"),d=>(d.stopPropagation(),this.setExtraContext(!this.extraContext))),this.showSortButtonEl=S.addNavButton("arrow-up-narrow-wide","Sort",d=>{d.stopPropagation();let y=R.map(m=>m.key),w=m=>{if(y.includes(m)){this.sortOrder=m;let P=`Sort (${R.find(T=>T.key===m).label})`;this.showSortButtonEl.setAttribute("aria-label",P),this.setSortOrder(m)}else console.error(`Invalid sort option: ${m}`)};$(R,this.showSortButtonEl,w,this.sortOrder,this.app)}),this.showTitleButtonEl=S.addNavButton("strikethrough-glyph","Hide title",d=>(d.stopPropagation(),this.setTitleDisplay(!this.showTitle))),this.showResultsButtonEl=S.addNavButton("minus-with-circle","Hide results",d=>(d.stopPropagation(),this.setResultsDisplay(!this.showResults))),this.renderMarkdownButtonEl=S.addNavButton("reading-glasses","Render Markdown",d=>(d.stopPropagation(),this.setRenderMarkdown(!this.renderMarkdown))),S.addNavButton("documents","Copy results",this.onCopyResultsClick.bind(this));let D={title:e.settings.defaultHideResults,collapsed:e.settings.defaultCollapse,context:e.settings.defaultShowContext,hideTitle:e.settings.defaultHideTitle,hideResults:e.settings.defaultHideResults,renderMarkdown:e.settings.defaultRenderMarkdown,sort:e.settings.defaultSortOrder};this.settings||(this.settings={}),Object.entries(D).forEach(([d,y])=>{this.settings.hasOwnProperty(d)?d==="sort"&&!R.hasOwnProperty(this.settings.sort)&&(this.settings[d]=y):this.settings[d]=y}),this.setExtraContext(this.settings.context),this.sortOrder=this.settings.sort,this.setCollapseAll(this.settings.collapsed),this.setTitleDisplay(this.settings.hideTitle),this.setRenderMarkdown(this.settings.renderMarkdown),this.setResultsDisplay(this.settings.hideResults)}}}catch(C){console.error("Error in SearchResultDOM.startLoader around patch:",C)}return s.call(this,...r)}}}))}patchSearchResultItem(t){this.isSearchResultItemPatched=!0;let e=this,n=k(t.prototype,{onResultClick(s){return function(r,o,...i){if(!(r.target instanceof HTMLElement&&(r.target.hasClass("internal-link")||r.target.hasClass("task-list-item-checkbox")||r.target.hasClass("admonition-title-content"))))return s.call(this,r,o,...i)}},renderContentMatches(s){return function(...r){var l;let o=s.call(this,...r),i=(l=this.vChildren)==null?void 0:l._children;if(!e.isSearchResultItemMatchPatched&&i.length){let c=i.first().constructor;e.patchSearchResultItemMatch(c)}return o}}});e.register(n)}patchSearchResultItemMatch(t){this.isSearchResultItemMatchPatched=!0;let e=this;e.register(k(t.prototype,{render(n){return function(...s){var c;let r=this.parentDom,o=r.content.substring(this.start,this.end).replace("```query","\\`\\`\\`query"),i=(c=o.match(/^\s+/g))==null?void 0:c.first();i&&(o=o.replace(new RegExp(`^${i}`,"gm"),""));let l=r.parent.parent;if(l&&r.parent.renderMarkdown){let g=l==null?void 0:l.renderComponent;this.el.empty();let u=new B(e.app,this.el,this);u.onRenderComplete=()=>{var f;(f=r==null?void 0:r.parent)==null||f.infinityScroll.measure(r,this)},g.addChild(u),u.renderer.set(o)}else return n.call(this,...s)}}}))}patchSearchView(t){let e=t.constructor,n=t.dom.constructor;this.register(k(e.prototype,{onunload(s){return function(...r){return this.renderComponent&&(this.renderComponent.unload(),this.dom=null,this.queue=null,this.renderComponent=null,this._children=null,this.containerEl=null),s.call(this,...r)}},onload(s){return function(...r){try{this.renderComponent||(this.renderComponent=new p.Component,this.renderComponent.load()),this.dom.parent=this;let i=this.containerEl.parentElement.querySelector(".internal-query-header"),l=this.query.matchAll(new RegExp("^(?<key>collapsed|context|hideTitle|renderMarkdown|hideResults|sort|title):\\s*(?<value>.+?)$","gm")),c={};for(let g of l){let u=g.groups.value.toLowerCase();(u==="true"||u==="false")&&(g.groups.value=u==="true"),c[g.groups.key]=g.groups.value}this.query=this.query.replace(/^((collapsed|context|hideTitle|renderMarkdown|hideResults|sort|title):.+?)$/gm,"").trim(),i.setText(c.title||this.query),this.dom.settings=c}catch(i){console.error("Error in EmbeddedSearch.onload:",i)}return s.call(this,...r)}}})),this.patchSearchResultDOM(n)}patchBacklinksView(t){let e=t.constructor,n=t.backlinkDom.constructor;this.register(k(e.prototype,{onunload(s){return function(...r){return this.renderComponent&&(this.renderComponent.unload(),this.dom=null,this.queue=null,this.renderComponent=null,this._children=null,this.containerEl=null),s.call(this,...r)}},onload(s){return function(...r){try{this.renderComponent||(this.renderComponent=new p.Component,this.renderComponent.load()),this.backlinkDom.parent=this,this.unlinkedDom.parent=this;let i={};this.dom.settings=i}catch(i){console.error("Error in Backlink.onload:",i)}return s.call(this,...r)}}})),this.patchSearchResultDOM(n)}};function ee(a,h,t,e){if(e){e.patched=!0,a.setRenderMarkdown=function(s){[e.backlinkDom,e.unlinkedDom].forEach(o=>{var l;o.renderMarkdown=s,((l=o.vChildren)==null?void 0:l._children).forEach(c=>{c.renderContentMatches()}),o.infinityScroll.invalidateAll(),o.childrenEl.toggleClass("cm-preview-code-block",s),o.childrenEl.toggleClass("is-rendered",s)}),this.renderMarkdownButtonEl.toggleClass("is-active",s)},a.onCopyResultsClick=s=>v(this,null,function*(){var l,c;s.stopPropagation(),s.preventDefault();let r=[],o=[e.backlinkDom,e.unlinkedDom];for(let g of o){let u=(l=g.vChildren)==null?void 0:l._children;for(let f of u){let C=f.file.path,x="",O=(c=f.vChildren)==null?void 0:c._children;for(let E of O)x+=E.parent.content.substring(E.start,E.end)+`
`;r.push(`## ${C}
${x}`)}}let i=r.join(`
`);try{yield navigator.clipboard.writeText(i)}catch(g){console.error("Failed to copy backlinks:",g),new p.Notice("Failed to copy backlinks.")}}),a.renderMarkdownButtonEl=e.headerDom.addNavButton("reading-glasses","Render Markdown",s=>(s.stopPropagation(),a.setRenderMarkdown(!a.renderMarkdown))),e.headerDom.addNavButton("documents","Copy results",a.onCopyResultsClick.bind(a));let n={title:h.settings.defaultHideResults,collapsed:h.settings.defaultCollapse,context:h.settings.defaultShowContext,hideTitle:h.settings.defaultHideTitle,hideResults:h.settings.defaultHideResults,renderMarkdown:h.settings.defaultRenderMarkdown,sort:h.settings.defaultSortOrder};a.settings||(a.settings={}),Object.entries(n).forEach(([s,r])=>{a.settings.hasOwnProperty(s)?s==="sort"&&!R.hasOwnProperty(a.settings.sort)&&(a.settings[s]=r):a.settings[s]=r}),e.setExtraContext(a.settings.context),e.sortOrder=a.settings.sort,e.setCollapseAll(a.settings.collapsed),a.setRenderMarkdown(a.settings.renderMarkdown)}}