Sha256: 6416467c433fbb202d4d2de7e0b239c3a69a93e0d8368b873b17180cf4c8465f

Contents?: true

Size: 1.29 KB

Versions: 24

Compression:

Stored size: 1.29 KB

Contents

// ==========================================================================
// Project:   SproutCore - JavaScript Application Framework
// Copyright: ©2008-2011 Apple Inc. All rights reserved.
// License:   Licensed under MIT license (see license.js)
// ==========================================================================
/**
  Handles propagation of a property isEditing to all child views.
*/
SC.FormsEditMode = {
  
  /**
    Walks like a duck.
  */
  hasEditMode: YES,
  
  /**
    Whether we are in edit mode.
  */
  isEditing: NO,
  
  /**
    Handles changes to edit state. Alerts children.
  */
  editModeDidChange: function(){
    this._propagateEditMode();    
  }.observes("isEditing"),
  
  /**
    Ensures that edit mode is passed to all children.
  */
  _scfem_childViewsDidChange: function() {
    this._propagateEditMode();
  }.observes("childViews"),
  
  /**
    Propagates edit mode.
  */
  _propagateEditMode: function() {
    var isEditing = this.get("isEditing");
    var cv = this.get("childViews");
    if (!cv) { return; }

    var idx, len = cv.length, v;
    for (idx = 0; idx < len; idx++) {
      v = cv[idx];

      if (SC.typeOf(v) === SC.T_STRING || v.isClass) {
        return;
      }
      if (v.get("hasEditMode")) {
        v.set("isEditing", isEditing);
      }
    }
  }
  
};

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
sproutcore-1.11.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.11.0.rc3 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.11.0.rc2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.11.0.rc1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.3.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.0.rc.3 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.0.rc.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.10.0.rc.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.9.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.9.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.9.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.8.2.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.8.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.8.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.7.1.beta-java lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.7.1.beta lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js
sproutcore-1.6.0.1-java lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js