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 |