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. Change the Required Validator to check the context property to allowemptystring

    Change the Required value Validator such that it can read the property to allow empty strings.

    Change line:

    if (ctx && ctx.allowEmptyStrings) return true;

    For:

                if (ctx && (ctx.allowEmptyStrings || ctx.property && ctx.property.allowEmptyStrings)) return true;
    

    8 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. ASP.Net Web API OData information outdated?

    I'm looking at this page and it says that the OData EDM builder doesn't support navigation properties, but I believe it does now. Also, the samples for Web API provide an OData batch controller that save changesets in the order that they coming in the request. Doesn't this make Web API fully compatible with Breeze? Do we still need to use the Breeze custom model builder?

    8 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. Restore foreign keys in dependent entities in rejectChanges()

    When an entity is marked as deleted, and it has dependent child entities, it is removed (set to null) from child entities (even if the foreign key is not nullable). If the delete is cancelled with rejectChanges, the entity is restored to 'unchanged' state, but child entities in cache are not restored. Even requerying the server doesn't fix this (I haven't yet tried specifying overwriteChanges in query options).

    8 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. any plan to port TempHire to AngularJS version

    Can i use the way of Todo-Angular to port it to AngularJS version?

    8 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. Support rename name of column in select query

    For example:

    var catalogQuery = entityQuery.from('Projects')

                .where(preds)
    
    .select('columnId as c1');

    7 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 →
  6. Hybrid FetchStrategy

    A hybrid fetch strategy which first tries to execute a query locally then goes to the server if it fails or result count is 0. Different local and remote queries should be specifiable.

    7 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. 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 →
  8. Repository sample that serves view models.

    Use the new json schema to get a controller to return a proper view model instead of what is essentially a domain object.

    The idea here is to essentially create a custom provider that connects to a web api that returns view models and when the are returned back. an overridden save changes parses things out and submits them back to EF as domain objects and does whatever needs to be done

    Love the project keep it up

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Facilitate chaining of breeze operations within jQuery deferreds

    I'd like to chain together a sequence of Breeze and jQuery async operations. Breeze uses promises from Q.js; jQuery has its own "deferreds". As a front-end developer I'm mostly writing in jQuery. So I'd like an easy way to adapt promises to jQuery deferreds so I can write a bunch of jQuery async commands with an occasional Breeze operation tucked in the middle.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Must be able to fetch available enum values from metadatastore

    and be able to bind them with knockout to a select (dropdown)

    7 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 →
  11. Need more samples... Like how to do sum, avg ,min,max calculations..

    Need more samples... Like how to do sum, avg ,min,max calculations..

    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 →
  12. Remove ALL recursive object graphs

    Recursive object graphs are extremely bad form, and create havoc for libraries that observe object changes, such as AngularJS. Just try to bind more than a trivial number of entity objects to a control like ng-grid, and you'll instantly hate the performance.

    7 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. Typescript definition for breeze-mongodb

    Thank you very much for TypeScript support for Breeze.js, could I please suggest TypeScript definition for breeze-mongodb for developing with BreezeJS on the MEAN stack (specifically Node.JS)?

    Again, thanks for all the hard work, this feature will definitely help with adoption for Breeze in enterprises that are developing on the MEAN stack with large scale applications.

    6 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 →
  14. Better non MS support

    Compared with other data client libraries Breeze is way ahead but it is still heavily tied to MS. It says it supports most dbs out the box but this is a bit misleading as you need a .NET provider which really means Windows. I've mainly worked on MS technologies but recent requirements mean a lot of our systems run on Linux and I'd like to use Breeze for this.

    6 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 →
  15. POST

    Allow POST for Queries when using DataJS. Breeze.AjaxPost.js Adapter only works when using Breeze Controller not when using regular OData Web API.

    6 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. Fix Navigation Property Update When Changing a Composite Foreign Key

    In an entity that has a navigation property based on a composite foreign key (i.e. based on more than one foreign key properties), when setting one of the FK properties, breezejs tries to update the navigation property, however it searches for the foreign entity using a single key instead of a composite key, so it never finds the property.

    To see what I mean and for a possible fix, please refer to breeze.debug.js (v.1.4.8) lines 4907 and 4908:

                    key = new EntityKey(relatedNavProp.entityType, [newValue]);
    
    relatedEntity = entityManager.findEntityByKey(key);

    The related entity never gets found since the key consists only of a single…

    6 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. 6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. 6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  19. Support ES6 class definitions for client-side modeling

    With ES6 classes we now have a way to define classes better than ever before in ES6.


    1. Support defining metadata client-side via ES6 classes

    2. Support adding methods and such via the classes instead of via the initializers (ex - computed properties as getters, methods on the class instead of adding to the initializer / constructor)

    3. Default values if not supplied

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Include Navigation Properties in BeforeSaveAllEntities save maps

    Currently passing entity with navigation properties to the client. Once client modifies the entity or the navigation property entities they come back to the server during save separated making us write more code to perform validation and server side business logic.

    EXAMPLE: I have a class called WorkOrder, Payment and Customer. The structure of the class is as follows:

    WorkOrder
    - WorkOrderID int
    - WorkOrderNumber guid
    - CustomerID int
    - PaymentID int
    - ExclationLvl int

    Payment
    - PaymentID int
    - PaymentType int : reference lookup table called PaymentTypes which has the payment types (ie: Credit Card, Check, Paypal)
    - Amount…

    6 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 →
1 2 5 7 9 13 14
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base