clepit_core
clepit_core पैकेज @clepit/core का नेटिव Dart/Flutter जुड़वाँ है: वही JSON दस्तावेज़ मॉडल, एक कोडबेस से संपादन और रीड-ओनली रेंडरिंग, वेब, मोबाइल और डेस्कटॉप के लिए। दस्तावेज़ विनिमेय हैं: यहाँ का EditorData.toJson() TypeScript पैकेज से पार्स होता है और उल्टा भी।
pub.dev: clepit_core · npm: @clepit/core
इंस्टॉल
flutter pub add clepit_coreEditor
Editor एक पूर्ण संपादन सतह है: ब्लॉक टूल, इनलाइन टूल, टूलबार और चयन प्रबंधन। EditorController अंतर्निहित सेट को सीमित या विस्तारित करने के लिए tools और inlineTools भी लेता है, और प्रोग्रामेटिक संपादन के लिए दस्तावेज़, चयन और व्यू API (EditorApi) उपलब्ध कराता है।
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 दस्तावेज़ को रीड-ओनली बनाता है, बिना संपादन सज्जा के। अमान्य या अज्ञात ब्लॉक डेटा थ्रो करने के बजाय InvalidDataPlaceholder रेंडर करता है, इसलिए पुराने या नए प्रोड्यूसर का दस्तावेज़ व्यू क्रैश करने के बजाय दृश्य रूप से डिग्रेड होता है।
Renderer(
config: RendererConfig(data: document),
);ClepitTheme
स्टाइलिंग ClepitTheme से होकर बहती है, जो आपके ThemeData पर एक ThemeExtension है, इसलिए एडिटर और रेंडरर लाइट और डार्क में आपके ऐप थीम का पालन करते हैं। प्रति-रेंडर ओवरराइड RendererConfig.styles से जाते हैं।
@clepit/core से आ रहे हैं
दोनों तरफ वही अवधारणा है; नाम प्रत्येक प्लेटफ़ॉर्म की परंपराओं का पालन करते हैं।
| TypeScript | Dart |
|---|---|
| Editor | Editor |
| Renderer | Renderer |
| StyleManager | ThemeExtension<ClepitTheme> + ThemeData |
| Tool | BlockTool / InlineTool |
| Block<T> | sealed class Block |
| EditorAPI | EditorApi + BlocksApi, SelectionApi |