UNPKG

insite-users-client

Version:
3 lines (2 loc) 3.18 kB
var S=Object.defineProperty;var v=(e,r,s)=>r in e?S(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var u=(e,r,s)=>v(e,typeof r!="symbol"?r+"":r,s);import{SubscriptionGroup as _}from"insite-subscriptions-client";import{getAll as y}from"@nesvet/n";function a(e){e.null={_id:null,title:"",isOrg:!0,users:Object.assign(new Set,{sorted:[]})}}function c(e){if(e)for(let r of e.added)r.isOrg=!0,r.users=Object.assign(new Set,{sorted:[]});else this.values.orgs.null.users.clear(),this.values.orgs.null.users.sorted.length=0}function f(e){let r=this.values.orgs;if(e){let{users:s,extendedOrgs:o}=this.values;for(let l of e){let i=r.get(l._id);i.owners=l.owners.map(d=>s.get(d)||r.get(d)),i.slaveOrgs=y(r,l.slaveOrgs,!0),i.note=l.note,i._l=0}let n=[];for(let l of o.sorted){let i=r.get(l._id);for(let d of i.slaveOrgs)d._l=i._l+1;n.push(i)}r.sortedHierarchically=n,this.isLoaded&&(this.items.users.emitUpdate(),this.items.orgs.emitUpdate(e))}else{for(let s of r.sorted)delete s.owners,delete s.slaveOrgs,delete s.note,delete s._l;delete r.sortedHierarchically}}import{getAll as g}from"@nesvet/n";function h(e){if(e){let r=this.values.roles;for(let s of e)s.ownInvolves=g(r,s.ownInvolves,!0),s.involves=g(r,s.involves,!0),s._l=0;for(let s of r.sorted)for(let o of s.ownInvolves)o._l=s._l+1;this.isLoaded&&this.items.users.emitUpdate(e)}}function U(e){if(e){let r=e.slaveIds.join(",");if(e.slavesSnapshot!==r){e.slavesSnapshot=r;let s=[],o=[],n=[],{users:l,orgs:i}=this.values;for(let d of e.slaveIds){let t=l.get(d);t?(s.push(t),o.push(t)):(t=i.get(d),t&&(s.push(t),n.push(t)))}e.slaves=s,e.slaveUsers=o,e.slaveOrgs=n}}}import{getAll as E,removeOne as m}from"@nesvet/n";function x(e){if(e){let r=this.values.users,s=this.values.user,o=this.values.orgs;r.get(s._id)!==s&&(r.set(s._id,s),r.sorted[r.sorted.findIndex(t=>t._id===s._id)]=s);let n=e.findIndex(t=>t._id===s._id);~n&&(e[n]=s),~e.added.findIndex(t=>t._id===s._id)&&(e.added[n]=s);for(let t of e.added)t.isUser=!0;let i,d=new Set;for(let t of e){let p=o.get(t.orgId)??o.null;t.org!==p&&(t.org&&(t.org.users.delete(t),m(t.org.users.sorted,t)),t.org=p,t.org.users.add(t),t.org.users.sorted.push(t)),d.add(t.org),t===s&&(i=!0)}for(let t of d)t.users.sorted.sort(r.sortCompareFunction);if(e.deleted.length)for(let t of[...o.sorted,o.null])for(let p of t.users)r.has(p._id)||(t.users.delete(p),m(t.users.sorted,p));this.isLoaded&&(i&&this.items.user.emitUpdate(),this.items.orgs.emitUpdate())}}function b(e){let r=this.values.users;if(e){let s=this.values.roles;for(let o of e){let n=r.get(o._id);n.roles=E(s,o.roleIds,!0)}}else for(let s of r.sorted)delete s.roles}var O=class extends _{constructor({values:s,...o}){super([["orgs",s?.orgs??"map",c,a],["users",s?.users??"map",x],["user",s?.user??[!0],U]],o);u(this,"isExtended",!1)}extend(){if(this.isExtended===!1)return this.isExtended=null,this.attach([["roles","map",h],["extendedUsers","map","users.extended",b,!0],["extendedOrgs","map","orgs.extended",f,!0]]).then(()=>{this.isExtended=!0})}unextend(){this.isExtended&&(this.isExtended=!1,this.detach(["roles","extendedUsers","extendedOrgs"]))}};export{O as UsersSubscriptionGroup}; //# sourceMappingURL=index.js.map