Sha256: 632f545664ce025221c7743dfbf07a050c291482ec1bee8aa2a222502e935e18

Contents?: true

Size: 840 Bytes

Versions: 4

Compression:

Stored size: 840 Bytes

Contents

#= require trix/models/managed_attachment

class Trix.AttachmentManager extends Trix.BasicObject
  constructor: (attachments = []) ->
    @managedAttachments = {}
    @manageAttachment(attachment) for attachment in attachments

  getAttachments: ->
    attachment for id, attachment of @managedAttachments

  manageAttachment: (attachment) ->
    @managedAttachments[attachment.id] ?= new Trix.ManagedAttachment this, attachment

  attachmentIsManaged: (attachment) ->
    attachment.id of @managedAttachments

  requestRemovalOfAttachment: (attachment) ->
    if @attachmentIsManaged(attachment)
      @delegate?.attachmentManagerDidRequestRemovalOfAttachment?(attachment)

  unmanageAttachment: (attachment) ->
    managedAttachment = @managedAttachments[attachment.id]
    delete @managedAttachments[attachment.id]
    managedAttachment

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vapid-0.1.3 lib/vapid/vendor/trix/src/trix/models/attachment_manager.coffee
vapid-0.1.2 lib/vapid/vendor/trix/src/trix/models/attachment_manager.coffee
vapid-0.1.1 lib/vapid/vendor/trix/src/trix/models/attachment_manager.coffee
vapid-0.1.0 lib/vapid/vendor/trix/src/trix/models/attachment_manager.coffee