Sha256: 6cbb613853253108c11aa9f7c05e597639d535b2009355230e3c09d055b12d49

Contents?: true

Size: 1.81 KB

Versions: 10

Compression:

Stored size: 1.81 KB

Contents

<%
  require 'smalruby_editor'
  require 'smalruby_editor/blockly_message_helper'
%>

# preference dialog view
Smalruby.PreferenceModalView = Backbone.View.extend
  events:
    'click #preference-modal-ok-button': 'onOk'
    'change #user_preferences_toolbox_name': 'renderToolboxPreferences'

  initialize: ->
    Smalruby.removeBackdropOnHidden(@$el)

  render: ->
    @$el.find('.modal-body').block
      message: null

    unblock = =>
      @$el.find('.modal-body').unblock()
      null # HACK: if return unblock(), does not call fail().

    @$el.modal
      backdrop: 'static'
    @$el.modal('show')

    dfr = $.Deferred()
    $.ajax
      url: 'preferences'
      type: 'GET'
      cache: false
      success: (data, textStatus, jqXHR) -> dfr.resolve(data)
      error: dfr.reject
    dfr.promise()
      .then (data) =>
        $('#preference-modal-content').replaceWith(data)
        @renderToolboxPreferences()
      .then(unblock, unblock)
      .fail =>
        @$el.modal('hide')
        errorMessage(<%= bm('.error') %>)

  onOk: ->
    @$el.block
      message: <%= bm('common.processing') %>

    unblock = =>
      @$el.unblock()
      null # HACK: if return unblock(), does not call fail().

    form = @$el.find('form')
    dfr = $.Deferred()
    $.ajax
      url: form.attr('action')
      data: form.serialize()
      type: 'POST'
      success: (data, textStatus, jqXHR) -> dfr.resolve(data)
      error: dfr.reject
    dfr.promise()
      .then (data) =>
        Smalruby.setPreferences(data)
      .then(unblock, unblock)
      .done =>
        @$el.modal('hide')
      .fail =>
        errorMessage(<%= bm('.error') %>)

  renderToolboxPreferences: ->
    @$el.find('.toolbox_preferences').hide()
    toolboxName = $('#user_preferences_toolbox_name').val() || 'default'
    @$el.find(".toolbox_preferences.#{toolboxName}").show()

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
smalruby-editor-0.4.1-x86-mingw32 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.4.2-x86-mingw32 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.4.2 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.4.1 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.4.0-x86-mingw32 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.4.0 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.3.5-x86-mingw32 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.3.5 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.3.4-x86-mingw32 app/assets/javascripts/views/preference_modal_view.js.coffee.erb
smalruby-editor-0.3.4 app/assets/javascripts/views/preference_modal_view.js.coffee.erb