clepit_core
Gói clepit_core là bản song sinh Dart/Flutter gốc của @clepit/core: cùng một mô hình tài liệu JSON, chỉnh sửa và hiển thị chỉ đọc từ một mã nguồn, nhắm tới web, di động và máy tính. Tài liệu hoán đổi được: EditorData.toJson() ở đây được gói TypeScript phân tích và ngược lại.
pub.dev: clepit_core · npm: @clepit/core
Cài đặt
flutter pub add clepit_coreEditor
Editor là một bề mặt chỉnh sửa đầy đủ: công cụ khối, công cụ nội dòng, thanh công cụ và xử lý vùng chọn. EditorController cũng nhận tools và inlineTools để giới hạn hoặc mở rộng bộ dựng sẵn, và cung cấp các API tài liệu, vùng chọn và khung nhìn (EditorApi) cho chỉnh sửa bằng mã.
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 vẽ tài liệu ở chế độ chỉ đọc, không có giao diện chỉnh sửa. Dữ liệu khối không hợp lệ hoặc không xác định sẽ hiển thị InvalidDataPlaceholder thay vì ném lỗi, nên tài liệu từ một trình tạo cũ hơn hoặc mới hơn xuống cấp một cách nhìn thấy được thay vì làm sập khung nhìn.
Renderer(
config: RendererConfig(data: document),
);ClepitTheme
Kiểu dáng chảy qua ClepitTheme, một ThemeExtension trên ThemeData của bạn, nên trình soạn thảo và trình hiển thị theo chủ đề ứng dụng ở cả sáng và tối. Ghi đè theo từng lần hiển thị đi qua RendererConfig.styles.
Đến từ @clepit/core
Cùng một khái niệm tồn tại ở cả hai phía; tên gọi theo quy ước của từng nền tảng.
| TypeScript | Dart |
|---|---|
| Editor | Editor |
| Renderer | Renderer |
| StyleManager | ThemeExtension<ClepitTheme> + ThemeData |
| Tool | BlockTool / InlineTool |
| Block<T> | sealed class Block |
| EditorAPI | EditorApi + BlocksApi, SelectionApi |