@digital-blueprint/formalize-app
Version:
[GitHub Repository](https://github.com/digital-blueprint/formalize-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/formalize-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/formalize-app/) | [Formalize Bundle](https:
33 lines • 814 kB
JavaScript
let t,e,i=t=>t;function n(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}
/*!
* License: LGPL-2.1-or-later
* Dependencies:
*
* @webcomponents/scoped-custom-element-registry: BSD-3-Clause
* @dbp-toolkit/app-shell: LGPL-2.1-or-later
* @dbp-toolkit/language-select: LGPL-2.1-or-later
* @dbp-toolkit/auth: LGPL-2.1-or-later
* @dbp-toolkit/theme-switcher: LGPL-2.1-or-later
* universal-router: MIT
* @dbp-toolkit/matomo: LGPL-2.1-or-later
* @dbp-toolkit/tabulator-table: LGPL-2.1-or-later
* xlsx: Apache-2.0
* jspdf-autotable: MIT
* xss: MIT
* cssfilter: MIT
* @dbp-toolkit/common: LGPL-2.1-or-later
* lit-html: BSD-3-Clause
* @dbp-toolkit/file-handling: LGPL-2.1-or-later
* webdav: MIT
* jose: MIT
* file-saver: MIT
* @dbp-toolkit/grant-permission-dialog: LGPL-2.1-or-later
* @dbp-toolkit/pdf-viewer: LGPL-2.1-or-later
* pdfjs-dist: Apache-2.0
* html2pdf.js: MIT
* jspdf: MIT
* @dbp-toolkit/notification: LGPL-2.1-or-later
* tabulator-tables: MIT
* @babel/runtime: MIT
* fflate: MIT
*/(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}import{i as r}from"./notification.DekX2Yn_.es.js";class s{constructor(t){this.table=t}reloadData(t,e,i){return this.table.dataLoader.load(t,void 0,void 0,void 0,e,i)}langText(){return this.table.modules.localize.getText(...arguments)}langBind(){return this.table.modules.localize.bind(...arguments)}langLocale(){return this.table.modules.localize.getLocale(...arguments)}commsConnections(){return this.table.modules.comms.getConnections(...arguments)}commsSend(){return this.table.modules.comms.send(...arguments)}layoutMode(){return this.table.modules.layout.getMode()}layoutRefresh(t){return this.table.modules.layout.layout(t)}subscribe(){return this.table.eventBus.subscribe(...arguments)}unsubscribe(){return this.table.eventBus.unsubscribe(...arguments)}subscribed(t){return this.table.eventBus.subscribed(t)}subscriptionChange(){return this.table.eventBus.subscriptionChange(...arguments)}dispatch(){return this.table.eventBus.dispatch(...arguments)}chain(){return this.table.eventBus.chain(...arguments)}confirm(){return this.table.eventBus.confirm(...arguments)}dispatchExternal(){return this.table.externalEvents.dispatch(...arguments)}subscribedExternal(t){return this.table.externalEvents.subscribed(t)}subscriptionChangeExternal(){return this.table.externalEvents.subscriptionChange(...arguments)}options(t){return this.table.options[t]}setOption(t,e){return void 0!==e&&(this.table.options[t]=e),this.table.options[t]}deprecationCheck(t,e,i){return this.table.deprecationAdvisor.check(t,e,i)}deprecationCheckMsg(t,e){return this.table.deprecationAdvisor.checkMsg(t,e)}deprecationMsg(t){return this.table.deprecationAdvisor.msg(t)}module(t){return this.table.module(t)}}class o{static elVisible(t){return!(t.offsetWidth<=0&&t.offsetHeight<=0)}static elOffset(t){var e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}}static retrieveNestedData(t,e,i){var n,r=t?e.split(t):[e],s=r.length;for(let t=0;t<s&&(n=i=i[r[t]],i);t++);return n}static deepClone(t,e,i=[]){var n={}.__proto__,r=[].__proto__;for(var s in e||(e=Object.assign(Array.isArray(t)?[]:{},t)),t){let o,a,l=t[s];null==l||"object"!=typeof l||l.__proto__!==n&&l.__proto__!==r||(o=i.findIndex((t=>t.subject===l)),o>-1?e[s]=i[o].copy:(a=Object.assign(Array.isArray(l)?[]:{},l),i.unshift({subject:l,copy:a}),e[s]=this.deepClone(l,a,i)))}return e}}let a=class t extends s{constructor(t,e,i){super(t),this.element=e,this.container=this._lookupContainer(),this.parent=i,this.reversedX=!1,this.childPopup=null,this.blurable=!1,this.blurCallback=null,this.blurEventsBound=!1,this.renderedCallback=null,this.visible=!1,this.hideable=!0,this.element.classList.add("tabulator-popup-container"),this.blurEvent=this.hide.bind(this,!1),this.escEvent=this._escapeCheck.bind(this),this.destroyBinding=this.tableDestroyed.bind(this),this.destroyed=!1}tableDestroyed(){this.destroyed=!0,this.hide(!0)}_lookupContainer(){var t=this.table.options.popupContainer;return"string"==typeof t?(t=document.querySelector(t))||console.warn("Menu Error - no container element found matching selector:",this.table.options.popupContainer,"(defaulting to document body)"):!0===t&&(t=this.table.element),t&&!this._checkContainerIsParent(t)&&(t=!1,console.warn("Menu Error - container element does not contain this table:",this.table.options.popupContainer,"(defaulting to document body)")),t||(t=document.body),t}_checkContainerIsParent(t,e=this.table.element){return t===e||!!e.parentNode&&this._checkContainerIsParent(t,e.parentNode)}renderCallback(t){this.renderedCallback=t}containerEventCoords(t){var e=!(t instanceof MouseEvent),i=e?t.touches[0].pageX:t.pageX,n=e?t.touches[0].pageY:t.pageY;if(this.container!==document.body){let t=o.elOffset(this.container);i-=t.left,n-=t.top}return{x:i,y:n}}elementPositionCoords(t,e="right"){var i,n,r,s=o.elOffset(t);switch(this.container!==document.body&&(i=o.elOffset(this.container),s.left-=i.left,s.top-=i.top),e){case"right":n=s.left+t.offsetWidth,r=s.top-1;break;case"bottom":n=s.left,r=s.top+t.offsetHeight;break;case"left":n=s.left,r=s.top-1;break;case"top":n=s.left,r=s.top;break;case"center":n=s.left+t.offsetWidth/2,r=s.top+t.offsetHeight/2}return{x:n,y:r,offset:s}}show(t,e){var i,n,r,s,o;return this.destroyed||this.table.destroyed||(t instanceof HTMLElement?(r=t,s=(o=this.elementPositionCoords(t,e)).offset,i=o.x,n=o.y):"number"==typeof t?(s={top:0,left:0},i=t,n=e):(i=(o=this.containerEventCoords(t)).x,n=o.y,this.reversedX=!1),this.element.style.top=n+"px",this.element.style.left=i+"px",this.container.appendChild(this.element),"function"==typeof this.renderedCallback&&this.renderedCallback(),this._fitToScreen(i,n,r,s,e),this.visible=!0,this.subscribe("table-destroy",this.destroyBinding),this.element.addEventListener("mousedown",(t=>{t.stopPropagation()}))),this}_fitToScreen(t,e,i,n,r){var s=this.container===document.body?document.documentElement.scrollTop:this.container.scrollTop;(t+this.element.offsetWidth>=this.container.offsetWidth||this.reversedX)&&(this.element.style.left="",this.element.style.right=i?this.container.offsetWidth-n.left+"px":this.container.offsetWidth-t+"px",this.reversedX=!0);let o=Math.max(this.container.offsetHeight,s?this.container.scrollHeight:0);if(e+this.element.offsetHeight>o)if(i)if("bottom"===r)this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight-i.offsetHeight-1+"px";else this.element.style.top=parseInt(this.element.style.top)-this.element.offsetHeight+i.offsetHeight+1+"px";else this.element.style.height=o+"px"}isVisible(){return this.visible}hideOnBlur(t){return this.blurable=!0,this.visible&&(setTimeout((()=>{this.visible&&(this.table.rowManager.element.addEventListener("scroll",this.blurEvent),this.subscribe("cell-editing",this.blurEvent),document.body.addEventListener("click",this.blurEvent),document.body.addEventListener("contextmenu",this.blurEvent),document.body.addEventListener("mousedown",this.blurEvent),window.addEventListener("resize",this.blurEvent),document.body.addEventListener("keydown",this.escEvent),this.blurEventsBound=!0)}),100),this.blurCallback=t),this}_escapeCheck(t){27==t.keyCode&&this.hide()}blockHide(){this.hideable=!1}restoreHide(){this.hideable=!0}hide(t=!1){return this.visible&&this.hideable&&(this.blurable&&this.blurEventsBound&&(document.body.removeEventListener("keydown",this.escEvent),document.body.removeEventListener("click",this.blurEvent),document.body.removeEventListener("contextmenu",this.blurEvent),document.body.removeEventListener("mousedown",this.blurEvent),window.removeEventListener("resize",this.blurEvent),this.table.rowManager.element.removeEventListener("scroll",this.blurEvent),this.unsubscribe("cell-editing",this.blurEvent),this.blurEventsBound=!1),this.childPopup&&this.childPopup.hide(),this.parent&&(this.parent.childPopup=null),this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.visible=!1,this.blurCallback&&!t&&this.blurCallback(),this.unsubscribe("table-destroy",this.destroyBinding)),this}child(e){return this.childPopup&&this.childPopup.hide(),this.childPopup=new t(this.table,e,this),this.childPopup}};class l extends s{constructor(t,e){super(t),this._handler=null}initialize(){}registerTableOption(t,e){this.table.optionsList.register(t,e)}registerColumnOption(t,e){this.table.columnManager.optionsList.register(t,e)}registerTableFunction(t,e){void 0===this.table[t]?this.table[t]=(...i)=>(this.table.initGuard(t),e(...i)):console.warn("Unable to bind table function, name already in use",t)}registerComponentFunction(t,e,i){return this.table.componentFunctionBinder.bind(t,e,i)}registerDataHandler(t,e){this.table.rowManager.registerDataPipelineHandler(t,e),this._handler=t}registerDisplayHandler(t,e){this.table.rowManager.registerDisplayPipelineHandler(t,e),this._handler=t}displayRows(t){var e,i=this.table.rowManager.displayRows.length-1;if(this._handler&&(e=this.table.rowManager.displayPipeline.findIndex((t=>t.handler===this._handler)))>-1&&(i=e),t&&(i+=t),this._handler)return i>-1?this.table.rowManager.getDisplayRows(i):this.activeRows()}activeRows(){return this.table.rowManager.activeRows}refreshData(t,e){e||(e=this._handler),e&&this.table.rowManager.refreshActiveData(e,!1,t)}footerAppend(t){return this.table.footerManager.append(t)}footerPrepend(t){return this.table.footerManager.prepend(t)}footerRemove(t){return this.table.footerManager.remove(t)}popup(t,e){return new a(this.table,t,e)}alert(t,e){return this.table.alertManager.alert(t,e)}clearAlert(){return this.table.alertManager.clear()}}class h extends l{constructor(t){super(t),this.allowedTypes=["","data","download","clipboard","print","htmlOutput"],this.registerColumnOption("accessor"),this.registerColumnOption("accessorParams"),this.registerColumnOption("accessorData"),this.registerColumnOption("accessorDataParams"),this.registerColumnOption("accessorDownload"),this.registerColumnOption("accessorDownloadParams"),this.registerColumnOption("accessorClipboard"),this.registerColumnOption("accessorClipboardParams"),this.registerColumnOption("accessorPrint"),this.registerColumnOption("accessorPrintParams"),this.registerColumnOption("accessorHtmlOutput"),this.registerColumnOption("accessorHtmlOutputParams")}initialize(){this.subscribe("column-layout",this.initializeColumn.bind(this)),this.subscribe("row-data-retrieve",this.transformRow.bind(this))}initializeColumn(t){var e=!1,i={};this.allowedTypes.forEach((n=>{var r,s="accessor"+(n.charAt(0).toUpperCase()+n.slice(1));t.definition[s]&&(r=this.lookupAccessor(t.definition[s]))&&(e=!0,i[s]={accessor:r,params:t.definition[s+"Params"]||{}})})),e&&(t.modules.accessor=i)}lookupAccessor(t){var e=!1;switch(typeof t){case"string":h.accessors[t]?e=h.accessors[t]:console.warn("Accessor Error - No such accessor found, ignoring: ",t);break;case"function":e=t}return e}transformRow(t,e){var i="accessor"+(e.charAt(0).toUpperCase()+e.slice(1)),n=t.getComponent(),r=o.deepClone(t.data||{});return this.table.columnManager.traverse((function(t){var s,o,a,l;t.modules.accessor&&(o=t.modules.accessor[i]||t.modules.accessor.accessor||!1)&&"undefined"!=(s=t.getFieldValue(r))&&(l=t.getComponent(),a="function"==typeof o.params?o.params(s,r,e,l,n):o.params,t.setFieldValue(r,o.accessor(s,r,e,a,l,n)))})),r}}n(h,"moduleName","accessor"),n(h,"accessors",{rownum:function(t,e,i,n,r,s){return s.getPosition()}});function c(t,e){var i=[];if(e=e||"",Array.isArray(t))t.forEach(((t,n)=>{i=i.concat(c(t,e?e+"["+n+"]":n))}));else if("object"==typeof t)for(var n in t)i=i.concat(c(t[n],e?e+"["+n+"]":n));else i.push({key:e,value:t});return i}function u(t){var e=c(t),i=[];return e.forEach((function(t){i.push(encodeURIComponent(t.key)+"="+encodeURIComponent(t.value))})),i.join("&")}function d(t,e,i){return t&&i&&Object.keys(i).length&&(e.method&&"get"!=e.method.toLowerCase()||(e.method="get",t+=(t.includes("?")?"&":"?")+u(i))),t}function p(t,e){var i=[];if(e=e||"",Array.isArray(t))t.forEach(((t,n)=>{i=i.concat(p(t,e?e+"["+n+"]":n))}));else if("object"==typeof t)for(var n in t)i=i.concat(p(t[n],e?e+"["+n+"]":n));else i.push({key:e,value:t});return i}var m={json:{headers:{"Content-Type":"application/json"},body:function(t,e,i){return JSON.stringify(i)}},form:{headers:{},body:function(t,e,i){var n=p(i),r=new FormData;return n.forEach((function(t){r.append(t.key,t.value)})),r}}};class f extends l{constructor(t){super(t),this.config={},this.url="",this.urlGenerator=!1,this.params=!1,this.loaderPromise=!1,this.registerTableOption("ajaxURL",!1),this.registerTableOption("ajaxURLGenerator",!1),this.registerTableOption("ajaxParams",{}),this.registerTableOption("ajaxConfig","get"),this.registerTableOption("ajaxContentType","form"),this.registerTableOption("ajaxRequestFunc",!1),this.registerTableOption("ajaxRequesting",(function(){})),this.registerTableOption("ajaxResponse",!1),this.contentTypeFormatters=f.contentTypeFormatters}initialize(){this.loaderPromise=this.table.options.ajaxRequestFunc||f.defaultLoaderPromise,this.urlGenerator=this.table.options.ajaxURLGenerator||f.defaultURLGenerator,this.table.options.ajaxURL&&this.setUrl(this.table.options.ajaxURL),this.setDefaultConfig(this.table.options.ajaxConfig),this.registerTableFunction("getAjaxUrl",this.getUrl.bind(this)),this.subscribe("data-loading",this.requestDataCheck.bind(this)),this.subscribe("data-params",this.requestParams.bind(this)),this.subscribe("data-load",this.requestData.bind(this))}requestParams(t,e,i,n){var r=this.table.options.ajaxParams;return r&&("function"==typeof r&&(r=r.call(this.table)),n=Object.assign(Object.assign({},r),n)),n}requestDataCheck(t,e,i,n){return!((t||!this.url)&&"string"!=typeof t)}requestData(t,e,i,n,r){var s;return!r&&this.requestDataCheck(t)?(t&&this.setUrl(t),s=this.generateConfig(i),this.sendRequest(this.url,e,s)):r}setDefaultConfig(t={}){this.config=Object.assign({},f.defaultConfig),"string"==typeof t?this.config.method=t:Object.assign(this.config,t)}generateConfig(t={}){var e=Object.assign({},this.config);return"string"==typeof t?e.method=t:Object.assign(e,t),e}setUrl(t){this.url=t}getUrl(){return this.url}sendRequest(t,e,i){return!1!==this.table.options.ajaxRequesting.call(this.table,t,e)?this.loaderPromise(t,i,e).then((i=>(this.table.options.ajaxResponse&&(i=this.table.options.ajaxResponse.call(this.table,t,e,i)),i))):Promise.reject()}}n(f,"moduleName","ajax"),n(f,"defaultConfig",{method:"GET"}),n(f,"defaultURLGenerator",d),n(f,"defaultLoaderPromise",(function(t,e,i){var n;return new Promise(((r,s)=>{if(t=this.urlGenerator.call(this.table,t,e,i),"GET"!=e.method.toUpperCase())if(n="object"==typeof this.table.options.ajaxContentType?this.table.options.ajaxContentType:this.contentTypeFormatters[this.table.options.ajaxContentType]){for(var o in n.headers)e.headers||(e.headers={}),void 0===e.headers[o]&&(e.headers[o]=n.headers[o]);e.body=n.body.call(this,t,e,i)}else console.warn("Ajax Error - Invalid ajaxContentType value:",this.table.options.ajaxContentType);t?(void 0===e.headers&&(e.headers={}),void 0===e.headers.Accept&&(e.headers.Accept="application/json"),void 0===e.headers["X-Requested-With"]&&(e.headers["X-Requested-With"]="XMLHttpRequest"),void 0===e.mode&&(e.mode="cors"),"cors"==e.mode?(void 0===e.headers.Origin&&(e.headers.Origin=window.location.origin),void 0===e.credentials&&(e.credentials="same-origin")):void 0===e.credentials&&(e.credentials="include"),fetch(t,e).then((t=>{t.ok?t.json().then((t=>{r(t)})).catch((t=>{s(t),console.warn("Ajax Load Error - Invalid JSON returned",t)})):(console.error("Ajax Load Error - Connection Error: "+t.status,t.statusText),s(t))})).catch((t=>{console.error("Ajax Load Error - Connection Error: ",t),s(t)}))):(console.warn("Ajax Load Error - No URL Set"),r([]))}))})),n(f,"contentTypeFormatters",m);var g={keybindings:{bindings:{copyToClipboard:["ctrl + 67","meta + 67"]},actions:{copyToClipboard:function(t){this.table.modules.edit.currentCell||this.table.modExists("clipboard",!0)&&this.table.modules.clipboard.copy(!1,!0)}}}};class b extends l{constructor(t){super(t),this.mode=!0,this.pasteParser=function(){},this.pasteAction=function(){},this.customSelection=!1,this.rowRange=!1,this.blocked=!0,this.registerTableOption("clipboard",!1),this.registerTableOption("clipboardCopyStyled",!0),this.registerTableOption("clipboardCopyConfig",!1),this.registerTableOption("clipboardCopyFormatter",!1),this.registerTableOption("clipboardCopyRowRange","active"),this.registerTableOption("clipboardPasteParser","table"),this.registerTableOption("clipboardPasteAction","insert"),this.registerColumnOption("clipboard"),this.registerColumnOption("titleClipboard")}initialize(){this.mode=this.table.options.clipboard,this.rowRange=this.table.options.clipboardCopyRowRange,!0!==this.mode&&"copy"!==this.mode||this.table.element.addEventListener("copy",(t=>{var e,i,n;this.blocked||(t.preventDefault(),this.customSelection?(e=this.customSelection,this.table.options.clipboardCopyFormatter&&(e=this.table.options.clipboardCopyFormatter("plain",e))):(n=this.table.modules.export.generateExportList(this.table.options.clipboardCopyConfig,this.table.options.clipboardCopyStyled,this.rowRange,"clipboard"),e=(i=this.table.modules.export.generateHTMLTable(n))?this.generatePlainContent(n):"",this.table.options.clipboardCopyFormatter&&(e=this.table.options.clipboardCopyFormatter("plain",e),i=this.table.options.clipboardCopyFormatter("html",i))),window.clipboardData&&window.clipboardData.setData?window.clipboardData.setData("Text",e):t.clipboardData&&t.clipboardData.setData?(t.clipboardData.setData("text/plain",e),i&&t.clipboardData.setData("text/html",i)):t.originalEvent&&t.originalEvent.clipboardData.setData&&(t.originalEvent.clipboardData.setData("text/plain",e),i&&t.originalEvent.clipboardData.setData("text/html",i)),this.dispatchExternal("clipboardCopied",e,i),this.reset())})),!0!==this.mode&&"paste"!==this.mode||this.table.element.addEventListener("paste",(t=>{this.paste(t)})),this.setPasteParser(this.table.options.clipboardPasteParser),this.setPasteAction(this.table.options.clipboardPasteAction),this.registerTableFunction("copyToClipboard",this.copy.bind(this))}reset(){this.blocked=!0,this.customSelection=!1}generatePlainContent(t){var e=[];return t.forEach((t=>{var i=[];t.columns.forEach((e=>{var n="";if(e)if("group"===t.type&&(e.value=e.component.getKey()),null===e.value)n="";else switch(typeof e.value){case"object":n=JSON.stringify(e.value);break;case"undefined":n="";break;default:n=e.value}i.push(n)})),e.push(i.join("\t"))})),e.join("\n")}copy(t,e){var i,n;this.blocked=!1,this.customSelection=!1,!0!==this.mode&&"copy"!==this.mode||(this.rowRange=t||this.table.options.clipboardCopyRowRange,void 0!==window.getSelection&&void 0!==document.createRange?((t=document.createRange()).selectNodeContents(this.table.element),(i=window.getSelection()).toString()&&e&&(this.customSelection=i.toString()),i.removeAllRanges(),i.addRange(t)):void 0!==document.selection&&void 0!==document.body.createTextRange&&((n=document.body.createTextRange()).moveToElementText(this.table.element),n.select()),document.execCommand("copy"),i&&i.removeAllRanges())}setPasteAction(t){switch(typeof t){case"string":this.pasteAction=b.pasteActions[t],this.pasteAction||console.warn("Clipboard Error - No such paste action found:",t);break;case"function":this.pasteAction=t}}setPasteParser(t){switch(typeof t){case"string":this.pasteParser=b.pasteParsers[t],this.pasteParser||console.warn("Clipboard Error - No such paste parser found:",t);break;case"function":this.pasteParser=t}}paste(t){var e,i,n;this.checkPasteOrigin(t)&&(e=this.getPasteData(t),(i=this.pasteParser.call(this,e))?(t.preventDefault(),this.table.modExists("mutator")&&(i=this.mutateData(i)),n=this.pasteAction.call(this,i),this.dispatchExternal("clipboardPasted",e,i,n)):this.dispatchExternal("clipboardPasteError",e))}mutateData(t){var e=[];return Array.isArray(t)?t.forEach((t=>{e.push(this.table.modules.mutator.transformRow(t,"clipboard"))})):e=t,e}checkPasteOrigin(t){var e=!0;return!this.confirm("clipboard-paste",[t])&&["DIV","SPAN"].includes(t.target.tagName)||(e=!1),e}getPasteData(t){var e;return window.clipboardData&&window.clipboardData.getData?e=window.clipboardData.getData("Text"):t.clipboardData&&t.clipboardData.getData?e=t.clipboardData.getData("text/plain"):t.originalEvent&&t.originalEvent.clipboardData.getData&&(e=t.originalEvent.clipboardData.getData("text/plain")),e}}n(b,"moduleName","clipboard"),n(b,"moduleExtensions",g),n(b,"pasteActions",{replace:function(t){return this.table.setData(t)},update:function(t){return this.table.updateOrAddData(t)},insert:function(t){return this.table.addData(t)}}),n(b,"pasteParsers",{table:function(t){var e=[],i=!0,n=this.table.columnManager.columns,r=[],s=[];return(t=t.split("\n")).forEach((function(t){e.push(t.split("\t"))})),!(!e.length||1===e.length&&e[0].length<2)&&(e[0].forEach((function(t){var e=n.find((function(e){return t&&e.definition.title&&t.trim()&&e.definition.title.trim()===t.trim()}));e?r.push(e):i=!1})),i||(i=!0,r=[],e[0].forEach((function(t){var e=n.find((function(e){return t&&e.field&&t.trim()&&e.field.trim()===t.trim()}));e?r.push(e):i=!1})),i||(r=this.table.columnManager.columnsByIndex)),i&&e.shift(),e.forEach((function(t){var e={};t.forEach((function(t,i){r[i]&&(e[r[i].field]=t)})),s.push(e)})),s)}});class v{constructor(t){return this._row=t,new Proxy(this,{get:function(t,e,i){return void 0!==t[e]?t[e]:t._row.table.componentFunctionBinder.handle("row",t._row,e)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getTable(){return this._row.table}getCells(){var t=[];return this._row.getCells().forEach((function(e){t.push(e.getComponent())})),t}getCell(t){var e=this._row.getCell(t);return!!e&&e.getComponent()}_getSelf(){return this._row}}class w{constructor(t){return this._cell=t,new Proxy(this,{get:function(t,e,i){return void 0!==t[e]?t[e]:t._cell.table.componentFunctionBinder.handle("cell",t._cell,e)}})}getValue(){return this._cell.getValue()}getOldValue(){return this._cell.getOldValue()}getInitialValue(){return this._cell.initialValue}getElement(){return this._cell.getElement()}getRow(){return this._cell.row.getComponent()}getData(t){return this._cell.row.getData(t)}getType(){return"cell"}getField(){return this._cell.column.getField()}getColumn(){return this._cell.column.getComponent()}setValue(t,e){void 0===e&&(e=!0),this._cell.setValue(t,e)}restoreOldValue(){this._cell.setValueActual(this._cell.getOldValue())}restoreInitialValue(){this._cell.setValueActual(this._cell.initialValue)}checkHeight(){this._cell.checkHeight()}getTable(){return this._cell.table}_getSelf(){return this._cell}}class y extends s{constructor(t,e){super(t.table),this.table=t.table,this.column=t,this.row=e,this.element=null,this.value=null,this.initialValue,this.oldValue=null,this.modules={},this.height=null,this.width=null,this.minWidth=null,this.component=null,this.loaded=!1,this.build()}build(){this.generateElement(),this.setWidth(),this._configureCell(),this.setValueActual(this.column.getFieldValue(this.row.data)),this.initialValue=this.value}generateElement(){this.element=document.createElement("div"),this.element.className="tabulator-cell",this.element.setAttribute("role","gridcell"),this.column.isRowHeader&&this.element.classList.add("tabulator-row-header")}_configureCell(){var t=this.element,e=this.column.getField();(t.style.textAlign=this.column.hozAlign,this.column.vertAlign&&(t.style.display="inline-flex",t.style.alignItems={top:"flex-start",bottom:"flex-end",middle:"center"}[this.column.vertAlign]||"",this.column.hozAlign&&(t.style.justifyContent={left:"flex-start",right:"flex-end",center:"center"}[this.column.hozAlign]||"")),e&&t.setAttribute("tabulator-field",e),this.column.definition.cssClass)&&this.column.definition.cssClass.split(" ").forEach((e=>{t.classList.add(e)}));this.dispatch("cell-init",this),this.column.visible||this.hide()}_generateContents(){var t;switch(typeof(t=this.chain("cell-format",this,null,(()=>this.element.innerHTML=this.value)))){case"object":if(t instanceof Node){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.appendChild(t)}else this.element.innerHTML="",null!=t&&console.warn("Format Error - Formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",t);break;case"undefined":this.element.innerHTML="";break;default:this.element.innerHTML=t}}cellRendered(){this.dispatch("cell-rendered",this)}getElement(t){return this.loaded||(this.loaded=!0,t||this.layoutElement()),this.element}getValue(){return this.value}getOldValue(){return this.oldValue}setValue(t,e,i){this.setValueProcessData(t,e,i)&&(this.dispatch("cell-value-updated",this),this.cellRendered(),this.column.definition.cellEdited&&this.column.definition.cellEdited.call(this.table,this.getComponent()),this.dispatchExternal("cellEdited",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()))}setValueProcessData(t,e,i){var n=!1;return(this.value!==t||i)&&(n=!0,e&&(t=this.chain("cell-value-changing",[this,t],null,t))),this.setValueActual(t),n&&this.dispatch("cell-value-changed",this),n}setValueActual(t){this.oldValue=this.value,this.value=t,this.dispatch("cell-value-save-before",this),this.column.setFieldValue(this.row.data,t),this.dispatch("cell-value-save-after",this),this.loaded&&this.layoutElement()}layoutElement(){this._generateContents(),this.dispatch("cell-layout",this)}setWidth(){this.width=this.column.width,this.element.style.width=this.column.widthStyled}clearWidth(){this.width="",this.element.style.width=""}getWidth(){return this.width||this.element.offsetWidth}setMinWidth(){this.minWidth=this.column.minWidth,this.element.style.minWidth=this.column.minWidthStyled}setMaxWidth(){this.maxWidth=this.column.maxWidth,this.element.style.maxWidth=this.column.maxWidthStyled}checkHeight(){this.row.reinitializeHeight()}clearHeight(){this.element.style.height="",this.height=null,this.dispatch("cell-height",this,"")}setHeight(){this.height=this.row.height,this.element.style.height=this.row.heightStyled,this.dispatch("cell-height",this,this.row.heightStyled)}getHeight(){return this.height||this.element.offsetHeight}show(){this.element.style.display=this.column.vertAlign?"inline-flex":""}hide(){this.element.style.display="none"}delete(){this.dispatch("cell-delete",this),!this.table.rowManager.redrawBlock&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.column.deleteCell(this),this.row.deleteCell(this),this.calcs={}}getIndex(){return this.row.getCellIndex(this)}getComponent(){return this.component||(this.component=new w(this)),this.component}}class C{constructor(t){return this._column=t,this.type="ColumnComponent",new Proxy(this,{get:function(t,e,i){return void 0!==t[e]?t[e]:t._column.table.componentFunctionBinder.handle("column",t._column,e)}})}getElement(){return this._column.getElement()}getDefinition(){return this._column.getDefinition()}getField(){return this._column.getField()}getTitleDownload(){return this._column.getTitleDownload()}getCells(){var t=[];return this._column.cells.forEach((function(e){t.push(e.getComponent())})),t}isVisible(){return this._column.visible}show(){this._column.isGroup?this._column.columns.forEach((function(t){t.show()})):this._column.show()}hide(){this._column.isGroup?this._column.columns.forEach((function(t){t.hide()})):this._column.hide()}toggle(){this._column.visible?this.hide():this.show()}delete(){return this._column.delete()}getSubColumns(){var t=[];return this._column.columns.length&&this._column.columns.forEach((function(e){t.push(e.getComponent())})),t}getParentColumn(){return this._column.getParentComponent()}_getSelf(){return this._column}scrollTo(t,e){return this._column.table.columnManager.scrollToColumn(this._column,t,e)}getTable(){return this._column.table}move(t,e){var i=this._column.table.columnManager.findColumn(t);i?this._column.table.columnManager.moveColumn(this._column,i,e):console.warn("Move Error - No matching column found:",i)}getNextColumn(){var t=this._column.nextColumn();return!!t&&t.getComponent()}getPrevColumn(){var t=this._column.prevColumn();return!!t&&t.getComponent()}updateDefinition(t){return this._column.updateDefinition(t)}getWidth(){return this._column.getWidth()}setWidth(t){var e;return e=!0===t?this._column.reinitializeWidth(!0):this._column.setWidth(t),this._column.table.columnManager.rerenderColumns(!0),e}}var E={title:void 0,field:void 0,columns:void 0,visible:void 0,hozAlign:void 0,vertAlign:void 0,width:void 0,minWidth:40,maxWidth:void 0,maxInitialWidth:void 0,cssClass:void 0,variableHeight:void 0,headerVertical:void 0,headerHozAlign:void 0,headerWordWrap:!1,editableTitle:void 0};class x extends s{constructor(t,e,i){super(e.table),this.definition=t,this.parent=e,this.type="column",this.columns=[],this.cells=[],this.isGroup=!1,this.isRowHeader=i,this.element=this.createElement(),this.contentElement=!1,this.titleHolderElement=!1,this.titleElement=!1,this.groupElement=this.createGroupElement(),this.hozAlign="",this.vertAlign="",this.field="",this.fieldStructure="",this.getFieldValue="",this.setFieldValue="",this.titleDownload=null,this.titleFormatterRendered=!1,this.mapDefinitions(),this.setField(this.definition.field),this.modules={},this.width=null,this.widthStyled="",this.maxWidth=null,this.maxWidthStyled="",this.maxInitialWidth=null,this.minWidth=null,this.minWidthStyled="",this.widthFixed=!1,this.visible=!0,this.component=null,this.definition.columns?(this.isGroup=!0,this.definition.columns.forEach(((t,e)=>{var i=new x(t,this);this.attachColumn(i)})),this.checkColumnVisibility()):e.registerColumnField(this),this._initialize()}createElement(){var t=document.createElement("div");switch(t.classList.add("tabulator-col"),t.setAttribute("role","columnheader"),t.setAttribute("aria-sort","none"),this.isRowHeader&&t.classList.add("tabulator-row-header"),this.table.options.columnHeaderVertAlign){case"middle":t.style.justifyContent="center";break;case"bottom":t.style.justifyContent="flex-end"}return t}createGroupElement(){var t=document.createElement("div");return t.classList.add("tabulator-col-group-cols"),t}mapDefinitions(){var t=this.table.options.columnDefaults;if(t)for(let e in t)void 0===this.definition[e]&&(this.definition[e]=t[e]);this.definition=this.table.columnManager.optionsList.generate(x.defaultOptionList,this.definition)}checkDefinition(){Object.keys(this.definition).forEach((t=>{-1===x.defaultOptionList.indexOf(t)&&console.warn("Invalid column definition option in '"+(this.field||this.definition.title)+"' column:",t)}))}setField(t){this.field=t,this.fieldStructure=t?this.table.options.nestedFieldSeparator?t.split(this.table.options.nestedFieldSeparator):[t]:[],this.getFieldValue=this.fieldStructure.length>1?this._getNestedData:this._getFlatData,this.setFieldValue=this.fieldStructure.length>1?this._setNestedData:this._setFlatData}registerColumnPosition(t){this.parent.registerColumnPosition(t)}registerColumnField(t){this.parent.registerColumnField(t)}reRegisterPosition(){this.isGroup?this.columns.forEach((function(t){t.reRegisterPosition()})):this.registerColumnPosition(this)}_initialize(){for(var t=this.definition;this.element.firstChild;)this.element.removeChild(this.element.firstChild);t.headerVertical&&(this.element.classList.add("tabulator-col-vertical"),"flip"===t.headerVertical&&this.element.classList.add("tabulator-col-vertical-flip")),this.contentElement=this._buildColumnHeaderContent(),this.element.appendChild(this.contentElement),this.isGroup?this._buildGroupHeader():this._buildColumnHeader(),this.dispatch("column-init",this)}_buildColumnHeader(){var t=this.definition;(this.dispatch("column-layout",this),void 0!==t.visible&&(t.visible?this.show(!0):this.hide(!0)),t.cssClass)&&t.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)}));t.field&&this.element.setAttribute("tabulator-field",t.field),this.setMinWidth(parseInt(t.minWidth)),t.maxInitialWidth&&(this.maxInitialWidth=parseInt(t.maxInitialWidth)),t.maxWidth&&this.setMaxWidth(parseInt(t.maxWidth)),this.reinitializeWidth(),this.hozAlign=this.definition.hozAlign,this.vertAlign=this.definition.vertAlign,this.titleElement.style.textAlign=this.definition.headerHozAlign}_buildColumnHeaderContent(){var t=document.createElement("div");return t.classList.add("tabulator-col-content"),this.titleHolderElement=document.createElement("div"),this.titleHolderElement.classList.add("tabulator-col-title-holder"),t.appendChild(this.titleHolderElement),this.titleElement=this._buildColumnHeaderTitle(),this.titleHolderElement.appendChild(this.titleElement),t}_buildColumnHeaderTitle(){var t=this.definition,e=document.createElement("div");if(e.classList.add("tabulator-col-title"),t.headerWordWrap&&e.classList.add("tabulator-col-title-wrap"),t.editableTitle){var i=document.createElement("input");i.classList.add("tabulator-title-editor"),i.addEventListener("click",(t=>{t.stopPropagation(),i.focus()})),i.addEventListener("mousedown",(t=>{t.stopPropagation()})),i.addEventListener("change",(()=>{t.title=i.value,this.dispatchExternal("columnTitleChanged",this.getComponent())})),e.appendChild(i),t.field?this.langBind("columns|"+t.field,(e=>{i.value=e||t.title||" "})):i.value=t.title||" "}else t.field?this.langBind("columns|"+t.field,(i=>{this._formatColumnHeaderTitle(e,i||t.title||" ")})):this._formatColumnHeaderTitle(e,t.title||" ");return e}_formatColumnHeaderTitle(t,e){var i=this.chain("column-format",[this,e,t],null,(()=>e));switch(typeof i){case"object":i instanceof Node?t.appendChild(i):(t.innerHTML="",console.warn("Format Error - Title formatter has returned a type of object, the only valid formatter object return is an instance of Node, the formatter returned:",i));break;case"undefined":t.innerHTML="";break;default:t.innerHTML=i}}_buildGroupHeader(){(this.element.classList.add("tabulator-col-group"),this.element.setAttribute("role","columngroup"),this.element.setAttribute("aria-title",this.definition.title),this.definition.cssClass)&&this.definition.cssClass.split(" ").forEach((t=>{this.element.classList.add(t)}));this.titleElement.style.textAlign=this.definition.headerHozAlign,this.element.appendChild(this.groupElement)}_getFlatData(t){return t[this.field]}_getNestedData(t){var e,i=t,n=this.fieldStructure,r=n.length;for(let t=0;t<r&&(e=i=i[n[t]],i);t++);return e}_setFlatData(t,e){this.field&&(t[this.field]=e)}_setNestedData(t,e){var i=t,n=this.fieldStructure,r=n.length;for(let t=0;t<r;t++)if(t==r-1)i[n[t]]=e;else{if(!i[n[t]]){if(void 0===e)break;i[n[t]]={}}i=i[n[t]]}}attachColumn(t){this.groupElement?(this.columns.push(t),this.groupElement.appendChild(t.getElement()),t.columnRendered()):console.warn("Column Warning - Column being attached to another column instead of column group")}verticalAlign(t,e){var i=this.parent.isGroup?this.parent.getGroupElement().clientHeight:e||this.parent.getHeadersElement().clientHeight;this.element.style.height=i+"px",this.dispatch("column-height",this,this.element.style.height),this.isGroup&&(this.groupElement.style.minHeight=i-this.contentElement.offsetHeight+"px"),this.columns.forEach((function(e){e.verticalAlign(t)}))}clearVerticalAlign(){this.element.style.paddingTop="",this.element.style.height="",this.element.style.minHeight="",this.groupElement.style.minHeight="",this.columns.forEach((function(t){t.clearVerticalAlign()})),this.dispatch("column-height",this,"")}getElement(){return this.element}getGroupElement(){return this.groupElement}getField(){return this.field}getTitleDownload(){return this.titleDownload}getFirstColumn(){return this.isGroup?!!this.columns.length&&this.columns[0].getFirstColumn():this}getLastColumn(){return this.isGroup?!!this.columns.length&&this.columns[this.columns.length-1].getLastColumn():this}getColumns(t){var e=[];return t?this.columns.forEach((t=>{e.push(t),e=e.concat(t.getColumns(!0))})):e=this.columns,e}getCells(){return this.cells}getTopColumn(){return this.parent.isGroup?this.parent.getTopColumn():this}getDefinition(t){var e=[];return this.isGroup&&t&&(this.columns.forEach((function(t){e.push(t.getDefinition(!0))})),this.definition.columns=e),this.definition}checkColumnVisibility(){var t=!1;this.columns.forEach((function(e){e.visible&&(t=!0)})),t?(this.show(),this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1)):this.hide()}show(t,e){this.visible||(this.visible=!0,this.element.style.display="",this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.show()})),this.isGroup||null!==this.width||this.reinitializeWidth(),this.table.columnManager.verticalAlignHeaders(),this.dispatch("column-show",this,e),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!0),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}hide(t,e){this.visible&&(this.visible=!1,this.element.style.display="none",this.table.columnManager.verticalAlignHeaders(),this.parent.isGroup&&this.parent.checkColumnVisibility(),this.cells.forEach((function(t){t.hide()})),this.dispatch("column-hide",this,e),t||this.dispatchExternal("columnVisibilityChanged",this.getComponent(),!1),this.parent.isGroup&&this.parent.matchChildWidths(),this.silent||this.table.columnManager.rerenderColumns())}matchChildWidths(){var t=0;this.contentElement&&this.columns.length&&(this.columns.forEach((function(e){e.visible&&(t+=e.getWidth())})),this.contentElement.style.maxWidth=t-1+"px",this.table.initialized&&(this.element.style.width=t+"px"),this.parent.isGroup&&this.parent.matchChildWidths())}removeChild(t){var e=this.columns.indexOf(t);e>-1&&this.columns.splice(e,1),this.columns.length||this.delete()}setWidth(t){this.widthFixed=!0,this.setWidthActual(t)}setWidthActual(t){isNaN(t)&&(t=Math.floor(this.table.element.clientWidth/100*parseInt(t))),t=Math.max(this.minWidth,t),this.maxWidth&&(t=Math.min(this.maxWidth,t)),this.width=t,this.widthStyled=t?t+"px":"",this.element.style.width=this.widthStyled,this.isGroup||this.cells.forEach((function(t){t.setWidth()})),this.parent.isGroup&&this.parent.matchChildWidths(),this.dispatch("column-width",this),this.subscribedExternal("columnWidth")&&this.dispatchExternal("columnWidth",this.getComponent())}checkCellHeights(){var t=[];this.cells.forEach((function(e){e.row.heightInitialized&&(null!==e.row.getElement().offsetParent?(t.push(e.row),e.row.clearCellHeight()):e.row.heightInitialized=!1)})),t.forEach((function(t){t.calcHeight()})),t.forEach((function(t){t.setCellHeight()}))}getWidth(){var t=0;return this.isGroup?this.columns.forEach((function(e){e.visible&&(t+=e.getWidth())})):t=this.width,t}getLeftOffset(){var t=this.element.offsetLeft;return this.parent.isGroup&&(t+=this.parent.getLeftOffset()),t}getHeight(){return Math.ceil(this.element.getBoundingClientRect().height)}setMinWidth(t){this.maxWidth&&t>this.maxWidth&&(t=this.maxWidth,console.warn("the minWidth ("+t+"px) for column '"+this.field+"' cannot be bigger that its maxWidth ("+this.maxWidthStyled+")")),this.minWidth=t,this.minWidthStyled=t?t+"px":"",this.element.style.minWidth=this.minWidthStyled,this.cells.forEach((function(t){t.setMinWidth()}))}setMaxWidth(t){this.minWidth&&t<this.minWidth&&(t=this.minWidth,console.warn("the maxWidth ("+t+"px) for column '"+this.field+"' cannot be smaller that its minWidth ("+this.minWidthStyled+")")),this.maxWidth=t,this.maxWidthStyled=t?t+"px":"",this.element.style.maxWidth=this.maxWidthStyled,this.cells.forEach((function(t){t.setMaxWidth()}))}delete(){return new Promise(((t,e)=>{this.isGroup&&this.columns.forEach((function(t){t.delete()})),this.dispatch("column-delete",this);var i=this.cells.length;for(let t=0;t<i;t++)this.cells[0].delete();this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=!1,this.contentElement=!1,this.titleElement=!1,this.groupElement=!1,this.parent.isGroup&&this.parent.removeChild(this),this.table.columnManager.deregisterColumn(this),this.table.columnManager.rerenderColumns(!0),this.dispatch("column-deleted",this),t()}))}columnRendered(){this.titleFormatterRendered&&this.titleFormatterRendered(),this.dispatch("column-rendered",this)}generateCell(t){var e=new y(this,t);return this.cells.push(e),e}nextColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._nextVisibleColumn(t+1)}_nextVisibleColumn(t){var e=this.table.columnManager.getColumnByIndex(t);return!e||e.visible?e:this._nextVisibleColumn(t+1)}prevColumn(){var t=this.table.columnManager.findColumnIndex(this);return t>-1&&this._prevVisibleColumn(t-1)}_prevVisibleColumn(t){var e=this.table.columnManager.getColumnByIndex(t);return!e||e.visible?e:this._prevVisibleColumn(t-1)}reinitializeWidth(t){this.widthFixed=!1,void 0===this.definition.width||t||this.setWidth(this.definition.width),this.dispatch("column-width-fit-before",this),this.fitToData(t),this.dispatch("column-width-fit-after",this)}fitToData(t){if(!this.isGroup){this.widthFixed||(this.element.style.width="",this.cells.forEach((t=>{t.clearWidth()})));var e=this.element.offsetWidth;if((!this.width||!this.widthFixed)&&(this.cells.forEach((t=>{var i=t.getWidth();i>e&&(e=i)})),e)){var i=e+1;t?this.setWidth(i):(this.maxInitialWidth&&!t&&(i=Math.min(i,this.maxInitialWidth)),this.setWidthActual(i))}}}updateDefinition(t){var e;return this.isGroup||this.parent.isGroup?(console.error("Column Update Error - The updateDefinition function is only available on ungrouped columns"),Promise.reject("Column Update Error - The updateDefinition function is only available on columns, not column groups")):(e=Object.assign({},this.getDefinition()),e=Object.assign(e,t),this.table.columnManager.addColumn(e,!1,this).then((t=>(e.field==this.field&&(this.field=!1),this.delete().then((()=>t.getComponent()))))))}deleteCell(t){var e=this.cells.indexOf(t);e>-1&&this.cells.splice(e,1)}getComponent(){return this.component||(this.component=new C(this)),this.component}getPosition(){return this.table.columnManager.getVisibleColumnsByIndex().indexOf(this)+1}getParentComponent(){return this.parent instanceof x&&this.parent.getComponent()}}n(x,"defaultOptionList",E);class L{constructor(t){return this._row=t,new Proxy(this,{get:function(t,e,i){return void 0!==t[e]?t[e]:t._row.table.componentFunctionBinder.handle("row",t._row,e)}})}getData(t){return this._row.getData(t)}getElement(){return this._row.getElement()}getCells(){var t=[];return this._row.getCells().forEach((function(e){t.push(e.getComponent())})),t}getCell(t){var e=this._row.getCell(t);return!!e&&e.getComponent()}getIndex(){return this._row.getData("data")[this._row.table.options.index]}getPosition(){return this._row.getPosition()}watchPosition(t){return this._row.watchPosition(t)}delete(){return this._row.delete()}scrollTo(t,e){return this._row.table.rowManager.scrollToRow(this._row,t,e)}move(t,e){this._row.moveToRow(t,e)}update(t){return this._row.updateData(t)}normalizeHeight(){this._row.normalizeHeight(!0)}_getSelf(){return this._row}reformat(){return this._row.reinitialize()}getTable(){return this._row.table}getNextRow(){var t=this._row.nextRow();return t?t.getComponent():t}getPrevRow(){var t=this._row.prevRow();return t?t.getComponent():t}}class S extends s{constructor(t,e,i="row"){super(e.table),this.parent=e,this.data={},this.type=i,this.element=!1,this.modules={},this.cells=[],this.height=0,this.heightStyled="",this.manualHeight=!1,this.outerHeight=0,this.initialized=!1,this.heightInitialized=!1,this.position=0,this.positionWatchers=[],this.component=null,this.created=!1,this.setData(t)}create(){this.created||(this.created=!0,this.generateElement())}createElement(){var t=document.createElement("div");t.classList.add("tabulator-row"),t.setAttribute("role","row"),this.element=t}getElement(){return this.create(),this.element}detachElement(){this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)}generateElement(){this.createElement(),this.dispatch("row-init",this)}generateCells(){this.cells=this.table.columnManager.generateCells(this)}initialize(t,e){if(this.create(),!this.initialized||t){for(this.deleteCells();this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.dispatch("row-layout-before",this),this.generateCells(),this.initialized=!0,this.table.columnManager.renderer.renderRowCells(this,e),t&&this.normalizeHeight(),this.dispatch("row-layout",this),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent()),this.dispatch("row-layout-after",this)}else this.table.columnManager.renderer.rerenderRowCells(this,e)}rendered(){this.cells.forEach((t=>{t.cellRendered()}))}reinitializeHeight(){this.heightInitialized=!1,this.element&&null!==this.element.offsetParent&&this.normalizeHeight(!0)}deinitialize(){this.initialized=!1}deinitializeHeight(){this.heightInitialized=!1}reinitialize(t){this.initialized=!1,this.heightInitialized=!1,this.manualHeight||(this.height=0,this.heightStyled=""),this.element&&null!==this.element.offsetParent&&this.initialize(!0),this.dispatch("row-relayout",this)}calcHeight(t){var e=0,i=0;this.table.options.rowHeight?this.height=this.table.options.rowHeight:(i=this.calcMinHeight(),e=this.calcMaxHeight(),this.height=t?Math.max(e,i):this.manualHeight?this.height:Math.max(e,i)),this.heightStyled=this.height?this.height+"px":"",this.outerHeight=this.element.offsetHeight}calcMinHeight(){return this.table.options.resizableRows?this.element.clientHeight:0}calcMaxHeight(){var t=0;return this.cells.forEach((function(e){var i=e.getHeight();i>t&&(t=i)})),t}setCellHeight(){this.cells.forEach((function(t){t.setHeight()})),this.heightInitialized=!0}clearCellHeight(){this.cells.forEach((function(t){t.clearHeight()}))}normalizeHeight(t){t&&!this.table.options.rowHeight&&this.clearCellHeight(),this.calcHeight(t),this.setCellHeight()}setHeight(t,e){(this.height!=t||e)&&(this.manualHeight=!0,this.height=t,this.heightStyled=t?t+"px":"",this.setCellHeight(),this.outerHeight=this.element.offsetHeight,this.subscribedExternal("rowHeight")&&this.dispatchExternal("rowHeight",this.getComponent()))}getHeight(){return this.outerHeight}getWidth(){return this.element.offsetWidth}deleteCell(t){var e=this.cells.indexOf(t);e>-1&&this.cells.splice(e,1)}setData(t){this.data=this.chain("row-data-init-before",[this,t],void 0,t),this.dispatch("row-data-init-after",this)}updateData(t){var e,i=this.element&&o.elVisible(this.element),n={};return new Promise(((r,s)=>{"string"==typeof t&&(t=JSON.parse(t)),this.dispatch("row-data-save-before",this),this.subscribed("row-data-changing")&&(n=Object.assign(n,this.data),n=Object.assign(n,t)),e=this.chain("row-data-changing",[this,n,t],null,t);for(let t in e)this.data[t]=e[t];this.dispatch("row-data-save-after",this);for(let n in t){this.table.columnManager.getColumnsByFieldRoot(n).forEach((t=>{let n=this.getCell(t.getField());if(n){let r=t.getFieldValue(e);n.getValue()!==r&&(n.setValueProcessData(r),i&&n.cellRendered())}}))}i?(this.normalizeHeight(!0),this.table.options.rowFormatter&&this.table.options.rowFormatter(this.getComponent())):(this.initialized=!1,this.height=0,this.heightStyled=""),this.dispatch("row-data-changed",this,i,t),this.dispatchExternal("rowUpdated",this.getComponent()),this.subscribedExternal("dataChanged")&&this.dispatchExternal("dataChanged",this.table.rowManager.getData()),r()}))}getData(t){return t?this.chain("row-data-retrieve",[this,t],null,this.data):this.data}getCell(t){return t=this.table.columnManager.findColumn(t),this.initialized||0!==this.cells.length||this.generateCells(),this.cells.find((function(e){return e.column===t}))}getCellIndex(t){return this.cells.findIndex((function(e){return e===t}))}findCell(t){return this.cells.find((e=>e.element===t))}getCells(){return this.initialized||0!==this.cells.length||this.generateCells(),this.cells}nextRow(){return this.table.rowManager.nextDisplayRow(this,!0)||!1}prevRow(){return this.table.rowManager.prevDisplayRow(this,!0)||!1}moveToRow(t,e){var i=this.table.rowManager.findRow(t);i?(this.table.rowManager.moveRowActual(this,i,!e),this.table.rowManager.refreshActiveData("display",!1,!0)):console.warn("Move Error - No matching row found:",t)}delete(){return this.dispatch("row-delete",this),this.deleteActual(),Promise.resolve()}deleteActual(t){this.detachModules(),this.table.rowManager.deleteRow(this,t),this.deleteCells(),this.initialized=!1,this.heightInitialized=!1,this.element=!1,this.dispatch("row-deleted",this)}detachModules(){this.dispatch("row-deleting",this)}deleteCells(){var t=this.cells.length;for(let e=0;e<t;e++)this.cells[0].delete()}wipe(){if(this.detachModules(),this.deleteCells(),this.element){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.element.parentNode&&this.element.parentNode.removeChild(this.element)}this.element=!1,this.modules={}}isDisplayed(){return this.table.rowManager.getDisplayRows().includes(this)}getPosition(){return!!this.isDisplayed()&&this.position}setPosition(t){t!=this.position&&(this.position=t,this.positionWatchers.forEach((t=>{t(this.position)})))}watchPosition(t){this.positionWatchers.push(t),t(this.position)}getGroup(){return this.modules.group||!1}getComponent(){return this.component||(this.component=new L(this)),this.component}}var k={avg:function(t,e,i){var n=0,r=void 0!==i.precision?i.precision:2;return t.length&&(n=t.reduce((function(t,e){return Number(t)+Number(e)}