মূল কন্টেন্টে যান

প্যাকেজ

clepit_core

clepit_core প্যাকেজ @clepit/core এর নেটিভ Dart/Flutter যমজ: একই JSON ডকুমেন্ট মডেল, এক কোডবেস থেকে সম্পাদনা ও রিড-অনলি রেন্ডারিং, ওয়েব, মোবাইল ও ডেস্কটপের জন্য। ডকুমেন্ট বিনিময়যোগ্য: এখানকার EditorData.toJson() TypeScript প্যাকেজে পার্স হয় এবং উল্টোটাও।

pub.dev: clepit_core · npm: @clepit/core

ইনস্টল

Shell
flutter pub add clepit_core

Editor

Editor একটি পূর্ণ সম্পাদনা পৃষ্ঠ: ব্লক টুল, ইনলাইন টুল, টুলবার এবং সিলেকশন হ্যান্ডলিং। EditorController বিল্ট-ইন সেট সীমিত বা প্রসারিত করতে tools ও inlineTools নেয়, এবং প্রোগ্রাম্যাটিক সম্পাদনার জন্য ডকুমেন্ট, সিলেকশন ও ভিউ API (EditorApi) উন্মুক্ত করে।

Dart
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 রেন্ডার করে, তাই পুরনো বা নতুন প্রডিউসারের ডকুমেন্ট ভিউ ক্র্যাশ না করে দৃশ্যমানভাবে ডিগ্রেড হয়।

Dart
Renderer(
  config: RendererConfig(data: document),
);

ClepitTheme

স্টাইলিং ClepitTheme দিয়ে প্রবাহিত হয়, যা ThemeData এর উপর একটি ThemeExtension, তাই এডিটর ও রেন্ডারার আলো ও অন্ধকারে আপনার অ্যাপের থিম অনুসরণ করে। প্রতি-রেন্ডার ওভাররাইড RendererConfig.styles দিয়ে যায়।

@clepit/core থেকে এলে

একই ধারণা দুই পাশেই আছে; নামগুলো প্ল্যাটফর্মের রীতি অনুসরণ করে।

TypeScriptDart
EditorEditor
RendererRenderer
StyleManagerThemeExtension<ClepitTheme> + ThemeData
ToolBlockTool / InlineTool
Block<T>sealed class Block
EditorAPIEditorApi + BlocksApi, SelectionApi