Package-level declarations
Types
Link copied to clipboard
class ContentHandler(focusableTypes: Set<Int> = setOf(
StoryTypes.TITLE.type.number,
StoryTypes.TEXT.type.number,
StoryTypes.CHECK_ITEM.type.number,
StoryTypes.UNORDERED_LIST_ITEM.type.number,
), stepsNormalizer: UnitsNormalizationMap, lineBreakMap: (StoryType) -> StoryType = ::defaultLineBreakMap, isTextStory: (StoryStep) -> Boolean = { story ->
focusableTypes.contains(story.type.number)
})
Class dedicated to handle adding, deleting or changing StorySteps
Link copied to clipboard
interface DocumentTracker
Saves the document automatically based of content changes.
Link copied to clipboard
interface DocumentUpdate
Repository responsible for saving the document updates.
Link copied to clipboard
class FocusHandler(isMessageFn: (Int) -> Boolean = { typeNumber ->
typeNumber == StoryTypes.TEXT.type.number ||
typeNumber == StoryTypes.TEXT_BOX.type.number ||
typeNumber == StoryTypes.CHECK_ITEM.type.number ||
typeNumber == StoryTypes.UNORDERED_LIST_ITEM.type.number
})
This class is responsible to control the focus of the edition of story. (example: If the text of a story is being edited, this story has the current focus.)
Link copied to clipboard
class MovementHandler
Class responsible to handle move requests of Stories. This class handles the logic to move a Story to another position, when a Story is grouped together with another one and when a Story is separated from a group.
Link copied to clipboard
class WriteopiaManager(stepsNormalizer: UnitsNormalizationMap = StepsMapNormalizationBuilder.reduceNormalizations {
defaultNormalizers()
}, movementHandler: MovementHandler = MovementHandler(), contentHandler: ContentHandler = ContentHandler(
stepsNormalizer = stepsNormalizer
), focusHandler: FocusHandler = FocusHandler())