9 lines
20 KiB
JavaScript
9 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:
|
||
|
|
https://github.com/gfxholo/calculite
|
||
|
|
*/
|
||
|
|
|
||
|
|
var B=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var U=(h,r)=>{for(var t in r)B(h,t,{get:r[t],enumerable:!0})},Y=(h,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of z(r))!F.call(h,e)&&e!==t&&B(h,e,{get:()=>r[e],enumerable:!(s=G(r,e))||s.enumerable});return h};var q=h=>Y(B({},"__esModule",{value:!0}),h);var K={};U(K,{default:()=>b});module.exports=q(K);var w=require("obsidian");var p=require("obsidian"),d="calculite",X="Calculite",$="lucide-calculator",m=30,W=new Intl.NumberFormat(localStorage.language),Z=W.format(1e3).toString()[1],g=W.format(.1).toString()[1],j=new RegExp("[^-0-9"+g+"]","g"),I="C",E="CE",y="\u232B",D="0",O="1",R="2",C="3",L="4",M="5",H="6",x="7",N="8",A="9",_=g,k="\xB1",l="+",a="\u2212",u="\xD7",c="\xF7",S="=",T=class extends p.ItemView{constructor(t){super(t);this.previousResult=null;this.previousOperator=null;this.previousInput=null;this.currentResult=null;this.currentOperator=null;this.currentInput=null;this.currentError=null;this.currentClickTarget=null;this.hotkeyButtonMap=new Map;this.currentHotkeyButtonId=null}getViewType(){return d}getDisplayText(){return X}getIcon(){return $}async onOpen(){this.contentEl.empty(),this.contentEl.addClass("calculite"),this.createScreens(),this.createButtons(),this.registerHotkeys(),this.onResize()}getState(){return{previousResult:this.previousResult,previousOperator:this.previousOperator,previousInput:this.previousInput,currentResult:this.currentResult,currentOperator:this.currentOperator,currentInput:this.currentInput,currentError:this.currentError}}setState(t,s){var e,i,n,o,v,f,P,V;return(t===null||typeof t!="object")&&(t={}),this.previousResult=(e=t.previousResult)!=null?e:null,this.previousOperator=(i=t.previousOperator)!=null?i:null,this.previousInput=(n=t.previousInput)!=null?n:null,this.currentResult=(o=t.currentResult)!=null?o:null,this.currentOperator=(v=t.currentOperator)!=null?v:null,this.currentInput=(f=t.currentInput)!=null?f:null,this.currentOperator?this.updateSubscreen([this.currentResult,this.currentOperator]):this.previousOperator?this.updateSubscreen([this.previousResult,this.previousOperator,this.previousInput,"="]):this.previousInput!==null&&this.updateSubscreen([this.previousInput,"="]),this.updateScreen((V=(P=this.currentError)!=null?P:this.currentInput)!=null?V:this.currentResult,this.currentError!==null),super.setState(t,s)}onResize(){let t=Math.min(this.contentEl.clientHeight,this.contentEl.clientWidth*1.618),s=p.Platform.isMobile?35:25,e=Math.max(8,t/s);this.contentEl.style.fontSize=e+"px",this.condenseScreen(this.subscreenEl),this.condenseScreen(this.screenEl)}createScreens(){this.subscreenEl=this.contentEl.createDiv({cls:"calculite-subscreen"}),this.screenEl=this.contentEl.createDiv({cls:"calculite-screen"}),this.updateSubscreen(null),this.updateScreen(null),this.canvasCtx=document.createElement("canvas").getContext("2d");let t=new MutationObserver(s=>{for(let e of s)e.target instanceof HTMLDivElement&&this.condenseScreen(e.target)});t.observe(this.subscreenEl,{childList:!0}),t.observe(this.screenEl,{childList:!0}),this.app.workspace.on("css-change",()=>{this.condenseScreen(this.subscreenEl),this.condenseScreen(this.screenEl)}),this.registerDomEvent(this.containerEl,"copy",s=>{this.getScreenSelection(this.subscreenEl)?this.copyScreen(this.subscreenEl,s):this.copyScreen(this.screenEl,s)}),this.registerDomEvent(this.containerEl,"paste",s=>{this.pasteScreen(s)}),this.registerScreenListeners(this.subscreenEl),this.registerScreenListeners(this.screenEl)}registerScreenListeners(t){this.registerDomEvent(t,"contextmenu",s=>{s.preventDefault();let e=new p.Menu(this.app);e.addItem(i=>i.setTitle(this.getScreenSelection(t)?"Copy selection":"Copy").setIcon("lucide-copy").onClick(()=>this.copyScreen(t))),t===this.screenEl&&e.addItem(i=>i.setTitle("Paste").setIcon("lucide-clipboard-check").onClick(()=>this.pasteScreen())),e.addItem(i=>i.setTitle("Select all").setIcon("lucide-box-select").onClick(()=>this.selectScreen(t))),e.showAtMouseEvent(s)
|
||
|
|
|
||
|
|
/* nosourcemap */
|