Skip to content

Releases: fntz/sirius

1.3.3

08 May 16:13
65dcdba
Compare
Choose a tag to compare
refactor route engine (#60)

* refactoring of route system

1.3.2

07 May 11:19
Compare
Choose a tag to compare
fix redirect function

v1.3.0

27 Apr 12:39
d8c6a01
Compare
Choose a tag to compare

main changes:

new binding flow (Materialization)

1.0.0

02 May 12:25
Compare
Choose a tag to compare
  1. update docs, todo-app

  2. add sirius-core, for light-weight application (only routing, without models, binding, etc)

  3. use closure compiler instead of yuicompressor

  4. add scheduler support in routing

  5. rewrite binding

  6. vanillajs adapter is now default for Sirius

  7. add new ignore_not_matched_urls option for settings

  8. remove binding for objects Sirius.BaseModel, Sirius.View

  9. remove two side binding Sirius.BaseModel, Sirius.View

  10. remove has_* relations Sirius.BaseModel

  11. remove sync settings from Sirius.Collection

  12. remove from_json from Sirius.Collection

  13. remove from plain routing Sirius.Conversation

  14. add new event method for Sirius.View

  15. remove model definition from js side Sirius.BaseModel

add computed fields

22 Feb 20:15
Compare
Choose a tag to compare
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

03 Jan 16:51
Compare
Choose a tag to compare

add zoom for views

<div id="view">
  <span class="inner"></span>
</div>
view = new Sirius.View("#view")
view.zoom(".inner").swap("new content")

result:

<div id="view">
  <span class="inner">new content</span>
</div>

v0.8.3

22 Sep 19:05
Compare
Choose a tag to compare

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

17 Aug 18:37
Compare
Choose a tag to compare

updates in todo mvc

version 0.8.0

16 May 15:09
Compare
Choose a tag to compare
  • 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, and radio)
  • 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

26 Jan 15:20
Compare
Choose a tag to compare

fix bind issues.