Interface: IWorkbookPermission
Workbook-level permission Facade interface
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
|
|
|
Collaborator change stream | |
|
|
|
Permission snapshot change stream (BehaviorSubject, immediately provides current state on subscription) Triggers when any permission point changes | |
|
|
|
Single permission point change stream For scenarios that only care about specific permission point changes |
Methods
addCollaborator()
addCollaborator(user, role): Promise<void>Add a single collaborator
Parameters
| Parameter | Type |
|---|---|
user | User$1 |
role | UnitRole$1 |
Returns
Promise<void>
canEdit()
canEdit(): booleanWhether current user can edit this workbook (calculated from combined permissions)
Returns
boolean
getPoint()
getPoint(point): booleanRead current value of a point (synchronous, reads from local state)
Parameters
| Parameter | Type |
|---|---|
point | WorkbookPermissionPoint |
Returns
boolean
getSnapshot()
getSnapshot(): WorkbookPermissionSnapshotGet snapshot of all current points
Returns
listCollaborators()
listCollaborators(): Promise<...[]>List all collaborators
Returns
Promise<…[]>
removeCollaborator()
removeCollaborator(userId): Promise<void>Remove collaborator
Parameters
| Parameter | Type |
|---|---|
userId | string |
Returns
Promise<void>
removeCollaborators()
removeCollaborators(userIds): Promise<void>Batch remove collaborators
Parameters
| Parameter | Type |
|---|---|
userIds | string[] |
Returns
Promise<void>
setCollaborators()
setCollaborators(collaborators): Promise<void>Batch set collaborators (replace mode, overwrites existing collaborator list)
Parameters
| Parameter | Type |
|---|---|
collaborators | { role: …; user: …; }[] |
Returns
Promise<void>
setEditable()
setEditable(): Promise<void>Shortcut: Set workbook to editable (equivalent to setMode(‘editor’) or owner subset)
Returns
Promise<void>
setMode()
setMode(mode): Promise<void>High-level mode setting: By Owner / Editor / Viewer / Commenter semantics Internally automatically combines multiple WorkbookPermissionPoints
Parameters
| Parameter | Type |
|---|---|
mode | WorkbookMode |
Returns
Promise<void>
setPoint()
setPoint(point, value): Promise<void>Low-level point operations: Directly set boolean value of a WorkbookPermissionPoint
Parameters
| Parameter | Type |
|---|---|
point | WorkbookPermissionPoint |
value | boolean |
Returns
Promise<void>
setReadOnly()
setReadOnly(): Promise<void>Shortcut: Set workbook to read-only (equivalent to setMode(‘viewer’))
Returns
Promise<void>
subscribe()
subscribe(listener): UnsubscribeFnCompatibility method: Simplified subscription (for users unfamiliar with RxJS) Internally implemented based on permission$ Observable
Parameters
| Parameter | Type |
|---|---|
listener | (snapshot) => void |
Returns
updateCollaborator()
updateCollaborator(user, role): Promise<void>Update collaborator role and information
Parameters
| Parameter | Type |
|---|---|
user | User$1 |
role | UnitRole$1 |
Returns
Promise<void>