Skip to content

Website Content Edit

Website Content Edit je rozpracovaná interní vrstva. Není to hotová stabilní feature, na kterou by bylo dobré spoléhat jako na finální editorské rozhraní.

Kód dnes žije v:

  • src/website/cms/contentEdit/*

Současný stav

V kódu už existují stavební bloky pro:

  • detekci cube wrapperů na stránce
  • přepnutí do admin režimu přes klávesovou zkratku
  • zvýraznění editovatelných bloků
  • otevření admin iframe overlaye pro konkrétní cube

To ale neznamená, že je celá feature dokončená po UX, workflow ani provozní stránce.

Kdy se aktivuje

Entry point src/website/cms/contentEdit/index.js se po načtení stránky podívá, jestli na stránce existují cube wrappery:

.cube-wrapper[data-cube-id]

Pokud ne, nic dalšího nespouští.

Jak dnes funguje

Po detekci cube wrapperů:

  • načte se admin mode
  • přidají se handlery pro zvýraznění a otevření editoru
  • připojí se stylová vrstva pro overlay a zvýraznění

Aktivace režimu

Soubor:

  • src/website/cms/contentEdit/adminMode.js

Aktuální chování:

  • dvojité stisknutí Shift přepíná režim úprav
  • při zapnutí se přidá body.admin-active
  • zvýrazní se editovatelné cubes
  • Escape zavírá otevřený overlay

Otevření editoru

Soubor:

  • src/website/cms/contentEdit/cubeEditor.js

Po kliknutí na cube se otevře overlay s iframe:

/ADMIN/cube/{cubeId}?contentEdit=1&lang={lang}

To znamená, že website content edit si zatím nepíše vlastní editor, ale používá existující admin UI vložené do iframe.

Co z toho plyne

  • website a admin nejsou oddělené editory
  • website režim je zatím spíš experimentální vrstva nad admin cube editací
  • skutečná editace stále probíhá v admin části systému
  • feature je potřeba chápat jako nedokončenou

Vazba na Vite

Website content edit se bundleuje přes:

  • src/website/website.js

Je tedy součástí standardního website asset pipeline, ne samostatná aplikace.

Doporučení pro dokumentaci

Pokud se na tenhle subsystém bude navazovat dál, dává smysl dokumentaci rozšířit až ve chvíli, kdy bude jasné:

  • jaký je cílový editorský workflow
  • které části jsou produkčně podporované
  • jaké oprávnění a session modely se v tom mají garantovat