Sha256: 23a7aa6a0915503e82d12afe6301458943d927be5e5dd26368360a867ced4103

Contents?: true

Size: 1.39 KB

Versions: 212

Compression:

Stored size: 1.39 KB

Contents

HAL.Browser = Backbone.Router.extend({
  initialize: function(opts) {
    opts = opts || {};

    var vent = _.extend({}, Backbone.Events),
    $container = opts.container || $('#browser');

    this.entryPoint = opts.entryPoint || '/';

    // TODO: don't hang currentDoc off namespace
    vent.bind('response', function(e) {
      window.HAL.currentDocument = e.resource || {};
    });

    vent.bind('location-go', _.bind(this.loadUrl, this));

    HAL.client = new HAL.Http.Client({ vent: vent });

    var browser = new HAL.Views.Browser({ vent: vent, entryPoint: this.entryPoint });
    browser.render()

    $container.html(browser.el);
    vent.trigger('app:loaded');

    if (window.location.hash === '') {
      window.location.hash = this.entryPoint;
    }

    if(location.hash.slice(1,9) === 'NON-GET:') {
      new HAL.Views.NonSafeRequestDialog({
            href: location.hash.slice(9),
            vent: vent
          }).render({});
    }
  },

  routes: {
    '*url': 'resourceRoute'
  },

  loadUrl: function(url) {
    if (this.getHash() === url) {
      HAL.client.get(url);
    } else {
      window.location.hash = url;
    }
  },

  getHash: function() {
    return window.location.hash.slice(1);
  },

  resourceRoute: function() {
    url = location.hash.slice(1);
    console.log('target url changed to: ' + url);
    if (url.slice(0,8) !== 'NON-GET:') {
      HAL.client.get(url);
    }
  }
});

Version data entries

212 entries across 212 versions & 1 rubygems

Version Path
pact_broker-2.113.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.112.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.111.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.109.1 vendor/hal-browser/js/hal/browser.js
pact_broker-2.109.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.108.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.107.1 vendor/hal-browser/js/hal/browser.js
pact_broker-2.107.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.107.0.beta.1 vendor/hal-browser/js/hal/browser.js
pact_broker-2.106.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.105.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.104.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.103.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.102.2 vendor/hal-browser/js/hal/browser.js
pact_broker-2.102.1 vendor/hal-browser/js/hal/browser.js
pact_broker-2.102.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.101.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.100.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.99.0 vendor/hal-browser/js/hal/browser.js
pact_broker-2.98.0 vendor/hal-browser/js/hal/browser.js