Skip to content

Releases: conbojs/conbo

ConboJS 4.3.32

26 Jul 13:05

Choose a tag to compare

ConboJS is a lightweight, dependency free MVx application framework for JavaScript designed for use with modern browsers to enable developers a take a structured, decoupled, class based approach to application development, in a way that should be familiar to anyone with experience of languages like ActionScript/Flex, C#/XAML or Java.

Features include extendible classes, event bus, dependency injection, data binding, command pattern, pseudo-interfaces and an easy to use event model with scoped event handling, plus simple view state management and support for ES2015, TypeScript, AMD and CommonJS.

Release 4.3 waves goodbye to legacy code relating to IE<11, reducing the entire framework to <20KB when minified and gzipped, and improves compatibility with ES2015 transpilers like Babel.

In line with syntax changes to the JavaScript language as a whole, from 4.3.25, developers should add event listeners in the format addEventListener(type, listener[, options]); rather than addEventListener(type, listener[, scope, priority, once]);, which is now deprecated.

From 4.3.27, Hash and List based classes implement all methods of the Web Storage API. This means that a LocalHash instance can be used in almost exactly the same way as, or as a replacement for, localStorage, for example.

Version 4.3.29 adds support for routes using arbitrary data objects instead of names.

A wide range of examples are included in the examples folder of the source download.

Made by Mesmotronic.

Released under MIT license.

Install

You can install ConboJS using NPM or by downloading the files below:

npm install conbo --save

ConboJS 3.2.6

16 Jan 10:34

Choose a tag to compare

ConboJS is a lightweight MVC application framework for JavaScript designed for use with modern browsers to enable developers a take a structured, decoupled, class based approach to application development, in a way that should be be familiar to anyone with experience of languages like ActionScript, C# or Java.

Features include extendible classes, event bus, dependency injection, data binding, command pattern, pseudo-interfaces and an easy to use event model with scoped event handling, plus simple view state management.

A wide range of examples are included in the examples folder of the source download.

Made by Mesmotronic. Released under MIT license.

Conbo.js 1.4.0

05 Jul 21:46

Choose a tag to compare

Conbo.js 1.4 removes the Underscore.js dependency and welcomes the addition of our first dependency-free build: Conbo.js Lite.

Builds

Conbo.js Lite (<4KB minified+gzipped): a super-lightweight subset featuring extendible classes and a simple event model which enables consistent, scoped event handling. The aim of this subset is to offer the benefits of Conbo's class structure and event model to users who want to create framework independent modules and code libraries.

Conbo.js Core (16KB minified+gzipped): Core framework for applications and widgets that don't require web service functionality baked in.

Conbo.js Complete (24KB minified+gzipped): Complete framework for web application development, including syncable Collection, Model, History and Router classes.

Builds are created using Grunt, which requires Node.js; all required modules can be installed by running "npm install" from the command line in the project folder.

The builds listed above can be created using the command "grunt". Use "grunt watch", or run watch.cmd (Windows) or ./watch.sh (Mac, Linux) to auto-build as you edit.

Dependencies

  • Lite: None
  • Core, Complete: jQuery 1.7+
  • Server-side: None

Conbo.js 1.3.2

29 Mar 19:41

Choose a tag to compare

Conbo.js 1.3 brings exciting new data binding and decoupling features, with almost all HTML element properties and events now bindable using cb-* attributes, plus a few magic cb-*s of our own.

This means that you can now bind HTML to your View as easily as:

HTML

<div cb-view="MyView">
    <p cb-show="myVisibility">This will be hidden</p>
    <button cb-onclick="myClickHandler" cb-html="myButtonLabel"></button>
</div>

View class

example.MyView = conbo.View.extend
({
    myButtonLabel: 'Click me!',

    myVisibility: false,

    myClickHandler: function(event)
    {
        alert('Hello Conbo!');
    }
});

New in 1.3.2

Conbo.js 1.3.2 enables multiple CSS classes to be bound to different values using a single cb-class attribute, for example:

<p cb-class="isBold:bold,isItalic:italic">Hello Conbo!</p>

New in 1.3.1

Conbo.js 1.3.1 brought with it a new bindable array wrapper in the form of conbo.List and two new binding attributes: cb-class and cb-repeat

The cb-repeat attribute enables you to bind a conbo.List, conbo.Collection or Array to the DOM and have it rendered using an optional item renderer class (a class extending conbo.View), for example:

<ul>
    <li cb-repeat="myCollection:MyItemRenderer">My name is <span cb-html="model.name"></span></li>
</ul>

More Examples

Additional examples are available by downloading examples.zip (see below); to use the examples, extract the zip, drop conbo.js into the examples folder and double click index.html.

Examples that load external files, like HTML templates or JSON data, can only be used on web servers or using a browser with cross domain security disabled, e.g. starting Chrome with --disable-web-security.

Builds

There are two different builds of Conbo.js, each of which is created with different web applications in mind:

  • The super lightweight core release is for users that don't require web service connectivity built in, making it ideal for things like widgets and media players.
  • The complete release is designed for more fully featured web applications, and includes web service, routing and history management features in the box.

Renamed

To avoid confusion, the following methods have been renamed:

  • Class.bind(fn) is now Class.proxy(fn)
  • Class.bindAll() is now Class.proxyAll()

No longer available

Improvements in automatic data binding mean that we've been able to make a break from the past and the following properties and methods are no longer available in this release:

  • View.events
  • View.deletegateEvents()
  • View.undelegateEvents()
  • View.mouseEnabled([value])
  • View.visible([value])
  • View.includeInLayout([value])

Conbo.js 1.1.10

24 Feb 12:05

Choose a tag to compare

Conbo.js 1.1 introduces cb-app, cb-view and cb-bind, enabling you to automatically bind your Application, View and Bindable class data to DOM elements without the need to write a single line of code.

And, using a little bit of magic, cb-bind will automatically work out the best way to bind your data to DOM elements, so whether it's an <input> or a <p>, cb-bind will apply the most appropriate one or two-way binding to keep your code up to date with what's happening in the DOM and vice-versa.

HTML

<div cb-app="MyApp">
    <div cb-view="MyView">
        <p cb-bind="myMessage"></p>
    </div>
</div>

JavaScript

example.MyApp = conbo.View.extend
({
    // Nothing else to do here!
});

example.MyView = conbo.View.extend
({
    myMessage: 'Hello Conbo!',
});

new example.MyApp({namespace:example});