     css: '.dialog:not(.hide) .async-button.-save'
   publishButton:
     css: '.dialog:not(.hide) .async-button.-publish'
+  pendingPublishButton:
+    css: '.dialog:not(.hide) .async-button.-publish.is-waiting'
   cancelButton:
     css: '.dialog:not(.hide) .panel-footer [aria-role="close"]'
 

  #   action: 'PUBLISH', 'SAVE', 'DELETE', 'CANCEL', 'X_BUTTON'
  edit: ({name, description, opensAt, dueAt, sections, action, verifyAddReadingsDisabled}) ->
    # Just confirm the plan is actually open
    @waitUntilLoaded()
    @setName(name) if name
    @setDate({opensAt, dueAt})


  publish: =>
    # Wait up to 3min for publish to complete
    @el.publishButton.get().click()
    # wait for
    @test.driver.wait =>
      @el.pendingPublishButton.isPresent().then (isPresent) -> not isPresent
    , (3 * 60 * 1000)

  save: =>
    @el.saveButton.get().click()
