# Quick Editing

### Three Editing Contexts

**Widget-level marking:** Properties marked "quick editable" in widget settings. **Quick Edit Mode:** Lightweight editor (simplified UI for quick-editable widget fields and permitted bound data). **Playlist inline editing:** Instance-specific customization within playlist UI.

### Widget Quick-Editable Properties

**Predefined per widget type:** Text (content, font, styling), Image/Video (file replacement, settings), Shape (colors, properties). **Advanced:** Data source swapping (type-validated, compatible sources only).

**Nested content widgets:** Slide widget swaps the embedded Slide; Playlist widget swaps its selected Playlist(s); Channel widget changes its tag filter, not the referenced Channel.

**Image reframing:** A Quick-editable Image can adjust the picture inside its fixed widget box (pan, zoom, crop, rotate, flip). The box does not move on the canvas. Use Crop in Content/Slide Quick editor or a playlist occurrence Quick editor; Apply updates the draft, then Save the content or playlist. A playlist occurrence may differ from source-content framing.

**Multiline Text:** Designers enable Multiline under Quick edit on an existing Text widget and save the Content/Slide. Contributors then edit multi-line rich text in Content Quick editor or Playlist Quick Editor. The prepared field carries the text; widget layout stays designer-controlled.

**YouTube:** Designers enable Quick edit on the YouTube widget; contributors replace the video source with a YouTube link (watch, youtu.be, embed, Shorts) or an 11-character ID. Extra link parameters do not set a start time. Only the source changes; layout, loop, volume, captions, and interactive settings stay as designed. Saving an empty field clears to the YouTube placeholder. There is no Save-blocking YouTube validation: unrecognized input shows the placeholder, and a recognized ID may still fail in the player if the video is unavailable or embedding is blocked.

**Custom Apps:** Widget apps can declare text, multiline text, number, slider, toggle, color, single-file, folder, and datasource fields for **Quick editor**. Designers enable each under **Quick Edit Settings**; enabled fields appear with app-defined labels, order, and groups in Content/Slide Quick editor and Playlist Quick Editor.

### Quick Edit Mode

Simplified editor for non-technical users. Access: Open Content/Slide in Quick Edit mode. Scope: Quick-editable widget fields and permitted bound-data controls. Multi-page Content: Page navigation available.

**Bound data:** Data bindings lists datasources already bound to the content. Authorized users can open an editable internal datasource in a structure-locked editor; its Save changes the shared datasource immediately, including when opened from Playlist Quick Editor. Mock datasource edits become Quick Edit overrides that persist with the outer Content Save or Playlist Confirm. External and system datasources can be previewed where permitted.

**Field groups:** Manage layout in the Content/Slide Quick Editor arranges widget fields in named groups per page. The saved groups appear as collapsible sections in Content and Playlist Quick Editor; the playlist editor displays the layout but does not manage it.

### Playlist Inline Editing

**Context:** Slide/Content in Playlist item list. **Capability:** Edit quick-editable fields directly in playlist UI. **Reusability:** Same template multiple times with different data in same playlist.

**Example:** PromoSlide instances: #1 "Shoes 50%", #2 "Shirts BOGO", #3 "Pants $29". Same template, 3 customized instances. **Persistence:** Each instance remembers quick-edited values independently.

### Partial Override Architecture (Template + Instance)

**Model:** Quick-edited fields = instance override (detached). Non-edited fields = template-linked (live updates).

**Example:**
```
Template (bg: Blue, logo: company.png, text: "[EDIT]" quick-editable)
→ 3 instances (text overridden: "Shoes 50%", "Shirts BOGO", "Pants $29")
→ Template update (bg→Red, logo→new.png)
→ Result: All instances auto-update bg+logo, text preserved ("Shoes", "Shirts", "Pants")
```

**Power:** Central template control (layout, branding) + distributed content customization (text, images per instance).

### Branding-Aware Templates

**Settings > Branding:** Customers define branding kits with company info, logo folder, logos, colors, and fonts. Default slots: colors = Primary/Secondary/Accent/Light Background/Dark Background; logos = Main/Alternative; fonts = Header/Subheader/Body. Custom colors/logos/fonts may be added. Company name is required; read-only users cannot edit Branding.

**Designer/editor controls:** Supported properties can expose Branding choices, so authors can select approved brand colors/fonts/logos instead of hardcoded values. Template authors can bind quick-editable widget properties to Branding slots: Shape/Text colors -> Branding color, Image source -> Branding logo, Text font family -> Branding font. Bindings are compiled into Quick editor metadata only when the same property is enabled for Quick editor.

**Quick editor resolution:** Content Quick editor and Playlist Quick Editor show the Branding button only when branding bindings exist. Branding selector chooses a kit, then resolves bound slots into normal widget overrides: colors become color values, fonts become font values, logos become file URLs. The saved/previewed content uses regular overrides; displayer/device runtime has no separate Branding behavior.

**Template library use case:** Wallboard/partners can publish centrally designed templates that carry Branding bindings. Customers pull the template, create or select their own Branding kit, and apply consistent colors/logos/fonts without changing layout or editing every widget.

### Template Types

**Template Folders (live updates):** Original changes propagate, quick-edited fields stay detached. **Copied Templates:** Local copy only, no propagation.

### Permission Model

**Widget quick editing is not role-based:** Resource access determines quick editing capability. Editing a real internal datasource also requires datasource-management permission and a writable datasource and user.

**Read-only Content + Edit Playlist:** User can add read-only Content to Playlist and quick edit instance fields. Cannot modify original. **Hierarchy:** Content/Slide edit = full editor. Content/Slide read + Playlist edit = quick edit in playlist only.

### Use Cases

**Distributed management:** Corporate template, regional teams quick edit location-specific text/images, brand consistency maintained. **Rapid deployment:** Single template → multiple customized instances, no designer needed. **Multi-location:** One template, each store customizes (store name, offers, manager), central rebrand auto-updates all. **Template reuse:** Training modules, event announcements, product displays with variations.

