Skip to content

Commit cbe83f5

Browse files
committed
(chore) convert props to string
1 parent 6e63271 commit cbe83f5

File tree

2 files changed

+21
-25
lines changed

2 files changed

+21
-25
lines changed

demo/src/ChatContainer.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@
3333
ref="chatWindow"
3434
:height="screenHeight"
3535
:theme="theme"
36-
:styles="styles"
36+
:styles="JSON.stringify(styles)"
3737
:current-user-id="currentUserId"
3838
:room-id="roomId"
39-
:rooms="loadedRooms"
39+
:rooms="JSON.stringify(loadedRooms)"
4040
:loading-rooms="loadingRooms"
4141
:rooms-loaded="roomsLoaded"
42-
:messages="messages"
42+
:messages="JSON.stringify(messages)"
4343
:messages-loaded="messagesLoaded"
4444
:room-message="roomMessage"
45-
.room-actions="roomActions"
46-
.menu-actions="menuActions"
47-
.message-selection-actions="messageSelectionActions"
48-
.templates-text="templatesText"
45+
:room-actions="JSON.stringify(roomActions)"
46+
:menu-actions="JSON.stringify(menuActions)"
47+
:message-selection-actions="JSON.stringify(messageSelectionActions)"
48+
:templates-text="JSON.stringify(templatesText)"
4949
@fetch-more-rooms="fetchMoreRooms"
5050
@fetch-messages="fetchMessages($event.detail[0])"
5151
@send-message="sendMessage($event.detail[0])"

src/lib/ChatWindow.vue

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -127,30 +127,30 @@ export default {
127127
responsiveBreakpoint: { type: Number, default: 900 },
128128
singleRoom: { type: [Boolean, String], default: false },
129129
roomsListOpened: { type: [Boolean, String], default: true },
130-
textMessages: { type: [Object, String], default: null },
130+
textMessages: { type: [Object, String], default: () => ({}) },
131131
currentUserId: { type: String, default: '' },
132-
rooms: { type: [Array, String], default: null },
132+
rooms: { type: [Array, String], default: () => [] },
133133
roomsOrder: { type: String, default: 'desc' },
134134
loadingRooms: { type: [Boolean, String], default: false },
135135
roomsLoaded: { type: [Boolean, String], default: false },
136136
roomId: { type: String, default: null },
137137
loadFirstRoom: { type: [Boolean, String], default: true },
138-
messages: { type: [Array, String], default: null },
138+
messages: { type: [Array, String], default: () => [] },
139139
messagesLoaded: { type: [Boolean, String], default: false },
140-
roomActions: { type: Array, default: () => [] },
141-
menuActions: { type: Array, default: () => [] },
140+
roomActions: { type: [Array, String], default: () => [] },
141+
menuActions: { type: [Array, String], default: () => [] },
142142
messageActions: {
143-
type: Array,
143+
type: [Array, String],
144144
default: () => [
145145
{ name: 'replyMessage', title: 'Reply' },
146146
{ name: 'editMessage', title: 'Edit Message', onlyMe: true },
147147
{ name: 'deleteMessage', title: 'Delete Message', onlyMe: true },
148148
{ name: 'selectMessages', title: 'Select' }
149149
]
150150
},
151-
messageSelectionActions: { type: Array, default: () => [] },
151+
messageSelectionActions: { type: [Array, String], default: () => [] },
152152
autoScroll: {
153-
type: Object,
153+
type: [Object, String],
154154
default: () => {
155155
return {
156156
send: {
@@ -176,7 +176,7 @@ export default {
176176
showNewMessagesDivider: { type: [Boolean, String], default: true },
177177
showFooter: { type: [Boolean, String], default: true },
178178
textFormatting: {
179-
type: Object,
179+
type: [Object, String],
180180
default: () => ({
181181
disabled: false,
182182
italic: '_',
@@ -188,7 +188,7 @@ export default {
188188
})
189189
},
190190
linkOptions: {
191-
type: Object,
191+
type: [Object, String],
192192
default: () => ({ disabled: false, target: '_blank', rel: null })
193193
},
194194
roomInfoEnabled: { type: [Boolean, String], default: false },
@@ -199,10 +199,10 @@ export default {
199199
roomMessage: { type: String, default: '' },
200200
scrollDistance: { type: Number, default: 60 },
201201
acceptedFiles: { type: String, default: '*' },
202-
templatesText: { type: [Array, String], default: null },
202+
templatesText: { type: [Array, String], default: () => [] },
203203
mediaPreviewEnabled: { type: [Boolean, String], default: true },
204204
usernameOptions: {
205-
type: Object,
205+
type: [Object, String],
206206
default: () => ({ minUsers: 3, currentUser: false })
207207
}
208208
},
@@ -456,14 +456,10 @@ export default {
456456
return val === 'true' || val === true
457457
},
458458
castArray(val) {
459-
return !val ? null : Array.isArray(val) ? val : JSON.parse(val)
459+
return !val ? [] : Array.isArray(val) ? val : JSON.parse(val)
460460
},
461461
castObject(val) {
462-
return !val
463-
? null
464-
: typeof yourVariable === 'object'
465-
? val
466-
: JSON.parse(val)
462+
return !val ? {} : typeof val === 'object' ? val : JSON.parse(val)
467463
},
468464
updateResponsive() {
469465
this.isMobile = window.innerWidth < Number(this.responsiveBreakpoint)

0 commit comments

Comments
 (0)