1. BreezeJS Feature Suggestions

Help us make Breeze.js better by letting us know what you’d like to see next.

Suggest new features, vote on existing ones, or fork Breeze in GitHub and send us a pull request.

  1. Angularjs support

    I'm curious as to what you guys are cooking up for Angular...It seems like it could in theory be pretty easy as angular binds to plain objects, but I'm sure there are plenty of wrinkles. Glad we have brilliant minds such as yourselves to figure this stuff out!
    Just off the top of my head I'm thinking in the query promise callback you could set the array to what forEach is observing via an angular.apply() call, since we're outside of angular. Or better yet somehow integrate the promise with forEach since this is what angular uses if I remember correctly.…

    34 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. Vuejs support

    Vuejs is gaining popularity. A sample on this client technology would be awesome. Or even a Breeze Lab.

    32 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support TypeScript 0.9

    The TypeScript Definition File (d.ts) that is being distributed likely needs to be updated to support the new features in the recently release TypeScript 0.9 (like Generics support). For those wanting to upgrade to the latest TypeScript, it would be difficult without this.

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Create minimal NuGet packages for server and client

    I have my WebAPI project separate from my web client. It would be nice to have a NuGet package that only installs the server-side DLLs and dependencies and a separate NuGet package that only installs the client JS.

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. .Net Core 2.0 Support

    Are there any plans to support .Net Core 2.0?

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Support .withParameters for OData (datajs)

    The current implementation of withParameters() only sends those parameters to the XHR implementation, but it does not pass them to the OData provider. The fix is simple, but it's not supported yet. Please implement!

    26 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Support executing arbitrary stored procedures within the transaction scope SaveChanges

    Support executing arbitrary stored procedures within the transaction scope SaveChanges

    [Or] allow some way of tying in to the transaction scope for any SQL

    26 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Named save

    Route a save request to a different save method on the server (on the controller).

    23 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →

    Breeze 1.3 adds named saves.

    By default the EntityManager.saveChanges method sends a save request to an endpoint called “SaveChanges”. With “Named Save”, you can target a different server endpoint such as an arbitrarily named action method on another Web API controller. There are two new properties on the SaveOptions class. A resourceName (for the action method) and a dataService (for targeting a different controller).

    http://www.breezejs.com/documentation/download

  9. 23 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Which libraries for Java on Github

    Hi,

    I see 3 branches of Breeze support Java on github. What is different?
    The Json-UriBuilder Branches is look fully. I'm intergrating breezejs with java spring and hibernate to use with AngularJS.

    Thanks

    21 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Decouple Breeze from Entity Framework

    I like what Breeze does but I need it to work for a hand rolled ORM or NHibernate or any other ORM.

    I would also like it to be able to cope with classes that don't have navigation properties in them. NHibernate does not force you to pollute your business entities with foreign keys to allow it to work. Breeze needs to be able to deal with this.

    Thanks

    17 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. There should be an AfterSaveEntity

    Why isn't there also an AfterSaveEntity.
    For example would be very useful for sending notifications (emails, messages) once a bigger operation is done.
    Also everything should be done inside a transaction, so that if something crashes it should automatically Rollback

    16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. 16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Attributes on controller actions to block the use of Select and Expand

    Define attributes that block the use of Select and Expand.

    13 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →

    Attributes for blocking Select and Expand were added a few builds ago, but we’re marking it complete on UserVoice today. Sorry for the delay.

    Breeze 1.3.1 is now available, including Inheritance and OData writes/saves.

  15. Attribute on controller actions to limit result size

    Add an attribute that can be placed on a Web API controller action to limit the number of entities that can be returned in this query.

    13 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. 11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Try to coerce string bindings to a data property's data type

    Knockout binding of textbox to an integer data property can be fail validation because it sets the property with a string. Breeze, which knows the property's datatype, should attempt to parse the string to that datatype. Extend this idea to all datatypes (including date) and for all model libraries.

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

    As of Breeze 0.80.2, automatic datatype coercion is now applied when setting any Breeze ‘entity’ properties.

    This means, for example, that when setting a string to a numeric or date field that Breeze will attempt to coerce the value to the correct datatype before assignment.

  18. Support for query parameters

    Something like

        var query = new EntityQuery()
    
    .from("CustomersStartingWith");
    query.parameters.add("A");

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

    Build 0.76.2 adds a new EntityQuery method: withParameters.

    This method allows custom parameters to be passed to any server side method, in addition to those that Breeze uses for its normal querying. Custom parameters can be mixed in with other query clauses.

    For example:

    var query = EntityQuery.from(“EmployeesFilteredByCountryAndBirthdate”) .withParameters({ BirthDate: “1/1/1960”, Country: “USA” }) .where(“LastName”, “startsWith”, “S”) .orderBy(“BirthDate”);
  19. Support TypeScript 0.9.5

    The latest release of the TypeScript compiler does not compile the TypeScript definition file (breeze.d.ts). The compile rules have been tightened to not allow duplicate overload signatures. This affects the EntityQuery.using(...) and QueryOptions.using(...) overloaded method declarations.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. Make it easier to create custom DataTypes

    I've been able to write a custom DataType implementation for Moment.js but am stuck in places where the equality of two instances of the DataType is evaluated.

    Currently, there are a number of lines of code which specifically handle Dates differently because of their inability to be compared using ===. For instance, in a35_defaultPropertyInterceptor.js:

      // exit if no change - extra cruft is because dateTimes don't compare cleanly.
    
    if (newValue === oldValue || (dataType && dataType.isDate && newValue && oldValue && newValue.valueOf() === oldValue.valueOf())) {
    return;
    }

    However, that means if I want a custom DataType, and need a custom…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base