Skip to content

Releases: fntz/sirius

1.3.3

Choose a tag to compare

@fntz fntz released this 08 May 16:13
65dcdba
refactor route engine (#60)

* refactoring of route system

1.3.2

Choose a tag to compare

@fntz fntz released this 07 May 11:19
fix redirect function

v1.3.0

Choose a tag to compare

@fntz fntz released this 27 Apr 12:39
d8c6a01

main changes:

new binding flow (Materialization)

1.0.0

Choose a tag to compare

@fntz fntz released this 02 May 12:25
  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

Choose a tag to compare

@fntz fntz released this 22 Feb 20:15
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

Choose a tag to compare

@fntz fntz released this 03 Jan 16:51

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

Choose a tag to compare

@fntz fntz released this 22 Sep 19:05

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

Choose a tag to compare

@fntz fntz released this 17 Aug 18:37

updates in todo mvc

version 0.8.0

Choose a tag to compare

@fntz fntz released this 16 May 15:09
  • 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

Choose a tag to compare

@fntz fntz released this 26 Jan 15:20

fix bind issues.