alterphp/easyadmin-mongo-odm-bundle

This bundle provides support for Doctrine Mongo ODM documents in EasyAdmin

dev-master / 2.0.x-dev 2022-09-02 15:28 UTC

This package is auto-updated.

Last update: 2024-03-30 00:37:26 UTC


README

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).