Sha256: dc3e12f438216d60edd735cdcfbb01118a21f52312d5af0828532c9b23498732

Contents?: true

Size: 1.56 KB

Versions: 6

Compression:

Stored size: 1.56 KB

Contents

// ==========================================================================
// Project:   Welcome.targetsController
// Copyright: ©2011 Apple Inc.
// ==========================================================================
/*globals CoreTools Welcome */

/** @class
  
  Manages the list of targets

  @extends SC.ArrayController
*/
Welcome.targetsController = SC.ArrayController.create(
/** @scope Welcome.targetsController.prototype */ {

  /**
    Call this method whenever you want to reload the targets from the server.
  */
  reload: function() {
    var targets = Welcome.store.find(CoreTools.TARGETS_QUERY);
    this.set('content', targets);
  },
  
  appsOnly: function() {
    return this.filter(function(t) {
      return t.get('kind') === 'app' && !t.get('name').match(/sproutcore\/(welcome|experimental)/);
    });
  }.property('[]').cacheable(),
  
  loadApplication: function() {
    var app = this.get('selection').firstObject(),
        url = app ? app.get('appUrl') : null;
        
    if (url) {
      this.set('canLoadApp', NO);
      this.invokeLater(function() { 
        window.location.href = url; // load new app
      });
    }
  },
  
  launchEnabled: function() {
    var canLoadApp = this.get('canLoadApp'),
        selection = this.get('selection'),
        selectedObject = selection.firstObject();
    return canLoadApp && selectedObject && selectedObject.get('name') !== '/sproutcore';
  }.property('canLoadApp', 'selection').cacheable(),

  // used to disable all controls
  canLoadApp: YES,
  
  allowsEmptySelection: NO,
  allowsMultipleSelection: NO

}) ;

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sproutcore-1.9.2 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js
sproutcore-1.9.1 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js
sproutcore-1.9.0 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js
sproutcore-1.8.2.1 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js
sproutcore-1.8.1 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js
sproutcore-1.8.0 lib/frameworks/sproutcore/apps/welcome/controllers/targets.js