@arbocollab/arbo-plugin-item-table 0.0.33 → 0.0.35

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.
@@ -75913,7 +75913,7 @@ const kme = { key: 1 }, Ome = /* @__PURE__ */ dt({
75913
75913
  pagination: !1,
75914
75914
  rowHeight: l.ROW_HEIGHT,
75915
75915
  suppressHorizontalScroll: !1,
75916
- suppressColumnVirtualisation: !0,
75916
+ suppressColumnVirtualisation: !1,
75917
75917
  debounceVerticalScrollbar: !1,
75918
75918
  animateRows: !1,
75919
75919
  suppressAnimationFrame: !1,
@@ -76250,7 +76250,7 @@ const kme = { key: 1 }, Ome = /* @__PURE__ */ dt({
76250
76250
  "beta-tag": "_beta-tag_1lefh_57"
76251
76251
  }, Kme = {
76252
76252
  $style: jme
76253
- }, qme = /* @__PURE__ */ wt(Hme, [["__cssModules", Kme]]), gL = "0.0.33", Yme = { key: 0 }, Zme = /* @__PURE__ */ dt({
76253
+ }, qme = /* @__PURE__ */ wt(Hme, [["__cssModules", Kme]]), gL = "0.0.35", Yme = { key: 0 }, Zme = /* @__PURE__ */ dt({
76254
76254
  __name: "app",
76255
76255
  setup(e) {
76256
76256
  const t = j(() => n.id.length === 0 || n.workspaceId.length === 0), n = $o({
@@ -189,4 +189,4 @@ If you are trying to annotate ${i} with application data, use the '${i}.context'
189
189
  <rect width="32" height="32" rx="4" fill="#CCF3EB"/>
190
190
  <path d="M11 9C9.89688 9 9 9.89688 9 11V21C9 22.1031 9.89688 23 11 23H21C22.1031 23 23 22.1031 23 21V11C23 9.89688 22.1031 9 21 9H11ZM19.5312 14.5312L15.5312 18.5312C15.2375 18.825 14.7625 18.825 14.4719 18.5312L12.4719 16.5312C12.1781 16.2375 12.1781 15.7625 12.4719 15.4719C12.7656 15.1813 13.2406 15.1781 13.5312 15.4719L15 16.9406L18.4688 13.4688C18.7625 13.175 19.2375 13.175 19.5281 13.4688C19.8187 13.7625 19.8219 14.2375 19.5281 14.5281L19.5312 14.5312Z" fill="#00A18D"/>
191
191
  </svg>
192
- `,Mde=Ct(lt({__name:"item-table",props:{entityId:{},workspaceId:{}},setup(e,{expose:t}){const n=zC(),{setUserPermissions:i,setEntityPermissions:o}=n,{entityPermissions:s}=nr(n),{addNotification:r}=bd(),a=Z(null),l={ROWS_PER_PAGE:50,ROW_HEIGHT:38,GRID_HEIGHT:"650px"},c=j(()=>{var q;const ke=((q=s.value)==null?void 0:q.has_create_item_permission)===1;return[{label:"Create manually",value:"new_scene",icon:"Plus",type:"icon",id:"create_new_scene",hide:!ke},{label:"Import from CSV or Excel",value:"import_scenes",icon:"FileImport",type:"icon",hide:!ke,id:"import_scenes_option"},{label:"Update existing (CSV or Excel)",value:"overwrite_scenes",icon:"FilePen",type:"icon",hide:!ke,id:"overwrite_scenes_option"}]}),u=e;Ad.initialize({wrapVueCellRenderer:eg,wrapVueCellEditor:P1});const d=Z(null),h=Z([]),f=YC(),{rowCount:g}=nr(f),m=Z(!1),y=Z(""),b=Z(),S=Z(""),F=Z(!1),C=Z(new Set),R=Z(new Map),{apiServices:E}=po(!1,u),{columnDefs:_,checkboxColumn:I,saveColumnConfig:O}=Xce(b,u.entityId),{updateRowData:k,setMetricValues:x}=Tde(d),P=j(()=>y.value.length>0),N=j(()=>!1),G=j(dC),ie=j(()=>_.value.filter(ke=>{var q;return((q=ke.field)==null?void 0:q.startsWith("metric_"))&&!ke.hide}).map(ke=>{var q;return((q=ke.field)==null?void 0:q.replace("metric_",""))||""}));Fa("timezone",G);const B=j(()=>({autoFetch:!1,workspaceId:u.workspaceId,entityId:u.entityId,metricIds:ie.value,updateItemData:k})),{fetchItems:H,getMetricList:X,cusorMap:$,getMetricValues:ce}=Fde(B),ue=j(()=>{if(!d.value)return!1;const ke=d.value.getSelectedRows().length;return ke>0&&ke>=g.value.total}),De=j(()=>{var ke;return((ke=a.value)==null?void 0:ke.name)||"Items"}),ae=(ke,q)=>{var fe,$e,vt;g.value.total=ke.meta.total??0,(fe=ke.meta.next)!=null&&fe.cursor&&($[q+1]=ke.meta.next.cursor),S.value=ke.meta["X-Tsr-content-sha256"]||"",ke.meta.total===0?($e=d.value)==null||$e.showNoRowsOverlay():(vt=d.value)==null||vt.hideOverlay()},Fe=R1(),{sortingAPIConfiguration:Me,isSortingRunning:Je}=nr(Fe),pt=Z([]),Mt=async({page:ke,pageSize:q,filterText:fe})=>{var Le;(Le=d.value)==null||Le.hideOverlay();const $e=$[ke],vt=!$e&&ke>1?(ke-1)*q:void 0,Ft=Me.value;Ft.length>0&&(Je.value=!0);try{const An=await H({cursor:$e,size:q,searchQuery:fe,offset:vt,sort_by:Ft,assignees:pt.value});if(!An)return{rows:[],total:0};const ra=(xo=>{const Os=xo.data.map(Qo=>kF(Qo,G.value));return Os.forEach(Qo=>{C.value.add(String(Qo.id)),R.value.set(String(Qo.id),{})}),Os})(An);return ae(An,ke),{rows:ra,total:g.value.total}}catch(An){return console.error("Failed to fetch items:",An),{rows:[],total:0}}finally{Je.value=!1}},{isLoading:Be,toggleSidebar:jt,onGridReady:nn,handleUnSelect:Ot,onSearch:V}=Ide({selectRowData:Z([]),isSidebarOpen:m,quickFilterText:y,gridApi:d,columnDefs:_,perPage:l.ROWS_PER_PAGE,fetcher:Mt}),Y=j(()=>({blockLoadDebounceMillis:1e3,columnDefs:_.value,rowModelType:"infinite",cacheBlockSize:l.ROWS_PER_PAGE,infiniteInitialRowCount:20,popupParent:document.getElementById("item-table-layout-id")||void 0,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableClickSelection:!1,enableSelectionWithoutKeys:!1},suppressHeaderFocus:!1,pagination:!1,rowHeight:l.ROW_HEIGHT,suppressHorizontalScroll:!1,suppressColumnVirtualisation:!0,debounceVerticalScrollbar:!1,animateRows:!1,suppressAnimationFrame:!1,suppressScrollOnNewData:!0,suppressScrollWhenPopupsAreOpen:!1,rowBuffer:20,enableCellTextSelection:!1,suppressDragLeaveHidesColumns:!0,suppressMaxRenderedRowRestriction:!1,height:l.GRID_HEIGHT,stopEditingWhenCellsLoseFocus:!0,onModelUpdated:pe,noRowsOverlayComponent:eg(g7),noRowsOverlayComponentParams:()=>({isSearching:P.value,isFiltering:N.value}),defaultColDef:{editable:!1,filter:!1,sortable:!1,flex:1,minWidth:100,suppressNavigable:!1},getRowId:ke=>ke.data.id,getRowClass:ke=>{if(!ke.data)return["row-empty"];const q=["row-highlight"];return ke.data.id||q.push("row-inactive"),ke.data.isDeleted&&q.push("row-deleted"),ke.data.isArchived&&q.push("row-archived"),q},suppressRowTransform:!1,singleClickEdit:!0,context:{workspaceId:u.workspaceId,entityId:u.entityId,apiServices:E.value,sorting:Je.value}}));function pe(){if(!d.value)return;const ke=d.value.getCacheBlockState();if(!ke)return;const q=Object.values(ke).reduce((fe,$e)=>($e==null?void 0:$e.pageStatus)==="loaded"?fe+($e.endRow-$e.startRow):fe,0);g.value.loaded=Math.min(q,g.value.total)}ct(()=>Me,()=>{d.value&&(S.value="",C.value.clear(),d.value.deselectAll(),Object.keys($).forEach(ke=>delete $[Number(ke)]),d.value.purgeInfiniteCache(),d.value.ensureIndexVisible(0),d.value.refreshCells({force:!0}))},{deep:!0});const Te=Z(),Ee=Z(),_e=()=>{var ke;(ke=Ee.value)==null||ke.open()},Ve=()=>{var ke;(ke=Te.value)==null||ke.open()},Ae=()=>{console.log("Refreshing table"),d.value&&(S.value="",C.value.clear(),d.value.deselectAll(),Object.keys($).forEach(ke=>delete $[Number(ke)]),d.value.refreshInfiniteCache())},Pe=j(()=>sessionStorage.getItem("ITEM_TABLE_APP_VERSION")||""),xe=Z();function it(ke){var q;ke==="new_scene"?(q=xe.value)==null||q.show():ke==="import_scenes"?Ve():ke==="overwrite_scenes"&&_e()}const We=ke=>{h.value=ke.api.getSelectedRows().map(q=>q.id)},at=ke=>{const q=nn(ke);return q&&(q.addEventListener("modelUpdated",pe),q.addEventListener("bodyScroll",()=>q.stopEditing())),q==null||q.sizeColumnsToFit(),q},dt=(ke,q)=>{if(!d.value)return;const fe=d.value.getRowNode(ke);fe?(d.value.ensureIndexVisible(Number(fe.rowIndex),"middle"),d.value.flashCells({rowNodes:[fe],flashDuration:3e3,fadeDuration:1e3})):d.value.ensureIndexVisible(g.value.total-1,"bottom")},xt=async ke=>{var fe;let q;if(!(!E.value||!ke.trim())){Be.value=!0;try{q=await E.value.createNewScene({workspaceId:u.workspaceId,entityId:u.entityId,name:ke}),g.value.total<50&&await Ae()}catch($e){console.error("Error creating new scene:",$e)}finally{Be.value=!1,q!=null&&q.id&&r({id:String(q==null?void 0:q.id),message:`${ke} created successfully`,actions:[{label:"View",variant:"secondary",action:()=>{dt(String(q==null?void 0:q.id))}},{label:"Scene Hub",variant:"primary",action:()=>{const $e=Vo({type:"scene_hub",config:{ws_code:u.workspaceId,baseDomain:sessionStorage.getItem("URL_BASE")||"app.arbocollab.com",scene_id:String(q==null?void 0:q.id)}}).url;window.open($e,"_blank")},btnIcon:"CustomSceneHub"}],icon:Ode,type:"interactive"}),(fe=xe.value)==null||fe.hide()}}},Lt=ke=>ke.metric_type.code==="number"?"number":"default",Ht=async()=>{if(u.entityId)try{const ke=await X(u.entityId);b.value=ke.data.map(q=>({...q,sortType:Lt(q)}))}catch(ke){console.error("Failed to initialize metric list:",ke),b.value=[]}},Dn=async()=>{if(E.value)try{const ke=await E.value.getUserPermission(u.workspaceId);i(ke)}catch(ke){console.error("Failed to fetch user permissions:",ke)}},cn=async()=>{if(E.value)try{const ke=await E.value.getEntityDetail(u.workspaceId,u.entityId);o(ke.permission),a.value=ke}catch(ke){console.error("Failed to fetch entity details:",ke)}};ct(()=>[u.entityId,u.workspaceId],async([ke,q])=>{!ke||!q||(Ht(),Dn(),cn())},{immediate:!0,deep:!0}),ct(ie,(ke,q)=>{const fe=ke.filter($e=>!(q!=null&&q.includes($e)));fe.length>0&&ce(Array.from(C.value),fe).then($e=>{x($e,C.value,fe)})},{immediate:!0,deep:!0}),ct(S,(ke,q)=>{F.value=!!(q&&ke&&q!==ke)}),t({refreshTable:Ae});const qn=ke=>{pt.value=ke,Ae()};return(ke,q)=>(K(),Xe(J(dK),{"is-sidebar-open":m.value,onCloseSidebar:J(jt),onSidebarClear:J(jt),ref:"itemTableLayoutRef",id:"item-table-layout-id",onSidebarApply:J(jt)},{"header-left":Se(()=>[we("h1",{class:z(ke.$style.tableTitle)},"Scenes",2),we("div",{class:z(ke.$style["beta-tag"])},"Beta",2),ye(J(QC),{variant:["primary"],options:c.value,onSelect:it,onHandleClick:q[1]||(q[1]=fe=>it("new_scene")),id:"create_scene_dropdown"},{prefix:Se(()=>[ye(J(ft),{id:"create_new_scene",variant:["primary"],onClick:q[0]||(q[0]=fe=>it("new_scene")),label:"New"})]),_:1},8,["options"]),we("span",null,bt(Pe.value),1)]),"header-actions":Se(()=>[ye(J(S7),{"onUpdate:assignees":qn}),ye(J(KC),{modelValue:y.value,"onUpdate:modelValue":q[2]||(q[2]=fe=>y.value=fe),onSearch:J(V),class:z(ke.$style.itemSearchBox),onClear:q[3]||(q[3]=fe=>J(V)("")),id:"item_search_box"},null,8,["modelValue","onSearch","class"]),ye(J(HP),{status:J(Be)?"busy":"active",size:10,id:"refresh_table","status-tooltip":"Data has changed, please refresh the table",color:"var(--warning-color)","show-badge":F.value},{default:Se(()=>[ye(J(ft),{variant:"secondary",onClick:Ae},{prefix:Se(()=>[ye(J(gt),{src:"ArrowsRotate"})]),default:Se(()=>[q[4]||(q[4]=ut(" Refresh ",-1))]),_:1})]),_:1},8,["status","show-badge"]),ye(J(h7),{"model-value":J(_),"onUpdate:modelValue":J(O),checkboxColumn:J(I),id:"table_customization"},null,8,["model-value","onUpdate:modelValue","checkboxColumn"])]),grid:Se(({availableHeight:fe})=>[ye(J(zce),xn({id:"item_table_main",ref:"agGrid"},Y.value,{height:fe+"px",isSorting:J(Je),onOnGridReady:at,onSelectionChanged:We}),null,16,["height","isSorting"])]),footer:Se(()=>[we("div",{class:z(ke.$style.tableFooter),id:"table_footer"},[we("span",null,[q[5]||(q[5]=ut(" Showing ",-1)),we("b",null,bt(J(g).loaded)+" of "+bt(J(g).total),1)])],2)]),"new-row":Se(()=>[ye(J(v7),{onCreateNewItem:xt,ref_key:"createNewSceneRef",ref:xe},null,512)]),"bulk-update-actions":Se(()=>{var fe;return[!m.value&&h.value.length>0?(K(),Xe(J(J8),{key:0,selectRowData:((fe=d.value)==null?void 0:fe.getSelectedRows())||[],"workspace-id":u.workspaceId,"entity-id":u.entityId,"grid-api":d.value,onUnselect:J(Ot),"take-name":De.value,"selected-all":ue.value},null,8,["selectRowData","workspace-id","entity-id","grid-api","onUnselect","take-name","selected-all"])):ot("",!0)]}),snackbar:Se(()=>[ye(J(xK))]),popup:Se(()=>[ye(D7,{ref_key:"popupCreateSceneRef",ref:Te,"workspace-id":u.workspaceId,"entity-id":u.entityId,onImportSuccess:Ae},null,8,["workspace-id","entity-id"]),ye(kde,{ref_key:"popupOverwriteScenesRef",ref:Ee,"workspace-id":u.workspaceId,"entity-id":u.entityId,onImportSuccess:Ae},null,8,["workspace-id","entity-id"])]),_:1},8,["is-sidebar-open","onCloseSidebar","onSidebarClear","onSidebarApply"]))}}),[["__cssModules",{$style:{tableTitle:"_tableTitle_1lefh_1",tableFooter:"_tableFooter_1lefh_7",footerStart:"_footerStart_1lefh_17",newRow:"_newRow_1lefh_25","warning-text":"_warning-text_1lefh_44","has-error":"_has-error_1lefh_49",itemSearchBox:"_itemSearchBox_1lefh_53","beta-tag":"_beta-tag_1lefh_57"}}]]),VM="0.0.33",Lde={key:0},Nde=Ct(lt({__name:"app",setup(e){const t=j(()=>n.id.length===0||n.workspaceId.length===0),n=Ao({id:"",workspaceId:"",apiConfig:{}}),i=bd(),{showMessage:o}=i,s=c=>{var u,d;c.success?o(c.apiCode,"success"):o(((d=(u=c.res)==null?void 0:u.data)==null?void 0:d.message)||c.apiCode,"error")},r=Z(null);hv(()=>{var c,u,d;sessionStorage.setItem("ITEM_TABLE_APP_VERSION",VM);try{if(r.value=Si(),!r.value)throw new Error("Current instance is null");n.id=((c=r.value)==null?void 0:c.appContext.config.globalProperties.id)||"",n.workspaceId=((u=r.value)==null?void 0:u.appContext.config.globalProperties.workspaceId)||sessionStorage.getItem("ws.code")||"";const h={domainApi:"https://api.dev.arbocollab.com/api",wsCode:sessionStorage.getItem("ws.code")||"w:yngazem",entityId:n.id};n.apiConfig=((d=r.value)==null?void 0:d.appContext.config.globalProperties.apiConfig)||{};const f=new NM(n.apiConfig,h);f.on("call-api",s),r.value.appContext.config.globalProperties.apiServices=f}catch(h){console.error("Error getting current instance:",h)}}),Yn(()=>{r.value.appContext.config.globalProperties.apiServices.off("call-api",s)});const a=j(()=>n.id),l=j(()=>n.workspaceId);return Fa("workspaceId",l),Fa("entityId",a),(c,u)=>(K(),Ce("div",{class:z(c.$style.dashboardPluginWrapper)},[t.value?(K(),Ce("span",Lde," There is no workspaceId or entityIds provided in global properties. Please set them to see the Item Table. ")):a.value?(K(),Xe(J(Mde),{key:1,entityId:a.value,workspaceId:l.value},null,8,["entityId","workspaceId"])):ot("",!0)],2))}}),[["__cssModules",{$style:{dashboardPluginWrapper:"_dashboardPluginWrapper_1f1og_1"}}]]),HS=async(e={},t={})=>{const n=MR(Nde),i=b8();n.use(i);const o=["apiConfig","workspaceId","id"],s={};return Object.entries(e).forEach(([r,a])=>{a!==void 0&&(n.config.globalProperties[r]=a,s[r]=a,o.includes(r)&&typeof a=="string"?sessionStorage.setItem(r,a):console.error(`[Config Error] Key "${r}" has an invalid value and will not be persisted.`))}),n.config.globalProperties.$arboConfig=s,Object.values(t).forEach(r=>{r&&typeof r.install=="function"&&n.use(r)}),n.config.errorHandler=(r,a,l)=>{console.error("[Vue Error]",r),l&&console.error("[Info]",l)},console.log(`%cArbo Dashboard Plugin v${VM}`,"color: #4CAF50; font-weight: bold;"),console.log(n.config.globalProperties),n};typeof window<"u"&&(window.arboDashboard=HS),un.default=HS,un.initDashboard=HS,Object.defineProperties(un,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
192
+ `,Mde=Ct(lt({__name:"item-table",props:{entityId:{},workspaceId:{}},setup(e,{expose:t}){const n=zC(),{setUserPermissions:i,setEntityPermissions:o}=n,{entityPermissions:s}=nr(n),{addNotification:r}=bd(),a=Z(null),l={ROWS_PER_PAGE:50,ROW_HEIGHT:38,GRID_HEIGHT:"650px"},c=j(()=>{var q;const ke=((q=s.value)==null?void 0:q.has_create_item_permission)===1;return[{label:"Create manually",value:"new_scene",icon:"Plus",type:"icon",id:"create_new_scene",hide:!ke},{label:"Import from CSV or Excel",value:"import_scenes",icon:"FileImport",type:"icon",hide:!ke,id:"import_scenes_option"},{label:"Update existing (CSV or Excel)",value:"overwrite_scenes",icon:"FilePen",type:"icon",hide:!ke,id:"overwrite_scenes_option"}]}),u=e;Ad.initialize({wrapVueCellRenderer:eg,wrapVueCellEditor:P1});const d=Z(null),h=Z([]),f=YC(),{rowCount:g}=nr(f),m=Z(!1),y=Z(""),b=Z(),S=Z(""),F=Z(!1),C=Z(new Set),R=Z(new Map),{apiServices:E}=po(!1,u),{columnDefs:_,checkboxColumn:I,saveColumnConfig:O}=Xce(b,u.entityId),{updateRowData:k,setMetricValues:x}=Tde(d),P=j(()=>y.value.length>0),N=j(()=>!1),G=j(dC),ie=j(()=>_.value.filter(ke=>{var q;return((q=ke.field)==null?void 0:q.startsWith("metric_"))&&!ke.hide}).map(ke=>{var q;return((q=ke.field)==null?void 0:q.replace("metric_",""))||""}));Fa("timezone",G);const B=j(()=>({autoFetch:!1,workspaceId:u.workspaceId,entityId:u.entityId,metricIds:ie.value,updateItemData:k})),{fetchItems:H,getMetricList:X,cusorMap:$,getMetricValues:ce}=Fde(B),ue=j(()=>{if(!d.value)return!1;const ke=d.value.getSelectedRows().length;return ke>0&&ke>=g.value.total}),De=j(()=>{var ke;return((ke=a.value)==null?void 0:ke.name)||"Items"}),ae=(ke,q)=>{var fe,$e,vt;g.value.total=ke.meta.total??0,(fe=ke.meta.next)!=null&&fe.cursor&&($[q+1]=ke.meta.next.cursor),S.value=ke.meta["X-Tsr-content-sha256"]||"",ke.meta.total===0?($e=d.value)==null||$e.showNoRowsOverlay():(vt=d.value)==null||vt.hideOverlay()},Fe=R1(),{sortingAPIConfiguration:Me,isSortingRunning:Je}=nr(Fe),pt=Z([]),Mt=async({page:ke,pageSize:q,filterText:fe})=>{var Le;(Le=d.value)==null||Le.hideOverlay();const $e=$[ke],vt=!$e&&ke>1?(ke-1)*q:void 0,Ft=Me.value;Ft.length>0&&(Je.value=!0);try{const An=await H({cursor:$e,size:q,searchQuery:fe,offset:vt,sort_by:Ft,assignees:pt.value});if(!An)return{rows:[],total:0};const ra=(xo=>{const Os=xo.data.map(Qo=>kF(Qo,G.value));return Os.forEach(Qo=>{C.value.add(String(Qo.id)),R.value.set(String(Qo.id),{})}),Os})(An);return ae(An,ke),{rows:ra,total:g.value.total}}catch(An){return console.error("Failed to fetch items:",An),{rows:[],total:0}}finally{Je.value=!1}},{isLoading:Be,toggleSidebar:jt,onGridReady:nn,handleUnSelect:Ot,onSearch:V}=Ide({selectRowData:Z([]),isSidebarOpen:m,quickFilterText:y,gridApi:d,columnDefs:_,perPage:l.ROWS_PER_PAGE,fetcher:Mt}),Y=j(()=>({blockLoadDebounceMillis:1e3,columnDefs:_.value,rowModelType:"infinite",cacheBlockSize:l.ROWS_PER_PAGE,infiniteInitialRowCount:20,popupParent:document.getElementById("item-table-layout-id")||void 0,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableClickSelection:!1,enableSelectionWithoutKeys:!1},suppressHeaderFocus:!1,pagination:!1,rowHeight:l.ROW_HEIGHT,suppressHorizontalScroll:!1,suppressColumnVirtualisation:!1,debounceVerticalScrollbar:!1,animateRows:!1,suppressAnimationFrame:!1,suppressScrollOnNewData:!0,suppressScrollWhenPopupsAreOpen:!1,rowBuffer:20,enableCellTextSelection:!1,suppressDragLeaveHidesColumns:!0,suppressMaxRenderedRowRestriction:!1,height:l.GRID_HEIGHT,stopEditingWhenCellsLoseFocus:!0,onModelUpdated:pe,noRowsOverlayComponent:eg(g7),noRowsOverlayComponentParams:()=>({isSearching:P.value,isFiltering:N.value}),defaultColDef:{editable:!1,filter:!1,sortable:!1,flex:1,minWidth:100,suppressNavigable:!1},getRowId:ke=>ke.data.id,getRowClass:ke=>{if(!ke.data)return["row-empty"];const q=["row-highlight"];return ke.data.id||q.push("row-inactive"),ke.data.isDeleted&&q.push("row-deleted"),ke.data.isArchived&&q.push("row-archived"),q},suppressRowTransform:!1,singleClickEdit:!0,context:{workspaceId:u.workspaceId,entityId:u.entityId,apiServices:E.value,sorting:Je.value}}));function pe(){if(!d.value)return;const ke=d.value.getCacheBlockState();if(!ke)return;const q=Object.values(ke).reduce((fe,$e)=>($e==null?void 0:$e.pageStatus)==="loaded"?fe+($e.endRow-$e.startRow):fe,0);g.value.loaded=Math.min(q,g.value.total)}ct(()=>Me,()=>{d.value&&(S.value="",C.value.clear(),d.value.deselectAll(),Object.keys($).forEach(ke=>delete $[Number(ke)]),d.value.purgeInfiniteCache(),d.value.ensureIndexVisible(0),d.value.refreshCells({force:!0}))},{deep:!0});const Te=Z(),Ee=Z(),_e=()=>{var ke;(ke=Ee.value)==null||ke.open()},Ve=()=>{var ke;(ke=Te.value)==null||ke.open()},Ae=()=>{console.log("Refreshing table"),d.value&&(S.value="",C.value.clear(),d.value.deselectAll(),Object.keys($).forEach(ke=>delete $[Number(ke)]),d.value.refreshInfiniteCache())},Pe=j(()=>sessionStorage.getItem("ITEM_TABLE_APP_VERSION")||""),xe=Z();function it(ke){var q;ke==="new_scene"?(q=xe.value)==null||q.show():ke==="import_scenes"?Ve():ke==="overwrite_scenes"&&_e()}const We=ke=>{h.value=ke.api.getSelectedRows().map(q=>q.id)},at=ke=>{const q=nn(ke);return q&&(q.addEventListener("modelUpdated",pe),q.addEventListener("bodyScroll",()=>q.stopEditing())),q==null||q.sizeColumnsToFit(),q},dt=(ke,q)=>{if(!d.value)return;const fe=d.value.getRowNode(ke);fe?(d.value.ensureIndexVisible(Number(fe.rowIndex),"middle"),d.value.flashCells({rowNodes:[fe],flashDuration:3e3,fadeDuration:1e3})):d.value.ensureIndexVisible(g.value.total-1,"bottom")},xt=async ke=>{var fe;let q;if(!(!E.value||!ke.trim())){Be.value=!0;try{q=await E.value.createNewScene({workspaceId:u.workspaceId,entityId:u.entityId,name:ke}),g.value.total<50&&await Ae()}catch($e){console.error("Error creating new scene:",$e)}finally{Be.value=!1,q!=null&&q.id&&r({id:String(q==null?void 0:q.id),message:`${ke} created successfully`,actions:[{label:"View",variant:"secondary",action:()=>{dt(String(q==null?void 0:q.id))}},{label:"Scene Hub",variant:"primary",action:()=>{const $e=Vo({type:"scene_hub",config:{ws_code:u.workspaceId,baseDomain:sessionStorage.getItem("URL_BASE")||"app.arbocollab.com",scene_id:String(q==null?void 0:q.id)}}).url;window.open($e,"_blank")},btnIcon:"CustomSceneHub"}],icon:Ode,type:"interactive"}),(fe=xe.value)==null||fe.hide()}}},Lt=ke=>ke.metric_type.code==="number"?"number":"default",Ht=async()=>{if(u.entityId)try{const ke=await X(u.entityId);b.value=ke.data.map(q=>({...q,sortType:Lt(q)}))}catch(ke){console.error("Failed to initialize metric list:",ke),b.value=[]}},Dn=async()=>{if(E.value)try{const ke=await E.value.getUserPermission(u.workspaceId);i(ke)}catch(ke){console.error("Failed to fetch user permissions:",ke)}},cn=async()=>{if(E.value)try{const ke=await E.value.getEntityDetail(u.workspaceId,u.entityId);o(ke.permission),a.value=ke}catch(ke){console.error("Failed to fetch entity details:",ke)}};ct(()=>[u.entityId,u.workspaceId],async([ke,q])=>{!ke||!q||(Ht(),Dn(),cn())},{immediate:!0,deep:!0}),ct(ie,(ke,q)=>{const fe=ke.filter($e=>!(q!=null&&q.includes($e)));fe.length>0&&ce(Array.from(C.value),fe).then($e=>{x($e,C.value,fe)})},{immediate:!0,deep:!0}),ct(S,(ke,q)=>{F.value=!!(q&&ke&&q!==ke)}),t({refreshTable:Ae});const qn=ke=>{pt.value=ke,Ae()};return(ke,q)=>(K(),Xe(J(dK),{"is-sidebar-open":m.value,onCloseSidebar:J(jt),onSidebarClear:J(jt),ref:"itemTableLayoutRef",id:"item-table-layout-id",onSidebarApply:J(jt)},{"header-left":Se(()=>[we("h1",{class:z(ke.$style.tableTitle)},"Scenes",2),we("div",{class:z(ke.$style["beta-tag"])},"Beta",2),ye(J(QC),{variant:["primary"],options:c.value,onSelect:it,onHandleClick:q[1]||(q[1]=fe=>it("new_scene")),id:"create_scene_dropdown"},{prefix:Se(()=>[ye(J(ft),{id:"create_new_scene",variant:["primary"],onClick:q[0]||(q[0]=fe=>it("new_scene")),label:"New"})]),_:1},8,["options"]),we("span",null,bt(Pe.value),1)]),"header-actions":Se(()=>[ye(J(S7),{"onUpdate:assignees":qn}),ye(J(KC),{modelValue:y.value,"onUpdate:modelValue":q[2]||(q[2]=fe=>y.value=fe),onSearch:J(V),class:z(ke.$style.itemSearchBox),onClear:q[3]||(q[3]=fe=>J(V)("")),id:"item_search_box"},null,8,["modelValue","onSearch","class"]),ye(J(HP),{status:J(Be)?"busy":"active",size:10,id:"refresh_table","status-tooltip":"Data has changed, please refresh the table",color:"var(--warning-color)","show-badge":F.value},{default:Se(()=>[ye(J(ft),{variant:"secondary",onClick:Ae},{prefix:Se(()=>[ye(J(gt),{src:"ArrowsRotate"})]),default:Se(()=>[q[4]||(q[4]=ut(" Refresh ",-1))]),_:1})]),_:1},8,["status","show-badge"]),ye(J(h7),{"model-value":J(_),"onUpdate:modelValue":J(O),checkboxColumn:J(I),id:"table_customization"},null,8,["model-value","onUpdate:modelValue","checkboxColumn"])]),grid:Se(({availableHeight:fe})=>[ye(J(zce),xn({id:"item_table_main",ref:"agGrid"},Y.value,{height:fe+"px",isSorting:J(Je),onOnGridReady:at,onSelectionChanged:We}),null,16,["height","isSorting"])]),footer:Se(()=>[we("div",{class:z(ke.$style.tableFooter),id:"table_footer"},[we("span",null,[q[5]||(q[5]=ut(" Showing ",-1)),we("b",null,bt(J(g).loaded)+" of "+bt(J(g).total),1)])],2)]),"new-row":Se(()=>[ye(J(v7),{onCreateNewItem:xt,ref_key:"createNewSceneRef",ref:xe},null,512)]),"bulk-update-actions":Se(()=>{var fe;return[!m.value&&h.value.length>0?(K(),Xe(J(J8),{key:0,selectRowData:((fe=d.value)==null?void 0:fe.getSelectedRows())||[],"workspace-id":u.workspaceId,"entity-id":u.entityId,"grid-api":d.value,onUnselect:J(Ot),"take-name":De.value,"selected-all":ue.value},null,8,["selectRowData","workspace-id","entity-id","grid-api","onUnselect","take-name","selected-all"])):ot("",!0)]}),snackbar:Se(()=>[ye(J(xK))]),popup:Se(()=>[ye(D7,{ref_key:"popupCreateSceneRef",ref:Te,"workspace-id":u.workspaceId,"entity-id":u.entityId,onImportSuccess:Ae},null,8,["workspace-id","entity-id"]),ye(kde,{ref_key:"popupOverwriteScenesRef",ref:Ee,"workspace-id":u.workspaceId,"entity-id":u.entityId,onImportSuccess:Ae},null,8,["workspace-id","entity-id"])]),_:1},8,["is-sidebar-open","onCloseSidebar","onSidebarClear","onSidebarApply"]))}}),[["__cssModules",{$style:{tableTitle:"_tableTitle_1lefh_1",tableFooter:"_tableFooter_1lefh_7",footerStart:"_footerStart_1lefh_17",newRow:"_newRow_1lefh_25","warning-text":"_warning-text_1lefh_44","has-error":"_has-error_1lefh_49",itemSearchBox:"_itemSearchBox_1lefh_53","beta-tag":"_beta-tag_1lefh_57"}}]]),VM="0.0.35",Lde={key:0},Nde=Ct(lt({__name:"app",setup(e){const t=j(()=>n.id.length===0||n.workspaceId.length===0),n=Ao({id:"",workspaceId:"",apiConfig:{}}),i=bd(),{showMessage:o}=i,s=c=>{var u,d;c.success?o(c.apiCode,"success"):o(((d=(u=c.res)==null?void 0:u.data)==null?void 0:d.message)||c.apiCode,"error")},r=Z(null);hv(()=>{var c,u,d;sessionStorage.setItem("ITEM_TABLE_APP_VERSION",VM);try{if(r.value=Si(),!r.value)throw new Error("Current instance is null");n.id=((c=r.value)==null?void 0:c.appContext.config.globalProperties.id)||"",n.workspaceId=((u=r.value)==null?void 0:u.appContext.config.globalProperties.workspaceId)||sessionStorage.getItem("ws.code")||"";const h={domainApi:"https://api.dev.arbocollab.com/api",wsCode:sessionStorage.getItem("ws.code")||"w:yngazem",entityId:n.id};n.apiConfig=((d=r.value)==null?void 0:d.appContext.config.globalProperties.apiConfig)||{};const f=new NM(n.apiConfig,h);f.on("call-api",s),r.value.appContext.config.globalProperties.apiServices=f}catch(h){console.error("Error getting current instance:",h)}}),Yn(()=>{r.value.appContext.config.globalProperties.apiServices.off("call-api",s)});const a=j(()=>n.id),l=j(()=>n.workspaceId);return Fa("workspaceId",l),Fa("entityId",a),(c,u)=>(K(),Ce("div",{class:z(c.$style.dashboardPluginWrapper)},[t.value?(K(),Ce("span",Lde," There is no workspaceId or entityIds provided in global properties. Please set them to see the Item Table. ")):a.value?(K(),Xe(J(Mde),{key:1,entityId:a.value,workspaceId:l.value},null,8,["entityId","workspaceId"])):ot("",!0)],2))}}),[["__cssModules",{$style:{dashboardPluginWrapper:"_dashboardPluginWrapper_1f1og_1"}}]]),HS=async(e={},t={})=>{const n=MR(Nde),i=b8();n.use(i);const o=["apiConfig","workspaceId","id"],s={};return Object.entries(e).forEach(([r,a])=>{a!==void 0&&(n.config.globalProperties[r]=a,s[r]=a,o.includes(r)&&typeof a=="string"?sessionStorage.setItem(r,a):console.error(`[Config Error] Key "${r}" has an invalid value and will not be persisted.`))}),n.config.globalProperties.$arboConfig=s,Object.values(t).forEach(r=>{r&&typeof r.install=="function"&&n.use(r)}),n.config.errorHandler=(r,a,l)=>{console.error("[Vue Error]",r),l&&console.error("[Info]",l)},console.log(`%cArbo Dashboard Plugin v${VM}`,"color: #4CAF50; font-weight: bold;"),console.log(n.config.globalProperties),n};typeof window<"u"&&(window.arboDashboard=HS),un.default=HS,un.initDashboard=HS,Object.defineProperties(un,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbocollab/arbo-plugin-item-table",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "type": "module",
5
5
  "main": "./lib/index.umd.js",
6
6
  "module": "./lib/index.es.js",