Перевёл создание таблиц
This commit is contained in:
parent
53320d9d0f
commit
40bb982c74
1 changed files with 29 additions and 29 deletions
|
|
@ -8,13 +8,13 @@ import 'package:tuuli_app/models/table_column_definition.dart';
|
||||||
|
|
||||||
const typeToNameMatcher = {
|
const typeToNameMatcher = {
|
||||||
SerialPrimaryColumnDefinition: "Serial ID",
|
SerialPrimaryColumnDefinition: "Serial ID",
|
||||||
TextColumnDefinition: "Text",
|
TextColumnDefinition: "Текст",
|
||||||
BooleanColumnDefinition: "Boolean",
|
BooleanColumnDefinition: "Логическое значение",
|
||||||
TimestampColumnDefinition: "Date/Time",
|
TimestampColumnDefinition: "Дата/Время",
|
||||||
DoubleColumnDefinition: "Double",
|
DoubleColumnDefinition: "Число с плавающей точкой",
|
||||||
IntegerColumnDefinition: "Integer",
|
IntegerColumnDefinition: "Целое число",
|
||||||
UserRefColumnDefinition: "User reference",
|
UserRefColumnDefinition: "Ссылка на пользователя",
|
||||||
AssetRefColumnDefinition: "Asset reference",
|
AssetRefColumnDefinition: "Ссылка на ресурс",
|
||||||
};
|
};
|
||||||
|
|
||||||
class CreateTableController extends GetxController {
|
class CreateTableController extends GetxController {
|
||||||
|
|
@ -35,7 +35,7 @@ class CreateTableController extends GetxController {
|
||||||
|
|
||||||
final respData = resp.data;
|
final respData = resp.data;
|
||||||
if (respData == null) {
|
if (respData == null) {
|
||||||
throw Exception("No data in response");
|
throw Exception("В ответе нет данных");
|
||||||
}
|
}
|
||||||
|
|
||||||
Get.back(result: true);
|
Get.back(result: true);
|
||||||
|
|
@ -43,18 +43,18 @@ class CreateTableController extends GetxController {
|
||||||
final respData = e.response?.data;
|
final respData = e.response?.data;
|
||||||
if (respData != null) {
|
if (respData != null) {
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
"Error trying to update tables access",
|
"Ошибка обновления доступа к таблице",
|
||||||
"${respData['error']}",
|
"${respData['error']}",
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
"Error trying to update tables access",
|
"Ошибка обновления доступа к таблице",
|
||||||
"$e",
|
"$e",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
"Error trying to update tables access",
|
"Ошибка обновления доступа к таблице",
|
||||||
"$e",
|
"$e",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -67,14 +67,14 @@ class CreateTableController extends GetxController {
|
||||||
|
|
||||||
final confirm = await Get.dialog<bool>(
|
final confirm = await Get.dialog<bool>(
|
||||||
AlertDialog(
|
AlertDialog(
|
||||||
title: const Text("Create new column"),
|
title: const Text("Создать новую колонку"),
|
||||||
content: Wrap(
|
content: Wrap(
|
||||||
runSpacing: 16,
|
runSpacing: 16,
|
||||||
children: [
|
children: [
|
||||||
FastTextField(
|
FastTextField(
|
||||||
name: "ColumnName",
|
name: "ColumnName",
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "Column name",
|
labelText: "Название",
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
),
|
),
|
||||||
initialValue: columnName.value,
|
initialValue: columnName.value,
|
||||||
|
|
@ -82,7 +82,7 @@ class CreateTableController extends GetxController {
|
||||||
),
|
),
|
||||||
FastDropdown(
|
FastDropdown(
|
||||||
name: "ColumnTypes",
|
name: "ColumnTypes",
|
||||||
hint: const Text("Select column type"),
|
hint: const Text("Тип"),
|
||||||
items: typeToNameMatcher.keys.toList(growable: false),
|
items: typeToNameMatcher.keys.toList(growable: false),
|
||||||
itemsBuilder: (items, field) => items
|
itemsBuilder: (items, field) => items
|
||||||
.map(
|
.map(
|
||||||
|
|
@ -97,7 +97,7 @@ class CreateTableController extends GetxController {
|
||||||
),
|
),
|
||||||
FastCheckbox(
|
FastCheckbox(
|
||||||
name: "ColumnIsUnique",
|
name: "ColumnIsUnique",
|
||||||
titleText: "Is Unique",
|
titleText: "Уникальное значение?",
|
||||||
initialValue: false,
|
initialValue: false,
|
||||||
onChanged: (value) => columnIsUnique.value = value!,
|
onChanged: (value) => columnIsUnique.value = value!,
|
||||||
),
|
),
|
||||||
|
|
@ -108,13 +108,13 @@ class CreateTableController extends GetxController {
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Get.back(result: false);
|
Get.back(result: false);
|
||||||
},
|
},
|
||||||
child: const Text('Close'),
|
child: const Text("Отменить"),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Get.back(result: true);
|
Get.back(result: true);
|
||||||
},
|
},
|
||||||
child: const Text('Create'),
|
child: const Text("Создать"),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
@ -129,42 +129,42 @@ class CreateTableController extends GetxController {
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Text":
|
case "Текст":
|
||||||
ct = TextColumnDefinition(
|
ct = TextColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
isUnique: columnIsUnique.value,
|
isUnique: columnIsUnique.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Boolean":
|
case "Логическое значение":
|
||||||
ct = BooleanColumnDefinition(
|
ct = BooleanColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
isUnique: columnIsUnique.value,
|
isUnique: columnIsUnique.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Date/Time":
|
case "Дата/Время":
|
||||||
ct = TimestampColumnDefinition(
|
ct = TimestampColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
isUnique: columnIsUnique.value,
|
isUnique: columnIsUnique.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Double":
|
case "Число с плавающей точкой":
|
||||||
ct = DoubleColumnDefinition(
|
ct = DoubleColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
isUnique: columnIsUnique.value,
|
isUnique: columnIsUnique.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Integer":
|
case "Целое число":
|
||||||
ct = IntegerColumnDefinition(
|
ct = IntegerColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
isUnique: columnIsUnique.value,
|
isUnique: columnIsUnique.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "User reference":
|
case "Ссылка на пользователя":
|
||||||
ct = UserRefColumnDefinition(
|
ct = UserRefColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "Asset reference":
|
case "Ссылка на ресурс":
|
||||||
ct = AssetRefColumnDefinition(
|
ct = AssetRefColumnDefinition(
|
||||||
columnName: columnName.value,
|
columnName: columnName.value,
|
||||||
);
|
);
|
||||||
|
|
@ -185,12 +185,12 @@ class CreateTableDialog extends GetView<CreateTableController> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: const Text('Creating new table'),
|
title: const Text("Создать новую таблицу"),
|
||||||
content: Column(
|
content: Column(
|
||||||
children: [
|
children: [
|
||||||
TextField(
|
TextField(
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "Table name",
|
labelText: "Название",
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
),
|
),
|
||||||
onChanged: (value) => controller.tableName = value,
|
onChanged: (value) => controller.tableName = value,
|
||||||
|
|
@ -216,7 +216,7 @@ class CreateTableDialog extends GetView<CreateTableController> {
|
||||||
[
|
[
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () => controller.createNewColumn(),
|
onPressed: () => controller.createNewColumn(),
|
||||||
child: const Text("Create column"),
|
child: const Text("Создать колонку"),
|
||||||
).expanded()
|
).expanded()
|
||||||
].toRow(),
|
].toRow(),
|
||||||
],
|
],
|
||||||
|
|
@ -226,14 +226,14 @@ class CreateTableDialog extends GetView<CreateTableController> {
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Get.back();
|
Get.back();
|
||||||
},
|
},
|
||||||
child: const Text('Close'),
|
child: const Text("Закрыть"),
|
||||||
),
|
),
|
||||||
Obx(
|
Obx(
|
||||||
() => TextButton(
|
() => TextButton(
|
||||||
onPressed: controller.columnsDefinition.isEmpty
|
onPressed: controller.columnsDefinition.isEmpty
|
||||||
? null
|
? null
|
||||||
: () => controller.createTable(),
|
: () => controller.createTable(),
|
||||||
child: const Text('Create'),
|
child: const Text("Создать"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue