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 |