clepit_core
Pakett clepit_core on @clepit/core natiivne Dart/Flutteri kaksik: sama JSON-dokumendimudel, redigeerimine ja kirjutuskaitstud renderdamine ühest koodibaasist, sihtides veebi, mobiili ja töölauda. Dokumendid on vahetatavad: siinse EditorData.toJson() parsib TypeScripti pakett ja vastupidi.
pub.dev: clepit_core · npm: @clepit/core
Paigaldus
flutter pub add clepit_coreEditor
Editor on täielik redigeerimispind: plokitööriistad, tekstisisesed tööriistad, tööriistaribad ja valiku käsitlemine. EditorController võtab ka tools ja inlineTools, et sisseehitatud komplekti piirata või laiendada, ning avab dokumendi, valiku ja vaate API-d (EditorApi) programmiliseks redigeerimiseks.
import 'package:clepit_core/clepit_core.dart';
final controller = EditorController(
initial: EditorData.fromJson(documentJson),
);
Editor(
controller: controller,
config: EditorConfig(
onChange: (data) => save(data),
),
);Renderer
Renderer joonistab dokumendi kirjutuskaitstuna, ilma redigeerimiskroomita. Kehtetu või tundmatu plokiandmestik renderdab InvalidDataPlaceholder-i, mitte ei viska erindit, nii et vanema või uuema tootja dokument laguneb nähtavalt, selle asemel et vaadet kokku kukutada.
Renderer(
config: RendererConfig(data: document),
);ClepitTheme
Kujundus voolab läbi ClepitTheme, mis on ThemeExtension sinu ThemeData peal, nii et redaktor ja renderdaja järgivad su rakenduse teemat heledas ja tumedas. Renderduspõhised ülekirjutused käivad läbi RendererConfig.styles.
Tulles @clepit/core-st
Sama mõiste on olemas mõlemal pool; nimed järgivad kummagi platvormi tavasid.
| TypeScript | Dart |
|---|---|
| Editor | Editor |
| Renderer | Renderer |
| StyleManager | ThemeExtension<ClepitTheme> + ThemeData |
| Tool | BlockTool / InlineTool |
| Block<T> | sealed class Block |
| EditorAPI | EditorApi + BlocksApi, SelectionApi |