Contents

init(document:activePartID:hiddenPartIDs:selectedPageID:selectedQuestionID:showsPageThumbnails:isStructureEditingEnabled:)

Displays an AssignedWorkDocument.

Declaration

@MainActor @preconcurrency init(document: Binding<AssignedWorkDocumentView.Document>, activePartID: MergeablePartsContainerPartID? = nil, hiddenPartIDs: [MergeablePartsContainerPartID], selectedPageID: Binding<AssignedWorkDocumentView.Document.Page.ID?>? = nil, selectedQuestionID: Binding<AssignableDocument.Question.ID?>? = nil, showsPageThumbnails: Bool = true, isStructureEditingEnabled: Bool = false)

Parameters

  • document:

    A binding to the Document to present in the view.

  • activePartID:

    The PartID to enable user interaction on.

  • hiddenPartIDs:

    A set of PartIDs to hide on this view. Treated as a set.

  • selectedPageID:

    A binding to the selected page.

  • selectedQuestionID:

    A binding to the selected question.

  • showsPageThumbnails:

    Controls showing or hiding the document pages thumbnail previews.

  • isStructureEditingEnabled:

    Controls access to actions that allow changing the structure of the document on the page thumbnail view contextual menu (i.e. add/duplicate/move/remove pages).

Discussion

  • Example:

    AssignedWorkDocumentView(
        document: $document,
        activePartID: activeLayerID,
        hiddenPartIDs: hiddenPartIDs,
        selectedPageID: $selectedPageID,
        showsPageThumbnails: isMultiPageDocument,
        isStructureEditingEnabled: false,
        onMarkupActivation: { isMarkupActivated in
            if isMarkupActivated {
                activeLayerID = AssignedWorkDocument.PartIDs.scorerMarkup
                isMarkupSelected = true
            }
        }
    )