Sha256: fe7b26559bda37edaca445c033e0e49282fac1625eb01ffd2e04e15ea337593b

Contents?: true

Size: 1003 Bytes

Versions: 15

Compression:

Stored size: 1003 Bytes

Contents

//= require ./url_input_view

pageflow.ProxyUrlInputView = pageflow.UrlInputView.extend({
  /** @override */
  validateUrl: function(url) {
    var view = this;

    return $.Deferred(function(deferred) {
      deferred.notify(I18n.t('pageflow.ui.views.inputs.proxy_url_input_view.url_validation'));

      $.ajax({
        url: view.rewriteUrl(url),
        dataType: 'html'
      })
        .done(deferred.resolve)
        .fail(function(xhr) {
          deferred.reject(I18n.t('pageflow.ui.views.inputs.proxy_url_input_view.http_error', { status: xhr.status}));
        });
    }).promise();
  },

  /** @override */
  transformPropertyValue: function(url) {
    return this.rewriteUrl(url);
  },

  /** @override */
  supportedHosts: function() {
    return _.pluck(this.options.proxies, 'url');
  },

  rewriteUrl: function(url) {
    _.each(this.options.proxies, function(proxy) {
      url = url.replace(new RegExp('^' + proxy.url + '/?'), proxy.base_path + '/');
    });

    return url;
  }
});

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
pageflow-0.11.4 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.11.3 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.11.2 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.11.1 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.11.0 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.10.0 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.9.2 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.9.1 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.9.0 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.8.2 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.8.1 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.8.0 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.7.2 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.7.1 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js
pageflow-0.7.0 app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js