Adding the ability to create custom field types: The field type list
This is the final post in my custom field type series. I'll create the field type classes and get them working with the current code base.
The image manager is powered by Vue and UIkit's upload component. Images can be drag and dropped on the page. Once uploaded, the gallery automatically updates with editable images.
The most basic use for Laramanager is as an admin panel. I created a clean design with clear navigation. It is also super easy to add custom panels by just extending the base admin blade layout.
I build Laramanager to interface with existing models and not try to create or modify project code. Resources are added by describing some information about the existing project's models. Once a resource is setup, fields can be added to help manage CRUD operations.
In the past, I have built projects that required "building blocks" such as Learning Management Systems (LMS). I wanted to adapt this technology in a way to allow me to have "buildable" content areas. Objects allow an admin to stack and reorder a variety of objects to build a content area. Objects are easy to customize and can receive input or interact with the image gallery. I'm actually using them to build this page!
I designed the fields types with customization in mind. Each field type is its own class with an accompanying set of views that describe the form input and value visuals. Custom field types are easy to create and can be composer packages or just part of the project's code base.
This is the final post in my custom field type series. I'll create the field type classes and get them working with the current code base.
I'll show how I moved the old static field type list to the database.
Currently, there is a decent set of core field types built into Laramanager. However, there might be a need for a custom field type specific to a project. So, let's see if I can put together a simple solution.
The current markdown editor field type in Laramanager is just OK. I really want a full screen mode with preview. In this post, I'll use UIkit, marked.js and highlight.js to make it happen.
I definitely could use a field for a Markdown editor (I use it for this blog). So I decided to add one to the core of LaraManager.
2023 Phil Mareu - Coder, Traveler & Disc Thrower