@omegagrid/bundle 0.9.21 → 0.9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/omegagrid.js +20 -8
- package/package.json +18 -18
package/omegagrid.js
CHANGED
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
background-color: var(--og-colortype-${bs(xa[t])}-background-color);
|
|
153
153
|
border: 1px solid var(--og-colortype-${bs(xa[t])}-border-color);
|
|
154
154
|
}
|
|
155
|
-
`))],wa([Ln({type:String})],Ca.prototype,"text",void 0),wa([Ln({type:String})],Ca.prototype,"icon",void 0),wa([Ln({type:String,reflect:!0})],Ca.prototype,"type",void 0),wa([Ln({type:Boolean})],Ca.prototype,"closable",void 0),Ca=wa([En("og-alert")],Ca);class Ma extends Event{}class _a extends _n{constructor(){super(...arguments),this.customProperties={}}}const Sa={name:"light",type:"light",definition:{"font-size":$t(G.FONT_SIZE),"font-family":"verdana","base-radius":"3px","button-color":"var(--og-accent-color)","button-background-color":"#ffffff","button-background-color-highlight":"#cccccc",background:"#ffffff","background-color":"#ffffff","background-color-2":"#eeeeee","background-color-3":"#eeeeee","text-highlight-color":"#9b8400","text-color":"#000000","text-color-2":"#ffffff","text-color-3":"#000000","text-color-reversed":"#ffffff",border:"#cccccc","border-color":"#cccccc","border-color-2":"#939393","cell-background":"#ffffff","cell-border":"1px solid #cccccc","hcell-background":"#ececec","slider-background-color":"#eeeeee","slider-background-active":"#e2e2e2","slider-bar-color":"#aaaaaa","slider-bar-active":"#aaaaaa","expander-color":"#707070","expander-hover":"#00955d","expander-background-color":"#dbdbdb","sizer-background":"#00955d","frozen-border":"#b7b7b7","inset-shadow-color":"#707070","commands-color":"#000000","commands-background":"#ffffff","commands-header-background":"#cdcdcd","commands-input-background":"#f1f1f1","commands-shadow":"#7e7e7e","dialog-color":"#000000","dialog-background":"#ffffff","dialog-header-background":"#cdcdcd","dialog-shadow":"#7e7e7e","tab-border-color":"#939393","tab-background-color":"#f4f4f4","tab-panel-background-color":"#f4f4f4","tab-background-color-active":"#ffffff","bucket-tab-background-color":"#f4f4f4","bucket-tab-panel-background-color":"#f4f4f4","bucket-tab-background-color-active":"#ffffff","bucket-right-background-color":"#ffffff","bucket-border-color":"#939393","bucket-center-background-color":"#d8d8d8","bucket-left-background-color":"#f3f3f3","bucket-top-background-color":"#e5e5e5","bucket-sidebar-background-color":"#f3f3f3","form-background-color":"#e5e5e5","colortype-yellow-background-color":"#
|
|
155
|
+
`))],wa([Ln({type:String})],Ca.prototype,"text",void 0),wa([Ln({type:String})],Ca.prototype,"icon",void 0),wa([Ln({type:String,reflect:!0})],Ca.prototype,"type",void 0),wa([Ln({type:Boolean})],Ca.prototype,"closable",void 0),Ca=wa([En("og-alert")],Ca);class Ma extends Event{}class _a extends _n{constructor(){super(...arguments),this.customProperties={}}}const Sa={name:"light",type:"light",definition:{"font-size":$t(G.FONT_SIZE),"font-family":"verdana","base-radius":"3px","button-color":"var(--og-accent-color)","button-background-color":"#ffffff","button-background-color-highlight":"#cccccc",background:"#ffffff","background-color":"#ffffff","background-color-2":"#eeeeee","background-color-3":"#eeeeee","text-highlight-color":"#9b8400","text-color":"#000000","text-color-2":"#ffffff","text-color-3":"#000000","text-color-reversed":"#ffffff",border:"#cccccc","border-color":"#cccccc","border-color-2":"#939393","cell-background":"#ffffff","cell-border":"1px solid #cccccc","hcell-background":"#ececec","slider-background-color":"#eeeeee","slider-background-active":"#e2e2e2","slider-bar-color":"#aaaaaa","slider-bar-active":"#aaaaaa","expander-color":"#707070","expander-hover":"#00955d","expander-background-color":"#dbdbdb","sizer-background":"#00955d","frozen-border":"#b7b7b7","inset-shadow-color":"#707070","commands-color":"#000000","commands-background":"#ffffff","commands-header-background":"#cdcdcd","commands-input-background":"#f1f1f1","commands-shadow":"#7e7e7e","dialog-color":"#000000","dialog-background":"#ffffff","dialog-header-background":"#cdcdcd","dialog-shadow":"#7e7e7e","tab-border-color":"#939393","tab-background-color":"#f4f4f4","tab-panel-background-color":"#f4f4f4","tab-background-color-active":"#ffffff","bucket-tab-background-color":"#f4f4f4","bucket-tab-panel-background-color":"#f4f4f4","bucket-tab-background-color-active":"#ffffff","bucket-right-background-color":"#ffffff","bucket-border-color":"#939393","bucket-center-background-color":"#d8d8d8","bucket-left-background-color":"#f3f3f3","bucket-top-background-color":"#e5e5e5","bucket-sidebar-background-color":"#f3f3f3","form-background-color":"#e5e5e5","colortype-yellow-background-color":"#FBC02D","colortype-yellow-border-color":"#FBC02D","colortype-yellow-text-color":"#424242","colortype-green-background-color":"#43A047","colortype-green-border-color":"#43A047","colortype-green-text-color":"#FFFFFF","colortype-red-background-color":"#EF5350","colortype-red-border-color":"#EF5350","colortype-red-text-color":"#FFFFFF","colortype-blue-background-color":"#1E88E5","colortype-blue-border-color":"#1E88E5","colortype-blue-text-color":"#FFFFFF","colortype-gray-background-color":"#EEEEEE","colortype-gray-border-color":"#EEEEEE","colortype-gray-text-color":"#212121","colortype-accent-text-color":"#ffffff","switch-background-color":"#cccccc","switch-slider-color":"#ffffff"}},Ea={name:"dark",type:"dark",definition:{"font-size":$t(G.FONT_SIZE),"font-family":"verdana","base-radius":"3px","button-color":"var(--og-accent-color)","button-background-color":"#1e1e1e","button-background-color-highlight":"#3a3a3a","background-color":"#181818","background-color-2":"#1f1f1f","background-color-3":"#292929","text-highlight-color":"#FFFF00","text-color":"#9b9b9b","text-color-2":"#ffffff","text-color-3":"#ffffff","text-color-reversed":"#ffffff",border:"#3a3a3a","border-color":"#3a3a3a","border-color-2":"#2a2a2a","cell-background":"#1e1e1e","cell-border":"1px solid #3a3a3a","hcell-background":"#2e2e2e","slider-background-color":"#272727","slider-background-active":"#313131","slider-bar-color":"#494949","slider-bar-active":"#494949","expander-color":"#707070","expander-hover":"#00955d","expander-background-color":"#3F3F3F","sizer-background":"#00955d","frozen-border":"#000000","inset-shadow-color":"#000000","commands-color":"#ffffff","commands-background":"#181818","commands-header-background":"#363636","commands-input-background":"#1D1D1D","commands-shadow":"#151515","dialog-color":"#ffffff","dialog-background":"#181818","dialog-header-background":"#363636","dialog-shadow":"#151515","tab-border-color":"#2a2a2a","tab-background-color":"#181818","tab-panel-background-color":"#181818","tab-background-color-active":"#1f1f1f","bucket-tab-background-color":"#2d2d2d","bucket-tab-panel-background-color":"#252526","bucket-tab-background-color-active":"#1f1f1f","bucket-right-background-color":"#1e1e1e","bucket-border-color":"#2a2a2a","bucket-center-background-color":"#181818","bucket-left-background-color":"#181818","bucket-top-background-color":"#181818","bucket-sidebar-background-color":"#272727","form-background-color":"#323233","colortype-yellow-background-color":"#F9A825","colortype-yellow-border-color":"#F9A825","colortype-yellow-text-color":"#ffffff","colortype-green-background-color":"#2E7D32","colortype-green-border-color":"#2E7D32","colortype-green-text-color":"#ffffff","colortype-red-background-color":"#C62828","colortype-red-border-color":"#C62828","colortype-red-text-color":"#ffffff","colortype-blue-background-color":"#1976D2","colortype-blue-border-color":"#1976D2","colortype-blue-text-color":"#ffffff","colortype-gray-background-color":"#424242","colortype-gray-border-color":"#424242","colortype-gray-text-color":"#ffffff","colortype-accent-text-color":"#ffffff","switch-background-color":"#474747","switch-slider-color":"#ffffff"}},za=[{from:"accent-color",to:"accent-color-alpha",transform:t=>Dr(t)},{from:"accent-color",to:"accent-color-alpha-15",transform:t=>Dr(t,.15)},{from:"accent-color",to:"accent-color-alpha-30",transform:t=>Dr(t,.3)},{from:"accent-color",to:"accent-color-alpha-70",transform:t=>Dr(t,.7)},{from:"accent-color",to:"accent-color-highlight",transform:t=>$r(t)},{from:"accent-color",to:"colortype-accent-background-color",transform:t=>t},{from:"accent-color",to:"colortype-accent-border-color",transform:t=>t}],Ia=za;function La(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Ra(t){const e=new Map,i={...t.definition};t.accentColor&&(i["accent-color"]=t.accentColor);for(const t in i)e.set(`--${G.PREFIX}-${t}`,i[t]);return Ia.forEach((t=>{e.set(`--${G.PREFIX}-${t.to}`,t.transform(i[t.from]))})),e.set(`--${G.PREFIX}-bw`,"dark"==t.type?"#000000":"#ffffff"),e.set(`--${G.PREFIX}-bw-inverted`,"dark"==t.type?"#ffffff":"#000000"),e}function Ta(t){const e=Ra(t),i=Array.from(e).map((([t,e])=>`${t}: ${e};`)).join("\n");return bs(i)}function Aa(t,e){return e.forEach(((e,i)=>t.setProperty(i,e))),t}const Oa=t=>e=>{const i=Ta(t);return class extends e{static finalizeStyles(t){return t=t?Array.isArray(t)?t:[t]:[],_n.finalizeStyles([i,...t])}}},$a=t=>e=>{let i=[];return t.props.length>0&&(i=Object.values(ya).map((e=>bs(`\n\t\t\t:host([color="${e}"])${t.selector?` ${t.selector}`:""} {\n\t\t\t\t${t.props.map((t=>"color"==t?`color: var(--og-colortype-${e}-text-color);`:"background"==t?`background-color: var(--og-colortype-${e}-background-color);`:"border"==t?`border: 1px solid var(--og-colortype-${e}-border-color);`:void 0)).join("\n")}\n\t\t\t}\n\t\t`)))),class extends e{static finalizeStyles(t){return t=t?Array.isArray(t)?t:[t]:[],_n.finalizeStyles([...i,...t])}}},Da=document.documentElement;class Na extends Event{constructor(t,e){super(t),this.theme=e}}class Pa extends EventTarget{get activeTheme(){return this._activeTheme}constructor(t=Da){super(),this.elm=t,this.themes=new Map}registerTheme(t){t.accentColor=t.accentColor??G.DEFAULT_ACCENT_COLOR,this.themes.set(t.name,t)}activate(t){const e=this.themes.get(t);e?(this._activeTheme=e,Aa(this.elm.style,Ra(e)),this.dispatchEvent(new Na("change",e))):Er().warn(`Theme "${t}" not found`)}}let ja;function Ha(){return ja||(ja=new Pa),ja}Ha().registerTheme(Sa),Ha().registerTheme(Ea),Ha().activate("light"==La()?"light":"dark");const Fa=ys`
|
|
156
156
|
:host {
|
|
157
157
|
box-sizing: border-box;
|
|
158
158
|
font-size: var(--og-font-size);
|
|
@@ -2531,14 +2531,15 @@
|
|
|
2531
2531
|
.lineHeight="${this.options.itemHeight-2}"
|
|
2532
2532
|
.itemHeight="${this.options.itemHeight}"
|
|
2533
2533
|
.itemRenderer="${this._itemRenderer}"
|
|
2534
|
-
@select="${this._onSelect}"
|
|
2534
|
+
@select="${this._onSelect}"
|
|
2535
|
+
@render="${()=>this.layout()}">
|
|
2535
2536
|
</og-list>
|
|
2536
2537
|
</div>
|
|
2537
2538
|
|
|
2538
2539
|
${"bottom"==this.sectionPosition?this.renderSwitches():""}
|
|
2539
2540
|
|
|
2540
2541
|
${"bottom"==this.sectionPosition?this.renderTabs():""}
|
|
2541
|
-
`,this.addEventListener("click",(t=>t.stopPropagation())),this.addEventListener("keydown",this._onKeyDown)}connectedCallback(){super.connectedCallback(),this.tabIndex=0}focus(){this.input?.focus()}clearFilter(t=!0){this.input.value="",this.focus(),t&&this.updateCommands()}async willUpdate(t){if(t.has("adapter")&&this.adapter){this.adapter.attach(this);const t=await this.adapter.getSections(),e=await this.adapter.getOptions(t?.length?t[0].id:null);this.sections=t,e&&(this.options=Zp(e))}else t.has("commands")&&this.commands&&(this.model.clear(),this.commands.forEach((t=>this.model.register(t)))),t.has("options")&&(this.options=Zp(this.options))}async updated(t){["commands","adapter","model","activeSectionIndex"].some((e=>t.has(e)))&&await this.updateCommands(!0)}async updateCommands(t=!1){if(this.adapter){this.model.clear();const e=this.activeSection?.switches?.filter((t=>t.checked)).map((t=>t.key))||[];if(t){const t=await this.adapter.getOptions(this.activeSection?.id);this.options=Zp(t)}const[i,o]=await Promise.all([this.adapter.getGroups({sectionId:this.activeSection?.id,filter:this.filterValue,switches:e}),this.adapter.getCommands({sectionId:this.activeSection?.id,filter:this.filterValue,switches:e})]);i?.forEach((t=>this.model.registerGroup(t))),o?.forEach((t=>this.model.register(t))),this.visibleItems=this.model.filter(null,this.showGroups,!0)}else this.visibleItems=this.model.filter(this.filterValue,this.showGroups);this.placeholder=this.activeSection?.placeholder||"",this.list.reset(),this.list.size=this.visibleItems.length,this.list.selectedIndex=this.visibleItems.findIndex((t=>t instanceof Vp))??0,this.list.renderItems(!0),this.noResults=0==this.visibleItems.length
|
|
2542
|
+
`,this.addEventListener("click",(t=>t.stopPropagation())),this.addEventListener("keydown",this._onKeyDown)}connectedCallback(){super.connectedCallback(),this.tabIndex=0}focus(){this.input?.focus()}clearFilter(t=!0){this.input.value="",this.focus(),t&&this.updateCommands()}async willUpdate(t){if(t.has("adapter")&&this.adapter){this.adapter.attach(this);const t=await this.adapter.getSections(),e=await this.adapter.getOptions(t?.length?t[0].id:null);this.sections=t,e&&(this.options=Zp(e))}else t.has("commands")&&this.commands&&(this.model.clear(),this.commands.forEach((t=>this.model.register(t)))),t.has("options")&&(this.options=Zp(this.options))}async updated(t){["commands","adapter","model","activeSectionIndex"].some((e=>t.has(e)))&&await this.updateCommands(!0)}async updateCommands(t=!1){if(this.adapter){this.model.clear();const e=this.activeSection?.switches?.filter((t=>t.checked)).map((t=>t.key))||[];if(t){const t=await this.adapter.getOptions(this.activeSection?.id);this.options=Zp(t)}const[i,o]=await Promise.all([this.adapter.getGroups({sectionId:this.activeSection?.id,filter:this.filterValue,switches:e}),this.adapter.getCommands({sectionId:this.activeSection?.id,filter:this.filterValue,switches:e})]);i?.forEach((t=>this.model.registerGroup(t))),o?.forEach((t=>this.model.register(t))),this.visibleItems=this.model.filter(null,this.showGroups,!0)}else this.visibleItems=this.model.filter(this.filterValue,this.showGroups);this.placeholder=this.activeSection?.placeholder||"",this.list.reset(),this.list.size=this.visibleItems.length,this.list.selectedIndex=this.visibleItems.findIndex((t=>t instanceof Vp))??0,this.list.renderItems(!0),this.noResults=0==this.visibleItems.length}async toggleGroup(t){const e=this.model.groups.get(t);if(this.list.reset(),e.open)e.open=!1,this.visibleItems=this.model.filter(this.filterValue,this.showGroups,!0),this.list.size=this.visibleItems.length;else if(e.open=!0,this.adapter){const i=(await Promise.all([this.adapter.getCommands({sectionId:this.activeSection?.id,groupId:t,filter:this.filterValue})]))[0];i.length>0&&(e.commands.clear(),i.forEach((i=>{i.group&&i.group!=t||e.addCommand(i)}))),this.visibleItems=this.model.filter(null,this.showGroups,!0)}else this.visibleItems=this.model.filter(this.filterValue,this.showGroups,!0);this.list.size=this.visibleItems.length}getSectionTitle(t){return(t.title??t.id)+(t.triggerCommand?` (${t.triggerCommand})`:"")}layout(){this.listWrapper&&(this.listWrapper.style.transition="flex-basis 0.2s ease-in-out",this.listWrapper.style.flexBasis=Dt(this.list.offsetHeight),Nt(this.listWrapper,{h:this.list.offsetHeight}))}};ig.styles=[Xp],Kp([Ln({type:Object})],ig.prototype,"options",void 0),Kp([Ln({type:String})],ig.prototype,"mode",void 0),Kp([Ln({type:String})],ig.prototype,"value",void 0),Kp([Ln({type:String,reflect:!0})],ig.prototype,"sectionPosition",void 0),Kp([Ln({type:String})],ig.prototype,"text",void 0),Kp([Ln({type:Array})],ig.prototype,"commands",void 0),Kp([Ln({type:Object})],ig.prototype,"adapter",void 0),Kp([Ln({type:Object})],ig.prototype,"target",void 0),Kp([Ln({type:String})],ig.prototype,"placeholder",void 0),Kp([Ln({type:Boolean})],ig.prototype,"showGroups",void 0),Kp([Ln({type:Object})],ig.prototype,"model",void 0),Kp([Rn()],ig.prototype,"sections",void 0),Kp([Rn()],ig.prototype,"activeSectionIndex",void 0),Kp([Rn()],ig.prototype,"noResults",void 0),Kp([An(".list")],ig.prototype,"listWrapper",void 0),Kp([An("og-list")],ig.prototype,"list",void 0),Kp([An("input")],ig.prototype,"input",void 0),Kp([An("og-dropdown-list")],ig.prototype,"dropdown",void 0),ig=Kp([En("og-commands")],ig);class og extends Xd{filterCommands(t,e){if(!t)return[];const i=null==e?.filter?null:new RegExp(ut(e.filter),"i");return null==i?t:t.filter((t=>i.test(t.id||t.name||"")))}getGroups(t){return[]}getCommands(t){return[]}getSections(t){return[{id:"default"}]}getOptions(t){return null}exec(t,e){}}class rg extends og{get commands(){return this._commands}set commands(t){this._commands=t,this.map.clear();const e=t=>{t.forEach((t=>{this.map.set(t.id??t.name,t),t.next?.commands&&e(t.next.commands)}))};e(this._commands)}constructor(t){super(),this.map=new Map,this.commandChain=[],this._commands=[],this.commands=t}getCommands(t){const e=this.commandChain.length?this.commandChain[this.commandChain.length-1]:null,i=e?this.map.get(e.id)?.next?.commands:null;return this.filterCommands(i||this.commands,t)}exec(t,e){const i=this.map.get(t.id)?.next;i?.commands?.length?(this.commandChain.push(t),null==this._originalText&&(this._originalText=this.component.text),null==this._originalMode&&(this._originalMode=this.component.mode),null!=i.text&&(this.component.text=i.text),null!=i.mode&&(this.component.mode=i.mode)):this.reset(),this.component.updateCommands()}reset(){this.commandChain=[],this.component&&(this.component.text=this._originalText,this.component.mode=this._originalMode),this._originalText=null,this._originalMode=null}getOptions(){return null}}const sg={yes_no:t=>[{id:"Y",name:"Yes",exec:t},{id:"N",name:"No",exec:t}],apply:t=>[{id:"apply",name:"Apply",exec:t},{id:"cancel",name:"Cancel"}],ok:t=>[{id:"ok",name:"OK",exec:t},{id:"cancel",name:"Cancel"}]},ng=(t,e)=>sg[t](e);class ag{get commands(){return this._commands}constructor(t){this.target=t,this._commands=[],this._onExec=t=>{Er().info(`trigger command: ${t.command.id}`),this._resolveCallback&&this._resolveCallback(t.command),this._resolveCallback=null,this._rejectCallback=null,null==this.adapter.map.get(t.command.id)?.next&&this.close()}}clear(){this._commands=[],this._adapter=null}add(t){this._commands.push(...Array.isArray(t)?t:[t]),this._adapter=null}get adapter(){return this._adapter||(this._adapter=new rg(this._commands)),this._adapter}cleanCallbacks(){this._rejectCallback&&this._rejectCallback(),this._resolveCallback=null,this._rejectCallback=null}get menu(){return this._menu??(this._menu=yt("og-commands",{listeners:[["command.exec",this._onExec]]}))}get menuContainer(){return this._menuContainer||(this._menuContainer=yt("og-floating-window",{listeners:[["hide",()=>{this.target?.focus(),this.adapter?.reset()}]]}),this.menu.slot="content",this._menuContainer.appendChild(this.menu)),this._menuContainer}async open(t){return Er().info("open menu"),this.target.shadowRoot.appendChild(this.menuContainer),this.menuContainer.show(),t??(t={content:null}),this.menu.text=t.text,this.menu.value=t.value,this.menu.mode=t.mode||"search",Array.isArray(t.content)?(this.menu.commands=t.content,this.menu.adapter=null):"string"==typeof t.content?(this.menu.commands=ng(t.content),this.menu.adapter=null):(this.menu.commands=null,this.menu.adapter=this.adapter),await this.menu.updateComplete,this.menu.focus(),this.updatePosition(),new Promise(((t,e)=>{this._resolveCallback=t,this._rejectCallback=e}))}close(){this.menuContainer.hide(!1),this.menuContainer.remove(),this.cleanCallbacks(),this.target?.focus()}updatePosition(){Nt(this.menuContainer,{w:.9*this.target.clientWidth}),Yt(this.menuContainer,this.target,{horizontal:!0,vertical:!1}),Ht(this.menuContainer,{t:50})}}const lg={TOP_HEIGHT:41,SIDEMENU_WIDTH:41,SIDEBAR_WIDTH:250,SIZER_TRESHOLD:5,SIDEBAR_HEADER_HEIGHT:30,ALERT_DEFAULT_HEIGHT:30,ALERT_MAX_HEIGHT:300,...G},cg=ys`
|
|
2542
2543
|
:host {
|
|
2543
2544
|
display: flex;
|
|
2544
2545
|
flex-direction: column;
|
|
@@ -2624,7 +2625,7 @@
|
|
|
2624
2625
|
}
|
|
2625
2626
|
*/
|
|
2626
2627
|
|
|
2627
|
-
`;class hg extends eu{constructor(){super(...arguments),this.items=[]}async addAlert(t){const e=yt("og-bucket-alert"),i={options:t,component:e};e.options=t,e.addEventListener("close",(()=>this.removeAlert(i))),this.component.shadowRoot.appendChild(e),this.items.push(i),this.items.length>this.component.options.alerts.maxItems&&this.removeAlert(this.items[0]);const o=t.timeout??this.component.options.alerts.timeout;o>0&&(i.timer=window.setTimeout((()=>{i.timer=void 0,this.removeAlert(i)}),o)),await this.component.updateComplete,this.updatePositions()}updatePositions(){[...this.items].reverse().forEach(((t,e)=>{Ht(t.component,{r:10,b:10+e*(t.component.offsetHeight+10)})}))}removeAlert(t){const e=this.items.indexOf(t);-1!=e&&(this.items[e].component.remove(),this.items.splice(e,1),null!=t.timer&&window.clearTimeout(t.timer),t.timer=void 0,this.updatePositions())}}const dg={alerts:{maxItems:5,timeout:5e3}};function ug(t,e=null){return{...is(t,e),...dg,...e,...t}}class pg extends eu{constructor(){super(...arguments),this._componentPromiseResolutions=new Map,this._resolvingComponentIds=new Set,this.paths=new Map,this.components=new Map,this.anonymousComponents=new Map,this.unsavedComponents=new Set,this.states=new Map}get hasUnsavedComponents(){return this.unsavedComponents.size>0}get bucket(){return this.component}setState(t,e){const i=this.components.get(t);i&&i.setState?i.setState(e):this.states.set(t,e)}has(t){return this.components.has(t)||this.anonymousComponents.has(t)||this._resolvingComponentIds.has(t)}get(t){let e=this.components.get(t);return e??(e=this.anonymousComponents.get(t)),e?(this.resolveComponentPromises(t,e),e):new Promise(((e,i)=>{const o=this.components.get(t);if(this.enqueueComponentResolution(t,e,i),!this._resolvingComponentIds.has(t)){if(o)return this.resolveComponentPromises(t,o);this._resolvingComponentIds.add(t),Promise.all([this.component.createComponent(t)]).then((e=>{const i=e[0];if(i){this.register(t,i);const e=this.bucket.state;e?.components&&e?.components[t]&&i.setState&&i.setState(e.components[t])}this.resolveComponentPromises(t,i)}))}}))}resolveComponentPromises(t,e){this._componentPromiseResolutions.has(t)&&(this._componentPromiseResolutions.get(t).forEach((t=>t.resolve(e))),this._componentPromiseResolutions.delete(t)),this._resolvingComponentIds.delete(t)}enqueueComponentResolution(t,e,i){this._componentPromiseResolutions.has(t)||this._componentPromiseResolutions.set(t,[]),this._componentPromiseResolutions.get(t).push({resolve:e,reject:i})}update(t,e){const i=e.id??t;if(this.bucket.editorContainer.updateTab(t,{id:i,title:e.title??void 0}),this.components.has(t)&&i!=t){const e=this.components.get(t);this.unregister(t),this.register(i,e)}return this.components.get(i)}register(t,e){if(null==t)t=`temp_${wg.getUniqueId()}`,this.anonymousComponents.set(t,e);else if(this.components.set(t,e),this.has(t))return t;return this.bucket.dispatchEvent(new yg("register",{componentId:t})),t}unregister(t){this.components.delete(t),this.anonymousComponents.delete(t),this.paths.delete(t),this.bucket.dispatchEvent(new yg("unregister",{componentId:t}))}async getPath(t){if(this.paths.has(t))return this.paths.get(t);if(!this.bucket.options.pathResolver)return[];const e=await this.bucket.options.pathResolver(t);return this.paths.set(t,e),e}}class gg extends eu{constructor(){super(...arguments),this.modalSidebars=[],this.modalSidebarComponents=new Map,this.createModalSidebarComponent=t=>{const e=yt("og-bucket-modal-sidebar");return e.className=t.position??"left",e.componentId=t.id,e.caption=t.caption,e.closable=null==t.closable||t.closable,e.bucket=this.bucket,e}}get bucket(){return this.component}get components(){return this.bucket.components}updateModalSidebarPositions(){this.modalSidebars.length>0?this.bucket.showOverlay():this.bucket.hideOverlay();const t=this.bucket.compact?this.bucket.sidemenu.offsetWidth:this.bucket.container.containers[0].offsetWidth+this.bucket.sidemenu.offsetWidth;let e=0,i=0;this.modalSidebars.forEach((async o=>{const r=this.modalSidebarComponents.get(o.id),s="right"==o.position,n=s?i:e;r&&(Ut(r,500+n),Nt(r,{w:o.width||lg.SIDEBAR_WIDTH}),s?(i++,Ht(r,{t:0,r:0+20*n,b:0})):(Ht(r,{t:0,l:t+20*n,b:0}),e++))}))}async openModalSidebar(t){return this.bucket.showOverlay(),this.modalSidebars.push(t),t.component&&(t.id=t.id||`temp-${wg.getUniqueId()}`,this.components.register(t.id,t.component)),new Promise(((e,i)=>{this.components.enqueueComponentResolution(t.id,e,i);const o=this.createModalSidebarComponent(t);this.modalSidebarComponents.set(t.id,o),this.bucket.body.appendChild(o),this.updateModalSidebarPositions()}))}async closeModalSidebar(t=!1){const e=t?0:this.modalSidebars.length-1;for(;this.modalSidebars.length>e;){const t=this.modalSidebars.pop();t&&(this.modalSidebarComponents.get(t.id).remove(),this.modalSidebarComponents.delete(t.id),this.components.unregister(t.id))}this.updateModalSidebarPositions()}}class mg extends eu{constructor(){super(...arguments),this.items=new Map}get bucket(){return this.component}register(t,e){this.items.set(t,e)}unregister(t){this.items.delete(t),this.bucket.components.unregister(t)}async open(t){const e=yt("og-dialog");e.setOptions(t),e.open(this.bucket),e.componentId=t.id,e.showLoader();let i=t.component;return delete t.component,!i&&t.id&&(i=await this.bucket.createComponent(t.id),this.register(t.id,e)),e.hideLoader(),e.addEventListener("dialog.close",(t=>this.unregister(t.dialog.componentId))),e.addEventListener("dialog.move",(()=>this.bucket.dispatchStateEvent())),e.component=i,t.id&&(this.register(t.id,e),this.bucket.dispatchStateEvent()),e}}var fg,vg=function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};const bg={top:{rightItems:[]},sidemenu:{items:[],activeIndex:null},editorLayout:{items:[]}};class yg extends Event{constructor(t,e){super(`bucket.${t}`,{bubbles:!0,composed:!0}),Object.assign(this,e)}}let wg=fg=class extends Jd{get activeComponentId(){return this._activeComponentId}get container(){return this._container||(this._container=yt("og-splitcontainer"),this._container.orientation="horizontal",this._container.items=[{size:lg.SIDEBAR_WIDTH},{size:null}],this._container.createComponent=this._createSplitContainerComponent,this._container.addEventListener("splitContainer.resize",this._onSplitContainerResize),this._container.addEventListener("tab.beforeRemove",this._onTabBeforeRemove),this._container.addEventListener("tab.remove",this._onTabRemove),this._container.addEventListener("tab.select",this._onTabSelect)),this._container}get editorContainer(){return this._editorContainer||(this._editorContainer=yt("og-tabsplitcontainer"),this._editorContainer.style.height="100%",this._editorContainer.closable=!0,this._editorContainer.singleActive=!0,this._editorContainer.createComponent=this.createEditorComponent,this._editorContainer.model=new zp(this.sourceData.editorLayout),this._editorContainer.scrollableTabs=!0),this._editorContainer}get sidebarHost(){return this._sidebarHost||(this._sidebarHost=yt("og-bucket-sidebar"),this._sidebarHost.bucket=this,this._sidebarHost.componentId=this.sidebar1ComponentId),this._sidebarHost}constructor(){super(),this.sourceData=bg,this.logger=new Mr("Ωbucket"),this.compact=!1,this.updateContainerVisibility=q((()=>{let t=!1;this.editorContainer.walk(((e,i)=>{if(i.tabs?.items?.length)return t=!0,!1})),t?xt(this.editorContainer):kt(this.editorContainer)}),100),this.showOverlay=()=>this.overlay.show(this.body),this.hideOverlay=()=>this.overlay.hide(),this._onWindowBeforeUnload=t=>{this.components.hasUnsavedComponents&&(t.preventDefault(),t.returnValue="")},this.createEditorComponent=t=>{const e=yt("og-bucket-component-host");return e.componentId=t,e.bucket=this,e},this._createSplitContainerComponent=t=>{let e;return 0==t?(this.logger.info("create primary sidebar"),this.sidebarHost):1==t?(this.logger.info("create editor container"),this.editorContainer):(e||(e=yt("div"),e.innerHTML="empty"),e)},this._onSplitContainerResize=()=>{this.top?.layout(),this.dispatchStateEvent()},this._onTabRemove=t=>{this.components.unregister(t.tab.id),this.dispatchEvent(new yg("close",{tab:t.tab,componentId:t.tab.id})),this.dispatchStateEvent()},this._onTabBeforeRemove=t=>{this.components.unsavedComponents.has(t.tab.id)&&(t.preventDefault(),this.openMenu({text:"Discard changes and close tab?",content:"yes_no"}).then((e=>{"Y"==e?.id&&(this.components.unsavedComponents.delete(t.tab.id),t.tabs.removeTab(t.index,!0))})))},this._onTabSelect=t=>{t.tabs.topLevelComponent==this.editorContainer&&(this._activeComponentId=t.tab?.id,this.dispatchEvent(new yg("activate",{tab:t.tab,componentId:t.tab?.id})),this.dispatchStateEvent())},this.render=()=>sn`
|
|
2628
|
+
`;class hg extends eu{constructor(){super(...arguments),this.items=[]}async addAlert(t){const e=yt("og-bucket-alert"),i={options:t,component:e};e.options=t,e.addEventListener("close",(()=>this.removeAlert(i))),this.component.shadowRoot.appendChild(e),this.items.push(i),this.items.length>this.component.options.alerts.maxItems&&this.removeAlert(this.items[0]);const o=t.timeout??this.component.options.alerts.timeout;o>0&&(i.timer=window.setTimeout((()=>{i.timer=void 0,this.removeAlert(i)}),o)),await this.component.updateComplete,this.updatePositions()}updatePositions(){[...this.items].reverse().forEach(((t,e)=>{Ht(t.component,{r:10,b:10+e*(t.component.offsetHeight+10)})}))}removeAlert(t){const e=this.items.indexOf(t);-1!=e&&(this.items[e].component.remove(),this.items.splice(e,1),null!=t.timer&&window.clearTimeout(t.timer),t.timer=void 0,this.updatePositions())}}const dg={alerts:{maxItems:5,timeout:5e3}};function ug(t,e=null){return{...is(t,e),...dg,...e,...t}}class pg extends eu{constructor(){super(...arguments),this._componentPromiseResolutions=new Map,this._resolvingComponentIds=new Set,this.paths=new Map,this.components=new Map,this.anonymousComponents=new Map,this.unsavedComponents=new Set,this.states=new Map}get hasUnsavedComponents(){return this.unsavedComponents.size>0}get bucket(){return this.component}setState(t,e){const i=this.components.get(t);i&&i.setState?i.setState(e):this.states.set(t,e)}has(t){return this.components.has(t)||this.anonymousComponents.has(t)||this._resolvingComponentIds.has(t)}get(t){let e=this.components.get(t);return e??(e=this.anonymousComponents.get(t)),e?(this.resolveComponentPromises(t,e),e):new Promise(((e,i)=>{const o=this.components.get(t);if(this.enqueueComponentResolution(t,e,i),!this._resolvingComponentIds.has(t)){if(o)return this.resolveComponentPromises(t,o);this._resolvingComponentIds.add(t),Promise.all([this.component.createComponent(t)]).then((e=>{const i=e[0];if(i){this.register(t,i);const e=this.bucket.state;e?.components&&e?.components[t]&&i.setState&&i.setState(e.components[t])}this.resolveComponentPromises(t,i)}))}}))}resolveComponentPromises(t,e){this._componentPromiseResolutions.has(t)&&(this._componentPromiseResolutions.get(t).forEach((t=>t.resolve(e))),this._componentPromiseResolutions.delete(t)),this._resolvingComponentIds.delete(t)}enqueueComponentResolution(t,e,i){this._componentPromiseResolutions.has(t)||this._componentPromiseResolutions.set(t,[]),this._componentPromiseResolutions.get(t).push({resolve:e,reject:i})}update(t,e){const i=e.id??t;if(this.bucket.editorContainer.updateTab(t,{id:i,title:e.title??void 0}),this.components.has(t)&&i!=t){const e=this.components.get(t);this.unregister(t),this.register(i,e)}return this.components.get(i)}register(t,e){if(null==t)t=`temp_${wg.getUniqueId()}`,this.anonymousComponents.set(t,e);else if(this.components.set(t,e),this.has(t))return t;return this.bucket.dispatchEvent(new yg("register",{componentId:t})),t}unregister(t){this.components.delete(t),this.anonymousComponents.delete(t),this.paths.delete(t),this.bucket.dispatchEvent(new yg("unregister",{componentId:t}))}async getPath(t){if(this.paths.has(t))return this.paths.get(t);if(!this.bucket.options.pathResolver)return[];const e=await this.bucket.options.pathResolver(t);return this.paths.set(t,e),e}}class gg extends eu{constructor(){super(...arguments),this.modalSidebars=[],this.modalSidebarComponents=new Map,this.createModalSidebarComponent=t=>{const e=yt("og-bucket-modal-sidebar");return e.className=t.position??"left",e.componentId=t.id,e.caption=t.caption,e.closable=null==t.closable||t.closable,e.bucket=this.bucket,e}}get bucket(){return this.component}get components(){return this.bucket.components}updateModalSidebarPositions(){this.modalSidebars.length>0?this.bucket.showOverlay():this.bucket.hideOverlay();const t=this.bucket.compact?this.bucket.sidemenu.offsetWidth:this.bucket.container.containers[0].offsetWidth+this.bucket.sidemenu.offsetWidth;let e=0,i=0;this.modalSidebars.forEach((async o=>{const r=this.modalSidebarComponents.get(o.id),s="right"==o.position,n=s?i:e;r&&(Ut(r,500+n),Nt(r,{w:o.width||lg.SIDEBAR_WIDTH}),s?(i++,Ht(r,{t:0,r:0+20*n,b:0})):(Ht(r,{t:0,l:t+20*n,b:0}),e++))}))}async openModalSidebar(t){return this.bucket.showOverlay(),this.modalSidebars.push(t),t.component&&(t.id=t.id||`temp-${wg.getUniqueId()}`,this.components.register(t.id,t.component)),new Promise(((e,i)=>{this.components.enqueueComponentResolution(t.id,e,i);const o=this.createModalSidebarComponent(t);this.modalSidebarComponents.set(t.id,o),this.bucket.body.appendChild(o),this.updateModalSidebarPositions()}))}async closeModalSidebar(t=!1){const e=t?0:this.modalSidebars.length-1;for(;this.modalSidebars.length>e;){const t=this.modalSidebars.pop();t&&(this.modalSidebarComponents.get(t.id).remove(),this.modalSidebarComponents.delete(t.id),this.components.unregister(t.id))}this.updateModalSidebarPositions()}}class mg extends eu{constructor(){super(...arguments),this.items=new Map}get bucket(){return this.component}register(t,e){this.items.set(t,e)}unregister(t){this.items.delete(t),this.bucket.components.unregister(t)}async open(t){const e=yt("og-dialog");e.setOptions(t),e.open(this.bucket),e.componentId=t.id,e.showLoader();let i=t.component;return delete t.component,!i&&t.id&&(i=await this.bucket.createComponent(t.id),this.register(t.id,e)),e.hideLoader(),e.addEventListener("dialog.close",(t=>this.unregister(t.dialog.componentId))),e.addEventListener("dialog.move",(()=>this.bucket.dispatchStateEvent())),e.component=i,t.id&&(this.register(t.id,e),this.bucket.dispatchStateEvent()),e}}var fg,vg=function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};const bg={top:{rightItems:[]},sidemenu:{items:[],activeIndex:null},sidebar:{width:lg.SIDEBAR_WIDTH,collapsed:!1},editorLayout:{items:[]}};class yg extends Event{constructor(t,e){super(`bucket.${t}`,{bubbles:!0,composed:!0}),Object.assign(this,e)}}let wg=fg=class extends Jd{get activeComponentId(){return this._activeComponentId}get container(){return this._container||(this._container=yt("og-splitcontainer"),this._container.orientation="horizontal",this._container.items=[{size:this.sourceData.sidebar?.width||lg.SIDEBAR_WIDTH,collapsed:this.sourceData.sidebar?.collapsed||!1},{size:null}],this._container.createComponent=this._createSplitContainerComponent,this._container.addEventListener("splitContainer.resize",this._onSplitContainerResize),this._container.addEventListener("tab.beforeRemove",this._onTabBeforeRemove),this._container.addEventListener("tab.remove",this._onTabRemove),this._container.addEventListener("tab.select",this._onTabSelect)),this._container}get editorContainer(){return this._editorContainer||(this._editorContainer=yt("og-tabsplitcontainer"),this._editorContainer.style.height="100%",this._editorContainer.closable=!0,this._editorContainer.singleActive=!0,this._editorContainer.createComponent=this.createEditorComponent,this._editorContainer.model=new zp(this.sourceData.editorLayout),this._editorContainer.scrollableTabs=!0),this._editorContainer}get sidebarHost(){return this._sidebarHost||(this._sidebarHost=yt("og-bucket-sidebar"),this._sidebarHost.bucket=this,this._sidebarHost.componentId=this.sidebar1ComponentId),this._sidebarHost}constructor(){super(),this.sourceData=bg,this.logger=new Mr("Ωbucket"),this.compact=!1,this.updateContainerVisibility=q((()=>{let t=!1;this.editorContainer.walk(((e,i)=>{if(i.tabs?.items?.length)return t=!0,!1})),t?xt(this.editorContainer):kt(this.editorContainer)}),100),this.showOverlay=()=>this.overlay.show(this.body),this.hideOverlay=()=>this.overlay.hide(),this._onWindowBeforeUnload=t=>{this.components.hasUnsavedComponents&&(t.preventDefault(),t.returnValue="")},this.createEditorComponent=t=>{const e=yt("og-bucket-component-host");return e.componentId=t,e.bucket=this,e},this._createSplitContainerComponent=t=>{let e;return 0==t?(this.logger.info("create primary sidebar"),this.sidebarHost):1==t?(this.logger.info("create editor container"),this.editorContainer):(e||(e=yt("div"),e.innerHTML="empty"),e)},this._onSplitContainerResize=()=>{this.top?.layout(),this.dispatchStateEvent()},this._onTabRemove=t=>{this.components.unregister(t.tab.id),this.dispatchEvent(new yg("close",{tab:t.tab,componentId:t.tab.id})),this.dispatchStateEvent()},this._onTabBeforeRemove=t=>{this.components.unsavedComponents.has(t.tab.id)&&(t.preventDefault(),this.openMenu({text:"Discard changes and close tab?",content:"yes_no"}).then((e=>{"Y"==e?.id&&(this.components.unsavedComponents.delete(t.tab.id),t.tabs.removeTab(t.index,!0))})))},this._onTabSelect=t=>{t.tabs.topLevelComponent==this.editorContainer&&(this._activeComponentId=t.tab?.id,this.dispatchEvent(new yg("activate",{tab:t.tab,componentId:t.tab?.id})),this.dispatchStateEvent())},this.render=()=>sn`
|
|
2628
2629
|
<og-bucket-top></og-bucket-top>
|
|
2629
2630
|
|
|
2630
2631
|
<div class="body">
|
|
@@ -3887,6 +3888,14 @@
|
|
|
3887
3888
|
border-left: var(--og-cell-border);
|
|
3888
3889
|
}
|
|
3889
3890
|
|
|
3891
|
+
:host([hideOuterBorder]) table tr:first-child th {
|
|
3892
|
+
border-top: none;
|
|
3893
|
+
}
|
|
3894
|
+
|
|
3895
|
+
:host([hideOuterBorder]) table tr>td:first-child, :host([hideOuterBorder]) table tr>th:first-child {
|
|
3896
|
+
border-left: none;
|
|
3897
|
+
}
|
|
3898
|
+
|
|
3890
3899
|
thead {
|
|
3891
3900
|
overflow: visible;
|
|
3892
3901
|
}
|
|
@@ -4106,7 +4115,7 @@
|
|
|
4106
4115
|
position: relative;
|
|
4107
4116
|
right: -4px;
|
|
4108
4117
|
}
|
|
4109
|
-
`,Sx([Ln({type:Object,hasChanged:()=>!0})],Ex.prototype,"sortSettings",void 0),Ex=Sx([En("og-sortingarrow")],Ex);var zx=function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};class Ix extends Event{}let Lx=class extends _n{constructor(){super(...arguments),this._rowMap=new Map,this._colMap=new Map,this.rowOffset=0,this.colOffset=0,this.zoom=1,this.nogrid=!1,this.renderAll=!1,this.getColumnByModelIndex=t=>this.getColumnByGridIndex(this.colMap.get(t)),this.getColumnByGridIndex=t=>this.colgroup.children[t+this.rowHeaderCount],this.getRowByModelIndex=t=>this.bRows[this.rowMap.get(t)],this.getRowByGridIndex=t=>this.bRows[t],this.getCellByGridIndex=(t,e)=>this.bRows[e].children[t+this.rowHeaderCount],this.getCellByModelIndex=(t,e)=>this.getRowByModelIndex(e)?.children[this.colMap.get(t)+this.rowHeaderCount],this.getCellByCellModel=t=>this.getCellByModelIndex(t.c,t.r),this.resetFreezeLeft=()=>this._freezeLeft=null,this._highlightedColHeaderCells=[],this._highlightedRowHeaderCells=[],this.render=()=>sn`
|
|
4118
|
+
`,Sx([Ln({type:Object,hasChanged:()=>!0})],Ex.prototype,"sortSettings",void 0),Ex=Sx([En("og-sortingarrow")],Ex);var zx=function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};class Ix extends Event{}let Lx=class extends _n{constructor(){super(...arguments),this._rowMap=new Map,this._colMap=new Map,this.hideOuterBorder=!1,this.rowOffset=0,this.colOffset=0,this.zoom=1,this.nogrid=!1,this.renderAll=!1,this.getColumnByModelIndex=t=>this.getColumnByGridIndex(this.colMap.get(t)),this.getColumnByGridIndex=t=>this.colgroup.children[t+this.rowHeaderCount],this.getRowByModelIndex=t=>this.bRows[this.rowMap.get(t)],this.getRowByGridIndex=t=>this.bRows[t],this.getCellByGridIndex=(t,e)=>this.bRows[e].children[t+this.rowHeaderCount],this.getCellByModelIndex=(t,e)=>this.getRowByModelIndex(e)?.children[this.colMap.get(t)+this.rowHeaderCount],this.getCellByCellModel=t=>this.getCellByModelIndex(t.c,t.r),this.resetFreezeLeft=()=>this._freezeLeft=null,this._highlightedColHeaderCells=[],this._highlightedRowHeaderCells=[],this.render=()=>sn`
|
|
4110
4119
|
<style>
|
|
4111
4120
|
table {
|
|
4112
4121
|
font-size: ${this.model?.options.fontSize||12}px;
|
|
@@ -4118,7 +4127,7 @@
|
|
|
4118
4127
|
</style>
|
|
4119
4128
|
|
|
4120
4129
|
${this.table}
|
|
4121
|
-
`,this.clearHeaderCache=()=>{this.resetFreezeLeft(),this.hCache=new vx(this.model.columns.length,this.columnHeaderCount),this.hCache.disabled=!this.model.options.cellCache},this.clearBodyCache=()=>{this.bCache=new vx(this.model.columns.length,this.model.rows.length),this.bCache.disabled=!this.model.options.cellCache},this.cellRenderSchedules=new WeakMap}get thead(){return this._thead?this._thead:this._thead=yt("thead")}get tbody(){return this._tbody?this._tbody:this._tbody=yt("tbody")}get colgroup(){return this._colgroup?this._colgroup:this._colgroup=yt("colgroup")}get table(){return this._table||(this._table=yt("table"),this._table.appendChild(this.colgroup),this._table.appendChild(this.thead),this._table.appendChild(this.tbody)),this._table}get colMap(){return this._colMap}get rowMap(){return this._rowMap}get freezeLeft(){if(null==this._freezeLeft)if(this.offsetWidth>0){let t=0;for(let e=0;e<this.model.options.freezeLeft;e++)t+=this.model.columns[e].width;this._freezeLeft=t<this.offsetWidth/2?this.model.options.freezeLeft:0}else this._freezeLeft=this.model.options.freezeLeft;return this._freezeLeft}get freezeTop(){return null==this._freezeTop&&(this._freezeTop=this.model.options.freezeTop),this._freezeTop}previewZoom(t){Qt(this.table,t)}highlightColHeaderCells(t){if(!this.model.options.colLetters)return;this._highlightedColHeaderCells.forEach((t=>t.className="hlabel")),this._highlightedColHeaderCells=[];const e=this.rowHeaderCount;t.forEach((t=>{const i=this.hRows[this.model.hasColumnTreeEnabled?1:0].children[this.colMap.get(t)+e];i&&(this._highlightedColHeaderCells.push(i),i.className="hlabel selected")}))}highlightRowHeaderCells(t){this.model.options.rowNumbers&&0!=this.model.rows.length&&(this._highlightedRowHeaderCells.forEach((t=>t.className="vlabel")),this._highlightedRowHeaderCells=[],t.forEach((t=>{const e=this.getRowByModelIndex(t)?.children[this.model.hasRowTreeEnabled?1:0];e&&(this._highlightedRowHeaderCells.push(e),e.className="vlabel selected")})))}get columnHeaderCount(){return this.model.headerCount+(this.model.hasColumnTreeEnabled?1:0)+(this.model.hasFilter?1:0)+(this.model.options.colLetters?1:0)}get rowHeaderCount(){return(this.model.hasRowTreeEnabled?1:0)+(this.model.options.rowNumbers?1:0)}get renderRowCount(){return this.renderAll?this.model.visibleRows.length:Math.round(Math.min(this.clientHeight/fx.MIN_ROW_HEIGHT,this.model.rows.length))}get renderColCount(){return this.renderAll?this.model.visibleColumns.length+this.rowHeaderCount:Math.round(Math.min(this.clientWidth/fx.MIN_COL_WIDTH||5,this.model.columns.length+this.rowHeaderCount))}get totalHeaderHeight(){let t=0,e=0;this.model.hasColumnTreeEnabled&&(t+=this.treeHeaderHeight,++e),this.model.options.colLetters&&(t+=this.thead.children[e].offsetHeight||this.model.options.rowHeight,++e);for(let i=0;i<this.model.headerCount;i++)t+=this.thead.children[e+i].offsetHeight||this.model.options.rowHeight;return this.model.hasFilter&&(t+=this.model.options.rowHeight),t}get treeHeaderWidth(){return this.model.hasRowTreeEnabled?15*this.model.maxRowLevel+20:0}get treeHeaderHeight(){return this.model.hasColumnTree?15*this.model.maxColumnLevel+20:0}get totalHeaderWidth(){let t=0;return this.model.options.rowNumbers&&(t+=fx.ROW_HEADER_WIDTH),t+=this.treeHeaderWidth,t}get viewportSize(){return this._viewportSize||(this._viewportSize=this.renderAll?{w:1/0,h:1/0}:{w:(this.clientWidth-this.totalHeaderWidth-fx.SLIDER_SIZE)/this.zoom,h:(this.clientHeight-this.totalHeaderHeight-fx.SLIDER_SIZE)/this.zoom}),this._viewportSize}get viewport(){return this._viewport||(this._viewport=this.model.getViewport({c:this.colOffset,r:this.rowOffset},this.viewportSize,{t:this.model.options.freezeTop,l:this.freezeLeft,b:this.model.options.freezeBottom,r:this.model.options.freezeRight})),this._viewport}get viewportRange(){return 0==this.viewport.columns.length||0==this.viewport.rows.length?null:new pv(this.viewport.columns[0].index,this.viewport.rows[0].index,this.viewport.columns[this.viewport.columns.length-1].index,this.viewport.rows[this.viewport.rows.length-1].index)}findColumnIndexByOffset(t){let e=0;const i=this.colgroup.children;for(let o=0;o<i.length;o++)if(e+=i[o].offsetWidth,e>=t)return o;return-1}findRowByOffset(t){const e=(t>this.thead.offsetHeight?this.tbody:this.thead).children;t>this.thead.offsetHeight&&(t-=this.thead.offsetHeight);let i=0;for(let o=0;o<e.length;o++){const r=e[o];if(i+=r.offsetHeight,i>=t)return r}return null}findTableCellByOffset(t,e){t/=this.zoom,e/=this.zoom;const i=this.findRowByOffset(e),o=this.findColumnIndexByOffset(t),r=i&&o>-1?i.children[o]:null;return r&&!Ct(r)?r:null}findNearestTableCellByOffset(t,e){let i,o;t/=this.zoom,e/=this.zoom;const r=this.findRowByOffset(e),s=this.findColumnIndexByOffset(t);i=e<0?this.tbody.children[0]:e>this.tbody.offsetHeight+this.thead.offsetHeight?this.tbody.children[this.viewport.rows.length-1]:r,o=t<0?this.rowHeaderCount:t>=this.tbody.offsetWidth?this.viewport.columns.length+this.rowHeaderCount-1:s;let n=i&&o>-1?i.children[o]:null;for(;n&&Ct(n);)n=n.previousElementSibling;const a=r&&s>-1?r.children[s]:null;return[n,a&&!Ct(a)?a:null]}connectedCallback(){super.connectedCallback(),this.grid=zt(this,"og-grid")}willUpdate(){this._viewport=null,this._viewportSize=null,this.model&&(this.clearHeaderCache(),this.clearBodyCache())}updated(){this.model&&(this.createColumns(),this.createHeaderRows(),this.createBodyRows(),this.renderCells())}refresh(){this.clearHeaderCache(),this.clearBodyCache(),this.requestUpdate()}createColumns(){this._freezeLeft=null;const t=this.renderColCount;if(!this.cols||this.cols.length!=t){this.cols=new Array(t);for(let e=0;e<t;e++)this.cols[e]=yt("col"),this.cols.forEach((()=>this.colgroup.appendChild(this.cols[e])))}}createHeaderRows(){const t=this.columnHeaderCount,e=this.renderColCount;if(St(this.thead),!this.hRows||this.hRows.length!=t||!this.hRows[0]||this.hRows[0].children.length!=e){this.hRows=new Array(t);for(let i=0;i<t;i++){this.hRows[i]=yt("tr");for(let t=0;t<e;t++)this.hRows[i].appendChild(yt("th"))}}St(this.thead),this.hRows.forEach((t=>this.thead.appendChild(t)))}createBodyRows(){const t=this.renderRowCount,e=this.renderColCount,i=this.rowHeaderCount;if(!this.bRows||0==this.bRows.length||this.bRows.length!=t||this.bRows[0].children.length!=e)if(0==t&&this.grid.options.emptyPlaceholder)this.bRows=[yt("tr")],this.bRows[0].appendChild(yt("td"));else{this.bRows=new Array(t);for(let o=0;o<t;o++){this.bRows[o]=yt("tr");for(let t=0;t<i;t++)this.bRows[o].appendChild(yt("th"));for(let t=i;t<e;t++)this.bRows[o].appendChild(yt("td"))}}St(this.tbody),this.bRows.forEach((t=>this.tbody.appendChild(t)))}renderCells(t={vertical:!0,horizontal:!0}){this.table&&(t.vertical||t.horizontal)&&(this._viewport=null,t.horizontal&&this.renderHeader(),this.model.rows.length>0?(this.renderBody(),t.vertical&&this.renderRowTree()):this.model.options.emptyPlaceholder&&(this.renderEmptyBody(),this.table.appendChild(this.tbody)),this.dispatchEvent(new Ix("rendercells")))}renderEmptyBody(){const t=this.bRows[0].children[0];t.innerHTML="no data",t.className="empty-placeholder",t.colSpan=this.viewport.columns.length+this.rowHeaderCount}renderHeader(){let t;this.colMap.clear();const e=this.rowHeaderCount,i=this.viewport;this.model.hasRowTreeEnabled&&Nt(this.colgroup.children[0],{w:this.treeHeaderWidth},!0),this.model.options.rowNumbers&&Nt(this.colgroup.children[e-1],{w:fx.ROW_HEADER_WIDTH},!0);for(let o=0;o<i.columns.length;o++)t=i.columns[o],this.model.autofitColumns.has(t.index)&&(this.grid.rendering.autofitColumn(t.index,!1,!1),this.model.autofitColumns.delete(t.index)),this.colMap.set(t.index,o),Nt(this.colgroup.children[o+e],{w:t.width}),jt(this.colgroup.children[o+e],{w:t.width}),Pt(this.colgroup.children[o+e],{w:t.width});let o=0;this.model.hasColumnTreeEnabled&&(this.renderHeaderRowTree(this.hRows[o],o),++o),this.model.options.colLetters&&(Nt(this.hRows[o],{h:this.model.options.rowHeight}),this.renderHeaderRowLetters(this.hRows[o],o),++o);for(let t=0;t<this.model.headerCount;t++)this.renderHeaderRowLabels(this.hRows[o+t],o+t,t);o+=this.model.headerCount,this.model.hasFilter&&(Nt(this.hRows[o],{h:this.model.options.rowHeight}),this.renderHeaderRowFilters(this.hRows[o],o))}renderHeaderRowLetters(t,e){let i,o;const r=this.viewport,s=e-this.columnHeaderCount;let n=0;if(Nt(t,{h:this.model.options.rowHeight}),(this.model.hasRowTree||this.model.options.rowNumbers)&&!this.model.hasColumnTreeEnabled){i=t.children[n],i.colSpan=this.rowHeaderCount,i.rowSpan=this.columnHeaderCount;const e=n-this.rowHeaderCount,o=this.model.options.levelButtonCell;(!o||s==o.r&&e==o.c)&&this.renderHeaderRowCornerCell(i),n++}for(let e=n;e<this.rowHeaderCount;e++)_t(t.children[e]),n++;for(let e=n;e<t.children.length;e++)o=e-n,i=t.children[e],i.className="hlabel",r.columns.length>o?(i.innerHTML=r.columns[o].address,i.c=r.columns[o].index,Mt(i)):_t(i)}renderHeaderRowTree(t,e){if(!this.model.hasColumnTreeEnabled)return;let i,o,r=0;const s=e-this.columnHeaderCount,n=this.viewport,a=this.model.options.rowNumbers,l=this.model.hasRowTreeEnabled;if(Nt(t,{h:this.treeHeaderHeight}),i=t.children[r],!i)return;i.rowSpan=a||l?this.columnHeaderCount:1,i.colSpan=this.rowHeaderCount;const c=r-this.rowHeaderCount,h=this.model.options.levelButtonCell;let d=null;(!h&&(a||l)||h&&s==h.r&&c==h.c)&&(d=c,this.renderHeaderRowCornerCell(i)),(a||l)&&++r;for(let s=r;s<t.children.length;s++)o=s-r,i=t.children[s],n.columns.length>o?(d!=s&&(i.innerHTML="",i.className="htree",this.renderHeaderRowTreeCell(t,e,n.columns[o],i)),Mt(i)):_t(i)}renderHeaderRowTreeCell(t,e,i,o){let r=this.hCache.get(i.index,e);if(!r){r=yt("div"),this.hCache.set(i.index,e,r);const t=i.width+1,o=this.treeHeaderHeight/this.model.maxColumnLevel;if(i.hasChildren){const e=new Du;e.addEventListener("toggle",(()=>this.grid.rendering.toggleColumn(i.index))),r.expander=e,r.appendChild(e),Ht(e,{l:t/2-fx.EXPANDER_SIZE/2,t:i.level*o+o/2-fx.EXPANDER_SIZE/2}),r.expanderLine=this.createExpanderLine("h"),r.appendChild(r.expanderLine),Ht(r.expanderLine,{l:this.model.options.columnTree.reversed?0:t/2,t:i.level*o+o/2}),Nt(r.expanderLine,{h:o/2,w:t/2+1})}if(i.hasParent){let e=i;for(;e.hasParent;){e=e.parent;const i=this.createExpanderLine("h");r.appendChild(i),Nt(i,{h:o/2,w:t-1}),Ht(i,{l:0,t:e.level*o+o/2})}}}r.expander&&(r.expander.state=i.collapsed?"closed":"open"),o.appendChild(r)}createExpanderLine(t){const e=yt("div");return e.className=`${t}tree-line`,e}renderHeaderRowLabels(t,e,i){let o,r,s,n,a=0;const l=this.viewport,c=e-this.columnHeaderCount,h=this.model.options.levelButtonCell;let d;this.model.hasRowTreeEnabled&&(r=t.children[a],r.innerHTML="",this.model.hasColumnTreeEnabled||this.model.options.colLetters||i>0?_t(r):(r.rowSpan=this.columnHeaderCount,r.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(r)),++a),this.model.options.rowNumbers&&(r=t.children[a],r.innerHTML="",this.model.hasRowTreeEnabled||this.model.options.colLetters||this.model.hasColumnTreeEnabled||i>0?_t(r):(r.rowSpan=this.columnHeaderCount,r.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(r)),++a);for(let u=a;u<t.children.length;u++)if(n=u-a,r=t.children[u],r.className="hlabel",r.innerHTML="",l.columns.length>n)if(o=l.columns[n],s=o.header[i],s.height&&(d=Math.max(s.height,d||0)),r.colSpan=1,r.rowSpan=1,r.c=o.index,r.r=i,s?.hidden)if(n==this.freezeLeft){let t=o.prevVisible,s=0;for(;t&&t.header[i]?.hidden;)t=t.prevVisible,++s;t&&t.header[i].cs?(Mt(r),r.colSpan=t.header[i].cs-s-1,r.rowSpan=t.header[i].rs||1,this.renderHeaderRowLabelCell(r,t,e,i)):_t(r)}else _t(r);else{if(o.header&&o.header[i]){const t=o.header[i].cs||1;r.colSpan=t>1?o.calculateRealColspan(t):1,r.rowSpan=o.header[i].rs||1}Mt(r),this.renderHeaderRowLabelCell(r,o,e,i),h&&h.r==c&&h.c==o.index&&this.renderHeaderRowCornerCell(r)}else _t(r);Nt(t,{h:d??this.model.options.rowHeight})}renderHeaderRowLabelCell(t,e,i,o){let r=this.hCache.get(e.index,i);const s=e.header[o];if(r||(r=yt("div"),s?s.html?r.innerHTML=s.label??"":r.innerText=s.label??"":r.innerHTML="",s&&null!=s._style&&Wk(r,nw(this.model.styles.get(s._style))),this.hCache.set(e.index,i,r)),this.model.options.columnHeaderTreeButtons&&e.hasChildren&&o==e.level){let t=r.expander;t||(t=new Du,t.addEventListener("toggle",(()=>this.grid.rendering.toggleColumn(e.index))),r.expander=t,r.prepend(t),Ht(t,{l:4,t:4})),t.state=e.collapsed?"closed":"open"}e.sorting&&o==e.header.length-1&&(t.className+=" sort",r.sortingArrow||(r.sortingArrow=new Ex,r.appendChild(r.sortingArrow),Ht(r.sortingArrow,{t:0,r:5})),r.sortingArrow.sortSettings=this.model.sorting.get(e.index)),t.appendChild(r)}renderHeaderRowFilters(t,e){let i,o,r=0;const s=this.viewport;this.model.hasRowTreeEnabled&&(i=t.children[r],i.innerHTML="",this.model.columnHeaderCount>1?_t(i):i.colSpan=this.model.columnHeaderCount,++r),this.model.options.rowNumbers&&(i=t.children[r],i.innerHTML="",this.model.hasRowTreeEnabled||this.model.options.colLetters||this.model.hasColumnTreeEnabled||this.model.headerCount>0?_t(i):(i.rowSpan=this.columnHeaderCount,i.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(i)),++r);for(let n=r;n<t.children.length;n++)if(o=n-r,i=t.children[n],s.columns.length>o){Mt(i);const r=s.columns[o];r.hasFilter?this.renderHeaderRowFilterCell(t,e,r,i):i.innerHTML=""}else _t(i)}renderHeaderRowFilterCell(t,e,i,o){o.innerHTML="",o.className="filter",o.c=i.index;let r=this.hCache.get(i.index,e);r||(r=yt("div"),r.filter=yt("og-filter-label"),r.appendChild(r.filter),this.hCache.set(i.index,e,r));const s=this.grid.filtering.filter.get(i.index)?.term;r.filter.value=Array.isArray(s)?s.map((t=>t.value??t.key)).join(", "):s,o.appendChild(r)}renderHeaderRowCornerCell(t){this.cornerDiv=yt("div");const e=Math.max((this.treeHeaderWidth||fx.EXPANDER_SIZE+2)/(this.model.maxRowLevel+1),fx.EXPANDER_SIZE+2);if(this.model.hasRowTree)for(let t=0;t<=this.model.maxRowLevel;t++){const i=new Nu;i.level=t,this.cornerDiv.appendChild(i),Ht(i,{l:t*e+e/2-fx.EXPANDER_SIZE/2,b:3}),i.addEventListener("mousedown",(t=>t.stopPropagation())),i.addEventListener("toggle",(t=>{this.model.columns.filter((t=>t.levelButtons)).forEach((t=>this.bCache.deleteColumn(t.index))),this.grid.rendering.setRowExpandLevel(t.level)}))}if(this.model.hasColumnTree){const i=(this.model.hasColumnTree?this.treeHeaderHeight:t.clientHeight)/(this.model.maxColumnLevel+1),o=15*this.model.maxColumnLevel+20<=t.clientHeight;for(let t=0;t<=this.model.maxColumnLevel;t++){const r=new Nu;r.level=t,this.cornerDiv.appendChild(r),Ht(r,o?{t:t*i+i/2-fx.EXPANDER_SIZE/2,r:3}:{r:t*e+e/2-fx.EXPANDER_SIZE/2,b:3}),r.addEventListener("mousedown",(t=>t.stopPropagation())),r.addEventListener("toggle",(t=>{this.grid.rendering.setColumnExpandLevel(t.level)}))}}St(t),t.appendChild(this.cornerDiv)}renderBody(){let t,e,i,o,r,s,n,a,l;const c=this.freezeLeft||0,h=this.rowHeaderCount,d=this.model.merges,u=this.model.options.rowNumbers,p=this.viewport,g=this.viewportRange;if(!g)return;const m=new pv(this.colOffset+c,this.rowOffset,g.c2,g.r2);this.rowMap.clear();for(let c=0;c<this.bRows.length;c++)if(t=this.bRows[c],c<p.rows.length){i=p.rows[c],o=i.index,this.model.autofitRows.has(o)&&(this.grid.rendering.autofitRow(o,!1,!1),this.model.autofitRows.delete(o)),Nt(t,{h:i.height}),i.height<this.model.options.rowHeight&&Bt(t,i.height),this.rowMap.set(o,c),u&&(e=t.children[h-1],e.className="vlabel",e.r=o,e.c=-1,e.innerHTML=`<div>${gv(o)}</div>`);for(let c=h;c<t.children.length;c++)if(e=t.children[c],c-h<p.columns.length){if(s=p.columns[c-h],r=s.index,e.r=o,e.c=r,n=i.cell(r),a=n.address,l=d.getMergeState(a),l==cx.HIDDEN){const t=d.hiddenCells.get(n.address),i=m.intersect(new pv(t.c,t.r,t.c+t.cs-1,t.r+t.rs-1));if(!i||n.c!=i.c1||n.r!=i.r1){_t(e);continue}n=this.model.rows[t.r].cell(t.c),e.colSpan=i.size.columns,e.rowSpan=i.size.rows,e.c=n.c,e.r=n.r}else if(l==cx.MERGED){const t=n.merge;e.colSpan=t.cs,e.rowSpan=t.rs}else e.colSpan=1,e.rowSpan=1;Mt(e),this.renderBodyCell(n,e)}else _t(e);t.style.display="table-row",t.className=i.filterState>1?"filtered":""}else t.style.display="none"}scheduleRenderBodyCell(t,e){this.cellRenderSchedules.has(e)&&(window.clearTimeout(this.cellRenderSchedules.get(e)),this.cellRenderSchedules.delete(e)),this.cellRenderSchedules.set(e,window.setTimeout((()=>this.renderBodyCell(t,e))))}fixCellBorders(t,e){"none"==e.bottom?.style&&(t.style.borderBottomColor="transparent"),"none"==e.top?.style&&(t.style.borderTop="transparent"),"none"==e.right?.style&&(t.style.borderRight="transparent"),"none"==e.left?.style&&(t.style.borderLeft="transparent")}renderBodyCell(t,e){const i=!e;if(e=e||this.getCellByCellModel(t)){let o=i?null:this.bCache.get(t.c,t.r);if(o||(o=yt("div"),Jk(t).call(this,o,t),this.bCache.set(t.c,t.r,o)),this.renderAll){const i=t.composedStyle;i&&this.fixCellBorders(e,i)}St(e),e.appendChild(o)}else this.bCache.delete(t.c,t.r)}mergeBodyCells(t){let e;const i=new Set;for(const o of t)if(e=this.bRows[o.r].cells[o.c],e&&!i.has(e))for(let t=o.r;t<o.r+o.rs;t++)for(let r=o.c;r<o.c+o.cs;r++)e=this.bRows[t].cells[r],e&&(t==o.r&&r==o.c?(e.colSpan=o.cs,e.rowSpan=o.rs):(i.add(e),_t(e)))}renderRowTree(){if(!this.model.hasRowTreeEnabled)return;let t;const e=this.viewport,i=-this.rowHeaderCount;for(let o=0;o<this.bRows.length;o++)t=this.bRows[o].children[0],t.innerHTML="",o<e.rows.length&&(t.className="vtree",this.renderRowTreeCell(i,e.rows[o],t))}renderRowTreeCell(t,e,i){let o=this.bCache.get(t,e.index);if(!o){o=yt("div"),this.bCache.set(t,e.index,o);const r=e.height+1,s=this.treeHeaderWidth/this.model.maxRowLevel;if(e.hasChildren){const t=new Du;t.addEventListener("toggle",(()=>this.grid.rendering.toggleRow(e.index))),i.parentElement.expander=t,o.expander=t,o.appendChild(t),Ht(t,{t:r/2-fx.EXPANDER_SIZE/2,l:e.level*s+s/2-fx.EXPANDER_SIZE/2});const n=this.createExpanderLine("v");o.appendChild(n),Ht(n,{t:this.model.options.rowTree.reversed?0:r/2,l:e.level*s+s/2}),Nt(n,{w:s/2,h:r/2+1})}if(e.hasParent){let t=e;for(;t.hasParent;){t=t.parent;const e=this.createExpanderLine("v");o.appendChild(e),Nt(e,{w:s/2,h:r+2}),Ht(e,{t:-1,l:t.level*s+s/2})}}}o.expander&&(o.expander.state=e.collapsed?"closed":"open"),i.appendChild(o)}};Lx.styles=[_x],zx([Ln({type:Object})],Lx.prototype,"model",void 0),zx([Ln({type:Number,hasChanged:()=>!1})],Lx.prototype,"rowOffset",void 0),zx([Ln({type:Number,hasChanged:()=>!1})],Lx.prototype,"colOffset",void 0),zx([Ln({type:Number,reflect:!0})],Lx.prototype,"zoom",void 0),zx([Ln({type:Boolean,reflect:!0})],Lx.prototype,"nogrid",void 0),zx([Ln({type:Boolean,reflect:!0})],Lx.prototype,"renderAll",void 0),Lx=zx([En("og-table")],Lx);const Rx=["F5","F12"];class Tx extends Event{constructor(t){super("grid.error",{bubbles:!0,composed:!0}),this.error=t}}class Ax extends Event{get selection(){return this.grid.selecting.selection}get activeCell(){return this.selection.activeCell}constructor(t,e){super(`grid.${t}`,{bubbles:!0,composed:!0}),Object.assign(this,e),this.cell&&(this.row=this.cell.row,this.column=this.cell.column)}}class Ox extends Ax{constructor(t){super("edit",t)}}class $x extends pp{constructor(t,e,i){super(`grid.${t}`,i),this.grid=e}}class Dx extends $x{constructor(t,e,i,o){super(t,e,o),this.column=i}}class Nx extends $x{constructor(t,e,i,o){super(t,e,o),this.row=i}}class Px{get model(){return this.grid.model}get selection(){return this.grid.selection}get table(){return this.grid.table}constructor(t){this.grid=t,this.clickDisabled=!1,this.editDisabled=!1,this.clicked=!1,this.startOffset={x:0,y:0},this.suspendClick=()=>this.clickDisabled=!0,this.resumeClick=(t=!1)=>{this.isSliding||(t?setTimeout((()=>this.clickDisabled=!1),100):this.clickDisabled=!1)},this._onKeyDown=t=>{switch(Rx.includes(t.key)||t.preventDefault(),t.key){case"Tab":t.preventDefault(),this.grid.selecting.shiftActiveCell(t.shiftKey?-1:1,!0);break;case"ArrowRight":this.grid.selecting.debounceMoveSelector(1,0);break;case"ArrowLeft":this.grid.selecting.debounceMoveSelector(-1,0);break;case"ArrowDown":this.grid.selecting.debounceMoveSelector(0,1);break;case"ArrowUp":this.grid.selecting.debounceMoveSelector(0,-1);break;case"PageUp":this.grid.selecting.debounceMoveSelector(0,-this.table.viewport.rows.length);break;case"PageDown":this.grid.selecting.debounceMoveSelector(0,this.table.viewport.rows.length);break;case"Home":this.grid.selecting.debounceMoveSelector(-this.selection.range.c1,t.ctrlKey?-this.selection.range.r1:0);break;case"End":this.grid.selecting.debounceMoveSelector(this.model.gridRange.c2-this.selection.range.c1,t.ctrlKey?this.model.gridRange.r2-this.selection.range.r1:0);break;case"Enter":this.grid.selecting.enter();break;case"Escape":this.grid.selecting.hideCopySelector();break;case"c":case"C":t.ctrlKey&&this.grid.editing.copySelection();break;case"v":case"V":t.ctrlKey&&this.grid.editing.paste();break;case"z":case"Z":if(!this.grid.options.undoRedo)return;t.ctrlKey&&this.grid.editing.undo();break;case"y":case"Y":if(!this.grid.options.undoRedo)return;t.ctrlKey&&this.grid.editing.redo();break;case"F2":t.preventDefault(),this.grid.editing.startEdit();break;case"Delete":t.preventDefault(),this.grid.objects.delete(),this.grid.editing.clearSelection();break;case"Backspace":t.preventDefault(),this.grid.editing.clearSelection();break;case"F1":if(!this.grid.options.commandWindow)return;t.preventDefault(),this.grid.openCommands()}1!=t.key.length||t.ctrlKey||this.grid.editing.startEdit(t.key)},this._onMouseMove=t=>{if(!this.model)return;let e=!0;const i=this.grid.hSizer,o=this.grid.vSizer,{offsetX:r,offsetY:s}=t;let n=this.model.options.scrolling.scrollbarVisibilityTreshold;n<=0&&(n=Math.max(this.grid.clientWidth,this.grid.clientHeight)),r>this.grid.clientWidth-n?this.grid.vSlider.show():this.grid.vSlider.hide(),s>this.grid.clientHeight-n?this.grid.hSlider.show():this.grid.hSlider.hide();const[a,l]=this.table.findNearestTableCellByOffset(r,s);if(l&&"TH"==l.tagName&&(this.model.options.columnResize&&!i.resizing&&l.classList.contains("hlabel")?l.offsetWidth-t.offsetX+l.offsetLeft<fx.RESIZE_TRESHOLD?(i.snap(l,this.grid),this.grid.rendering.currentResizedColumn=this.model.columns[l.c]):kt(i):this.model.options.rowResize&&!o.resizing&&l.classList.contains("vlabel")&&(l.offsetHeight-t.offsetY+l.offsetTop<fx.RESIZE_TRESHOLD?(o.snap(l,this.grid),this.grid.rendering.currentResizedRow=this.model.rows[l.r]):kt(o))),a&&"TH"==a.tagName)this.grid.selecting.isSelecting&&(this.suspendClick(),this.grid.selecting.updateSelecting(a.c,a.r));else{if(a&&"TD"==a.tagName)if(this.grid.selecting.isSelectorOperationActive||this.grid.selecting.isFormulaSelectorOperationActive){const{top:e,left:i}=Tt(a,this.grid);this.grid.rendering.autoscroll({x:i-this.table.totalHeaderWidth+t.offsetX-a.offsetLeft,y:e-this.table.thead.clientHeight+t.offsetY-a.offsetTop}),this.grid.selecting.isSelecting&&this.suspendClick(),this.grid.selecting.updateSelecting(a.c,a.r)}else{const t=this.model.rows[a.r]?.cell(a.c);t&&t.hasTooltip&&(e=!1,this.grid.tooltip.attachToCell(a,t)),t&&t.hasComment&&(e=!1,this.grid.comment.attachedTo!==a&&this.grid.comment.attachTo(a,t))}e&&(this.grid.tooltip.deatach(),this.grid.comment.deatach(this.model.options.comments.hideTimeout)),kt(i),kt(o)}},this._onMouseDown=t=>{if(1&t.buttons){this.grid.setPointerCapture(t.pointerId),this.startOffset={x:t.offsetX,y:t.offsetY};for(const e of t.composedPath()){if("TD"==e.tagName){const t=e;this.grid.selecting.startCellSelecting(new pv(t.c,t.r));break}if("TH"==e.tagName){const t=e;e.matches(".sort")?this.grid.sorting.sort(t.c):t.classList.contains("filter")?this.grid.filtering.openFilter(this.model.columns[t.c],t):t.classList.contains("hlabel")?this.grid.selecting.startColumnSelecting(t.c):t.classList.contains("vlabel")&&this.grid.selecting.startRowSelecting(t.r);break}}}},this._onMouseUp=t=>{if(0!=t.buttons)return;const e=Math.abs(this.startOffset.x-t.offsetX),i=Math.abs(this.startOffset.y-t.offsetY);Math.sqrt(Math.pow(e,2)+Math.pow(i,2))<this.model.options.events.click.mouseMoveTreshold&&this.resumeClick(),this.grid.releasePointerCapture(t.pointerId),this.grid.selecting.stopSelectOperations()},this._onClick=t=>{if(this.clickDisabled)return;if(this.grid.clientHeight-t.offsetY<this.grid.hSlider.offsetHeight)return;if(this.grid.clientWidth-t.offsetX<this.grid.vSlider.offsetWidth)return;const e=this.table.findTableCellByOffset(t.offsetX,t.offsetY),i="TD"==e?.tagName?this.model.rows[e.r]?.cell(e.c):null;this.grid.dispatchEvent(new Ax("click",{grid:this.grid,cell:i}))},this._onContextMenu=t=>{t.preventDefault();for(const e of t.composedPath())if("TD"==e.tagName){const i=e;this.grid.menus.openCellMenu(this.model.rows[i.r].cell(i.c),{x:t.pageX,y:t.pageY})}else if("TH"==e.tagName){const i=e;i.classList.contains("hlabel")?this.grid.menus.openColumnMenu(this.model.columns[i.c],{x:t.pageX,y:t.pageY}):i.classList.contains("vlabel")&&this.grid.menus.openRowMenu(this.model.rows[i.r],{x:t.pageX,y:t.pageY})}},this._onVerticalSlide=t=>{this.table.rowOffset=Math.min(t.value,this.model.visibleRows.length-1),this.grid.rendering.requireVerticalUpdate=!0,this.grid.rendering.renderCells()},this._onHorizontalSlide=t=>{this.table.colOffset=Math.min(t.value,this.model.visibleColumns.length-1),this.grid.rendering.requireHorizontalUpdate=!0,this.grid.rendering.renderCells()},this._onSlideStart=()=>{this.suspendClick()},this._onSlideStop=()=>{this.resumeClick(!0)},this._denbounceHorizontalScroll=q((t=>this.grid.rendering.scrollHorizontalByPixels(t)),50),this._onWheel=t=>{t.ctrlKey||(0!=t.deltaY&&this.grid.rendering.scrollVerticalByPixels(t.deltaY),0!=t.deltaX&&this._denbounceHorizontalScroll(Math.sign(t.deltaX)*Math.min(100,Math.abs(t.deltaX))))},this._onTouchStart=t=>{this.grid.rendering.touchStartX=t.touches[0],this.grid.rendering.touchStartY=t.touches[0]},this._onTouchEnd=t=>{this.grid.rendering.touchStartX=t.touches[0],this.grid.rendering.touchStartY=t.touches[0]},this._onTouchMove=t=>{const e=this.grid.rendering;if(e.touchStartY){const i=e.touchStartY.clientY-t.touches[0].clientY;Math.abs(i)>this.model.options.rowHeight&&this.table.viewport.rows.length>0&&(e.scrollVerticalByPixels(i),e.touchStartY=t.touches[0])}if(e.touchStartX){const i=e.touchStartX.clientX-t.touches[0].clientX;Math.abs(i)>this.model.options.columnWidth&&this.table.viewport.columns.length>0&&(e.scrollHorizontalByPixels(i),e.touchStartX=t.touches[0])}},this._onHorizontalResizeStart=()=>{this.grid.rendering.resizing=!0,this.grid.rendering.currentResizedColumnWidth=this.grid.rendering.currentResizedColumn.width},this._onHorizontalResizeStop=t=>{this.suspendClick(),this.grid.rendering.resizing=!1,this.table.clearHeaderCache(),this.table.renderCells({horizontal:!0}),this.grid.dispatchEvent(new Dx("column.resize",this.grid,this.grid.rendering.currentResizedColumn,t))},this._onHorizontalResize=t=>{const e=this.grid.rendering;e.currentResizedColumn.width=e.currentResizedColumnWidth+t.deltaX,Nt(this.table.getColumnByModelIndex(e.currentResizedColumn.index),{w:e.currentResizedColumn.width},!0),this.grid.selecting.updateSelector()},this._onVerticalResizeStart=()=>{this.grid.rendering.resizing=!0,this.grid.rendering.currentResizedRowHeight=this.grid.rendering.currentResizedRow.height},this._onVerticalResizeStop=t=>{this.suspendClick(),this.grid.rendering.resizing=!1,this.table.clearBodyCache(),this.table.renderCells({vertical:!0}),this.grid.dispatchEvent(new Nx("row.resize",this.grid,this.grid.rendering.currentResizedRow,t))},this._onVerticalResize=t=>{const e=this.grid.rendering;e.currentResizedRow.height=e.currentResizedRowHeight+t.deltaY,Nt(this.table.getRowByModelIndex(e.currentResizedRow.index),{h:e.currentResizedRow.height},!1),this.grid.selecting.updateSelector()},this._onCommentCommit=t=>{this.grid.model.comments.set(t.cell.address,t.items),t.cell.invalidateStyle(),this.grid.rendering.updateCells([t.cell])},this._onAutofill=t=>{if(this.suspendClick(),this.grid.selection.range.equals(t.selector.autofillRange))return;const{cells:e,oldValues:i}=qy(this.model,this.grid.selection.range,t.selector.autofillRange,t.selector.autofillDirection);this.grid.rendering.updateCells(e,!0),this.grid.selection.setRange(this.grid.selection.range.unite(t.selector.autofillRange)),this.grid.selecting.updateSelector(),this.grid.dispatchEvent(new Ox({grid:this.grid,editType:"autofill",cells:e,oldValues:i,newValues:e.map((t=>t.value2))}))},this._onEdit=t=>{if(t.fromHistory)return;const e=[],i=[],o=this.model.names.rangeMap;let r=[],s=[],n=[],a=[];switch(t.editType){case"value":r=t.newValues,s=t.newProps,n=t.oldValues,a=t.oldProps,t.cells.forEach((t=>{const r=t.address;e.push(r),i.push(o.get(r))}));break;case"insert_column":case"insert_row":t.newValues.forEach((t=>{const s=t.address;e.push(s),i.push(o.get(s)),r.push(t.getSourceData())}))}this.grid.history.push({type:t.editType,addresses:e,names:i,oldValues:n,oldProps:a,newValues:r,newProps:s})},this._onSelectorMove=t=>{this.suspendClick(),this.selection.setRange(t.toRange),t.fromRange.isRow?this.grid.editing.moveRows({index:t.fromRange.r1,count:t.fromRange.size.rows,targetIndex:t.toRange.r1}):t.fromRange.isColumn?this.grid.editing.moveColumns({index:t.fromRange.c1,count:t.fromRange.size.columns,targetIndex:t.toRange.c1}):console.log(t)},this._onMouseLeave=()=>{this.grid.rendering.hideSliders()},this.debounceHideSliders=q((()=>this.grid.rendering.hideSliders()),1e3,{isImmediate:!1}),this._onRender=()=>{const t=this.grid;t.selecting.updateSelectors(),t.dispatchEvent(new Ax("render",{grid:this.grid})),t.adapter&&t.options.pageSize&&t.rendering.isLastRowInViewport()&&t.rendering.loadNextPage(),t.rendering.updateSliderVisibility(),this.model.options.scrolling.scrollbarVisibilityTreshold>0&&this.debounceHideSliders()},this._onHorizontalSizerDblClick=t=>{t.stopPropagation(),this.editDisabled=!0,this.grid.rendering.autofitColumn(this.grid.rendering.currentResizedColumn.index),this.grid.dispatchEvent(new Dx("column.resize",this.grid,this.grid.rendering.currentResizedColumn,t))},this._onVerticalSizerDblClick=t=>{t.stopPropagation(),this.editDisabled=!0,this.grid.rendering.autofitRow(this.grid.rendering.currentResizedRow.index),this.grid.dispatchEvent(new Nx("row.resize",this.grid,this.grid.rendering.currentResizedRow,t))},this._onDblClick=()=>{this.editDisabled?this.editDisabled=!1:this.grid.editing.startEdit()}}get isSliding(){return this.grid.hSlider.sliding||this.grid.vSlider.sliding}async init(){await this.grid.updateComplete,await this.table.updateComplete;const t=this.grid;t.addEventListener("wheel",this._onWheel,{passive:!0}),t.addEventListener("touchstart",this._onTouchStart,{passive:!0}),t.addEventListener("touchend",this._onTouchEnd,{passive:!0}),t.addEventListener("touchmove",this._onTouchMove,{passive:!0}),t.hSizer.addEventListener("resizestart",this._onHorizontalResizeStart),t.hSizer.addEventListener("resizestop",this._onHorizontalResizeStop),t.hSizer.addEventListener("resize",this._onHorizontalResize),t.hSizer.addEventListener("dblclick",this._onHorizontalSizerDblClick),t.vSizer.addEventListener("resizestart",this._onVerticalResizeStart),t.vSizer.addEventListener("resizestop",this._onVerticalResizeStop),t.vSizer.addEventListener("resize",this._onVerticalResize),t.vSizer.addEventListener("dblclick",this._onVerticalSizerDblClick),t.comment.addEventListener("comment.commit",this._onCommentCommit),t.addEventListener("keydown",this._onKeyDown),t.addEventListener("click",this._onClick),t.addEventListener("contextmenu",this._onContextMenu),t.addEventListener("toggle",(()=>t.rendering.debounceCalculateViewport())),t.addEventListener("pointerup",this._onMouseUp),t.addEventListener("pointerdown",this._onMouseDown);const e=q(this._onMouseMove,20,{maxWait:50,isImmediate:!0});t.addEventListener("pointermove",e),t.addEventListener("mouseleave",this._onMouseLeave),t.table.addEventListener("rendercells",this._onRender),t.selector.addEventListener("grid.selector.autofill",this._onAutofill),t.selector.addEventListener("grid.selector.move",this._onSelectorMove),t.addEventListener("dblclick",this._onDblClick),t.addEventListener("grid.edit",this._onEdit)}}class jx{get vScrolling(){return this._vScrolling}get hScrolling(){return this._hScrolling}get model(){return this.grid.model}get selection(){return this.grid.selection}get table(){return this.grid.table}constructor(t){this.grid=t,this.requireVerticalUpdate=!0,this.requireHorizontalUpdate=!1,this.resizing=!1,this._vScrolling=!0,this._hScrolling=!0,this.debounceRenderCells=q(this.renderCells,50,{isImmediate:!1,maxWait:100}),this.debounceCalculateViewport=q(this.calculateViewport,200)}isLastRowInViewport(){const t=this.grid.table.viewport.rows,e=this.model.visibleRows;return t[t.length-1]==e[e.length-1]}renderCells(t){t=t||{vertical:this.requireVerticalUpdate,horizontal:this.requireHorizontalUpdate},this.grid.comment.deatach(),this.grid.table.renderCells(t),this.requireHorizontalUpdate=!1,this.requireVerticalUpdate=!1,this.debounceCalculateViewport(),this.grid.objects.updatePostions()}renderAll(t=!1){this.grid.group?this.grid.group.grids.forEach((e=>e.rendering.render(t))):this.render(t)}async render(t=!1){this.grid.table&&this.model&&(this.grid.table.clearHeaderCache(),this.grid.table.clearBodyCache(),this.grid.table.isConnected&&(t&&(this.grid.table.requestUpdate(),await this.grid.table.updateComplete),this.grid.table.renderCells({horizontal:!0,vertical:!0}),this.calculateViewport()))}updateRange(t,e=!1){for(const i of this.model.getRangeIterator(t))this.updateCells([i],e)}updateCell(t,e=!1){this.updateCells([t],e)}updateSpilledCells(t){let e;t.prevSpillRange&&(e=new Set,this.model.getRangeIterator(t.prevSpillRange).forEach((t=>e.add(t)))),t.spillRange&&(e=e||new Set,this.model.getRangeIterator(t.spillRange).forEach((t=>e.add(t)))),e?.size>0&&this.updateCells(e)}updateCells(t,e=!1){if(e)for(const e of t)e.invalidateStyle(),e.invalidateValue(),this.model.calculations.clearDependecies(e).evaluate(e),this.updateSpilledCells(e);const i=this.grid.table;for(const e of t)i.renderBodyCell(e);e&&(this.model.calculations.invalidateDependants(t).forEach(((t,e)=>{t?this.grid.group.getGrid(t)?.table.renderBodyCell(e):i.renderBodyCell(e),this.updateSpilledCells(e)})),this.grid.dispatchGridEvent("calculate",{cells:Array.from(t)}))}updateHeaders(){this.model.indexVisibleColumns(),this.table.clearHeaderCache(),this.table.createHeaderRows(),this.table.renderHeader()}calculateViewport(t=!1){this.grid.logger.info("calculate viwport"),this.updateCells(this.model.calculateViewport(),t)}updateSliders(){const t=this.table.viewportSize;this.grid.vSlider.maxValue=this.model.visibleRows.length,this.grid.vSlider.pageSize=t.h/this.model.options.rowHeight,this.grid.vSlider.value=this.table.rowOffset,this.grid.hSlider.maxValue=this.model.visibleColumns.length,this.grid.hSlider.pageSize=t.w/this.model.options.columnWidth,this.grid.hSlider.value=this.table.colOffset}isVerticalScrollingEnabled(){return!1!==this.grid.options.scrolling.verticalOverscroll||this.table.viewport.rows.length<this.model.visibleRows.length}isHorizontalScrollingEnabled(){return!1!==this.grid.options.scrolling.horizontalOverscroll||this.table.viewport.columns.length<this.model.visibleColumns.length}updateSliderVisibility(){this._vScrolling=this.isVerticalScrollingEnabled(),this._vScrolling?(this.grid.vSlider.show(),xt(this.grid.vSlider)):(this.grid.vSlider.hide(),kt(this.grid.vSlider)),this._hScrolling=this.isHorizontalScrollingEnabled(),this._hScrolling?(this.grid.hSlider.show(),xt(this.grid.hSlider)):(this.grid.hSlider.hide(),kt(this.grid.hSlider))}hideSliders(){this.grid.vSlider.hide(),this.grid.hSlider.hide()}scrollVerticalByPixels(t){if(!this.vScrolling)return;let e,i=this.table.rowOffset,o=0,r=0;if(t>0){for(;o<t&&i+r<this.model.visibleRows.length;)o+=this.model.visibleRows[i+r++].height+2;i+=r}else if(t<0){for(t=Math.abs(t);o<t&&i+r>=0;)e=this.model.visibleRows[Math.min(this.model.visibleRows.length-1,i+r--)],o+=(e?e.height:0)+2;i+=r}i>=this.model.visibleRows.length&&(i=this.model.visibleRows.length-1),this.requireVerticalUpdate=!0,this.table.rowOffset=Math.max(0,i),this.debounceRenderCells(),this.updateSliders()}scrollHorizontalByPixels(t){if(!this.hScrolling)return;let e=this.table.colOffset,i=0,o=0;if(t>0){for(;i<t&&e+o<this.model.visibleColumns.length;)i+=this.model.visibleColumns[e+o++].width+2;e+=o}else if(t<0){for(t=Math.abs(t);i<t&&e+o>=0;)i+=this.model.visibleColumns[Math.min(this.model.visibleColumns.length-1,e+o--)].width+2;e+=o}e>=this.model.visibleColumns.length&&(e=this.model.visibleColumns.length-1),this.requireHorizontalUpdate=!0,this.table.colOffset=Math.max(0,e),this.debounceRenderCells(),this.updateSliders()}updateCellSelectionRange(){const t=this.table;for(const e of this.model.getRangeIterator(this.selection.range,!1))t.renderBodyCell(e)}getAdapterRequestFilters(){return{offset:0,filter:this.grid.filtering?.filter?Array.from(this.grid.filtering.filter.settings.values()):null,order:this.grid.model?.sorting?.settings}}async toggleRow(t,e=!0){const i=this.model.rows[t];if(i.isLoaded||i.isPartialyLoaded)i.toggleCollapse(!1,this.model.options.unhideRowAfterExpand),this.table.renderCells({vertical:!0});else if(this.grid.adapter){const e=this.table.getRowByModelIndex(t);e&&e.expander&&(e.expander.state="waiting"),i.collapsed=!1;const o=Object.assign(this.getAdapterRequestFilters(),{parent:{r:i.index,props:i.properties}}),[r]=await Promise.all([this.grid.adapter.getRows(o)]);this.model.insertRowData(i,0,r),o.rows=r;const[s]=await Promise.all([this.grid.adapter.getCells(o)]);s?.map((t=>this.model.getCellByCoords(t.r,t.c)?.update(t))),this.table.requestUpdate()}this.updateSliders(),e&&this.grid.dispatchEvent(new Ax("row.toggle",{grid:this.grid,row:i}))}toggleColumn(t,e=!0){const i=this.model.columns[t];i.toggleCollapse(!1,this.model.options.unhideColumnAfterExpand),this.table.renderCells({horizontal:!0}),this.updateSliders(),e&&this.grid.dispatchEvent(new Ax("column.toggle",{grid:this.grid,column:i}))}setRowExpandLevel(t){this.model.setRowExpandLevel(t),this.table.rowOffset=0,this.table.renderCells({vertical:!0}),this.updateSliders(),this.grid.dispatchEvent(new Ax("row.toggle",{grid:this.grid}))}setColumnExpandLevel(t){this.model.setColumnExpandLevel(t),this.table.colOffset=0,this.table.renderCells({horizontal:!0}),this.updateSliders(),this.grid.dispatchEvent(new Ax("column.toggle",{grid:this.grid}))}async exportHTML(){const t=yt("div");kt(t),document.body.appendChild(t);const e=yt("og-table");e.grid=this.grid,e.model=this.model,e.renderAll=!0,t.appendChild(e),await e.updateComplete;const i=this.model.options?.print?.rowBreaks,o=e.table,r=i&&i.length>0;if(r){const t=o.querySelector("colgroup"),r=[...o.tBodies[0].rows],s=this.model.options?.print?.rowTitles?pv.fromA1(this.model.options?.print?.rowTitles):null,n=s?Array.from({length:s.r2-s.r1+1},((t,i)=>r[e.rowMap.get(s.r1+i)])):[];for(let o=0;o<i.length;o++){const s=yt("table");s.appendChild(t.cloneNode(!0));const a=yt("tbody");s.appendChild(a);const l=e.rowMap.get(i[o]),c=o<i.length-1?e.rowMap.get(i[o+1]):this.model.visibleRows.length-1;n.forEach((t=>a.appendChild(t.cloneNode(!0))));for(let t=l;t<=c;t++)a.appendChild(r[t]);e.shadowRoot.appendChild(s)}t.cloneNode(!0)}const s=`\n\t\t\t<style>\n\t\t\t\thtml {\n\t\t\t\t\t${Ta(Ha().themes.get("light")).cssText}\n\t\t\t\t}\n\t\t\t\t${r?"table {break-after: page}":""}\n\t\t\t\t${Lx.styles.map((t=>t.cssText)).join("\n")}\n\t\t\t</style>\n\n\t\t`,n=s+e.shadowRoot.innerHTML.replace(/<!---->/g,"");return t.remove(),n}stopAutoscroll(){this.autoscrollTimer&&window.clearInterval(this.autoscrollTimer)}startAutoscroll(){this.stopAutoscroll(),this.autoscrollTimer=window.setInterval((()=>{if(0==this.autoscrollValue)return this.stopAutoscroll();const t=Math.pow(this.autoscrollValue,Gf.AUTOSCROLL_RATIO);switch(this.autoscrollDirection){case"down":this.scrollVerticalByPixels(t);break;case"up":this.scrollVerticalByPixels(-t);break;case"left":this.scrollHorizontalByPixels(-t);break;case"right":this.scrollHorizontalByPixels(t)}}),Gf.AUTOSCROLL_INTERVAL)}autoscroll(t){const{x:e,y:i}=t,o=this.table.clientWidth/this.table.zoom-this.table.totalHeaderWidth,r=this.table.clientHeight/this.table.zoom-this.table.totalHeaderHeight;let s,n=0;e<Gf.AUTOSCROLL_TRESHOLD&&e<i&&e<r-i?(s="left",n=Gf.AUTOSCROLL_TRESHOLD-e):o-e<Gf.AUTOSCROLL_TRESHOLD&&o-e<i&&o-e<r-i?(s="right",n=Gf.AUTOSCROLL_TRESHOLD-o+e):i<Gf.AUTOSCROLL_TRESHOLD?(s="up",n=Gf.AUTOSCROLL_TRESHOLD-i):r-i<Gf.AUTOSCROLL_TRESHOLD&&(s="down",n=Gf.AUTOSCROLL_TRESHOLD-r+i),this.autoscrollDirection=s,this.autoscrollValue=n,this.stopAutoscroll(),n>0&&this.startAutoscroll()}async load(t){t=t||this.getAdapterRequestFilters();const e=t.parent?.r??null,i=null!=e?this.model.rows[e]:this.model.rowRoot,[o]=await Promise.all([this.grid.adapter.getRows(t)]);o.length>0&&null===e&&this.model.insertRowData(i,t.offset,o);const[r]=await Promise.all([this.grid.adapter.getCells(t)]);r?.map((t=>this.model.getCellByCoords(t.r,t.c)?.update(t))),this.table.requestUpdate(),o.length>=this.model.options.pageSize?i.count=1/0:i.count=i.children.length,this.grid.logger.info(`loaded ${o.length} rows`),this.grid.loading=!1,this.grid.dispatchEvent(new Ax("afterLoad",{grid:this.grid}))}async loadNextPage(t=null,e=!1){if(this.grid.loading)return;const i=null!=t?this.model.rows[t]:this.model.rowRoot;if(!e&&i.isLoaded)return;this.grid.dispatchEvent(new Ax("beforeLoad",{grid:this.grid})),this.grid.loading=!0;const o=this.model.rows.length;this.grid.logger.info(`loading rows offset = ${o}`),await this.load(Object.assign(this.getAdapterRequestFilters(),{offset:o,parent:{r:t,props:null}}))}get totalSize(){return{width:this.table.totalHeaderWidth+this.model.visibleColumns.reduce(((t,e)=>t+e.width),0),height:this.table.thead.offsetHeight+this.model.visibleRows.reduce(((t,e)=>t+e.height),0)}}autofitColumn(t,e=!1,i=!0){const o="number"==typeof t?this.model.columns[t]:t,r=this.autofitDiv??(this.autofitDiv=yt("div"));r.style.position="absolute",r.style.zIndex="100000",Ht(r,{l:-1e3,t:-1e3}),this.grid.shadowRoot.appendChild(r);let s=0;for(const t of this.model.getRangeIterator(pv.fromA1(o.address),!!e)){const e=Jk(t).call(this.table,r,t)||r;e.style.width="auto",s=Math.max(s,e.offsetWidth)}o.width=s+10,i&&this.table.renderCells({horizontal:!0})}autofitColumns(t=!1){this.model.columns.forEach((e=>this.autofitColumn(e,t,!1))),this.table.renderCells({horizontal:!0})}autofitRow(t,e=!1,i=!0){const o="number"==typeof t?this.model.rows[t]:t,r=this.autofitDiv??(this.autofitDiv=yt("div"));r.style.position="absolute",r.style.zIndex="100000",Ht(r,{l:-1e3,t:-1e3}),this.grid.shadowRoot.appendChild(r);let s=0;for(const t of this.model.getRangeIterator(pv.fromA1(o.address),!!e)){const e=Jk(t).call(this.table,r,t)||r;e.style.height="auto",s=Math.max(s,e.offsetHeight)}o.height=s+8,i&&this.table.renderCells({vertical:!0})}autofitRows(t=!1){this.model.rows.forEach((e=>this.autofitRow(e,t,!1))),this.table.renderCells({vertical:!0})}scrollTo(t,e=0){let i;i=Q(t)?pv.fromA1(t):new pv(e,t),this.table.rowOffset=i.r1,this.table.colOffset=i.c1,this.requireVerticalUpdate=!0,this.requireHorizontalUpdate=!0,this.debounceRenderCells(),this.updateSliders()}}class Hx{get model(){return this.grid.model}get selection(){return this.grid.editing.isFormulaMode?this.formulaSelection:this.grid.selection}get selector(){return this.grid.editing.isFormulaMode?this.grid.formulaSelector:this.grid.selector}get formulaSelection(){return this._formulaSelection}get events(){return this.grid.events}get table(){return this.grid.table}get isSelecting(){return this.isCellSelecting||this.columnSelecting||this.rowSelecting}get isCellSelecting(){return this.selector.isSelecting}get isAutofilling(){return this.selector.isAutofilling}get isMoving(){return this.selector.isMoving}get isSelectorOperationActive(){return this.selector.isSelectorOperationActive}get isFormulaSelectorOperationActive(){if(!this.grid.editing.isFormulaMode)return!1;for(const t of this.formulaSelectors.values())if(t.isSelectorOperationActive)return!0;return!1}get activeCell(){const{c:t,r:e}=this.selection.activeCellCoords;return this.model.rows[e]?.cell(t)}constructor(t){this.grid=t,this.columnSelecting=!1,this.rowSelecting=!1,this._formulaSelection=new mx(0,0,0,0),this.formulaSelectors=new Map,this.debounceMoveSelector=q(((t,e)=>this.moveSelector(t,e)),10)}moveToSelection(){const t=new pv(this.selection.range.c1,this.selection.range.r1);this.table.viewportRange.contains(t)}select(t,e=!1){this.selection.setRange(t),this.updateSelector(),e&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}startCellSelecting(t){this.grid.style.cursor="cell",this.startSelectingRange=t.clone(),this.select(t,!0),this.selector.startSelecting(t)}startColumnSelecting(t){this.columnSelecting=!0;const e=new pv(t,null,t,null);this.startSelectingRange=e.clone(),this.select(e,!0)}startRowSelecting(t){this.rowSelecting=!0;const e=new pv(null,t,null,t);this.startSelectingRange=e.clone(),this.select(e,!0)}updateSelecting(t,e){const i=this.model.options.selecting.multiSelect;(this.isCellSelecting||this.rowSelecting)&&(i||(this.selection.range.r1=e),this.selection.range.r2=e),(this.isCellSelecting||this.columnSelecting)&&(i||(this.selection.range.c1=t),this.selection.range.c2=t),this.grid.editing.isFormulaMode?(this.updateFormulaSelector(),this.formulaSelectors.forEach((i=>i.updateMovingOperations(t,e)))):(this.updateSelector(),this.hideFormulaSelector(),this.selector.updateMovingOperations(t,e))}stopSelecting(){this.grid.rendering.stopAutoscroll(),this.isSelecting&&!this.selection.range.equals(this.startSelectingRange)&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid})),this.columnSelecting=!1,this.rowSelecting=!1,this.startSelectingRange=null,this.selector.stopSelectorOperations()}highlightSelection(){const t=this.selection.range,[e,i]=[Math.min(t.c1,t.c2),Math.max(t.c1,t.c2)],[o,r]=[Math.min(t.r1,t.r2),Math.max(t.r1,t.r2)],s=i-e+1,n=r-o+1;this.table.highlightColHeaderCells(s<1/0?Array.from(new Array(s),((t,i)=>i+e)):[]),this.table.highlightRowHeaderCells(n<1/0?Array.from(new Array(n),((t,e)=>e+o)):[])}updateSelector(t=!0){this.model.options.selecting.enabled?(this.showSelector(t),this.highlightSelection()):this.hideSelector(),this.grid.editing.isFormulaMode||this.grid.editing.endEdit()}showSelector(t=!0){this.selector&&(this.selector.show(),this.selector.select(this.selection.range,t))}hideSelector(){this.selector.hide()}moveSelector(t,e){if(this.selection.move(t,e,this.model.columns.length,this.model.rows.length),0!=e&&!this.model.rows[this.selection.range.r1].visible){const t=e>0?this.model.rows[this.selection.range.r1].nextVisible:this.model.rows[this.selection.range.r1].prevVisible;t&&(this.selection.range.r1=t.index,this.selection.range.r2=t.index)}if(0!=t&&!this.model.columns[this.selection.range.c1].visible){const e=t>0?this.model.columns[this.selection.range.c1].nextVisible:this.model.columns[this.selection.range.c1].prevVisible;e&&(this.selection.range.c1=e.index,this.selection.range.c2=e.index)}this.selector.selection=this.selection.range,this.selector.updatePosition();const i={c:0,r:0};(e>0&&this.selector.offsetTop+this.selector.offsetHeight>this.grid.clientHeight||e<0&&this.selector.offsetTop<this.table.totalHeaderHeight-1||e>=this.table.viewport.rows.length)&&(i.r+=e),(t>0&&this.selector.offsetLeft+this.selector.offsetWidth>this.grid.clientWidth||t<0&&this.selector.offsetLeft<this.table.totalHeaderWidth-1)&&(i.c+=t),0==i.c&&0==i.r||(this.table.colOffset=Math.max(0,this.table.colOffset+i.c),this.table.rowOffset=Math.min(Math.max(0,this.table.rowOffset+i.r),this.model.visibleRows.length-1),this.table.renderCells({horizontal:0!=i.c,vertical:0!=i.r}),this.grid.rendering.updateSliders()),this.grid.editing.isFormulaMode||this.grid.editing.endEdit(),this.highlightSelection(),this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}shiftActiveCell(t,e=!1){this.selection.moveActiveCell(t,0),this.selector.updatePosition(),e&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}updateFormulaSelector(t=!0){this.grid.editing.isFormulaMode?this.showFormulaSelector(t):this.hideFormulaSelector()}showFormulaSelector(t=!0){this.grid.formulaSelector.show(),this.grid.formulaSelector?.select(this.formulaSelection.range,t)}hideFormulaSelector(){this.grid.formulaSelector.hide()}updateFormulaSelectors(){this.formulaSelectors.forEach((t=>t.updatePosition()))}highlightColorItem(t){const e=mx.fromRange(pv.fromA1(t.address)),i=yt("og-selector");this.grid.shadowRoot.appendChild(i),i.addEventListener("grid.selector.move",(t=>this.select(t.selector.selection.clone()))),i.addEventListener("grid.selector.resize",(t=>this.select(t.selector.selection.clone()))),i.grid=this.grid,i.color=t.color,i.subselector=!1,i.movable=!0,i.resizable=!0,i.index=t.tokenIndex,this.formulaSelectors.set(t.tokenIndex,i),i.select(e.range.clone(),!1),i.show()}highlightFormula(t){this.removeFormulaHighlight(),this.formulaSelectors.clear();const e=new Set;t.colors.forEach((t=>{if(null==t.sheet||t.sheet==this.model.name)this.highlightColorItem(t);else if(this.grid.group){const i=this.grid.group.getGrid(t.sheet);if(!i)return;e.has(i)||(e.add(i),i.selecting.removeFormulaHighlight()),i.isConnected&&i.selecting.highlightColorItem(t)}}))}removeFormulaHighlight(){this.formulaSelectors?.forEach((t=>Et(t))),this.formulaSelectors.clear()}updateCopySelector(){this.grid.copySelector.isVisible&&this.grid.copySelector.updatePosition()}showCopySelector(){this.grid.copySelector.show(),this.grid.copySelector?.select(this.selection.range.clone(),!1)}hideCopySelector(){this.grid.copySelector.hide()}updateSelectors(){this.updateSelector(!1),this.updateCopySelector(),this.updateFormulaSelectors()}stopSelectOperations(){this.stopSelecting(),this.formulaSelectors.forEach((t=>t.stopSelectorOperations())),this.grid.style.removeProperty("cursor")}enter(){const t=this.grid.group;if(this.grid.editing.isFormulaMode&&t){const e=t.formulaModeGrid;e.editing.commitEdit(),t.activateGrid(e.model.name)}else this.debounceMoveSelector(0,1)}}class Fx extends Event{}class Bx extends _n{get isOpen(){return this._open}get isValid(){return this._valid}validate(){return this._valid=!0,this.activeCell&&(this._valid=Zy(this.activeCellModel,this.getValue())),this.classList.toggle("invalid",!this._valid),this._valid}constructor(){super(),this.cancel=!1,this._open=!1,this._valid=!0,this.init()}getDisplayValue(){return null}init(){this.addEventListener("keydown",(t=>{"Enter"==t.key?this.close():"Escape"==t.key?(this.cancel=!0,this.close()):t.stopPropagation()}))}connectedCallback(){super.connectedCallback(),this.performUpdate()}alignWithCell(){if(!this.activeCell)return;const t=Tt(this.activeCell,this.grid);Ht(this,{t:t.top*this.grid.zoom,l:t.left*this.grid.zoom}),Nt(this,{w:this.activeCell.offsetWidth,h:this.activeCell.offsetHeight})}open(t,e=null,i=!0){this._valid=!0,this.initialValue=e,this._open=!0,this.grid=t;const o=t.selecting.activeCell;return this.activeCellModel=o,this.activeCell=this.grid.table.getCellByModelIndex(o.c,o.r),this.grid.selector.hide(),xt(this),i&&this.alignWithCell(),this.activate(o),null!==e&&this.setValue(e),Qt(this,this.grid.zoom),this}commit(){this._open&&!this.cancel&&this.activeCellModel&&(this.grid.editing.updateCell(this.activeCellModel,{v:this.getValue(),dv:this.getDisplayValue()}),this.grid.rendering.updateCell(this.activeCellModel,!0)),this.cancel=!1}close(){this._open&&(this.deactivate(),kt(this),this.grid.table.renderBodyCell(this.activeCellModel),this.grid.selecting.showSelector(),this.grid.focus(),this._open=!1,this.grid.editing.endEdit()),this.cancel=!1}activate(t){this.activeCellModel=t,this.dispatchEvent(new Fx("activate"))}deactivate(){this.dispatchEvent(new Fx("deactivate"))}}Bx.baseStyles=ys`
|
|
4130
|
+
`,this.clearHeaderCache=()=>{this.resetFreezeLeft(),this.hCache=new vx(this.model.columns.length,this.columnHeaderCount),this.hCache.disabled=!this.model.options.cellCache},this.clearBodyCache=()=>{this.bCache=new vx(this.model.columns.length,this.model.rows.length),this.bCache.disabled=!this.model.options.cellCache},this.cellRenderSchedules=new WeakMap}get thead(){return this._thead?this._thead:this._thead=yt("thead")}get tbody(){return this._tbody?this._tbody:this._tbody=yt("tbody")}get colgroup(){return this._colgroup?this._colgroup:this._colgroup=yt("colgroup")}get table(){return this._table||(this._table=yt("table"),this._table.appendChild(this.colgroup),this._table.appendChild(this.thead),this._table.appendChild(this.tbody)),this._table}get colMap(){return this._colMap}get rowMap(){return this._rowMap}get freezeLeft(){if(null==this._freezeLeft)if(this.offsetWidth>0){let t=0;for(let e=0;e<this.model.options.freezeLeft;e++)t+=this.model.columns[e].width;this._freezeLeft=t<this.offsetWidth/2?this.model.options.freezeLeft:0}else this._freezeLeft=this.model.options.freezeLeft;return this._freezeLeft}get freezeTop(){return null==this._freezeTop&&(this._freezeTop=this.model.options.freezeTop),this._freezeTop}previewZoom(t){Qt(this.table,t)}highlightColHeaderCells(t){if(!this.model.options.colLetters)return;this._highlightedColHeaderCells.forEach((t=>t.className="hlabel")),this._highlightedColHeaderCells=[];const e=this.rowHeaderCount;t.forEach((t=>{const i=this.hRows[this.model.hasColumnTreeEnabled?1:0].children[this.colMap.get(t)+e];i&&(this._highlightedColHeaderCells.push(i),i.className="hlabel selected")}))}highlightRowHeaderCells(t){this.model.options.rowNumbers&&0!=this.model.rows.length&&(this._highlightedRowHeaderCells.forEach((t=>t.className="vlabel")),this._highlightedRowHeaderCells=[],t.forEach((t=>{const e=this.getRowByModelIndex(t)?.children[this.model.hasRowTreeEnabled?1:0];e&&(this._highlightedRowHeaderCells.push(e),e.className="vlabel selected")})))}get columnHeaderCount(){return this.model.headerCount+(this.model.hasColumnTreeEnabled?1:0)+(this.model.hasFilter?1:0)+(this.model.options.colLetters?1:0)}get rowHeaderCount(){return(this.model.hasRowTreeEnabled?1:0)+(this.model.options.rowNumbers?1:0)}get renderRowCount(){return this.renderAll?this.model.visibleRows.length:Math.round(Math.min(this.clientHeight/fx.MIN_ROW_HEIGHT,this.model.rows.length))}get renderColCount(){return this.renderAll?this.model.visibleColumns.length+this.rowHeaderCount:Math.round(Math.min(this.clientWidth/fx.MIN_COL_WIDTH||5,this.model.columns.length+this.rowHeaderCount))}get totalHeaderHeight(){let t=0,e=0;this.model.hasColumnTreeEnabled&&(t+=this.treeHeaderHeight,++e),this.model.options.colLetters&&(t+=this.thead.children[e].offsetHeight||this.model.options.rowHeight,++e);for(let i=0;i<this.model.headerCount;i++)t+=this.thead.children[e+i].offsetHeight||this.model.options.rowHeight;return this.model.hasFilter&&(t+=this.model.options.rowHeight),t}get treeHeaderWidth(){return this.model.hasRowTreeEnabled?15*this.model.maxRowLevel+20:0}get treeHeaderHeight(){return this.model.hasColumnTree?15*this.model.maxColumnLevel+20:0}get totalHeaderWidth(){let t=0;return this.model.options.rowNumbers&&(t+=fx.ROW_HEADER_WIDTH),t+=this.treeHeaderWidth,t}get viewportSize(){return this._viewportSize||(this._viewportSize=this.renderAll?{w:1/0,h:1/0}:{w:(this.clientWidth-this.totalHeaderWidth-fx.SLIDER_SIZE)/this.zoom,h:(this.clientHeight-this.totalHeaderHeight-fx.SLIDER_SIZE)/this.zoom}),this._viewportSize}get viewport(){return this._viewport||(this._viewport=this.model.getViewport({c:this.colOffset,r:this.rowOffset},this.viewportSize,{t:this.model.options.freezeTop,l:this.freezeLeft,b:this.model.options.freezeBottom,r:this.model.options.freezeRight})),this._viewport}get viewportRange(){return 0==this.viewport.columns.length||0==this.viewport.rows.length?null:new pv(this.viewport.columns[0].index,this.viewport.rows[0].index,this.viewport.columns[this.viewport.columns.length-1].index,this.viewport.rows[this.viewport.rows.length-1].index)}findColumnIndexByOffset(t){let e=0;const i=this.colgroup.children;for(let o=0;o<i.length;o++)if(e+=i[o].offsetWidth,e>=t)return o;return-1}findRowByOffset(t){const e=(t>this.thead.offsetHeight?this.tbody:this.thead).children;t>this.thead.offsetHeight&&(t-=this.thead.offsetHeight);let i=0;for(let o=0;o<e.length;o++){const r=e[o];if(i+=r.offsetHeight,i>=t)return r}return null}findTableCellByOffset(t,e){t/=this.zoom,e/=this.zoom;const i=this.findRowByOffset(e),o=this.findColumnIndexByOffset(t),r=i&&o>-1?i.children[o]:null;return r&&!Ct(r)?r:null}findNearestTableCellByOffset(t,e){let i,o;t/=this.zoom,e/=this.zoom;const r=this.findRowByOffset(e),s=this.findColumnIndexByOffset(t);i=e<0?this.tbody.children[0]:e>this.tbody.offsetHeight+this.thead.offsetHeight?this.tbody.children[this.viewport.rows.length-1]:r,o=t<0?this.rowHeaderCount:t>=this.tbody.offsetWidth?this.viewport.columns.length+this.rowHeaderCount-1:s;let n=i&&o>-1?i.children[o]:null;for(;n&&Ct(n);)n=n.previousElementSibling;const a=r&&s>-1?r.children[s]:null;return[n,a&&!Ct(a)?a:null]}connectedCallback(){super.connectedCallback(),this.grid=zt(this,"og-grid")}willUpdate(){this._viewport=null,this._viewportSize=null,this.model&&(this.clearHeaderCache(),this.clearBodyCache())}updated(){this.model&&(this.createColumns(),this.createHeaderRows(),this.createBodyRows(),this.renderCells())}refresh(){this.clearHeaderCache(),this.clearBodyCache(),this.requestUpdate()}createColumns(){this._freezeLeft=null;const t=this.renderColCount;if(!this.cols||this.cols.length!=t){this.cols=new Array(t);for(let e=0;e<t;e++)this.cols[e]=yt("col"),this.cols.forEach((()=>this.colgroup.appendChild(this.cols[e])))}}createHeaderRows(){const t=this.columnHeaderCount,e=this.renderColCount;if(St(this.thead),!this.hRows||this.hRows.length!=t||!this.hRows[0]||this.hRows[0].children.length!=e){this.hRows=new Array(t);for(let i=0;i<t;i++){this.hRows[i]=yt("tr");for(let t=0;t<e;t++)this.hRows[i].appendChild(yt("th"))}}St(this.thead),this.hRows.forEach((t=>this.thead.appendChild(t)))}createBodyRows(){const t=this.renderRowCount,e=this.renderColCount,i=this.rowHeaderCount;if(!this.bRows||0==this.bRows.length||this.bRows.length!=t||this.bRows[0].children.length!=e)if(0==t&&this.grid.options.emptyPlaceholder)this.bRows=[yt("tr")],this.bRows[0].appendChild(yt("td"));else{this.bRows=new Array(t);for(let o=0;o<t;o++){this.bRows[o]=yt("tr");for(let t=0;t<i;t++)this.bRows[o].appendChild(yt("th"));for(let t=i;t<e;t++)this.bRows[o].appendChild(yt("td"))}}St(this.tbody),this.bRows.forEach((t=>this.tbody.appendChild(t)))}renderCells(t={vertical:!0,horizontal:!0}){this.table&&(t.vertical||t.horizontal)&&(this._viewport=null,t.horizontal&&this.renderHeader(),this.model.rows.length>0?(this.renderBody(),t.vertical&&this.renderRowTree()):this.model.options.emptyPlaceholder&&(this.renderEmptyBody(),this.table.appendChild(this.tbody)),this.dispatchEvent(new Ix("rendercells")))}renderEmptyBody(){const t=this.bRows[0].children[0];t.innerHTML="no data",t.className="empty-placeholder",t.colSpan=this.viewport.columns.length+this.rowHeaderCount}renderHeader(){let t;this.colMap.clear();const e=this.rowHeaderCount,i=this.viewport;this.model.hasRowTreeEnabled&&Nt(this.colgroup.children[0],{w:this.treeHeaderWidth},!0),this.model.options.rowNumbers&&Nt(this.colgroup.children[e-1],{w:fx.ROW_HEADER_WIDTH},!0);for(let o=0;o<i.columns.length;o++)t=i.columns[o],this.model.autofitColumns.has(t.index)&&(this.grid.rendering.autofitColumn(t.index,!1,!1),this.model.autofitColumns.delete(t.index)),this.colMap.set(t.index,o),Nt(this.colgroup.children[o+e],{w:t.width}),jt(this.colgroup.children[o+e],{w:t.width}),Pt(this.colgroup.children[o+e],{w:t.width});let o=0;this.model.hasColumnTreeEnabled&&(this.renderHeaderRowTree(this.hRows[o],o),++o),this.model.options.colLetters&&(Nt(this.hRows[o],{h:this.model.options.rowHeight}),this.renderHeaderRowLetters(this.hRows[o],o),++o);for(let t=0;t<this.model.headerCount;t++)this.renderHeaderRowLabels(this.hRows[o+t],o+t,t);o+=this.model.headerCount,this.model.hasFilter&&(Nt(this.hRows[o],{h:this.model.options.rowHeight}),this.renderHeaderRowFilters(this.hRows[o],o))}renderHeaderRowLetters(t,e){let i,o;const r=this.viewport,s=e-this.columnHeaderCount;let n=0;if(Nt(t,{h:this.model.options.rowHeight}),(this.model.hasRowTree||this.model.options.rowNumbers)&&!this.model.hasColumnTreeEnabled){i=t.children[n],i.colSpan=this.rowHeaderCount,i.rowSpan=this.columnHeaderCount;const e=n-this.rowHeaderCount,o=this.model.options.levelButtonCell;(!o||s==o.r&&e==o.c)&&this.renderHeaderRowCornerCell(i),n++}for(let e=n;e<this.rowHeaderCount;e++)_t(t.children[e]),n++;for(let e=n;e<t.children.length;e++)o=e-n,i=t.children[e],i.className="hlabel",r.columns.length>o?(i.innerHTML=r.columns[o].address,i.c=r.columns[o].index,Mt(i)):_t(i)}renderHeaderRowTree(t,e){if(!this.model.hasColumnTreeEnabled)return;let i,o,r=0;const s=e-this.columnHeaderCount,n=this.viewport,a=this.model.options.rowNumbers,l=this.model.hasRowTreeEnabled;if(Nt(t,{h:this.treeHeaderHeight}),i=t.children[r],!i)return;i.rowSpan=a||l?this.columnHeaderCount:1,i.colSpan=this.rowHeaderCount;const c=r-this.rowHeaderCount,h=this.model.options.levelButtonCell;let d=null;(!h&&(a||l)||h&&s==h.r&&c==h.c)&&(d=c,this.renderHeaderRowCornerCell(i)),(a||l)&&++r;for(let s=r;s<t.children.length;s++)o=s-r,i=t.children[s],n.columns.length>o?(d!=s&&(i.innerHTML="",i.className="htree",this.renderHeaderRowTreeCell(t,e,n.columns[o],i)),Mt(i)):_t(i)}renderHeaderRowTreeCell(t,e,i,o){let r=this.hCache.get(i.index,e);if(!r){r=yt("div"),this.hCache.set(i.index,e,r);const t=i.width+1,o=this.treeHeaderHeight/this.model.maxColumnLevel;if(i.hasChildren){const e=new Du;e.addEventListener("toggle",(()=>this.grid.rendering.toggleColumn(i.index))),r.expander=e,r.appendChild(e),Ht(e,{l:t/2-fx.EXPANDER_SIZE/2,t:i.level*o+o/2-fx.EXPANDER_SIZE/2}),r.expanderLine=this.createExpanderLine("h"),r.appendChild(r.expanderLine),Ht(r.expanderLine,{l:this.model.options.columnTree.reversed?0:t/2,t:i.level*o+o/2}),Nt(r.expanderLine,{h:o/2,w:t/2+1})}if(i.hasParent){let e=i;for(;e.hasParent;){e=e.parent;const i=this.createExpanderLine("h");r.appendChild(i),Nt(i,{h:o/2,w:t-1}),Ht(i,{l:0,t:e.level*o+o/2})}}}r.expander&&(r.expander.state=i.collapsed?"closed":"open"),o.appendChild(r)}createExpanderLine(t){const e=yt("div");return e.className=`${t}tree-line`,e}renderHeaderRowLabels(t,e,i){let o,r,s,n,a=0;const l=this.viewport,c=e-this.columnHeaderCount,h=this.model.options.levelButtonCell;let d;this.model.hasRowTreeEnabled&&(r=t.children[a],r.innerHTML="",this.model.hasColumnTreeEnabled||this.model.options.colLetters||i>0?_t(r):(r.rowSpan=this.columnHeaderCount,r.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(r)),++a),this.model.options.rowNumbers&&(r=t.children[a],r.innerHTML="",this.model.hasRowTreeEnabled||this.model.options.colLetters||this.model.hasColumnTreeEnabled||i>0?_t(r):(r.rowSpan=this.columnHeaderCount,r.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(r)),++a);for(let u=a;u<t.children.length;u++)if(n=u-a,r=t.children[u],r.className="hlabel",r.innerHTML="",l.columns.length>n)if(o=l.columns[n],s=o.header[i],s.height&&(d=Math.max(s.height,d||0)),r.colSpan=1,r.rowSpan=1,r.c=o.index,r.r=i,s?.hidden)if(n==this.freezeLeft){let t=o.prevVisible,s=0;for(;t&&t.header[i]?.hidden;)t=t.prevVisible,++s;t&&t.header[i].cs?(Mt(r),r.colSpan=t.header[i].cs-s-1,r.rowSpan=t.header[i].rs||1,this.renderHeaderRowLabelCell(r,t,e,i)):_t(r)}else _t(r);else{if(o.header&&o.header[i]){const t=o.header[i].cs||1;r.colSpan=t>1?o.calculateRealColspan(t):1,r.rowSpan=o.header[i].rs||1}Mt(r),this.renderHeaderRowLabelCell(r,o,e,i),h&&h.r==c&&h.c==o.index&&this.renderHeaderRowCornerCell(r)}else _t(r);Nt(t,{h:d??this.model.options.rowHeight})}renderHeaderRowLabelCell(t,e,i,o){let r=this.hCache.get(e.index,i);const s=e.header[o];if(r||(r=yt("div"),s?s.html?r.innerHTML=s.label??"":r.innerText=s.label??"":r.innerHTML="",s&&null!=s._style&&Wk(r,nw(this.model.styles.get(s._style))),this.hCache.set(e.index,i,r)),this.model.options.columnHeaderTreeButtons&&e.hasChildren&&o==e.level){let t=r.expander;t||(t=new Du,t.addEventListener("toggle",(()=>this.grid.rendering.toggleColumn(e.index))),r.expander=t,r.prepend(t),Ht(t,{l:4,t:4})),t.state=e.collapsed?"closed":"open"}e.sorting&&o==e.header.length-1&&(t.className+=" sort",r.sortingArrow||(r.sortingArrow=new Ex,r.appendChild(r.sortingArrow),Ht(r.sortingArrow,{t:0,r:5})),r.sortingArrow.sortSettings=this.model.sorting.get(e.index)),t.appendChild(r)}renderHeaderRowFilters(t,e){let i,o,r=0;const s=this.viewport;this.model.hasRowTreeEnabled&&(i=t.children[r],i.innerHTML="",this.model.columnHeaderCount>1?_t(i):i.colSpan=this.model.columnHeaderCount,++r),this.model.options.rowNumbers&&(i=t.children[r],i.innerHTML="",this.model.hasRowTreeEnabled||this.model.options.colLetters||this.model.hasColumnTreeEnabled||this.model.headerCount>0?_t(i):(i.rowSpan=this.columnHeaderCount,i.colSpan=this.rowHeaderCount,this.renderHeaderRowCornerCell(i)),++r);for(let n=r;n<t.children.length;n++)if(o=n-r,i=t.children[n],s.columns.length>o){Mt(i);const r=s.columns[o];r.hasFilter?this.renderHeaderRowFilterCell(t,e,r,i):i.innerHTML=""}else _t(i)}renderHeaderRowFilterCell(t,e,i,o){o.innerHTML="",o.className="filter",o.c=i.index;let r=this.hCache.get(i.index,e);r||(r=yt("div"),r.filter=yt("og-filter-label"),r.appendChild(r.filter),this.hCache.set(i.index,e,r));const s=this.grid.filtering.filter.get(i.index)?.term;r.filter.value=Array.isArray(s)?s.map((t=>t.value??t.key)).join(", "):s,o.appendChild(r)}renderHeaderRowCornerCell(t){this.cornerDiv=yt("div");const e=Math.max((this.treeHeaderWidth||fx.EXPANDER_SIZE+2)/(this.model.maxRowLevel+1),fx.EXPANDER_SIZE+2);if(this.model.hasRowTree)for(let t=0;t<=this.model.maxRowLevel;t++){const i=new Nu;i.level=t,this.cornerDiv.appendChild(i),Ht(i,{l:t*e+e/2-fx.EXPANDER_SIZE/2,b:3}),i.addEventListener("mousedown",(t=>t.stopPropagation())),i.addEventListener("toggle",(t=>{this.model.columns.filter((t=>t.levelButtons)).forEach((t=>this.bCache.deleteColumn(t.index))),this.grid.rendering.setRowExpandLevel(t.level)}))}if(this.model.hasColumnTree){const i=(this.model.hasColumnTree?this.treeHeaderHeight:t.clientHeight)/(this.model.maxColumnLevel+1),o=15*this.model.maxColumnLevel+20<=t.clientHeight;for(let t=0;t<=this.model.maxColumnLevel;t++){const r=new Nu;r.level=t,this.cornerDiv.appendChild(r),Ht(r,o?{t:t*i+i/2-fx.EXPANDER_SIZE/2,r:3}:{r:t*e+e/2-fx.EXPANDER_SIZE/2,b:3}),r.addEventListener("mousedown",(t=>t.stopPropagation())),r.addEventListener("toggle",(t=>{this.grid.rendering.setColumnExpandLevel(t.level)}))}}St(t),t.appendChild(this.cornerDiv)}renderBody(){let t,e,i,o,r,s,n,a,l;const c=this.freezeLeft||0,h=this.rowHeaderCount,d=this.model.merges,u=this.model.options.rowNumbers,p=this.viewport,g=this.viewportRange;if(!g)return;const m=new pv(this.colOffset+c,this.rowOffset,g.c2,g.r2);this.rowMap.clear();for(let c=0;c<this.bRows.length;c++)if(t=this.bRows[c],c<p.rows.length){i=p.rows[c],o=i.index,this.model.autofitRows.has(o)&&(this.grid.rendering.autofitRow(o,!1,!1),this.model.autofitRows.delete(o)),Nt(t,{h:i.height}),i.height<this.model.options.rowHeight&&Bt(t,i.height),this.rowMap.set(o,c),u&&(e=t.children[h-1],e.className="vlabel",e.r=o,e.c=-1,e.innerHTML=`<div>${gv(o)}</div>`);for(let c=h;c<t.children.length;c++)if(e=t.children[c],c-h<p.columns.length){if(s=p.columns[c-h],r=s.index,e.r=o,e.c=r,n=i.cell(r),a=n.address,l=d.getMergeState(a),l==cx.HIDDEN){const t=d.hiddenCells.get(n.address),i=m.intersect(new pv(t.c,t.r,t.c+t.cs-1,t.r+t.rs-1));if(!i||n.c!=i.c1||n.r!=i.r1){_t(e);continue}n=this.model.rows[t.r].cell(t.c),e.colSpan=i.size.columns,e.rowSpan=i.size.rows,e.c=n.c,e.r=n.r}else if(l==cx.MERGED){const t=n.merge;e.colSpan=t.cs,e.rowSpan=t.rs}else e.colSpan=1,e.rowSpan=1;Mt(e),this.renderBodyCell(n,e)}else _t(e);t.style.display="table-row",t.className=i.filterState>1?"filtered":""}else t.style.display="none"}scheduleRenderBodyCell(t,e){this.cellRenderSchedules.has(e)&&(window.clearTimeout(this.cellRenderSchedules.get(e)),this.cellRenderSchedules.delete(e)),this.cellRenderSchedules.set(e,window.setTimeout((()=>this.renderBodyCell(t,e))))}fixCellBorders(t,e){"none"==e.bottom?.style&&(t.style.borderBottomColor="transparent"),"none"==e.top?.style&&(t.style.borderTop="transparent"),"none"==e.right?.style&&(t.style.borderRight="transparent"),"none"==e.left?.style&&(t.style.borderLeft="transparent")}renderBodyCell(t,e){const i=!e;if(e=e||this.getCellByCellModel(t)){let o=i?null:this.bCache.get(t.c,t.r);if(o||(o=yt("div"),Jk(t).call(this,o,t),this.bCache.set(t.c,t.r,o)),this.renderAll){const i=t.composedStyle;i&&this.fixCellBorders(e,i)}St(e),e.appendChild(o)}else this.bCache.delete(t.c,t.r)}mergeBodyCells(t){let e;const i=new Set;for(const o of t)if(e=this.bRows[o.r].cells[o.c],e&&!i.has(e))for(let t=o.r;t<o.r+o.rs;t++)for(let r=o.c;r<o.c+o.cs;r++)e=this.bRows[t].cells[r],e&&(t==o.r&&r==o.c?(e.colSpan=o.cs,e.rowSpan=o.rs):(i.add(e),_t(e)))}renderRowTree(){if(!this.model.hasRowTreeEnabled)return;let t;const e=this.viewport,i=-this.rowHeaderCount;for(let o=0;o<this.bRows.length;o++)t=this.bRows[o].children[0],t.innerHTML="",o<e.rows.length&&(t.className="vtree",this.renderRowTreeCell(i,e.rows[o],t))}renderRowTreeCell(t,e,i){let o=this.bCache.get(t,e.index);if(!o){o=yt("div"),this.bCache.set(t,e.index,o);const r=e.height+1,s=this.treeHeaderWidth/this.model.maxRowLevel;if(e.hasChildren){const t=new Du;t.addEventListener("toggle",(()=>this.grid.rendering.toggleRow(e.index))),i.parentElement.expander=t,o.expander=t,o.appendChild(t),Ht(t,{t:r/2-fx.EXPANDER_SIZE/2,l:e.level*s+s/2-fx.EXPANDER_SIZE/2});const n=this.createExpanderLine("v");o.appendChild(n),Ht(n,{t:this.model.options.rowTree.reversed?0:r/2,l:e.level*s+s/2}),Nt(n,{w:s/2,h:r/2+1})}if(e.hasParent){let t=e;for(;t.hasParent;){t=t.parent;const e=this.createExpanderLine("v");o.appendChild(e),Nt(e,{w:s/2,h:r+2}),Ht(e,{t:-1,l:t.level*s+s/2})}}}o.expander&&(o.expander.state=e.collapsed?"closed":"open"),i.appendChild(o)}};Lx.styles=[_x],zx([Ln({type:Object})],Lx.prototype,"model",void 0),zx([Ln({type:Boolean,reflect:!0})],Lx.prototype,"hideOuterBorder",void 0),zx([Ln({type:Number,hasChanged:()=>!1})],Lx.prototype,"rowOffset",void 0),zx([Ln({type:Number,hasChanged:()=>!1})],Lx.prototype,"colOffset",void 0),zx([Ln({type:Number,reflect:!0})],Lx.prototype,"zoom",void 0),zx([Ln({type:Boolean,reflect:!0})],Lx.prototype,"nogrid",void 0),zx([Ln({type:Boolean,reflect:!0})],Lx.prototype,"renderAll",void 0),Lx=zx([En("og-table")],Lx);const Rx=["F5","F12"];class Tx extends Event{constructor(t){super("grid.error",{bubbles:!0,composed:!0}),this.error=t}}class Ax extends Event{get selection(){return this.grid.selecting.selection}get activeCell(){return this.selection.activeCell}constructor(t,e){super(`grid.${t}`,{bubbles:!0,composed:!0}),Object.assign(this,e),this.cell&&(this.row=this.cell.row,this.column=this.cell.column)}}class Ox extends Ax{constructor(t){super("edit",t)}}class $x extends pp{constructor(t,e,i){super(`grid.${t}`,i),this.grid=e}}class Dx extends $x{constructor(t,e,i,o){super(t,e,o),this.column=i}}class Nx extends $x{constructor(t,e,i,o){super(t,e,o),this.row=i}}class Px{get model(){return this.grid.model}get selection(){return this.grid.selection}get table(){return this.grid.table}constructor(t){this.grid=t,this.clickDisabled=!1,this.editDisabled=!1,this.clicked=!1,this.startOffset={x:0,y:0},this.suspendClick=()=>this.clickDisabled=!0,this.resumeClick=(t=!1)=>{this.isSliding||(t?setTimeout((()=>this.clickDisabled=!1),100):this.clickDisabled=!1)},this._onKeyDown=t=>{switch(Rx.includes(t.key)||t.preventDefault(),t.key){case"Tab":t.preventDefault(),this.grid.selecting.shiftActiveCell(t.shiftKey?-1:1,!0);break;case"ArrowRight":this.grid.selecting.debounceMoveSelector(1,0);break;case"ArrowLeft":this.grid.selecting.debounceMoveSelector(-1,0);break;case"ArrowDown":this.grid.selecting.debounceMoveSelector(0,1);break;case"ArrowUp":this.grid.selecting.debounceMoveSelector(0,-1);break;case"PageUp":this.grid.selecting.debounceMoveSelector(0,-this.table.viewport.rows.length);break;case"PageDown":this.grid.selecting.debounceMoveSelector(0,this.table.viewport.rows.length);break;case"Home":this.grid.selecting.debounceMoveSelector(-this.selection.range.c1,t.ctrlKey?-this.selection.range.r1:0);break;case"End":this.grid.selecting.debounceMoveSelector(this.model.gridRange.c2-this.selection.range.c1,t.ctrlKey?this.model.gridRange.r2-this.selection.range.r1:0);break;case"Enter":this.grid.selecting.enter();break;case"Escape":this.grid.selecting.hideCopySelector();break;case"c":case"C":t.ctrlKey&&this.grid.editing.copySelection();break;case"v":case"V":t.ctrlKey&&this.grid.editing.paste();break;case"z":case"Z":if(!this.grid.options.undoRedo)return;t.ctrlKey&&this.grid.editing.undo();break;case"y":case"Y":if(!this.grid.options.undoRedo)return;t.ctrlKey&&this.grid.editing.redo();break;case"F2":t.preventDefault(),this.grid.editing.startEdit();break;case"Delete":t.preventDefault(),this.grid.objects.delete(),this.grid.editing.clearSelection();break;case"Backspace":t.preventDefault(),this.grid.editing.clearSelection();break;case"F1":if(!this.grid.options.commandWindow)return;t.preventDefault(),this.grid.openCommands()}1!=t.key.length||t.ctrlKey||this.grid.editing.startEdit(t.key)},this._onMouseMove=t=>{if(!this.model)return;let e=!0;const i=this.grid.hSizer,o=this.grid.vSizer,{offsetX:r,offsetY:s}=t;let n=this.model.options.scrolling.scrollbarVisibilityTreshold;n<=0&&(n=Math.max(this.grid.clientWidth,this.grid.clientHeight)),r>this.grid.clientWidth-n?this.grid.vSlider.show():this.grid.vSlider.hide(),s>this.grid.clientHeight-n?this.grid.hSlider.show():this.grid.hSlider.hide();const[a,l]=this.table.findNearestTableCellByOffset(r,s);if(l&&"TH"==l.tagName&&(this.model.options.columnResize&&!i.resizing&&l.classList.contains("hlabel")?l.offsetWidth-t.offsetX+l.offsetLeft<fx.RESIZE_TRESHOLD?(i.snap(l,this.grid),this.grid.rendering.currentResizedColumn=this.model.columns[l.c]):kt(i):this.model.options.rowResize&&!o.resizing&&l.classList.contains("vlabel")&&(l.offsetHeight-t.offsetY+l.offsetTop<fx.RESIZE_TRESHOLD?(o.snap(l,this.grid),this.grid.rendering.currentResizedRow=this.model.rows[l.r]):kt(o))),a&&"TH"==a.tagName)this.grid.selecting.isSelecting&&(this.suspendClick(),this.grid.selecting.updateSelecting(a.c,a.r));else{if(a&&"TD"==a.tagName)if(this.grid.selecting.isSelectorOperationActive||this.grid.selecting.isFormulaSelectorOperationActive){const{top:e,left:i}=Tt(a,this.grid);this.grid.rendering.autoscroll({x:i-this.table.totalHeaderWidth+t.offsetX-a.offsetLeft,y:e-this.table.thead.clientHeight+t.offsetY-a.offsetTop}),this.grid.selecting.isSelecting&&this.suspendClick(),this.grid.selecting.updateSelecting(a.c,a.r)}else{const t=this.model.rows[a.r]?.cell(a.c);t&&t.hasTooltip&&(e=!1,this.grid.tooltip.attachToCell(a,t)),t&&t.hasComment&&(e=!1,this.grid.comment.attachedTo!==a&&this.grid.comment.attachTo(a,t))}e&&(this.grid.tooltip.deatach(),this.grid.comment.deatach(this.model.options.comments.hideTimeout)),kt(i),kt(o)}},this._onMouseDown=t=>{if(1&t.buttons){this.grid.setPointerCapture(t.pointerId),this.startOffset={x:t.offsetX,y:t.offsetY};for(const e of t.composedPath()){if("TD"==e.tagName){const t=e;this.grid.selecting.startCellSelecting(new pv(t.c,t.r));break}if("TH"==e.tagName){const t=e;e.matches(".sort")?this.grid.sorting.sort(t.c):t.classList.contains("filter")?this.grid.filtering.openFilter(this.model.columns[t.c],t):t.classList.contains("hlabel")?this.grid.selecting.startColumnSelecting(t.c):t.classList.contains("vlabel")&&this.grid.selecting.startRowSelecting(t.r);break}}}},this._onMouseUp=t=>{if(0!=t.buttons)return;const e=Math.abs(this.startOffset.x-t.offsetX),i=Math.abs(this.startOffset.y-t.offsetY);Math.sqrt(Math.pow(e,2)+Math.pow(i,2))<this.model.options.events.click.mouseMoveTreshold&&this.resumeClick(),this.grid.releasePointerCapture(t.pointerId),this.grid.selecting.stopSelectOperations()},this._onClick=t=>{if(this.clickDisabled)return;if(this.grid.clientHeight-t.offsetY<this.grid.hSlider.offsetHeight)return;if(this.grid.clientWidth-t.offsetX<this.grid.vSlider.offsetWidth)return;const e=this.table.findTableCellByOffset(t.offsetX,t.offsetY),i="TD"==e?.tagName?this.model.rows[e.r]?.cell(e.c):null;this.grid.dispatchEvent(new Ax("click",{grid:this.grid,cell:i}))},this._onContextMenu=t=>{t.preventDefault();for(const e of t.composedPath())if("TD"==e.tagName){const i=e;this.grid.menus.openCellMenu(this.model.rows[i.r].cell(i.c),{x:t.pageX,y:t.pageY})}else if("TH"==e.tagName){const i=e;i.classList.contains("hlabel")?this.grid.menus.openColumnMenu(this.model.columns[i.c],{x:t.pageX,y:t.pageY}):i.classList.contains("vlabel")&&this.grid.menus.openRowMenu(this.model.rows[i.r],{x:t.pageX,y:t.pageY})}},this._onVerticalSlide=t=>{this.table.rowOffset=Math.min(t.value,this.model.visibleRows.length-1),this.grid.rendering.requireVerticalUpdate=!0,this.grid.rendering.renderCells()},this._onHorizontalSlide=t=>{this.table.colOffset=Math.min(t.value,this.model.visibleColumns.length-1),this.grid.rendering.requireHorizontalUpdate=!0,this.grid.rendering.renderCells()},this._onSlideStart=()=>{this.suspendClick()},this._onSlideStop=()=>{this.resumeClick(!0)},this._denbounceHorizontalScroll=q((t=>this.grid.rendering.scrollHorizontalByPixels(t)),50),this._onWheel=t=>{t.ctrlKey||(0!=t.deltaY&&this.grid.rendering.scrollVerticalByPixels(t.deltaY),0!=t.deltaX&&this._denbounceHorizontalScroll(Math.sign(t.deltaX)*Math.min(100,Math.abs(t.deltaX))))},this._onTouchStart=t=>{this.grid.rendering.touchStartX=t.touches[0],this.grid.rendering.touchStartY=t.touches[0]},this._onTouchEnd=t=>{this.grid.rendering.touchStartX=t.touches[0],this.grid.rendering.touchStartY=t.touches[0]},this._onTouchMove=t=>{const e=this.grid.rendering;if(e.touchStartY){const i=e.touchStartY.clientY-t.touches[0].clientY;Math.abs(i)>this.model.options.rowHeight&&this.table.viewport.rows.length>0&&(e.scrollVerticalByPixels(i),e.touchStartY=t.touches[0])}if(e.touchStartX){const i=e.touchStartX.clientX-t.touches[0].clientX;Math.abs(i)>this.model.options.columnWidth&&this.table.viewport.columns.length>0&&(e.scrollHorizontalByPixels(i),e.touchStartX=t.touches[0])}},this._onHorizontalResizeStart=()=>{this.grid.rendering.resizing=!0,this.grid.rendering.currentResizedColumnWidth=this.grid.rendering.currentResizedColumn.width},this._onHorizontalResizeStop=t=>{this.suspendClick(),this.grid.rendering.resizing=!1,this.table.clearHeaderCache(),this.table.renderCells({horizontal:!0}),this.grid.dispatchEvent(new Dx("column.resize",this.grid,this.grid.rendering.currentResizedColumn,t))},this._onHorizontalResize=t=>{const e=this.grid.rendering;e.currentResizedColumn.width=e.currentResizedColumnWidth+t.deltaX,Nt(this.table.getColumnByModelIndex(e.currentResizedColumn.index),{w:e.currentResizedColumn.width},!0),this.grid.selecting.updateSelector()},this._onVerticalResizeStart=()=>{this.grid.rendering.resizing=!0,this.grid.rendering.currentResizedRowHeight=this.grid.rendering.currentResizedRow.height},this._onVerticalResizeStop=t=>{this.suspendClick(),this.grid.rendering.resizing=!1,this.table.clearBodyCache(),this.table.renderCells({vertical:!0}),this.grid.dispatchEvent(new Nx("row.resize",this.grid,this.grid.rendering.currentResizedRow,t))},this._onVerticalResize=t=>{const e=this.grid.rendering;e.currentResizedRow.height=e.currentResizedRowHeight+t.deltaY,Nt(this.table.getRowByModelIndex(e.currentResizedRow.index),{h:e.currentResizedRow.height},!1),this.grid.selecting.updateSelector()},this._onCommentCommit=t=>{this.grid.model.comments.set(t.cell.address,t.items),t.cell.invalidateStyle(),this.grid.rendering.updateCells([t.cell])},this._onAutofill=t=>{if(this.suspendClick(),this.grid.selection.range.equals(t.selector.autofillRange))return;const{cells:e,oldValues:i}=qy(this.model,this.grid.selection.range,t.selector.autofillRange,t.selector.autofillDirection);this.grid.rendering.updateCells(e,!0),this.grid.selection.setRange(this.grid.selection.range.unite(t.selector.autofillRange)),this.grid.selecting.updateSelector(),this.grid.dispatchEvent(new Ox({grid:this.grid,editType:"autofill",cells:e,oldValues:i,newValues:e.map((t=>t.value2))}))},this._onEdit=t=>{if(t.fromHistory)return;const e=[],i=[],o=this.model.names.rangeMap;let r=[],s=[],n=[],a=[];switch(t.editType){case"value":r=t.newValues,s=t.newProps,n=t.oldValues,a=t.oldProps,t.cells.forEach((t=>{const r=t.address;e.push(r),i.push(o.get(r))}));break;case"insert_column":case"insert_row":t.newValues.forEach((t=>{const s=t.address;e.push(s),i.push(o.get(s)),r.push(t.getSourceData())}))}this.grid.history.push({type:t.editType,addresses:e,names:i,oldValues:n,oldProps:a,newValues:r,newProps:s})},this._onSelectorMove=t=>{this.suspendClick(),this.selection.setRange(t.toRange),t.fromRange.isRow?this.grid.editing.moveRows({index:t.fromRange.r1,count:t.fromRange.size.rows,targetIndex:t.toRange.r1}):t.fromRange.isColumn?this.grid.editing.moveColumns({index:t.fromRange.c1,count:t.fromRange.size.columns,targetIndex:t.toRange.c1}):console.log(t)},this._onMouseLeave=()=>{this.grid.rendering.hideSliders()},this.debounceHideSliders=q((()=>this.grid.rendering.hideSliders()),1e3,{isImmediate:!1}),this._onRender=()=>{const t=this.grid;t.selecting.updateSelectors(),t.dispatchEvent(new Ax("render",{grid:this.grid})),t.adapter&&t.options.pageSize&&t.rendering.isLastRowInViewport()&&t.rendering.loadNextPage(),t.rendering.updateSliderVisibility(),this.model.options.scrolling.scrollbarVisibilityTreshold>0&&this.debounceHideSliders()},this._onHorizontalSizerDblClick=t=>{t.stopPropagation(),this.editDisabled=!0,this.grid.rendering.autofitColumn(this.grid.rendering.currentResizedColumn.index),this.grid.dispatchEvent(new Dx("column.resize",this.grid,this.grid.rendering.currentResizedColumn,t))},this._onVerticalSizerDblClick=t=>{t.stopPropagation(),this.editDisabled=!0,this.grid.rendering.autofitRow(this.grid.rendering.currentResizedRow.index),this.grid.dispatchEvent(new Nx("row.resize",this.grid,this.grid.rendering.currentResizedRow,t))},this._onDblClick=()=>{this.editDisabled?this.editDisabled=!1:this.grid.editing.startEdit()}}get isSliding(){return this.grid.hSlider.sliding||this.grid.vSlider.sliding}async init(){await this.grid.updateComplete,await this.table.updateComplete;const t=this.grid;t.addEventListener("wheel",this._onWheel,{passive:!0}),t.addEventListener("touchstart",this._onTouchStart,{passive:!0}),t.addEventListener("touchend",this._onTouchEnd,{passive:!0}),t.addEventListener("touchmove",this._onTouchMove,{passive:!0}),t.hSizer.addEventListener("resizestart",this._onHorizontalResizeStart),t.hSizer.addEventListener("resizestop",this._onHorizontalResizeStop),t.hSizer.addEventListener("resize",this._onHorizontalResize),t.hSizer.addEventListener("dblclick",this._onHorizontalSizerDblClick),t.vSizer.addEventListener("resizestart",this._onVerticalResizeStart),t.vSizer.addEventListener("resizestop",this._onVerticalResizeStop),t.vSizer.addEventListener("resize",this._onVerticalResize),t.vSizer.addEventListener("dblclick",this._onVerticalSizerDblClick),t.comment.addEventListener("comment.commit",this._onCommentCommit),t.addEventListener("keydown",this._onKeyDown),t.addEventListener("click",this._onClick),t.addEventListener("contextmenu",this._onContextMenu),t.addEventListener("toggle",(()=>t.rendering.debounceCalculateViewport())),t.addEventListener("pointerup",this._onMouseUp),t.addEventListener("pointerdown",this._onMouseDown);const e=q(this._onMouseMove,20,{maxWait:50,isImmediate:!0});t.addEventListener("pointermove",e),t.addEventListener("mouseleave",this._onMouseLeave),t.table.addEventListener("rendercells",this._onRender),t.selector.addEventListener("grid.selector.autofill",this._onAutofill),t.selector.addEventListener("grid.selector.move",this._onSelectorMove),t.addEventListener("dblclick",this._onDblClick),t.addEventListener("grid.edit",this._onEdit)}}class jx{get vScrolling(){return this._vScrolling}get hScrolling(){return this._hScrolling}get model(){return this.grid.model}get selection(){return this.grid.selection}get table(){return this.grid.table}constructor(t){this.grid=t,this.requireVerticalUpdate=!0,this.requireHorizontalUpdate=!1,this.resizing=!1,this._vScrolling=!0,this._hScrolling=!0,this.debounceRenderCells=q(this.renderCells,50,{isImmediate:!1,maxWait:100}),this.debounceCalculateViewport=q(this.calculateViewport,200)}isLastRowInViewport(){const t=this.grid.table.viewport.rows,e=this.model.visibleRows;return t[t.length-1]==e[e.length-1]}renderCells(t){t=t||{vertical:this.requireVerticalUpdate,horizontal:this.requireHorizontalUpdate},this.grid.comment.deatach(),this.grid.table.renderCells(t),this.requireHorizontalUpdate=!1,this.requireVerticalUpdate=!1,this.debounceCalculateViewport(),this.grid.objects.updatePostions()}renderAll(t=!1){this.grid.group?this.grid.group.grids.forEach((e=>e.rendering.render(t))):this.render(t)}async render(t=!1){this.grid.table&&this.model&&(this.grid.table.clearHeaderCache(),this.grid.table.clearBodyCache(),this.grid.table.isConnected&&(t&&(this.grid.table.requestUpdate(),await this.grid.table.updateComplete),this.grid.table.renderCells({horizontal:!0,vertical:!0}),this.calculateViewport()))}updateRange(t,e=!1){for(const i of this.model.getRangeIterator(t))this.updateCells([i],e)}updateCell(t,e=!1){this.updateCells([t],e)}updateSpilledCells(t){let e;t.prevSpillRange&&(e=new Set,this.model.getRangeIterator(t.prevSpillRange).forEach((t=>e.add(t)))),t.spillRange&&(e=e||new Set,this.model.getRangeIterator(t.spillRange).forEach((t=>e.add(t)))),e?.size>0&&this.updateCells(e)}updateCells(t,e=!1){if(e)for(const e of t)e.invalidateStyle(),e.invalidateValue(),this.model.calculations.clearDependecies(e).evaluate(e),this.updateSpilledCells(e);const i=this.grid.table;for(const e of t)i.renderBodyCell(e);e&&(this.model.calculations.invalidateDependants(t).forEach(((t,e)=>{t?this.grid.group.getGrid(t)?.table.renderBodyCell(e):i.renderBodyCell(e),this.updateSpilledCells(e)})),this.grid.dispatchGridEvent("calculate",{cells:Array.from(t)}))}updateHeaders(){this.model.indexVisibleColumns(),this.table.clearHeaderCache(),this.table.createHeaderRows(),this.table.renderHeader()}calculateViewport(t=!1){this.grid.logger.info("calculate viwport"),this.updateCells(this.model.calculateViewport(),t)}updateSliders(){const t=this.table.viewportSize;this.grid.vSlider.maxValue=this.model.visibleRows.length,this.grid.vSlider.pageSize=t.h/this.model.options.rowHeight,this.grid.vSlider.value=this.table.rowOffset,this.grid.hSlider.maxValue=this.model.visibleColumns.length,this.grid.hSlider.pageSize=t.w/this.model.options.columnWidth,this.grid.hSlider.value=this.table.colOffset}isVerticalScrollingEnabled(){return!1!==this.grid.options.scrolling.verticalOverscroll||this.table.viewport.rows.length<this.model.visibleRows.length}isHorizontalScrollingEnabled(){return!1!==this.grid.options.scrolling.horizontalOverscroll||this.table.viewport.columns.length<this.model.visibleColumns.length}updateSliderVisibility(){this._vScrolling=this.isVerticalScrollingEnabled(),this._vScrolling?(this.grid.vSlider.show(),xt(this.grid.vSlider)):(this.grid.vSlider.hide(),kt(this.grid.vSlider)),this._hScrolling=this.isHorizontalScrollingEnabled(),this._hScrolling?(this.grid.hSlider.show(),xt(this.grid.hSlider)):(this.grid.hSlider.hide(),kt(this.grid.hSlider))}hideSliders(){this.grid.vSlider.hide(),this.grid.hSlider.hide()}scrollVerticalByPixels(t){if(!this.vScrolling)return;let e,i=this.table.rowOffset,o=0,r=0;if(t>0){for(;o<t&&i+r<this.model.visibleRows.length;)o+=this.model.visibleRows[i+r++].height+2;i+=r}else if(t<0){for(t=Math.abs(t);o<t&&i+r>=0;)e=this.model.visibleRows[Math.min(this.model.visibleRows.length-1,i+r--)],o+=(e?e.height:0)+2;i+=r}i>=this.model.visibleRows.length&&(i=this.model.visibleRows.length-1),this.requireVerticalUpdate=!0,this.table.rowOffset=Math.max(0,i),this.debounceRenderCells(),this.updateSliders()}scrollHorizontalByPixels(t){if(!this.hScrolling)return;let e=this.table.colOffset,i=0,o=0;if(t>0){for(;i<t&&e+o<this.model.visibleColumns.length;)i+=this.model.visibleColumns[e+o++].width+2;e+=o}else if(t<0){for(t=Math.abs(t);i<t&&e+o>=0;)i+=this.model.visibleColumns[Math.min(this.model.visibleColumns.length-1,e+o--)].width+2;e+=o}e>=this.model.visibleColumns.length&&(e=this.model.visibleColumns.length-1),this.requireHorizontalUpdate=!0,this.table.colOffset=Math.max(0,e),this.debounceRenderCells(),this.updateSliders()}updateCellSelectionRange(){const t=this.table;for(const e of this.model.getRangeIterator(this.selection.range,!1))t.renderBodyCell(e)}getAdapterRequestFilters(){return{offset:0,filter:this.grid.filtering?.filter?Array.from(this.grid.filtering.filter.settings.values()):null,order:this.grid.model?.sorting?.settings}}async toggleRow(t,e=!0){const i=this.model.rows[t];if(i.isLoaded||i.isPartialyLoaded)i.toggleCollapse(!1,this.model.options.unhideRowAfterExpand),this.table.renderCells({vertical:!0});else if(this.grid.adapter){const e=this.table.getRowByModelIndex(t);e&&e.expander&&(e.expander.state="waiting"),i.collapsed=!1;const o=Object.assign(this.getAdapterRequestFilters(),{parent:{r:i.index,props:i.properties}}),[r]=await Promise.all([this.grid.adapter.getRows(o)]);this.model.insertRowData(i,0,r),o.rows=r;const[s]=await Promise.all([this.grid.adapter.getCells(o)]);s?.map((t=>this.model.getCellByCoords(t.r,t.c)?.update(t))),this.table.requestUpdate()}this.updateSliders(),e&&this.grid.dispatchEvent(new Ax("row.toggle",{grid:this.grid,row:i}))}toggleColumn(t,e=!0){const i=this.model.columns[t];i.toggleCollapse(!1,this.model.options.unhideColumnAfterExpand),this.table.renderCells({horizontal:!0}),this.updateSliders(),e&&this.grid.dispatchEvent(new Ax("column.toggle",{grid:this.grid,column:i}))}setRowExpandLevel(t){this.model.setRowExpandLevel(t),this.table.rowOffset=0,this.table.renderCells({vertical:!0}),this.updateSliders(),this.grid.dispatchEvent(new Ax("row.toggle",{grid:this.grid}))}setColumnExpandLevel(t){this.model.setColumnExpandLevel(t),this.table.colOffset=0,this.table.renderCells({horizontal:!0}),this.updateSliders(),this.grid.dispatchEvent(new Ax("column.toggle",{grid:this.grid}))}async exportHTML(){const t=yt("div");kt(t),document.body.appendChild(t);const e=yt("og-table");e.grid=this.grid,e.model=this.model,e.renderAll=!0,t.appendChild(e),await e.updateComplete;const i=this.model.options?.print?.rowBreaks,o=e.table,r=i&&i.length>0;if(r){const t=o.querySelector("colgroup"),r=[...o.tBodies[0].rows],s=this.model.options?.print?.rowTitles?pv.fromA1(this.model.options?.print?.rowTitles):null,n=s?Array.from({length:s.r2-s.r1+1},((t,i)=>r[e.rowMap.get(s.r1+i)])):[];for(let o=0;o<i.length;o++){const s=yt("table");s.appendChild(t.cloneNode(!0));const a=yt("tbody");s.appendChild(a);const l=e.rowMap.get(i[o]),c=o<i.length-1?e.rowMap.get(i[o+1]):this.model.visibleRows.length-1;n.forEach((t=>a.appendChild(t.cloneNode(!0))));for(let t=l;t<=c;t++)a.appendChild(r[t]);e.shadowRoot.appendChild(s)}t.cloneNode(!0)}const s=`\n\t\t\t<style>\n\t\t\t\thtml {\n\t\t\t\t\t${Ta(Ha().themes.get("light")).cssText}\n\t\t\t\t}\n\t\t\t\t${r?"table {break-after: page}":""}\n\t\t\t\t${Lx.styles.map((t=>t.cssText)).join("\n")}\n\t\t\t</style>\n\n\t\t`,n=s+e.shadowRoot.innerHTML.replace(/<!---->/g,"");return t.remove(),n}stopAutoscroll(){this.autoscrollTimer&&window.clearInterval(this.autoscrollTimer)}startAutoscroll(){this.stopAutoscroll(),this.autoscrollTimer=window.setInterval((()=>{if(0==this.autoscrollValue)return this.stopAutoscroll();const t=Math.pow(this.autoscrollValue,Gf.AUTOSCROLL_RATIO);switch(this.autoscrollDirection){case"down":this.scrollVerticalByPixels(t);break;case"up":this.scrollVerticalByPixels(-t);break;case"left":this.scrollHorizontalByPixels(-t);break;case"right":this.scrollHorizontalByPixels(t)}}),Gf.AUTOSCROLL_INTERVAL)}autoscroll(t){const{x:e,y:i}=t,o=this.table.clientWidth/this.table.zoom-this.table.totalHeaderWidth,r=this.table.clientHeight/this.table.zoom-this.table.totalHeaderHeight;let s,n=0;e<Gf.AUTOSCROLL_TRESHOLD&&e<i&&e<r-i?(s="left",n=Gf.AUTOSCROLL_TRESHOLD-e):o-e<Gf.AUTOSCROLL_TRESHOLD&&o-e<i&&o-e<r-i?(s="right",n=Gf.AUTOSCROLL_TRESHOLD-o+e):i<Gf.AUTOSCROLL_TRESHOLD?(s="up",n=Gf.AUTOSCROLL_TRESHOLD-i):r-i<Gf.AUTOSCROLL_TRESHOLD&&(s="down",n=Gf.AUTOSCROLL_TRESHOLD-r+i),this.autoscrollDirection=s,this.autoscrollValue=n,this.stopAutoscroll(),n>0&&this.startAutoscroll()}async load(t){t=t||this.getAdapterRequestFilters();const e=t.parent?.r??null,i=null!=e?this.model.rows[e]:this.model.rowRoot,[o]=await Promise.all([this.grid.adapter.getRows(t)]);o.length>0&&null===e&&this.model.insertRowData(i,t.offset,o);const[r]=await Promise.all([this.grid.adapter.getCells(t)]);r?.map((t=>this.model.getCellByCoords(t.r,t.c)?.update(t))),this.table.requestUpdate(),o.length>=this.model.options.pageSize?i.count=1/0:i.count=i.children.length,this.grid.logger.info(`loaded ${o.length} rows`),this.grid.loading=!1,this.grid.dispatchEvent(new Ax("afterLoad",{grid:this.grid}))}async loadNextPage(t=null,e=!1){if(this.grid.loading)return;const i=null!=t?this.model.rows[t]:this.model.rowRoot;if(!e&&i.isLoaded)return;this.grid.dispatchEvent(new Ax("beforeLoad",{grid:this.grid})),this.grid.loading=!0;const o=this.model.rows.length;this.grid.logger.info(`loading rows offset = ${o}`),await this.load(Object.assign(this.getAdapterRequestFilters(),{offset:o,parent:{r:t,props:null}}))}get totalSize(){return{width:this.table.totalHeaderWidth+this.model.visibleColumns.reduce(((t,e)=>t+e.width),0),height:this.table.thead.offsetHeight+this.model.visibleRows.reduce(((t,e)=>t+e.height),0)}}autofitColumn(t,e=!1,i=!0){const o="number"==typeof t?this.model.columns[t]:t,r=this.autofitDiv??(this.autofitDiv=yt("div"));r.style.position="absolute",r.style.zIndex="100000",Ht(r,{l:-1e3,t:-1e3}),this.grid.shadowRoot.appendChild(r);let s=0;for(const t of this.model.getRangeIterator(pv.fromA1(o.address),!!e)){const e=Jk(t).call(this.table,r,t)||r;e.style.width="auto",s=Math.max(s,e.offsetWidth)}o.width=s+10,i&&this.table.renderCells({horizontal:!0})}autofitColumns(t=!1){this.model.columns.forEach((e=>this.autofitColumn(e,t,!1))),this.table.renderCells({horizontal:!0})}autofitRow(t,e=!1,i=!0){const o="number"==typeof t?this.model.rows[t]:t,r=this.autofitDiv??(this.autofitDiv=yt("div"));r.style.position="absolute",r.style.zIndex="100000",Ht(r,{l:-1e3,t:-1e3}),this.grid.shadowRoot.appendChild(r);let s=0;for(const t of this.model.getRangeIterator(pv.fromA1(o.address),!!e)){const e=Jk(t).call(this.table,r,t)||r;e.style.height="auto",s=Math.max(s,e.offsetHeight)}o.height=s+8,i&&this.table.renderCells({vertical:!0})}autofitRows(t=!1){this.model.rows.forEach((e=>this.autofitRow(e,t,!1))),this.table.renderCells({vertical:!0})}scrollTo(t,e=0){let i;i=Q(t)?pv.fromA1(t):new pv(e,t),this.table.rowOffset=i.r1,this.table.colOffset=i.c1,this.requireVerticalUpdate=!0,this.requireHorizontalUpdate=!0,this.debounceRenderCells(),this.updateSliders()}}class Hx{get model(){return this.grid.model}get selection(){return this.grid.editing.isFormulaMode?this.formulaSelection:this.grid.selection}get selector(){return this.grid.editing.isFormulaMode?this.grid.formulaSelector:this.grid.selector}get formulaSelection(){return this._formulaSelection}get events(){return this.grid.events}get table(){return this.grid.table}get isSelecting(){return this.isCellSelecting||this.columnSelecting||this.rowSelecting}get isCellSelecting(){return this.selector.isSelecting}get isAutofilling(){return this.selector.isAutofilling}get isMoving(){return this.selector.isMoving}get isSelectorOperationActive(){return this.selector.isSelectorOperationActive}get isFormulaSelectorOperationActive(){if(!this.grid.editing.isFormulaMode)return!1;for(const t of this.formulaSelectors.values())if(t.isSelectorOperationActive)return!0;return!1}get activeCell(){const{c:t,r:e}=this.selection.activeCellCoords;return this.model.rows[e]?.cell(t)}constructor(t){this.grid=t,this.columnSelecting=!1,this.rowSelecting=!1,this._formulaSelection=new mx(0,0,0,0),this.formulaSelectors=new Map,this.debounceMoveSelector=q(((t,e)=>this.moveSelector(t,e)),10)}moveToSelection(){const t=new pv(this.selection.range.c1,this.selection.range.r1);this.table.viewportRange.contains(t)}select(t,e=!1){this.selection.setRange(t),this.updateSelector(),e&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}startCellSelecting(t){this.grid.style.cursor="cell",this.startSelectingRange=t.clone(),this.select(t,!0),this.selector.startSelecting(t)}startColumnSelecting(t){this.columnSelecting=!0;const e=new pv(t,null,t,null);this.startSelectingRange=e.clone(),this.select(e,!0)}startRowSelecting(t){this.rowSelecting=!0;const e=new pv(null,t,null,t);this.startSelectingRange=e.clone(),this.select(e,!0)}updateSelecting(t,e){const i=this.model.options.selecting.multiSelect;(this.isCellSelecting||this.rowSelecting)&&(i||(this.selection.range.r1=e),this.selection.range.r2=e),(this.isCellSelecting||this.columnSelecting)&&(i||(this.selection.range.c1=t),this.selection.range.c2=t),this.grid.editing.isFormulaMode?(this.updateFormulaSelector(),this.formulaSelectors.forEach((i=>i.updateMovingOperations(t,e)))):(this.updateSelector(),this.hideFormulaSelector(),this.selector.updateMovingOperations(t,e))}stopSelecting(){this.grid.rendering.stopAutoscroll(),this.isSelecting&&!this.selection.range.equals(this.startSelectingRange)&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid})),this.columnSelecting=!1,this.rowSelecting=!1,this.startSelectingRange=null,this.selector.stopSelectorOperations()}highlightSelection(){const t=this.selection.range,[e,i]=[Math.min(t.c1,t.c2),Math.max(t.c1,t.c2)],[o,r]=[Math.min(t.r1,t.r2),Math.max(t.r1,t.r2)],s=i-e+1,n=r-o+1;this.table.highlightColHeaderCells(s<1/0?Array.from(new Array(s),((t,i)=>i+e)):[]),this.table.highlightRowHeaderCells(n<1/0?Array.from(new Array(n),((t,e)=>e+o)):[])}updateSelector(t=!0){this.model.options.selecting.enabled?(this.showSelector(t),this.highlightSelection()):this.hideSelector(),this.grid.editing.isFormulaMode||this.grid.editing.endEdit()}showSelector(t=!0){this.selector&&(this.selector.show(),this.selector.select(this.selection.range,t))}hideSelector(){this.selector.hide()}moveSelector(t,e){if(this.selection.move(t,e,this.model.columns.length,this.model.rows.length),0!=e&&!this.model.rows[this.selection.range.r1].visible){const t=e>0?this.model.rows[this.selection.range.r1].nextVisible:this.model.rows[this.selection.range.r1].prevVisible;t&&(this.selection.range.r1=t.index,this.selection.range.r2=t.index)}if(0!=t&&!this.model.columns[this.selection.range.c1].visible){const e=t>0?this.model.columns[this.selection.range.c1].nextVisible:this.model.columns[this.selection.range.c1].prevVisible;e&&(this.selection.range.c1=e.index,this.selection.range.c2=e.index)}this.selector.selection=this.selection.range,this.selector.updatePosition();const i={c:0,r:0};(e>0&&this.selector.offsetTop+this.selector.offsetHeight>this.grid.clientHeight||e<0&&this.selector.offsetTop<this.table.totalHeaderHeight-1||e>=this.table.viewport.rows.length)&&(i.r+=e),(t>0&&this.selector.offsetLeft+this.selector.offsetWidth>this.grid.clientWidth||t<0&&this.selector.offsetLeft<this.table.totalHeaderWidth-1)&&(i.c+=t),0==i.c&&0==i.r||(this.table.colOffset=Math.max(0,this.table.colOffset+i.c),this.table.rowOffset=Math.min(Math.max(0,this.table.rowOffset+i.r),this.model.visibleRows.length-1),this.table.renderCells({horizontal:0!=i.c,vertical:0!=i.r}),this.grid.rendering.updateSliders()),this.grid.editing.isFormulaMode||this.grid.editing.endEdit(),this.highlightSelection(),this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}shiftActiveCell(t,e=!1){this.selection.moveActiveCell(t,0),this.selector.updatePosition(),e&&this.grid.dispatchEvent(new Ax("select",{grid:this.grid}))}updateFormulaSelector(t=!0){this.grid.editing.isFormulaMode?this.showFormulaSelector(t):this.hideFormulaSelector()}showFormulaSelector(t=!0){this.grid.formulaSelector.show(),this.grid.formulaSelector?.select(this.formulaSelection.range,t)}hideFormulaSelector(){this.grid.formulaSelector.hide()}updateFormulaSelectors(){this.formulaSelectors.forEach((t=>t.updatePosition()))}highlightColorItem(t){const e=mx.fromRange(pv.fromA1(t.address)),i=yt("og-selector");this.grid.shadowRoot.appendChild(i),i.addEventListener("grid.selector.move",(t=>this.select(t.selector.selection.clone()))),i.addEventListener("grid.selector.resize",(t=>this.select(t.selector.selection.clone()))),i.grid=this.grid,i.color=t.color,i.subselector=!1,i.movable=!0,i.resizable=!0,i.index=t.tokenIndex,this.formulaSelectors.set(t.tokenIndex,i),i.select(e.range.clone(),!1),i.show()}highlightFormula(t){this.removeFormulaHighlight(),this.formulaSelectors.clear();const e=new Set;t.colors.forEach((t=>{if(null==t.sheet||t.sheet==this.model.name)this.highlightColorItem(t);else if(this.grid.group){const i=this.grid.group.getGrid(t.sheet);if(!i)return;e.has(i)||(e.add(i),i.selecting.removeFormulaHighlight()),i.isConnected&&i.selecting.highlightColorItem(t)}}))}removeFormulaHighlight(){this.formulaSelectors?.forEach((t=>Et(t))),this.formulaSelectors.clear()}updateCopySelector(){this.grid.copySelector.isVisible&&this.grid.copySelector.updatePosition()}showCopySelector(){this.grid.copySelector.show(),this.grid.copySelector?.select(this.selection.range.clone(),!1)}hideCopySelector(){this.grid.copySelector.hide()}updateSelectors(){this.updateSelector(!1),this.updateCopySelector(),this.updateFormulaSelectors()}stopSelectOperations(){this.stopSelecting(),this.formulaSelectors.forEach((t=>t.stopSelectorOperations())),this.grid.style.removeProperty("cursor")}enter(){const t=this.grid.group;if(this.grid.editing.isFormulaMode&&t){const e=t.formulaModeGrid;e.editing.commitEdit(),t.activateGrid(e.model.name)}else this.debounceMoveSelector(0,1)}}class Fx extends Event{}class Bx extends _n{get isOpen(){return this._open}get isValid(){return this._valid}validate(){return this._valid=!0,this.activeCell&&(this._valid=Zy(this.activeCellModel,this.getValue())),this.classList.toggle("invalid",!this._valid),this._valid}constructor(){super(),this.cancel=!1,this._open=!1,this._valid=!0,this.init()}getDisplayValue(){return null}init(){this.addEventListener("keydown",(t=>{"Enter"==t.key?this.close():"Escape"==t.key?(this.cancel=!0,this.close()):t.stopPropagation()}))}connectedCallback(){super.connectedCallback(),this.performUpdate()}alignWithCell(){if(!this.activeCell)return;const t=Tt(this.activeCell,this.grid);Ht(this,{t:t.top*this.grid.zoom,l:t.left*this.grid.zoom}),Nt(this,{w:this.activeCell.offsetWidth,h:this.activeCell.offsetHeight})}open(t,e=null,i=!0){this._valid=!0,this.initialValue=e,this._open=!0,this.grid=t;const o=t.selecting.activeCell;return this.activeCellModel=o,this.activeCell=this.grid.table.getCellByModelIndex(o.c,o.r),this.grid.selector.hide(),xt(this),i&&this.alignWithCell(),this.activate(o),null!==e&&this.setValue(e),Qt(this,this.grid.zoom),this}commit(){this._open&&!this.cancel&&this.activeCellModel&&(this.grid.editing.updateCell(this.activeCellModel,{v:this.getValue(),dv:this.getDisplayValue()}),this.grid.rendering.updateCell(this.activeCellModel,!0)),this.cancel=!1}close(){this._open&&(this.deactivate(),kt(this),this.grid.table.renderBodyCell(this.activeCellModel),this.grid.selecting.showSelector(),this.grid.focus(),this._open=!1,this.grid.editing.endEdit()),this.cancel=!1}activate(t){this.activeCellModel=t,this.dispatchEvent(new Fx("activate"))}deactivate(){this.dispatchEvent(new Fx("deactivate"))}}Bx.baseStyles=ys`
|
|
4122
4131
|
* { box-sizing: border-box }
|
|
4123
4132
|
|
|
4124
4133
|
:host {
|
|
@@ -4337,7 +4346,10 @@
|
|
|
4337
4346
|
</og-numericinput>
|
|
4338
4347
|
</div>
|
|
4339
4348
|
`}init(){this.contextMenu.addEventListener("select",this._onContextMenuClick)}openMenu(t){this.currentMenuItems.length>0&&(this.contextMenu.items=this.currentMenuItems,this.contextMenu.openAt(t.x,t.y))}openColumnMenu(t,e){const i=this.grid.options,o=i.menus?.column;let r=[];this.currentColumn=t,o?.replace||(i.editable&&i.editing.colInsertion&&(r.push({key:"insertColumn",value:"Insert column",icon:"plus"}),r.push({key:"insertColumnAfter",value:"Insert column (after)",icon:"plus"})),i.editable&&i.editing.colDeletion&&r.push({key:"deleteColumn",value:"Delete column",icon:"minus"}),i.editable&&i.editing.colOutline&&r.push({key:"colLevel",icon:"list-tree",renderer:()=>this.renderOutlineMenuItem(t)})),o&&(r.length>0&&(r[r.length-1].divider=!0),r=[...r,...o.items.filter((e=>!e.hidden||!e.hidden(t)))]),this.currentMenuItems=r,this.openMenu(e)}openRowMenu(t,e){const i=this.grid.options,o=i.menus?.row;let r=[];this.currentRow=t,o?.replace||(i.editable&&i.editing.rowInsertion&&(r.push({key:"insertRow",value:"Insert row",icon:"plus"}),r.push({key:"insertRowAfter",value:"Insert row (after)",icon:"plus"})),i.editable&&i.editing.rowDeletion&&r.push({key:"deleteRow",value:"Delete row",icon:"minus"}),i.editable&&i.editing.rowOutline&&r.push({key:"rowLevel",icon:"list-tree",renderer:()=>this.renderOutlineMenuItem(t)})),o&&(r.length>0&&(r[r.length-1].divider=!0),r=[...r,...o.items.filter((e=>!e.hidden||!e.hidden(t)))]),this.currentMenuItems=r,this.openMenu(e)}openCellMenu(t,e){const i=this.grid.options,o=i.menus?.cell;let r=[];this.currentCell=t,o?.replace||t.commentable&&r.push({key:"comment",value:Ro("Comment"),icon:"comment"}),o&&(r.length>0&&(r[r.length-1].divider=!0),r=[...r,...o.items.filter((e=>!e.hidden||!e.hidden(t)))]),this.currentMenuItems=r,this.openMenu(e)}}function wk(t){return[{section:"group",name:"focus sheet",requiredParams:1,fn:t=>{console.log(t)}}]}function xk(t,e){t.selecting.select(e,!0),t.table.rowOffset=Math.max(0,t.selection.range.r1-t.options.freezeTop),t.table.colOffset=Math.max(0,t.selection.range.c1-t.options.freezeLeft),t.rendering.renderCells({vertical:!0,horizontal:!0}),t.rendering.updateSliders()}function kk(t){t.commands.clear(),function(t){return[{group:"grid",name:"set column width",next:{mode:"input",text:"Enter column width in pixels",commands:ng("apply",((e,i)=>{for(let e=t.selection.range.c1;e<=t.selection.range.c2;e++)t.model.columns[e].width=parseInt(i);t.rendering.renderCells({horizontal:!0})}))}},{group:"grid",name:"set all columns widths",next:{mode:"input",text:"Enter column width in pixels",commands:ng("apply",((e,i)=>{const o=parseInt(i);t.model.columns.forEach((t=>t.width=o)),t.rendering.renderCells({horizontal:!0})}))}},{group:"grid",name:"set columns widths to the right",next:{mode:"input",text:"Enter column width in pixels",commands:ng("apply",((e,i)=>{for(let e=t.selection.range.c1;e<t.model.columns.length;e++)t.model.columns[e].width=parseInt(i);t.rendering.renderCells({horizontal:!0})}))}},{group:"grid",name:"copy column widths",exec:()=>{const e=t.model.columns[t.selection.range.c1].width;t.model.columns.forEach((t=>t.width=e)),t.rendering.renderCells({horizontal:!0})}},{group:"grid",name:"copy column widths to the right",exec:()=>{const e=t.model.columns[t.selection.range.c1].width;for(let i=t.selection.range.c1;i<t.model.columns.length;i++)t.model.columns[i].width=e;t.rendering.renderCells({horizontal:!0})}},{group:"grid",name:"set values",next:{mode:"input",text:"Enter value",commands:ng("apply",((e,i)=>{for(const e of t.model.getRangeIterator(t.selection.range))e.value=i,t.table.renderBodyCell(e)}))}}]}(t).forEach((e=>t.commands.add(e))),function(t){const e=[];return e.push({group:"grid",name:"goto",next:{mode:"input",text:"Enter cell address",commands:ng("ok",((e,i)=>{xk(t,i)}))}}),e.push({group:"grid",name:"goto first cell",exec:()=>{xk(t,"A1")}}),e.push({group:"grid",name:"sort ascending",next:{mode:"input",text:"Enter column name",commands:ng("ok",((e,i)=>{t.sorting.sort(isNaN(Number(i))?vv(i.toUpperCase()):Number(i),pw.Asc)}))}}),e.push({group:"grid",name:"sort descending",next:{mode:"input",text:"Enter column name",commands:ng("ok",((e,i)=>{t.sorting.sort(isNaN(Number(i))?vv(i.toUpperCase()):Number(i),pw.Desc)}))}}),e.push({group:"grid",name:"sort ascending by current column",exec:()=>{t.sorting.sort(t.selection.range.c1,pw.Asc)}}),e.push({group:"grid",name:"sort descending by current column",exec:()=>{t.sorting.sort(t.selection.range.c1,pw.Desc)}}),e.push({group:"grid",name:"reset sorting",exec:()=>{t.sorting.resetSort(),t.table.clearBodyCache(),t.table.renderCells({vertical:!0,horizontal:!0})}}),t.model.maxRowLevel>0&&(e.push({group:"grid",name:"set row level",next:{mode:"input",text:"Enter row level",commands:ng("ok",((e,i)=>{t.rendering.setRowExpandLevel(parseInt(i))}))}}),[...Array(t.model.maxRowLevel).keys()].forEach((i=>e.push({group:"grid",name:`set row level ${i}`,exec:()=>{t.rendering.setRowExpandLevel(i)}})))),t.model.maxColumnLevel>0&&(e.push({group:"grid",name:"set column level",next:{mode:"input",text:"Enter column level",commands:ng("ok",((e,i)=>{t.rendering.setColumnExpandLevel(parseInt(i))}))}}),[...Array(t.model.maxColumnLevel).keys()].forEach((i=>e.push({group:"grid",name:`set column level ${i}`,exec:()=>{t.rendering.setColumnExpandLevel(i)}})))),e}(t).forEach((e=>t.commands.add(e)))}var Ck=function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};let Mk=class extends _n{constructor(){super(...arguments),this.tableRef=Dd(),this.hSliderRef=Dd(),this.vSliderRef=Dd(),this.hSizerRef=Dd(),this.vSizerRef=Dd(),this.selectorRef=Dd(),this.copySelectorRef=Dd(),this.formulaSelectorRef=Dd(),this.contextMenuRef=Dd(),this.tooltipRef=Dd(),this.commentRef=Dd(),this.selection=new mx(0,0),this.options=Vw(),this.logger=new Mr("Ωgrid"),this.zoom=1,this.rendering=new jx(this),this.selecting=new Hx(this),this.events=new Px(this),this.editing=new ek(this),this.filtering=new dk(this),this.sorting=new vk(this),this.menus=new yk(this),this.objects=new fk(this),this.commands=new ag(this),this.plugins=new ou(this),this.loading=!1,this._debounceVerticalSlide=q(this.events._onVerticalSlide,Zd.SLIDE_DELAY,{isImmediate:!0,maxWait:50}),this._debounceHorizontalSlide=q(this.events._onHorizontalSlide,Zd.SLIDE_DELAY,{isImmediate:!0,maxWait:50}),this.render=()=>sn`
|
|
4340
|
-
<og-table ${jd(this.tableRef)}
|
|
4349
|
+
<og-table ${jd(this.tableRef)}
|
|
4350
|
+
.zoom="${this.zoom}"
|
|
4351
|
+
.hideOuterBorder="${this.options.hideOuterBorder}">
|
|
4352
|
+
</og-table>
|
|
4341
4353
|
|
|
4342
4354
|
<og-slider ${jd(this.vSliderRef)}
|
|
4343
4355
|
?hidden="${!0}"
|
|
@@ -9299,4 +9311,4 @@ milkdown-block-handle {
|
|
|
9299
9311
|
`:null}
|
|
9300
9312
|
</div>
|
|
9301
9313
|
</og-panel>
|
|
9302
|
-
`:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?pv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?pv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=pv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Yr({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};qz.styles=[Uz],Gz([Ln({type:Object})],qz.prototype,"model",void 0),Gz([Rn()],qz.prototype,"editTitle",void 0),Gz([An("#title")],qz.prototype,"titleInput",void 0),Gz([An("#type")],qz.prototype,"typeList",void 0),Gz([An("#dataRange")],qz.prototype,"dataRangeInput",void 0),Gz([An("#seriesRange")],qz.prototype,"seriesRangeInput",void 0),Gz([An("#categoryRange")],qz.prototype,"categoryRangeInput",void 0),qz=Gz([En("og-plugin-chart-form")],qz);const Yz=Ha().themes.get("dark");Object.assign(Yz.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Zz=Ha().themes.get("light");Object.assign(Zz.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var Xz=i(6946),Qz=i(6471),Kz=i(4969),Jz=i(9502),tI=i(7706),eI=i(1480),iI=i(2006),oI=i(7503),rI=i(7873),sI=i(8746),nI=i(2570),aI=i(8815),lI=i(6390),cI=i(6593),hI=i(895),dI=i(9083),uI=i(6093),pI=i(9685),gI=i(9849),mI=i(8268),fI=i(4693),vI=i(3599),bI=i(782),yI=i(754),wI=i(5700),xI=i(4731),kI=i(7291),CI=i(597),MI=i(1474),_I=i(6224),SI=i(6239),EI=i(6828),zI=i(2212),II=i(863),LI=i(3602),RI=i(1985),TI=i(886),AI=i(7201),OI=i(9937),$I=i(8450),DI=i(9630),NI=i(9766),PI=i(388),jI=i(1903),HI=i(398),FI=i(6105),BI=i(6147),WI=i(5722),VI=i(5576),UI=i(3131),GI=i(6308),qI=i(9645),YI=i(3199),ZI=i(871),XI=i(5251),QI=i(6426),KI=i(2643),JI=i(8522),tL=i(6398),eL=i(2525),iL=i(8434),oL=i(6138),rL=i(5835),sL=i(5654),nL=i(6659),aL=i(2977),lL=i(4480),cL=i(9886),hL=i(6815),dL=i(1582),uL=i(2968),pL=i(394),gL=i(7024),mL=i(7853),fL=i(8249),vL=i(2869),bL=i(486),yL=i(5735),wL=i(470),xL=i(4612),kL=i(4018),CL=i(1476),ML=i(3194),_L=i(3525),SL=i(7541),EL=i(4104),zL=i(6686),IL=i(7719),LL=i(3898),RL=i(8153),TL=i(3690),AL=i(1776),OL=i(4980),$L=i(5578),DL=i(9613),NL=i(1119),PL=i(8444),jL=i(2978),HL=i(9130),FL=i(2127),BL=i(2732),WL=i(4287),VL=i(4045),UL=i(7642),GL=i(1367),qL=i(320),YL=i(821),ZL=i(102),XL=i(7683),QL=i(3980),KL=i(576),JL=i(654),tR=i(73),eR=i(140),iR=i(8129),oR=i(5087),rR=i(6992),sR=i(8247),nR=i(8038),aR=i(5286),lR=i(9179),cR=i(1808),hR=i(9459),dR=i(2883),uR=i(9124),pR=i(7067),gR=i(1054),mR=i(7325),fR=i(1272),vR=i(3359),bR=i(6562),yR=i(4193),wR=i(6348),xR=i(2435),kR=i(9111),CR=i(9318),MR=i(7294),_R=i(4479),SR=i(2409),ER=i(3091),zR=i(5789),IR=i(5890),LR=i(3874),RR=i(2907),TR=i(1175),AR=i(1686),OR=i(703),$R=i(6606),DR=i(4194),NR=i(6228),PR=i(62),jR=i(2072),HR=i(9744),FR=i(25),BR=i(2618),WR=i(1988),VR=i(8013),UR=i(1133),GR=i(362),qR=i(6845),YR=i(6800),ZR=i(1103),XR=i(4933),QR=i(7284),KR=i(2620),JR=i(2366),tT=i(7457),eT=i(2449),iT=i(2),oT=i(5697),rT=i(7069),sT=i(4716),nT=i(4740),aT=i(4557),lT=i(1868),cT=i(8647),hT=i(5127),dT=i(4816),uT=i(4009),pT=i(5104),gT=i(2830),mT=i(3093),fT=i(5029),vT=i(3514),bT=i(2142),yT=i(4999),wT=i(7523),xT=i(346),kT=i(7917),CT=i(3976),MT=i(9801),_T=i(2464),ST=i(5511),ET=i(5210),zT=i(5815),IT=i(3339),LT=i(7472),RT=i(8811),TT=i(8548),AT=i(6880),OT=i(1840),$T=i(5547),DT=i(4788),NT=i(9467),PT=i(9187),jT=i(9217),HT=i(7897),FT=i(2644),BT=i(6204),WT=i(1472),VT=i(1247),UT=i(7406),GT=i(925),qT=i(7455),YT=i(3771),ZT=i(1549),XT=i(3541),QT=i(3140),KT=i(9800),JT=i(229),tA=i(2677),eA=i(1844),iA=i(3245),oA=i(9056),rA=i(7535),sA=i(2359),nA=i(15),aA=i(5569),lA=i(2014),cA=i(1599),hA=i(6521),dA=i(232),uA=i(9745),pA=i(9594),gA=i(6979),mA=i(4494),fA=i(312),vA=i(4983),bA=i(1258),yA=i(6313),wA=i(12),xA=i(8003),kA=i(7830),CA=i(8875),MA=i(3911),_A=i(1817),SA=i(478),EA=i(2585),zA=i(6564),IA=i(2884),LA=i(3825),RA=i(7348),TA=i(9277),AA=i(4118),OA=i(9200),$A=i(51),DA=i(2872),NA=i(4702),PA=i(9281),jA=i(1394),HA=i(7295),FA=i(2936),BA=i(3789),WA=i(3614),VA=i(4827),UA=i(9204),GA=i(9113),qA=i(4058);const YA=[Xz.mw,Qz.mw,Kz.mw,Jz.mw,tI.mw,eI.mw,iI.mw,oI.mw,sI.mw,aI.mw,nI.mw,lI.mw,cI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,bI.mw,yI.mw,wI.mw,xI.mw,kI.mw,CI.mw,MI.mw,_I.mw,EI.mw,zI.mw,II.mw,LI.mw,RI.mw,TI.mw,AI.mw,OI.mw,$I.mw,DI.mw,NI.mw,PI.mw,jI.mw,FI.mw,HI.mw,BI.mw,WI.mw,VI.mw,UI.mw,GI.mw,qI.mw,YI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,eL.mw,iL.mw,oL.mw,rL.mw,sL.mw,nL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,tL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,IL.mw,LL.mw,RL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,HL.mw,FL.mw,BL.mw,WL.mw,VL.mw,UL.mw,GL.mw,qL.mw,YL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tR.mw,eR.mw,iR.mw,oR.mw,rR.mw,sR.mw,nR.mw,SI.mw,aR.mw,lR.mw,cR.mw,hR.mw,dR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,rI.mw],ZA=[kR.mw,CR.mw,MR.mw,_R.mw,SR.mw,ER.mw,zR.mw,IR.mw,RR.mw,AR.mw,TR.mw,$R.mw,OR.mw,DR.mw,NR.mw,PR.mw,jR.mw,HR.mw,FR.mw,BR.mw,WR.mw,VR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tT.mw,eT.mw,oT.mw,rT.mw,sT.mw,hT.mw,dT.mw,uT.mw,pT.mw,gT.mw,mT.mw,fT.mw,vT.mw,UR.mw,GR.mw,YR.mw,qR.mw,bT.mw,yT.mw,wT.mw,xT.mw,kT.mw,CT.mw,MT.mw,_T.mw,nT.mw,aT.mw,lT.mw,cT.mw,ET.mw,zT.mw,IT.mw,LT.mw,RT.mw,TT.mw,AT.mw,OT.mw,$T.mw,DT.mw,NT.mw,PT.mw,jT.mw,HT.mw,FT.mw,BT.mw,WT.mw,VT.mw,UT.mw,ST.mw,GT.mw,qT.mw,YT.mw,ZT.mw,XT.mw,QT.mw,KT.mw,JT.mw,tA.mw,eA.mw,iA.mw,oA.mw,rA.mw,sA.mw,nA.mw,aA.mw,lA.mw,cA.mw,hA.mw,dA.mw,uA.mw,pA.mw,gA.mw,mA.mw,fA.mw,vA.mw,bA.mw,yA.mw,wA.mw,xA.mw,kA.mw,CA.mw,MA.mw,_A.mw,SA.mw,EA.mw,zA.mw,IA.mw,LA.mw,RA.mw,TA.mw,iT.mw,AA.mw,OA.mw,$A.mw,DA.mw,NA.mw,PA.mw,jA.mw,HA.mw,FA.mw,BA.mw,WA.mw,VA.mw,UA.mw,GA.mw,qA.mw,LR.mw],XA={xlsx:F,charts:B},QA={name:"@omegagrid/bundle",version:"0.9.
|
|
9314
|
+
`:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?pv.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?pv.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=pv.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Yr({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};qz.styles=[Uz],Gz([Ln({type:Object})],qz.prototype,"model",void 0),Gz([Rn()],qz.prototype,"editTitle",void 0),Gz([An("#title")],qz.prototype,"titleInput",void 0),Gz([An("#type")],qz.prototype,"typeList",void 0),Gz([An("#dataRange")],qz.prototype,"dataRangeInput",void 0),Gz([An("#seriesRange")],qz.prototype,"seriesRangeInput",void 0),Gz([An("#categoryRange")],qz.prototype,"categoryRangeInput",void 0),qz=Gz([En("og-plugin-chart-form")],qz);const Yz=Ha().themes.get("dark");Object.assign(Yz.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Zz=Ha().themes.get("light");Object.assign(Zz.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var Xz=i(6946),Qz=i(6471),Kz=i(4969),Jz=i(9502),tI=i(7706),eI=i(1480),iI=i(2006),oI=i(7503),rI=i(7873),sI=i(8746),nI=i(2570),aI=i(8815),lI=i(6390),cI=i(6593),hI=i(895),dI=i(9083),uI=i(6093),pI=i(9685),gI=i(9849),mI=i(8268),fI=i(4693),vI=i(3599),bI=i(782),yI=i(754),wI=i(5700),xI=i(4731),kI=i(7291),CI=i(597),MI=i(1474),_I=i(6224),SI=i(6239),EI=i(6828),zI=i(2212),II=i(863),LI=i(3602),RI=i(1985),TI=i(886),AI=i(7201),OI=i(9937),$I=i(8450),DI=i(9630),NI=i(9766),PI=i(388),jI=i(1903),HI=i(398),FI=i(6105),BI=i(6147),WI=i(5722),VI=i(5576),UI=i(3131),GI=i(6308),qI=i(9645),YI=i(3199),ZI=i(871),XI=i(5251),QI=i(6426),KI=i(2643),JI=i(8522),tL=i(6398),eL=i(2525),iL=i(8434),oL=i(6138),rL=i(5835),sL=i(5654),nL=i(6659),aL=i(2977),lL=i(4480),cL=i(9886),hL=i(6815),dL=i(1582),uL=i(2968),pL=i(394),gL=i(7024),mL=i(7853),fL=i(8249),vL=i(2869),bL=i(486),yL=i(5735),wL=i(470),xL=i(4612),kL=i(4018),CL=i(1476),ML=i(3194),_L=i(3525),SL=i(7541),EL=i(4104),zL=i(6686),IL=i(7719),LL=i(3898),RL=i(8153),TL=i(3690),AL=i(1776),OL=i(4980),$L=i(5578),DL=i(9613),NL=i(1119),PL=i(8444),jL=i(2978),HL=i(9130),FL=i(2127),BL=i(2732),WL=i(4287),VL=i(4045),UL=i(7642),GL=i(1367),qL=i(320),YL=i(821),ZL=i(102),XL=i(7683),QL=i(3980),KL=i(576),JL=i(654),tR=i(73),eR=i(140),iR=i(8129),oR=i(5087),rR=i(6992),sR=i(8247),nR=i(8038),aR=i(5286),lR=i(9179),cR=i(1808),hR=i(9459),dR=i(2883),uR=i(9124),pR=i(7067),gR=i(1054),mR=i(7325),fR=i(1272),vR=i(3359),bR=i(6562),yR=i(4193),wR=i(6348),xR=i(2435),kR=i(9111),CR=i(9318),MR=i(7294),_R=i(4479),SR=i(2409),ER=i(3091),zR=i(5789),IR=i(5890),LR=i(3874),RR=i(2907),TR=i(1175),AR=i(1686),OR=i(703),$R=i(6606),DR=i(4194),NR=i(6228),PR=i(62),jR=i(2072),HR=i(9744),FR=i(25),BR=i(2618),WR=i(1988),VR=i(8013),UR=i(1133),GR=i(362),qR=i(6845),YR=i(6800),ZR=i(1103),XR=i(4933),QR=i(7284),KR=i(2620),JR=i(2366),tT=i(7457),eT=i(2449),iT=i(2),oT=i(5697),rT=i(7069),sT=i(4716),nT=i(4740),aT=i(4557),lT=i(1868),cT=i(8647),hT=i(5127),dT=i(4816),uT=i(4009),pT=i(5104),gT=i(2830),mT=i(3093),fT=i(5029),vT=i(3514),bT=i(2142),yT=i(4999),wT=i(7523),xT=i(346),kT=i(7917),CT=i(3976),MT=i(9801),_T=i(2464),ST=i(5511),ET=i(5210),zT=i(5815),IT=i(3339),LT=i(7472),RT=i(8811),TT=i(8548),AT=i(6880),OT=i(1840),$T=i(5547),DT=i(4788),NT=i(9467),PT=i(9187),jT=i(9217),HT=i(7897),FT=i(2644),BT=i(6204),WT=i(1472),VT=i(1247),UT=i(7406),GT=i(925),qT=i(7455),YT=i(3771),ZT=i(1549),XT=i(3541),QT=i(3140),KT=i(9800),JT=i(229),tA=i(2677),eA=i(1844),iA=i(3245),oA=i(9056),rA=i(7535),sA=i(2359),nA=i(15),aA=i(5569),lA=i(2014),cA=i(1599),hA=i(6521),dA=i(232),uA=i(9745),pA=i(9594),gA=i(6979),mA=i(4494),fA=i(312),vA=i(4983),bA=i(1258),yA=i(6313),wA=i(12),xA=i(8003),kA=i(7830),CA=i(8875),MA=i(3911),_A=i(1817),SA=i(478),EA=i(2585),zA=i(6564),IA=i(2884),LA=i(3825),RA=i(7348),TA=i(9277),AA=i(4118),OA=i(9200),$A=i(51),DA=i(2872),NA=i(4702),PA=i(9281),jA=i(1394),HA=i(7295),FA=i(2936),BA=i(3789),WA=i(3614),VA=i(4827),UA=i(9204),GA=i(9113),qA=i(4058);const YA=[Xz.mw,Qz.mw,Kz.mw,Jz.mw,tI.mw,eI.mw,iI.mw,oI.mw,sI.mw,aI.mw,nI.mw,lI.mw,cI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,bI.mw,yI.mw,wI.mw,xI.mw,kI.mw,CI.mw,MI.mw,_I.mw,EI.mw,zI.mw,II.mw,LI.mw,RI.mw,TI.mw,AI.mw,OI.mw,$I.mw,DI.mw,NI.mw,PI.mw,jI.mw,FI.mw,HI.mw,BI.mw,WI.mw,VI.mw,UI.mw,GI.mw,qI.mw,YI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,eL.mw,iL.mw,oL.mw,rL.mw,sL.mw,nL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,tL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,IL.mw,LL.mw,RL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,HL.mw,FL.mw,BL.mw,WL.mw,VL.mw,UL.mw,GL.mw,qL.mw,YL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tR.mw,eR.mw,iR.mw,oR.mw,rR.mw,sR.mw,nR.mw,SI.mw,aR.mw,lR.mw,cR.mw,hR.mw,dR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,rI.mw],ZA=[kR.mw,CR.mw,MR.mw,_R.mw,SR.mw,ER.mw,zR.mw,IR.mw,RR.mw,AR.mw,TR.mw,$R.mw,OR.mw,DR.mw,NR.mw,PR.mw,jR.mw,HR.mw,FR.mw,BR.mw,WR.mw,VR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tT.mw,eT.mw,oT.mw,rT.mw,sT.mw,hT.mw,dT.mw,uT.mw,pT.mw,gT.mw,mT.mw,fT.mw,vT.mw,UR.mw,GR.mw,YR.mw,qR.mw,bT.mw,yT.mw,wT.mw,xT.mw,kT.mw,CT.mw,MT.mw,_T.mw,nT.mw,aT.mw,lT.mw,cT.mw,ET.mw,zT.mw,IT.mw,LT.mw,RT.mw,TT.mw,AT.mw,OT.mw,$T.mw,DT.mw,NT.mw,PT.mw,jT.mw,HT.mw,FT.mw,BT.mw,WT.mw,VT.mw,UT.mw,ST.mw,GT.mw,qT.mw,YT.mw,ZT.mw,XT.mw,QT.mw,KT.mw,JT.mw,tA.mw,eA.mw,iA.mw,oA.mw,rA.mw,sA.mw,nA.mw,aA.mw,lA.mw,cA.mw,hA.mw,dA.mw,uA.mw,pA.mw,gA.mw,mA.mw,fA.mw,vA.mw,bA.mw,yA.mw,wA.mw,xA.mw,kA.mw,CA.mw,MA.mw,_A.mw,SA.mw,EA.mw,zA.mw,IA.mw,LA.mw,RA.mw,TA.mw,iT.mw,AA.mw,OA.mw,$A.mw,DA.mw,NA.mw,PA.mw,jA.mw,HA.mw,FA.mw,BA.mw,WA.mw,VA.mw,UA.mw,GA.mw,qA.mw,LR.mw],XA={xlsx:F,charts:B},QA={name:"@omegagrid/bundle",version:"0.9.23"};Ha().activate("light"),Id.styleDefault="fal",Ld.add(YA),Ld.add(ZA)})(),window.Omegagrid=o})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/bundle",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.23",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Distribution package for Omegagrid library",
|
|
6
6
|
"main": "omegagrid.js",
|
|
@@ -19,23 +19,23 @@
|
|
|
19
19
|
"@fortawesome/fontawesome-svg-core": "^7.0.1",
|
|
20
20
|
"@fortawesome/pro-light-svg-icons": "^7.0.1",
|
|
21
21
|
"@fortawesome/pro-solid-svg-icons": "^7.0.1",
|
|
22
|
-
"@omegagrid/bucket": "^0.9.
|
|
23
|
-
"@omegagrid/calendar": "^0.9.
|
|
24
|
-
"@omegagrid/code": "^0.9.
|
|
25
|
-
"@omegagrid/commands": "^0.9.
|
|
26
|
-
"@omegagrid/core": "^0.9.
|
|
27
|
-
"@omegagrid/dialog": "^0.9.
|
|
28
|
-
"@omegagrid/editor": "^0.9.
|
|
29
|
-
"@omegagrid/form": "^0.9.
|
|
30
|
-
"@omegagrid/grid": "^0.9.
|
|
31
|
-
"@omegagrid/localize": "^0.9.
|
|
32
|
-
"@omegagrid/markdown": "^0.9.
|
|
33
|
-
"@omegagrid/plugin-charts": "^0.9.
|
|
34
|
-
"@omegagrid/plugin-xlsx": "^0.9.
|
|
35
|
-
"@omegagrid/statusbar": "^0.9.
|
|
36
|
-
"@omegagrid/tabs": "^0.9.
|
|
37
|
-
"@omegagrid/toolbar": "^0.9.
|
|
38
|
-
"@omegagrid/tree": "^0.9.
|
|
22
|
+
"@omegagrid/bucket": "^0.9.23",
|
|
23
|
+
"@omegagrid/calendar": "^0.9.23",
|
|
24
|
+
"@omegagrid/code": "^0.9.23",
|
|
25
|
+
"@omegagrid/commands": "^0.9.23",
|
|
26
|
+
"@omegagrid/core": "^0.9.23",
|
|
27
|
+
"@omegagrid/dialog": "^0.9.23",
|
|
28
|
+
"@omegagrid/editor": "^0.9.23",
|
|
29
|
+
"@omegagrid/form": "^0.9.23",
|
|
30
|
+
"@omegagrid/grid": "^0.9.23",
|
|
31
|
+
"@omegagrid/localize": "^0.9.23",
|
|
32
|
+
"@omegagrid/markdown": "^0.9.23",
|
|
33
|
+
"@omegagrid/plugin-charts": "^0.9.23",
|
|
34
|
+
"@omegagrid/plugin-xlsx": "^0.9.23",
|
|
35
|
+
"@omegagrid/statusbar": "^0.9.23",
|
|
36
|
+
"@omegagrid/tabs": "^0.9.23",
|
|
37
|
+
"@omegagrid/toolbar": "^0.9.23",
|
|
38
|
+
"@omegagrid/tree": "^0.9.23",
|
|
39
39
|
"lit": "^3.1.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|