Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

LiveComponent usage #1

Closed
bcardarella opened this issue Dec 17, 2022 · 3 comments
Closed

LiveComponent usage #1

bcardarella opened this issue Dec 17, 2022 · 3 comments
Assignees

Comments

@bcardarella
Copy link

We need to be able to accomplish the following:

  1. page builder should access all available LiveComponents
  2. the endpoint payload should include: name, grouping, thumbnail, and default markup
  3. if a component is dragged onto the page a placeholder is shown where it will fit, other previously rendered components will flow around
  4. when dropped component renders. Within the component designated elements can be customized. We'll need a way to track which values are being applied and to which element. There can either be a data path or a unique ID within the component for each element to customize.
  5. Element's customization options should be: text, style
  6. Style, for now, is limited to a list of Tailwind styles, if possible we'd use reflection to determine at runtime which tailwind styles are available for a given element
  7. we need a way to designate which parts of the element are from linked data sources. For example, we may want to change the static text within an element but we may also want the have that text by dynamic based upon whatever value from a linked data source.
@AZholtkevych AZholtkevych moved this to In Progress in Beacon Dec 19, 2022
@leandrocp
Copy link

@bcardarella based on the description, I'm envisioning the page builder with a set of pre-built components or user-built components, which can be just markup (Phoenix.Component) or stateful with behavior and events (Phoenix.LiveComponent).

Phoenix.Component will be supported with BeaconCMS/beacon#84 and Phoenix.LiveComponent could be implemented in a similar way.

@bcardarella
Copy link
Author

@leandrocp yes, we'll be wrapping all tailwind components as LV components. Customization will happen client-side in JS land. We'll need api endpoints to default-render all components and send back to the client for drag/drop. @cibernox will be working on the pagebuilder UI in Svelte. This is very "moving target" right now as @cibernox and I brainstormed the other day, so everything I'm speaking about is in the abstract at the moment.

@AZholtkevych AZholtkevych moved this from In Progress to Todo in Beacon Jan 13, 2023
@AZholtkevych AZholtkevych moved this from Todo to In Progress in Beacon Jan 13, 2023
@AZholtkevych AZholtkevych moved this from In Progress to Todo in Beacon Jan 13, 2023
@leandrocp leandrocp removed the status in Beacon Oct 20, 2023
@AZholtkevych AZholtkevych moved this to Backlog in Beacon Oct 23, 2023
@leandrocp
Copy link

Closing this issue since all items were accomplished in beacon_live_admin repo. The item "if possible we'd use reflection to determine at runtime which tailwind styles are available for a given element" is related to "auto-complete tailwind classes" which is being tracked at BeaconCMS/beacon_live_admin#111

Also deleting this project since the Visual Editor is managed in beacon_live_admin.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

2 participants