# Annotation Redux
Annotation redux is made of actions, queries and a few interfaces for plugging your own redux flows (middleware, reducers)

## Overview
- Actions (dispatch-able)
  - annotations
    - `addAnnotation`
  - drafts
    - `createDraft`
    - `deselectDraft`
    - `updateDraft`
    - `addSelectorToDraft`
    - `selectDraft`
    - `previewDraft`
    - `unpreviewDraft`
    - `asyncPublishDraft`
    - `publishDraft`
  - elucidate
    - `initialiseElucidate`
    - `setServer`
    - `setResource`
    - `createCollection`
    - `setCollection`
    - `addElucidateAnnotation`
    - `sendAnnotation`
  - logging
    - `log`
  - manifest
    - `requestManifest`
    - `selectCanvas`
    - `selectManifest`
    - `addManifest`
    - `removeManifest`
  - resourceTemplate
    - `moveForward`
    - `moveBack`
    - `reset`
    - `addResourceTemplate`
    - `addCaptureModel`
    - `addInteractiveResource`
  - selectors
    - `setAvailableSelectors`
    - `chooseSelector`
    - `updateSelector`
    - `commitToCurrentDraft`
  - viewer
    - `setViewer`
    - `withViewer`
- lib/elucidate (not dispatch-able)
  - `AnnotationSelector` (class)
  - `makeRequest`
  - `get`
  - `post`
  - `getAnnotation`
  - `getAllAnnotationsFromCollection`
  - `fetchPageCollection`
  - `createElucidateCollection`
  - `sendAnnotationToServer`
- query
  - draftQuery
    - `getCurrentDraftId`
    - `getDraftById`
    - `getCurrentDraft`
  - elucidateQuery
    - `getServer`
    - `getAnnotationById`
    - `isSendingAnnotations`
    - `getCanvasFromManifest`
    - `getCollectionId`
    - `richAnnotationList` (will be renamed `annotationList`)
    - `annotationList`
  - manifestQuery
    - `currentManifest`
    - `getImageServiceFromCanvas`
    - `currentImageService`
    - `currentCanvas`
    - `manifestById`
    - `allManifests
  - resourceTemplateQuery
    - `getCurrentResourceTemplate`
    - `getForm`
    - `resourceTemplateList`
    - `getCurrentPath`
  - `connector` 
  - `createStore`
  - middleware
    - `logger`
    - `viewerAware`
    - `thunk`

