Chuyển đến nội dung chính

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

Shell
flutter pub add clepit_core

Editor

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ã.

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 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.

Dart
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.

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