class window.UptlCtrl extends BaseCtrl
  constructor: (@$scope, @$state, @Dock, @Constants, @MixPanel, @$injector) ->
    super()
    console.log "@boardId is #{@boardId}" if DEBUG
    if not @Dock.hasBoard() or not @Dock.hasUserName()
      #check if we have a board id from the url
      if @boardId
        #retrieve info for this board
        @$state.go(@Constants.routes.boardbase, {boardId: @boardId})
      else
        #redirect to home, no board info found
        @$state.go(@Constants.routes.home)

    @imageLoading = false;
    @thumbSrc = false;
    @prepareTransloadit()

  continue: ->
    @$state.go(@Constants.routes.photo, {boardId: @boardId});
    @$scope.uptl.Dock.data.uploadFormImg = $('form').serializeObject()

  prepareTransloadit: ->
    $('#upload-form').transloadit
      wait: true
      triggerUploadOnFileSelection: true
      autoSubmit: false
      processZeroFiles: false
      params:
        auth:
          key: "@@transloadit_key"
        template_id: '@@transloadit_img_template'
      fields:
        transloadit_path: "boards/#{@Dock.siteData.id}/#{@boardId}",
        transloadit_slug: ''
      onSuccess: (assembly) =>
        @$scope.$apply =>
          console.log "assembly", assembly
          @$scope.uptl.Dock.photo.src = assembly.results.list[0].ssl_url
          @$scope.uptl.Dock.data.url = assembly.results.large[0].ssl_url
    setTimeout ->
      $("input[type=file]").attr("multiple", false)
    , 200

UptlCtrl.$inject = ["$scope", "$state", "Dock", "Constants", "MixPanel", "$injector"]

angular.module("shuttlerockApp").controller("UptlCtrl", UptlCtrl)
