Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bassview

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bassview

base view for backbone

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Bassview

Pronounced "Base View." Like the instrument, asshole.

This little ditty was inspired in part by a great article by Ian Storm Taylor, and my own pain in tracking down memory leaks in my Backbone apps due to zombie views.

It is just an extension of a Backbone.View that provides two helper methods: assign() and subview().

Methods

bassview.assign

Assigns one or more subviews to elements inside the parent view.

Usage 1 - bassview.assign( String selector, Backbone.View view )

Assigns view to selector, internally calling view.setElement(this.$(selector)).render();. See link to Ian Storm's Taylor's blog article above.

var parentview = new Bassview({...});
var subview    = new Bassview({...});

parentview.assign('div#subview-el', subview);
Usage 2 - bassview.assign( String selector, String view_key )

Same as above, but instead looks for a view registered through the subview method (below) with the name view_key.

var parentview = new Bassview({...});
parentview.subview('mySubView', new Bassview({...}));

parentview.assign('div#subview-el', 'mySubView');
Usage 3 - bassview.assign( Object selectors)

Performs same action as above multiple times by specifying a single object as the only argument, so this:

view.assign({
	".selector1" : new Basckbone.View({ model: this.model }),
	".selector2" : "mySubView",
	".selector3" : "myOtherSubView"
});

Is equivalent to this:

view.assign( ".selector1" , new Basckbone.View({ model: this.model }) );
view.assign( ".selector2" , "registered_subview" );
view.assign( ".selector3" , "other_subview );
Usage 4 - bassview.assign()

Looks for "pre-assigned" views. See the usage for the subview method below.

bassview.subview

Registers a view as being a subview. Subviews will destroy themselves when their parent views have been removed, preventing zombie views. Also registered subviews can be assigned using usage 2 and 4 above.

Usage 1 - bassview.subview( String key , Backbone.View view )

Sets a subview with an identifier of key. This means that view will call its own remove function when the parent view is removed.

var parentview = new Bassview({...});
parentview.subview('mySubView', new Bassview({...}));
Usage 2 - bassview.subview( String key )

Gets a subview registered with identifier key:

var parentview      = new Bassview({...});
var subview   = new Bassview({...});

parentview.subview("a_key", subview);
console.log(subview === parentview.subview("a_key"));
>>> true
Usage 3 - bassview.subview( String key, Backbone.View view, String selector )

Same as usage 1, but also populates a hidden property called __preassigned with selector, so that the subview can be assigned with no arguments:

var parentview = new Bassview({...});
parentview.subview("mySubView", new Bassview({...}), "div#subview-el");
parentview.subview("myOtherSubView", new Bassview({...}), "div#subview-el-2");

parentview.assign();

License

WTFPL

Keywords

FAQs

Package last updated on 28 Oct 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc