# FBoardElementPermission

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/facade/board-element-permission](https://docs.univer.ai/zh-CN/reference/facade/board-element-permission)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/facade/board-element-permission.md](https://docs.univer.ai/zh-CN/reference/facade/board-element-permission.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/board-element-permission.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/board-element-permission.mdx)

---

Command-backed Edit permission for one stable Board element.

## Access

Access through:

* [`FBoard.getElementPermission()`](https://docs.univer.ai/zh-CN/reference/facade/board.md#getelementpermission)

## Setup

Register [`@univerjs-pro/boards`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/boards.md) or a preset that includes it. In plugin mode, import `@univerjs-pro/boards/facade`. Additional methods below require their listed plugin packages. See [Facade setup](https://docs.univer.ai/zh-CN/guides/boards/getting-started/facade.md).

## `@univerjs-pro/boards`

### `FBoardElementPermission.canEdit`

Returns the effective Edit result after applying the Board unit and element permissions.

```typescript
canEdit(): boolean
```

**Returns**

Whether the element is currently editable.

**Package:** [`@univerjs-pro/boards`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/boards.md) · [Type definitions](https://unpkg.com/@univerjs-pro/boards@1.0.0-rc.0/lib/types/facade/f-board-permission.d.ts)

### `FBoardElementPermission.setEditable`

Enables or disables editing for one stable Board element.

```typescript
setEditable(editable?: boolean): Promise<void>
```

**Parameters**

* `editable` — Optional. Default: `true`. Whether element editing is allowed. Defaults to true.

**Returns**

Resolves after the permission command finishes.

**Examples**

```ts
const board = univerAPI.getActiveBoard()
if (!board) throw new Error('No active Board.')
const element = Object.values(board.getElements())[0]
if (!element) throw new Error('Board element not found.')
await board.getElementPermission(element.id).setEditable()
```

**Types:** [`Promise`](https://unpkg.com/@typescript/typescript-darwin-arm64@7.0.2/lib/lib.es5.d.ts)

**Package:** [`@univerjs-pro/boards`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/boards.md) · [Type definitions](https://unpkg.com/@univerjs-pro/boards@1.0.0-rc.0/lib/types/facade/f-board-permission.d.ts)

### `FBoardElementPermission.setReadOnly`

Makes this Board element read-only.

```typescript
setReadOnly(): Promise<void>
```

**Returns**

Resolves after the permission command finishes.

**Types:** [`Promise`](https://unpkg.com/@typescript/typescript-darwin-arm64@7.0.2/lib/lib.es5.d.ts)

**Package:** [`@univerjs-pro/boards`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/boards.md) · [Type definitions](https://unpkg.com/@univerjs-pro/boards@1.0.0-rc.0/lib/types/facade/f-board-permission.d.ts)
