Giter VIP home page Giter VIP logo

allcountjs's People

Contributors

alexey8127 avatar alexeydudkin avatar chikh avatar guumaster avatar matteocng avatar maxsor avatar nick13jaremek avatar nodeschoolhermanus avatar paveltiunov avatar wszymanowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

allcountjs's Issues

Support conditional field read only flag

Allow to define function that determines field's isReadOnly attribute as follows

foo: Fields.text("Some text").readOnly(function (Entity) { return Entity.isSealed } )

Add convenient keyboard-only input support

Currentry it seems that admin interface requires active mouse usage.

Imagine the situation that user want to input some 50 items in admin interface. It's almost impossible without keyboard only especially for pressing "Save" and "Create" buttons.

Maybe it could be useful for many of potential admin users to optimize tab order of page controls and make other tunes for keyboard-only convenient data input.

Internal server error while trying to delete entity

TypeError: Cannot read property 'id' of null
    at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/referential-integrity.js:15:84
    at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/storage-driver.js:352:28
    at Object.exports.inScope (/home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:136:18)
    at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/storage-driver.js:351:34
    at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:209:86
    at Object.exports.restoreScope (/home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:104:18)
    at /home/allcountjs/app/allcountjs/node_modules/allcountjs/services/injection.js:209:36
    at _fulfilled (/home/allcountjs/app/allcountjs/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/home/allcountjs/app/allcountjs/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch (/home/allcountjs/app/allcountjs/node_modules/q/q.js:749:13)
    at /home/allcountjs/app/allcountjs/node_modules/q/q.js:509:49
    at flush (/home/allcountjs/app/allcountjs/node_modules/q/q.js:108:17)
    at wrapped (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:157:28)
    at wrapped (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:157:28)
    at process._tickDomainCallback (node.js:492:13)
    at process.wrappedFunction (/home/allcountjs/app/allcountjs/node_modules/newrelic/lib/transaction/tracer/index.js:271:51)

Password recovery

We need to implement password recovery feature. I assume it should look like "Forgot your password?" hyperlink under the "sign in" button on the /login page.

Mongo Sub entity with embedded documents

Embedded doc should be added so a document could have many embedded documents. An example would be a project management application where a project is a doument and the assigned tasks are sub entities or as said embedded documents.

Fields.relation(name, relationEntityTypeId, backReferenceField)

BodyParser 1.0.1 - ENOENT on install

It appears that version 1.0.1 of BodyParser is no longer available as I am getting ENOENT errors on attempted install of both the allcountjs file (when it hit that dependency) AND when I try to install that version of BodyParser itself. I'm getting this from multiple machines on different networks (and different OSes). I can install the latest version of BodyParser, just not this or 1.0.2.

This is on node 0.10.38 and NPM 2.9.0

Other foreign keys strategy support?

It's rather question then issue. Please correct me if there is better place to put that ones.

It seems that allcountjs implements "simple foreign keys" stragegy of storing one-to-many related data (like Order - OrderItems).

Is there are (or not) any plans to support other relationship options like "using an array of foreign keys" or "using embedded entities" in other products (http://ng-admin-book.marmelab.com/doc/Relationships.html)?

Thanks.

CRUD hooks in app config support

Support CRUD hooks invocation before and after entity create, update or delete defined as follows

A.app({
  entities: {
    Student: {
      ...,
      beforeSave: function (Crud, NewEntity, OldEntity) {
          NewEntity.status = 'new';
      },
      afterCreate: function (NewEntity) { ... }
    }
  }
});

Autoincrement

Please add an autoincrement for fields like userid.auto()

Server Crash (Local) with demo project

After following the steps here: https://github.com/allcount/allcountjs

The server crashes frequently.

The MongoDB database was created correctly

maverick:allcountjs-helloworld nomad$ allcountjs --git file:///Users/nomad/allcountjs-helloworld --db mongodb://localhost:27017/allcountjs-helloworld
Application server for "file:///Users/nomad/allcountjs-helloworld" listening on port 9080
/Users/nomad/.node/lib/node_modules/allcountjs/node_modules/q/q.js:126
throw e;
^
Error: Command failed: /bin/sh -c git log HEAD^..HEAD
fatal: ambiguous argument 'HEAD^..HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'

at ChildProcess.exithandler (child_process.js:751:12)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Socket.<anonymous> (child_process.js:1183:11)
at Socket.emit (events.js:107:17)
at Pipe.close (net.js:485:12)

I installed "q" globally to see if it will help

EDIT:

It looks like the path for the git repo is the issue
allcountjs --git file:///Users/nomad/allcountjs-helloworld --db mongodb://localhost:27017/allcountjs-helloworld
This is what I used - it launches but fails soon

Form field values validation

Support form field values validation that defined as follows

A.app({
  ...,
  entities: function(Fields) {
    return {
      Student: {
        ...,
        validate: function (Entity) {
          if (Entity.classHours < 100 || Entity.classHours > 500) {
            return {classHours: 'Should be in range from 100 to 500'};
          }
        }
      }
    }
  }
});

Not loading the helloworld-app.js file

$ allcountjs --git file://helloworld-app --db mongodb://localhost:27017/helloworld-app-db
Failed to fetch "file://helloworld-app". Trying to use as regular directory.

$ allcountjs --git file://helloworld-app.js --db mongodb://localhost:27017/helloworld-app-db
Failed to fetch "file://helloworld-app.js". Trying to use as regular directory.

The app configuration file fails to load.

current directory is $ allcountjs-helloworld

How to do this in AllCountJS

I would like to create an admin tool for a rest api system that I am building in node.

So I would like admins to add companies and users. However, I would like to add a password field for users that will be encrypted when it is stored.

This is what I came up with so far:

A.app({
  appName: "Admin Tool",
  menuItems: [
    {
      name: "Companies",
      entityTypeId: "company",
    },
    {
      name: "Users",
      entityTypeId: "users",
    },

  ],
  entities: function(Fields) {
    return {
      company: {
        fields: {
          name: Fields.text("Name"),
          address1: Fields.text("Address1"),
          address2: Fields.text("Address2"),
          city: Fields.text("City"),
          state: Fields.text("State"),
          zip: Fields.text("Zip")
        },
    referenceName: "name",
      },
      users: {
        fields: {
          username: Fields.text("User Name"),
          email: Fields.text("email"),
          company: Fields.fixedReference("company", "company"),
          password: Fields.text("Password")
        }
      }
    }
  }
});

Is it possible to add a hook so that I can encrypt the password using a nodejs function that I provide? How would I go about doing this?

Support conditional field visibility

Allow to define function that determines field visibility as follows

foo: Fields.text("Some text").isVisible(function (Entity) { return Entity.firstName && Entity.lastName } )

business logic

Dear Supporters,

before all, I would like to say that this framework is a state of the art software.
I have a good idea on how to include business logic, instead of using complex BPM processes, for RAD, a simple state machine could handle all the processes states. Below two of them:
https://github.com/jakesgordon/javascript-state-machine
http://machina-js.org/

An introduction on how to use FSM in business

http://www.shopify.com/technology/3383012-why-developers-should-be-force-fed-state-machines

In future works, think on how beautiful would be a data-analytics plugin, like kibana, to track and monitor all the transitions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.