Contacts dependency for Laravel Enso.
- allows the management of contact persons, attached to other entities, such as owners
- uses a polymorphic relationship for flexibility when attaching
- contacts can be disabled while still keeping them, for reference
- comes with a
Contacts.vue
VueJS component meant to be included anywhere, and an index page to list all contacts - uses the VueComponents package in order to load its VueJS dependencies
The component is already included in the Enso install and should not require any additional installation steps.
-
Define the
'model_alias' => 'App\Model'
mapping in theconfig/enso/contacts.php
file -
Add the
Contactable
trait in the Model to which you need to add contacts You can then use the$model->contacts
relationship -
Use the VueJS component in your pages/components
<contacts type="model_alias" id="entityId" :open="true" title="My Custom Title" > </contacts>
The Contacts.vue
component can be used anywhere, can be integrated into any other component or page, and takes the following parameters:
id
- the id of the entity | requiredtype
- string, the entity type, set in the configuration file | requiredopen
- boolean, flag which, if true, makes the component start in the open state | defaultfalse
| (optional)title
- string, title for the component | default 'Contacts' | (optional)
php artisan vendor:publish --tag=contacts-config
- the configuration filephp artisan vendor:publish --tag=contacts-assets
- the VueJS componentsphp artisan vendor:publish --tag=enso-assets
- a common alias for when wanting to update the VueJS component, once a newer version is released, can be used with the--force
flagphp artisan vendor:publish --tag=enso-config
- a common alias for when wanting to update the config, once a newer version is released, can be used with the--force
flag
The Laravel Enso package comes with this package included.
Depends on:
- Datatable for showing the list of contacts
- Structure manager for the migrations
- TrackWho for keeping track of the users making the changes to each contact
- VueComponents for the accompanying VueJS components
- Helpers for the IsActive trait
are welcome. Pull requests are great, but issues are good too.
This package is released under the MIT license.