import { orderBy } from 'lodash';

export enum ContextActionCode {
  BACK = 'back',
  PREAPPROVE = 'preapprove',
  APPROVE = 'approve',
  CONFIRM = 'confirm',
  STATE_UPDATER = 'state_updater',
  DYNAMIC_STATE_UPDATER = 'dynamic_state_updater',
  DISCARD = 'discard',
  RESET = 'reset',
  REQUEST_DOCUMENTATION = 'request_documentation',
  GENERATE_INCIDENT = 'generate_incident',
  COMPLETE = 'complete',
  OPEN_DIALOG = 'open_dialog',
  DELETE = 'delete',
  NEW_MEET = 'new_meet',
}

export const CONTEXT_ACTIONS = orderBy(
  [
    { label: 'Volver', value: ContextActionCode.BACK },
    { label: 'Aprobar', value: ContextActionCode.APPROVE },
    { label: 'Preaprobar', value: ContextActionCode.PREAPPROVE },
    { label: 'Confirmar', value: ContextActionCode.CONFIRM },
    { label: 'Descartar', value: ContextActionCode.DISCARD },
    { label: 'Restablecer', value: ContextActionCode.RESET },
    { label: 'Solicitar documentación', value: ContextActionCode.REQUEST_DOCUMENTATION },
    { label: 'Generar incidencia', value: ContextActionCode.GENERATE_INCIDENT },
    { label: 'Finalizar', value: ContextActionCode.COMPLETE },
    { label: 'Abrir dialog', value: ContextActionCode.OPEN_DIALOG },
    { label: 'Eliminar', value: ContextActionCode.DELETE },
    { label: 'Nueva videollamada', value: ContextActionCode.NEW_MEET },
    { label: 'Cambiar estado', value: ContextActionCode.STATE_UPDATER },
    { label: 'Cambiar estado dinamico', value: ContextActionCode.DYNAMIC_STATE_UPDATER },
  ],
  'label'
);
