Skip to content

feat: Repeater & SplitView components, Copy & Paste blocks, Tailwind classes & raw style support#32

Merged
ruchamahabal merged 25 commits into
frappe:developfrom
ruchamahabal:app-3
Mar 31, 2025
Merged

feat: Repeater & SplitView components, Copy & Paste blocks, Tailwind classes & raw style support#32
ruchamahabal merged 25 commits into
frappe:developfrom
ruchamahabal:app-3

Conversation

@ruchamahabal
Copy link
Copy Markdown
Member

@ruchamahabal ruchamahabal commented Mar 27, 2025

New Components

  • SplitView - with panel resizer
    image

  • Repeater - connect to data and repeat user-created layouts

    repeater.mp4

Repeater context now available in script and dynamic evaluation

Access current item in repeater with dataItem & dataIndex

repeater-context-1 repeater-context-2

Cut, copy, paste blocks (extracted from Builder)

copy-paste.mp4

Tailwind classes & raw styles support

tailwind-classes hover

Fixes

  • fix(Resource dialog): transform results boilerplate not showing up
  • Code Editor: cannot save empty array ([])
  • Component Layers Fixes
    • parent layers not expanding when a slot block is selected. Along with parents, open all slots too, recursively
    • immediate & deep flags missing in selected block listeners
    • apply selected layer styles on nextTick, else a very deep selected layer doesn't get highlighted in the layers panel
  • Slots
    • Wrap in container leads to error: transfer and del child block's parentSlotName while wrapping in container
    • Finding child index failing when slot content is empty

ruchamahabal and others added 25 commits March 27, 2025 21:14
…erring to base styles

- style panel doesn't reflect the actual styles the component is made with
- reverting bf06557 instead of computing styles in getStyles, baseStyles object should hold the correct styles
- extracted from Builder

Co-authored-by: Suraj Shetty <surajshetty3416@gmail.com>
- parent layers not expanding when a slot block is selected. Along with parents, open all slots too, recursively

- immediate & deep flags missing in selected block listeners

- apply selected layer styles on nextTick, else a very deep selected layer doesn't get highlighted in the layers panel
- individual nested components can now access repeater data - item.image, item.description where item is the slot prop
- remove unnecessary object equality check before emiting
Co-authored-by: Suraj Shetty <surajshetty3416@gmail.com>
- to avoid conflicts with common user-defined item variable
- app router cannot have 2 pages with the same title
@ruchamahabal ruchamahabal changed the title feat(WIP): Essential features for app 3 feat: [Components] Repeater, SplitView, [Utility] Copy & Paste blocks, Tailwind classes & raw style support Mar 31, 2025
@ruchamahabal ruchamahabal changed the title feat: [Components] Repeater, SplitView, [Utility] Copy & Paste blocks, Tailwind classes & raw style support feat: Repeater & SplitView components, Copy & Paste blocks, Tailwind classes & raw style support Mar 31, 2025
@ruchamahabal ruchamahabal merged commit 58a9ef0 into frappe:develop Mar 31, 2025
1 check passed
@ruchamahabal ruchamahabal moved this to Done in Frappe Studio Mar 31, 2025
@ruchamahabal ruchamahabal mentioned this pull request Apr 1, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant