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