, (*1)
Contacts dependency for Laravel Enso., (*2)
, (*3)
Features
- 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
Installation steps
The component is already included in the Enso install and should not require any additional installation steps., (*4)
Use
- Define the
'model_alias' => 'App\Model'
mapping in the config/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, (*5)
<contacts
type="model_alias"
id="entityId"
:open="true"
title="My Custom Title" >
</contacts>
Options
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 | required
- type
- string, the entity type, set in the configuration file | required
- open
- boolean, flag which, if true, makes the component start in the open state | default false
| (optional)
- title
- string, title for the component | default 'Contacts' | (optional), (*6)
Publishes
-
php artisan vendor:publish --tag=contacts-config
- the configuration file
-
php artisan vendor:publish --tag=contacts-assets
- the VueJS components
-
php 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
flag
-
php 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
Notes
The Laravel Enso package comes with this package included., (*7)
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, (*8)
Contributions
are welcome. Pull requests are great, but issues are good too., (*9)
License
This package is released under the MIT license.
, (*10)