Giter VIP home page Giter VIP logo

hook-admin's People

Contributors

endel avatar fefranca avatar

Stargazers

 avatar  avatar

Watchers

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

Forkers

janusnic endel

hook-admin's Issues

Brainstorm arquitetura

O que seria um plug-in de admin para o dl-api? Algumas premissas, do que eu acho:

  • Não deve fazer parte do core do dl-api;
  • Não deve fazer parte do dl-api-javascript;
  • Deve ser um módulo 100% estático, com o mínimo de dependências;
  • Pode fazer uso de observers, seeds e routes;
  • Separar em módulos (decoupled)
    • JavaScript API
    • GUI toolkit (baseado em Bootstrap ou similar)
      • Talvez uma mescla angular + angular-ui + bootstrap deixe super simples a implementação

Como funcionamento, o que eu esperaria é:

  • Collection-based: toda a UI e funcionalidades são baseadas em collections (duh)
  • CRUD + geração dos fields e validação baseado nos types definidos
  • Os types e os campos devem ser definidos de maneira declarativa, em JavaScript mesmo (sem JSON ou YAML)
  • Se comportar como o admin do Django: uma Collection só é listada no admin apenas se eu explicitamente fizer admin.register('Categories')

Como API, algo assim:

var admin = new DL.Admin(client);
admin.addCollection("Users", options);

ou

var Users = {
name:String,
email:{type:String, validator:"email"}
}
var admin = new DL.Admin(client);
admin.addCollection(Users);

A GUI deveria ser montada baseada nessa API, que teria métodos tipo listCollections, Collection.getFields(), collection.validate() e coisas do tipo.

Adicionar propriedade para poder definir uma condição no Model

No caso atual, vou ter dois tipos de usuários, e um Model para cada. Porém, ambos usando a collection auth. Uma seria para usuários administradores, e outra para usuários normais.

Então seria interessante no metodo addModel do DLAdmin termos uma propriedade para setar uma condição. por exemplo:

admin.addModel(
    {
        collection: "auth", 
        [...]
        filterQuery: 'id_role=2'
        [...]
    }
);

Nesse caso, também seria interessante, ao determinar um filtro, no cadastro de um novo item, já setar o valor id_role como 2. Já que a listagem só exibe rows com esse valor.

Porém acho que isso deixaria o dl-api-admin meio engessado, ou com muitas sub-propriedades. Opinem ai :)

Determinar quais fields serão visiveis na listagem

No momento todos os fields do Model são exibidos na listagem.

Porém, quando uma Model tem muitos fields fica ruim.

No momento estou aplicando dessa forma:

Adicionando a propriedade displayOnList ao field

fields: [
          [...]
          {name:"titulo", type:"text", label:"Título", displayOnList: true},
          {name:"image", type:"image"}
          [...]
        ]

O que acham ?

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.