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. mongoose models to breeze.js metadata converter

    It would be nice to have a facility to create breeze.js metadata from existing mongoose models.

    38 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 →
  2. Support for Data Annotation Validators (DisplayName, ErrorMessageResourceName)

    Breeze has built-in message templates and we do seem to have the option to change them via breeze.Validator.messageTemplates but having to deal with at least 2 languages on my web project means that I'll have to write my messages twice (1 for .Net and 1 for Breeze). It would be seriously awesome if Breeze could get them directly from the Data Annotation definition as I'm already using the Breeze WebApi2 and ContextProviderEF6.

    For example a Model with this data annotation
    [Display(ResourceType = typeof(Resources.Validations), Name = "SiteName")]
    [Required(ErrorMessageResourceType = typeof(Resources.Validations), ErrorMessageResourceName = "Required")]
    public string siteName { get; set; }

    It…

    24 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 →
  3. Create linq like syntax for use with typescript

    In jaydata it is possible to generate d.ts files for the entities. It is then possible to write queries like :

    northwind
    .Products
    .filter( product => product.Unit_Price < 50 )
    .orderBy ( product => product.Category.Category_Name )

    Note that full autocompletion is available for properties.

    It would be great to have such a feature in breeze as well.

    72 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 →
  4. Provide a simple example demonstrating use of BreezeJS+Mongodb

    The only example I can find demonstrating BreezeJS and Mongodb with enough information to replicate it is the Zza project. This has some configuration and launch issues anyway, but is also a million miles from being a minimal application.

    None of the Todo-style apps, which would be perfect tutorials, have a description of how to set up a Node+Mongodb back end and are universally reliant on Visual Studio, meaning Mac and Linux developers can't use the library. The live tutorial apps have no description of how to set up a suitable HTML or database at all, let alone for Node+Mongodb.

    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 →
  5. Add support for odata actions

    I’m struggling with calling odata actions from breeze. I have an app that uses breeze to store trades in a SQL database and after the trade is stored, another user can use the app to send the trade to a backend trading system. I created an OData action to do the import to the external trading system so I can do a post to /trades(123)/ImportTrade. When I get the metadata for the service using /$metadata it sees that the trades entity has this action (it's in the metadata).
    I was hoping that breeze would see this in the metadata and…

    31 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 →
  6. Add Mask to zValidate Breeze/AngularJS validation directive

    zValidate is the best practice for validate view and model with AngularJs and if this directive will have mask property It will be cool.

    19 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 →
  7. We need to do CRUD operations with transnational operations, that is critical for enterprise applications

    We need to do CRUD operations with transnational operations, that is critical for enterprise applications

    1 vote
    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. Title of the page doesn't update in docs

    On Linux Mint 16, Chrome v.31.0.1650.63

    Jumping around different doc pages like MetadataStore to EntityManager to ... doesn't change what I see in the Chrome tab title area.

    1 vote
    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 →
  9. Breeze offline docs

    Please, make it possible to run breeze documentation locally like angularjs provides https://code.angularjs.org/1.2.16/angular-1.2.16.zip

    Or think about devdocs.io, would be great see breeze docs there

    It is annoying to wait half a minute to walk through the online docs every time I need them

    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 →
  10. Breeze Web API components should support async

    Both the Web API and EF 6 support async. All Breeze .NET server components should support async signatures and perhaps should deprecate the synchronous signatures.

    268 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    28 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Provide an Angular SPA template with full security

    VS2013 ships with a classic ASP.NET MVC template with full-feature identity management: login, password change, email validation, OAuth, etc, including both front-end and back-end code. However, there's nothing like this for a SPA using Web API 2.

    The suggestion is to provide a template/sample/demo based on Breeze and Angular for a Single Page App that implements all the identity functionality, plus provides some simple, replaceable demo of the business code that we developers want to focus on.

    102 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 →
  12. TypeScript breeze.d.ts: ValidatorFunction should return boolean

    The current breeze.d.ts file says:

    interface ValidatorFunction {
    (value: any, context: ValidatorFunctionContext): void;
    }

    Since a value can be either valid or invalid (true or false) in my opinion this should be a function returning a boolean. Also, the context parameter in the Validator constructor can be empty so it would be better if "context" is an optional parameter.
    And: the "message" part of the ValidatorFunctionContext is declared as "string" but can be a function also and "any" would be correct.

    1 vote
    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. Add method "SaveChanges" on EntityAspect

    It would be nice if there is a method "SaveChanges" directly on the EntityAspect, similar to "RejectChanges". This makes it easier to save this and only this entity without affecting other entities that might have been changed. I know that there is a parameter on the EntityManager.SaveChanges(...) method, but having it directly on the EntityAspect makes it a little more convenient.

    1 vote
    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 →
  14. Provide a link to WinJS

    Remove the need for jQuery and Knockout by linking it to WinJS ajax system and WinJS binding system.

    1 vote
    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 →
  15. Improve mobile experience on the website

    The code samples appear to be fixed width and are difficult to view from iOS devices like the iPhone 5

    1 vote
    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. MySQL + Node example

    B.MEAN example with MySQL

    7 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 →
  17. 1 vote
    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 →
  18. Deep entity clone with configuration for dependent related entities

    Need a clean way to clone, say, an order and its child orderLineItems such that (a) all order values are copied except the id which is new, (b) all child LineItems are copied except they have new ids and their FKs to the parent order are updated to the new parent order id, and (b) the cloned graph entities are in Added state.

    See this (http://stackoverflow.com/questions/20566093/breeze-create-entity-from-existing-one/20579971#20579971) and this (http://stackoverflow.com/questions/23488573/deep-clone-copy-breeze-entity-and-create-new-entity). See also Breeze Labs "getEntityGraph" which should become part of Breeze core.

    106 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 →
  19. Flag which navigation properties have been loaded

    It's currently not possible to determine if a navigation property has been loaded.

    For example a order.orderLines. There is no way of knowing whether orderLines is empty because the order has no lines or that the navigation property has been loaded.

    This is a real pain when you have business logic that require the object graph to be loaded. This leads you to implement boiler plate data access related code to manually track which navigation property has been loaded - something that the breeze framework should be doing.

    This feature has been asked for on SO here: http://stackoverflow.com/questions/17798514/any-way-to-tell-if-a-breeze-navigation-property-has-already-been-loaded

    1 vote
    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 →
  20. 2 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 →

    This is not an error.

    Breeze ‘complex objects’ have a ‘complexAspect’ property that is analogous to the ‘entityAspect’ that is found on ‘entities’.

    All complex objects ALSO have a GetEntityAspect() method. The GetEntityAspect method returns the top level EntityAspect associated with the complexObject ( complex objects can be nested so this may go thru multiple parent objects before returning the final parent EntityAspect – this is why this is a method and not a property).

    Entity objects by comparision have only a single entityAspect property.

  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base