.dropdown.context-menu(id='context-menu-{{ $index }}')
  ul.dropdown-menu(role='menu')
    li
      a.pointer(role='menuitem', ng-click='control.back(); $event.preventDefault()')
        i.fa.fa-mail-reply.fa-fw
        span(translate) Back
    li
      a.pointer(role='menuitem', ng-click='control.home(); $event.preventDefault()')
        i.fa.fa-home.fa-fw
        span(translate) Home
    li.divider
    li
      a.pointer(role='menuitem', ng-click='rotateRight(); $event.preventDefault()')
        i.fa.fa-rotate-left.fa-fw
        span(translate) Rotate Left
    li
      a.pointer(role='menuitem', ng-click='rotateLeft(); $event.preventDefault()')
        i.fa.fa-rotate-right.fa-fw
        span(translate) Rotate Right
    li.divider
    li
      a.pointer(role='menuitem', ng-click='saveScreenShot(); $event.preventDefault()')
        i.fa.fa-camera.fa-fw
        span(translate) Save ScreenShot
    li.divider
    li
      a.pointer(role='menuitem', ng-click='$root.standalone ? windowClose() : kickDevice(device); $event.preventDefault()')
        i.fa.fa-sign-out.fa-fw
        span(translate) Stop Using

.stf-device-context-menu(ng-transclude, context-menu, data-target='context-menu-{{ $index }}').fill-height
