aboutsummaryrefslogtreecommitdiff
path: root/src/components/announcement/announcement.js
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2022-03-17 17:11:53 -0400
committertusooa <tusooa@kazv.moe>2022-11-24 18:27:14 -0500
commit89c49b6fb46e607aee07afd5bc436e8f2f605bfe (patch)
tree264b78477fa6aeaf4776d959dc1f6f39831ef9f5 /src/components/announcement/announcement.js
parent0e51e824a29204bb193e2707d6f65b6caaee719d (diff)
Allow editing announcements
Diffstat (limited to 'src/components/announcement/announcement.js')
-rw-r--r--src/components/announcement/announcement.js31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/components/announcement/announcement.js b/src/components/announcement/announcement.js
index 309eecea..253e2bb2 100644
--- a/src/components/announcement/announcement.js
+++ b/src/components/announcement/announcement.js
@@ -12,8 +12,10 @@ const Announcement = {
newAnnouncement: {
content: '',
startsAt: undefined,
- endsAt: undefined
- }
+ endsAt: undefined,
+ allDay: undefined
+ },
+ editError: ''
}
},
props: {
@@ -58,6 +60,31 @@ const Announcement = {
formatTimeOrDate (time, locale) {
const d = new Date(time)
return this.announcement['all_day'] ? d.toLocaleDateString(locale) : d.toLocaleString(locale)
+ },
+ enterEditMode () {
+ this.newAnnouncement.content = this.announcement.pleroma['raw_content']
+ this.newAnnouncement.startsAt = this.announcement['starts_at']
+ this.newAnnouncement.endsAt = this.announcement['ends_at']
+ this.newAnnouncement.allDay = this.announcement['all_day']
+ this.editing = true
+ },
+ submitEdit () {
+ this.$store.dispatch('editAnnouncement', {
+ id: this.announcement.id,
+ ...this.newAnnouncement
+ })
+ .then(() => {
+ this.editing = false
+ })
+ .catch(error => {
+ this.editError = error.error
+ })
+ },
+ cancelEdit () {
+ this.editing = false
+ },
+ clearError () {
+ this.editError = undefined
}
}
}