# FSlideObjectPermission

- Human documentation: [https://docs.univer.ai/reference/facade/slide-object-permission](https://docs.univer.ai/reference/facade/slide-object-permission)

- Agent Markdown: [https://docs.univer.ai/reference/facade/slide-object-permission.md](https://docs.univer.ai/reference/facade/slide-object-permission.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

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

---

Command-backed Edit permission for one stable Slide, Element, or Master object.

## Access

Access through:

* [`FPageElement.getPermission()`](https://docs.univer.ai/reference/facade/page-element.md#getpermission)
* [`FSlide.getPermission()`](https://docs.univer.ai/reference/facade/slide.md#getpermission)
* [`FSlide.getElementPermission()`](https://docs.univer.ai/reference/facade/slide.md#getelementpermission)
* [`FPresentation.getMasterViewPermission()`](https://docs.univer.ai/reference/facade/presentation.md#getmasterviewpermission)
* [`FPresentation.getMasterElementPermission()`](https://docs.univer.ai/reference/facade/presentation.md#getmasterelementpermission)

## Setup

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

## `@univerjs-pro/slides`

### `FSlideObjectPermission.canEdit`

Returns the effective Edit result after applying the Presentation, parent, and object permissions.

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

**Returns**

Whether the object is currently editable.

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

### `FSlideObjectPermission.setEditable`

Enables or disables editing for this Slide, Element, or Master object.

`canEdit()` also applies the Presentation and parent object ceilings.

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

**Parameters**

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

**Returns**

Resolves after the permission command finishes.

**Examples**

```ts
const presentation = univerAPI.getActivePresentation()
const slide = presentation?.getSlideByIndex(0)
if (!slide) throw new Error('Slide not found.')
await slide.getPermission().setEditable()
```

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

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

### `FSlideObjectPermission.setReadOnly`

Makes this Slide, Element, or Master object 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/slides`](https://docs.univer.ai/reference/packages/plugins/univerjs-pro/slides.md) · [Type definitions](https://unpkg.com/@univerjs-pro/slides@1.0.0-rc.0/lib/types/facade/f-slide-permission.d.ts)
