Releases: fntz/sirius
1.3.3
1.3.2
v1.3.0
1.0.0
-
update docs, todo-app
-
add sirius-core, for light-weight application (only routing, without models, binding, etc)
-
use closure compiler instead of yuicompressor
-
add scheduler support in routing
-
rewrite binding
-
vanillajs adapter is now default for
Sirius
-
add new
ignore_not_matched_urls
option for settings -
remove binding for objects
Sirius.BaseModel
,Sirius.View
-
remove two side binding
Sirius.BaseModel
,Sirius.View
-
remove
has_*
relationsSirius.BaseModel
-
remove
sync
settings fromSirius.Collection
-
remove
from_json
fromSirius.Collection
-
remove from plain routing
Sirius.Conversation
-
add new event method for
Sirius.View
-
remove model definition from js side
Sirius.BaseModel
add computed fields
class MyModel extends Sirius.BaseModel
@attrs: ["first_name", "last_name", "age"]
@comp("full_name", "first_name", "last_name")
@comp("age_and_full_name", "age", "full_name", (age, fn) -> "age: #{age}, #{fn}")
@validate :
full_name:
length: min: 4, max: 25
# then
model = new MyModel()
model.first_name("John")
model.last_name("Doe")
model.full_name() # => John Doe
model.age_and_full_name() # => null
model.age(21)
model.age_and_full_name() # => age: 21, John Doe
v0.8.4
v0.8.3
Binding one selector with several model attributes:
model.bind(view, {
"#example": [{
from: "description"
}, {
from: "title",
to: "class"
}]
});
Set model attributes from view in binding.
Enable logging for developer code.
Now if log_filters
is []
, then all application logs disabled.
Safe memory handling on event defined in controllers, like:
Controller =
method: () ->
m = new Mode()
v = new Sirius.View("#element")
v.on("selector", "click", (e) ->
# ...
version 0.8.1
updates in todo mvc
version 0.8.0
- vanillajs adapter (use
Sirius.js
without framework overhead) - add support for object in attributes
class Model extends Sirius.BaseModel
@attrs: [ {obj: {}} ]
# now, when set new value for `obj` this value must be object
model = new Model()
model.obj(123) # => throw Error
model.obj({val: 123}) => ok
- imporove support for work with logical elements (
checkbox
, andradio
) - add indexes in collection (improve speed for find models in collection)
- skip attribute for models:
# json resposne from server: {id: 1, foo: test, bar: test1}
class ModelA extends Sirius.BaseModel
@attrs: ["id"]
class ModelB extends Sirius.BaseModel
@attrs: ["id"]
@skip : true
obj = {"id": 1, "foo" : "bar" }
new ModelA(obj) # => error
new ModelB(obj) # => ok
new version v0.6.6
fix bind issues.