@startuml
skinparam handwritten true
skinparam monochrome true
skinparam packageStyle rect
skinparam defaultFontName FG Virgil
skinparam shadowing false

actor User
boundary WorkbookView
control SpreadsheetService
control SortSpreadsheetController
control SortSpreadsheetService

box "NSheets Client"
participant WorkbookView
end box

box "Server"
participant SpreadsheetService
participant SortSpreadsheetController
participant SortSpreadsheetService
end box

User -> WorkbookView : onReveal() / navigate to page 
WorkbookView ->> SpreadsheetService : sortCells(cell1, cell2, spreadsheet)
SpreadsheetService -> SortSpreadsheetController : sortCells(cell1, cell2, spreadsheet)
SortSpreadsheetController -> SortSpreadsheetService : sortCells(cell1, cell2, spreadsheet)
SpreadsheetService ->> WorkbookView : onSuccess() 
@enduml
