Refactor out getAlignment method

pull/515/head
X Code 3 years ago
parent 2db6f59dac
commit f9bcaa6412
  1. 36
      lib/src/utils/string_helper.dart
  2. 28
      lib/src/widgets/editor.dart

@ -1,3 +1,5 @@
import 'package:flutter/cupertino.dart';
Map<String, String> parseKeyValuePairs(String s, Set<String> targetKeys) {
final result = <String, String>{};
final pairs = s.split(';');
@ -14,3 +16,37 @@ Map<String, String> parseKeyValuePairs(String s, Set<String> targetKeys) {
return result;
}
Alignment getAlignment(String? s) {
const _defaultAlignment = Alignment.center;
if (s == null) {
return _defaultAlignment;
}
final _index = [
'topLeft',
'topCenter',
'topRight',
'centerLeft',
'center',
'centerRight',
'bottomLeft',
'bottomCenter',
'bottomRight'
].indexOf(s);
if (_index < 0) {
return _defaultAlignment;
}
return [
Alignment.topLeft,
Alignment.topCenter,
Alignment.topRight,
Alignment.centerLeft,
Alignment.center,
Alignment.centerRight,
Alignment.bottomLeft,
Alignment.bottomCenter,
Alignment.bottomRight
][_index];
}

@ -165,33 +165,7 @@ Widget defaultEmbedBuilder(
final m = _attrs['mobileMargin'] == null
? 0.0
: double.parse(_attrs['mobileMargin']!);
var a = Alignment.center;
if (_attrs['mobileAlignment'] != null) {
final _index = [
'topLeft',
'topCenter',
'topRight',
'centerLeft',
'center',
'centerRight',
'bottomLeft',
'bottomCenter',
'bottomRight'
].indexOf(_attrs['mobileAlignment']!);
if (_index >= 0) {
a = [
Alignment.topLeft,
Alignment.topCenter,
Alignment.topRight,
Alignment.centerLeft,
Alignment.center,
Alignment.centerRight,
Alignment.bottomLeft,
Alignment.bottomCenter,
Alignment.bottomRight
][_index];
}
}
final a = getAlignment(_attrs['mobileAlignment']);
return Padding(
padding: EdgeInsets.all(m),
child: imageUrl.startsWith('http')

Loading…
Cancel
Save