Skip to content

Commit e296fe7

Browse files
committed
Merge branch 'next' of github.com:devforth/adminforth into next
2 parents 7740a92 + 0bf7b3a commit e296fe7

File tree

6 files changed

+16
-11
lines changed

6 files changed

+16
-11
lines changed

adminforth/dataConnectors/clickhouse.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ class ClickhouseConnector extends AdminForthBaseConnector implements IAdminForth
107107
}
108108
return dayjs(value).toISOString().split('T')[0];
109109
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
110-
return !!value;
110+
return value === null ? null : !!value;
111111
} else if (field.type == AdminForthDataTypes.JSON) {
112112
if (field._underlineType.startsWith('String') || field._underlineType.startsWith('FixedString')) {
113113
try {
@@ -138,7 +138,7 @@ class ClickhouseConnector extends AdminForthBaseConnector implements IAdminForth
138138
return iso;
139139
}
140140
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
141-
return value ? 1 : 0;
141+
return value === null ? null : (value ? 1 : 0);
142142
} else if (field.type == AdminForthDataTypes.JSON) {
143143
// check underline type is text or string
144144
if (field._underlineType.startsWith('String') || field._underlineType.startsWith('FixedString')) {

adminforth/dataConnectors/mongo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class MongoConnector extends AdminForthBaseConnector implements IAdminForthDataS
8686
return dayjs(Date.parse(value)).toISOString().split('T')[0];
8787

8888
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
89-
return !!value;
89+
return value === null ? null : !!value;
9090
} else if (field.type == AdminForthDataTypes.DECIMAL) {
9191
return value?.toString();
9292
}
@@ -108,7 +108,7 @@ class MongoConnector extends AdminForthBaseConnector implements IAdminForthDataS
108108
return dayjs(value).toISOString();
109109
}
110110
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
111-
return value ? true : false;
111+
return value === null ? null : (value ? true : false);
112112
} else if (field.type == AdminForthDataTypes.DECIMAL) {
113113
return Decimal128.fromString(value?.toString());
114114
}

adminforth/dataConnectors/mysql.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class MysqlConnector extends AdminForthBaseConnector implements IAdminForthDataS
130130
} else if (field.type == AdminForthDataTypes.TIME) {
131131
return value || null;
132132
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
133-
return !!value;
133+
return value === null ? null : !!value;
134134
} else if (field.type == AdminForthDataTypes.JSON) {
135135
if (typeof value === 'string') {
136136
try {
@@ -158,7 +158,7 @@ class MysqlConnector extends AdminForthBaseConnector implements IAdminForthDataS
158158
}
159159
return dayjs(value).format('YYYY-MM-DD HH:mm:ss');
160160
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
161-
return value ? 1 : 0;
161+
return value === null ? null : (value ? 1 : 0);
162162
} else if (field.type == AdminForthDataTypes.JSON) {
163163
if (field._underlineType === 'json') {
164164
return value;

adminforth/dataConnectors/postgres.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ class PostgresConnector extends AdminForthBaseConnector implements IAdminForthDa
157157
return dayjs(value).toISOString().split('T')[0];
158158
}
159159

160+
if (field.type == AdminForthDataTypes.BOOLEAN) {
161+
return value === null ? null : !!value;
162+
}
163+
160164
if (field.type == AdminForthDataTypes.JSON) {
161165
if (typeof value == 'string') {
162166
try {
@@ -188,7 +192,7 @@ class PostgresConnector extends AdminForthBaseConnector implements IAdminForthDa
188192
return dayjs(value).toISOString();
189193
}
190194
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
191-
return value ? 1 : 0;
195+
return value === null ? null : (value ? 1 : 0);
192196
} else if (field.type == AdminForthDataTypes.JSON) {
193197
if (field._underlineType == 'json') {
194198
return value;

adminforth/dataConnectors/sqlite.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
8181
return dayjs(value).toISOString().split('T')[0];
8282

8383
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
84-
return !!value;
84+
return value === null ? null : !!value;
8585
} else if (field.type == AdminForthDataTypes.JSON) {
8686
if (field._underlineType == 'text' || field._underlineType == 'varchar') {
8787
try {
@@ -112,7 +112,7 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
112112
return value;
113113
}
114114
} else if (field.type == AdminForthDataTypes.BOOLEAN) {
115-
return value ? 1 : 0;
115+
return value === null ? null : (value ? 1 : 0);
116116
} else if (field.type == AdminForthDataTypes.JSON) {
117117
// check underline type is text or string
118118
if (field._underlineType == 'text' || field._underlineType == 'varchar') {

adminforth/spa/src/components/ValueRenderer.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
</span>
2828

2929
<span v-else-if="column.type === 'boolean'">
30-
<span v-if="record[column.name]" class="bg-green-100 text-green-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-green-400 border border-green-400">{{ $t('Yes') }}</span>
31-
<span v-else class="bg-red-100 text-red-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-red-400 border border-red-400">{{ $t('No') }}</span>
30+
<span v-if="record[column.name] === true" class="bg-green-100 text-green-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-green-400 border border-green-400">{{ $t('Yes') }}</span>
31+
<span v-else-if="record[column.name] === false" class="bg-red-100 text-red-800gg text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-red-400 border border-red-400">{{ $t('No') }}</span>
32+
<span v-else class="bg-gray-100 text-gray-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-gray-700 dark:text-gray-400 border border-gray-400">{{ $t('Unset') }}</span>
3233
</span>
3334
<span
3435
v-else-if="column.type === 'json' && column.isArray?.enabled"

0 commit comments

Comments
 (0)