---
title: AssignedDocumentMenuItem
framework: ClassKit UI
role: symbol
role_heading: Class
platforms: [macOS 26.4+]
path: classkitui/assigneddocumentmenuitem
---

# AssignedDocumentMenuItem

A menu item that provides assigned document submission functionality.

## Declaration

```swift
@objc class AssignedDocumentMenuItem
```

## Overview

Overview AssignedDocumentMenuItem enables students to submit and withdraw assigned documents directly from AppKit menus. The menu element loads asynchronously, fetching document metadata from ClassKit and displaying the appropriate action based on the current submission status. The element shows an in-line spinner during both initial loading and submission processing. The following example shows how to create an assigned document menu item and customize its behavior with validation and completion actions: let menuItem = AssignedDocumentMenuItem(     documentURL: documentURL,     willSubmit: { url in         // Validate the assigned document before submission         guard await validateDocument(url) else {             await showAlert("Please complete all sections before submitting")             return false // Prevents submission         }         return true // Allows submission to continue     },     didSubmit: { url in         // Handle successful submission         logEvent("Assigned document submitted successfully!")     } ) // Add the configured item to the menu menu.addItem(menuItem)

## Topics

### Initializers

- [init(documentURL:willSubmit:didSubmit:willWithdraw:didWithdraw:)](classkitui/assigneddocumentmenuitem/init(documenturl:willsubmit:didsubmit:willwithdraw:didwithdraw:).md)

## Relationships

### Inherits From

- [NSMenuItem](appkit/nsmenuitem.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [NSValidatedUserInterfaceItem](appkit/nsvalidateduserinterfaceitem.md)

## See Also

### Submitting assigned documents

- [AssignedDocumentSubmissionButton](classkitui/assigneddocumentsubmissionbutton.md)
- [AssignedDocumentDeferredMenuElement](classkitui/assigneddocumentdeferredmenuelement.md)
