feat: add preRenderTransform to parse avatar url and add reference field

pull/90/head
moonrailgun 2 years ago
parent 7f08f5408c
commit 1ae5770603

@ -25,7 +25,7 @@
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"tailchat-server-sdk": "workspace:^", "tailchat-server-sdk": "workspace:^",
"tushan": "^0.2.10", "tushan": "^0.2.11",
"vite-express": "0.8.0" "vite-express": "0.8.0"
}, },
"devDependencies": { "devDependencies": {

@ -8,8 +8,10 @@ import {
createUrlField, createUrlField,
emailValidator, emailValidator,
createNumberField, createNumberField,
createReferenceField,
} from 'tushan'; } from 'tushan';
import { createFileSizeField } from './components/field/filesize'; import { createFileSizeField } from './components/field/filesize';
import { parseUrlStr } from './utils';
export const userFields = [ export const userFields = [
createTextField('id', { createTextField('id', {
@ -43,7 +45,9 @@ export const userFields = [
}, },
}), }),
createBooleanField('temporary'), createBooleanField('temporary'),
createAvatarField('avatar'), createAvatarField('avatar', {
preRenderTransform: parseUrlStr,
}),
createJSONField('settings', { createJSONField('settings', {
list: { list: {
width: 200, width: 200,
@ -60,8 +64,20 @@ export const userFields = [
export const messageFields = [ export const messageFields = [
createTextField('id'), createTextField('id'),
createTextField('content'), createTextField('content'),
createTextField('author'), createReferenceField('author', {
createTextField('groupId'), reference: 'users',
displayField: 'nickname',
list: {
width: 80,
},
}),
createReferenceField('groupId', {
reference: 'groups',
displayField: 'name',
list: {
width: 80,
},
}),
createTextField('converseId'), createTextField('converseId'),
createBooleanField('hasRecall'), createBooleanField('hasRecall'),
createJSONField('reactions'), createJSONField('reactions'),
@ -76,7 +92,13 @@ export const messageFields = [
export const groupFields = [ export const groupFields = [
createTextField('id'), createTextField('id'),
createTextField('name'), createTextField('name'),
createTextField('owner'), createReferenceField('owner', {
reference: 'users',
displayField: 'nickname',
list: {
width: 80,
},
}),
createTextField('members.length', { createTextField('members.length', {
edit: { edit: {
hidden: true, hidden: true,

Loading…
Cancel
Save