alterphp / EasyAdminMongoOdmBundle

Provides support of Doctrine ODM documents in EasyAdmin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EasyAdminMongoOdmBundle

Provides support of Doctrine Mongo ODM documents in EasyAdmin

⚠️ This bundle is under development and remains experimental as long as no v1.0.0 tag is available !

Installation

EasyAdminMongoOdmBundle is installable aside an EasyAdmin configuration. It actually requires it !

composer require alterphp/easyadmin-mongo-odm-bundle:dev-master

Configuration

Simple example :

easy_admin_mongo_odm:
    documents:
        AnyDocument:
          class: App\Document\AnyDocument
        SomeDocument:
            class: App\Document\SomeDocument
            list:
                sort: createdAt
                fields:
                    - field1
                    - field2
                    - ...

# You can define menu for documents into easyadmin configuration
easy_admin:
    design:
        menu:
            - { label: AnyDocument, route: easyadmin_mongo_odm, params: { document: AnyDocument } }
            - { label: SomeDocument, route: easyadmin_mongo_odm, params: { document: SomeDocument } }

Dev notes

  • TwigPathPass compiler pass makes @EasyAdminMongoOdm templates to be searched in EasyAdmin bundle if not found in EasyAdminMongoOdm bundle.

TODOs

  • Exception listener for production env ?
  • QueryBuilder => deal with associations ?
  • PropertyConfigPass is not implemented => item format per field is not preset
  • Menu items of type document

Development tags

USE_MAIN_CONFIG : Some backend configuration used from EasyAdmin bundle (when not specific to ODM). RESTRICTED_ACTIONS : Marks code lines that deal with actions limitation (new, edit and delete are not available for now). NO_ASSOCIATION : Disabled association mapping (Mongo ODM has reference feature, but it's not implemented here yet). SORT_ONLY_INDEXES : By default, only indexed fields are sortable (for performance reason).

About

Provides support of Doctrine ODM documents in EasyAdmin

License:MIT License


Languages

Language:PHP 82.4%Language:Twig 17.5%Language:Dockerfile 0.1%Language:CSS 0.0%