diff --git a/src/components/base/BaseButton.vue b/src/components/base/BaseButton.vue index 27377a9..7790cc5 100644 --- a/src/components/base/BaseButton.vue +++ b/src/components/base/BaseButton.vue @@ -1,7 +1,7 @@ @@ -56,7 +56,7 @@ export default { width: 100vw height: 100vh .base-content - padding: 32px + padding: 32px 40px background-color: var(--default-white) box-shadow: 4px 4px 8px rgba(9, 10, 21, 0.1), -4px -4px 8px rgba(9, 10, 21, 0.1) border-radius: 4px @@ -65,7 +65,7 @@ export default { font-weight: 700 font-size: 20px line-height: 23px - + color: var(--font-dark-blue-color) .base-header display: flex justify-content: space-between diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue index 84dc39a..198af2b 100644 --- a/src/pages/calendar/TheCalendar.vue +++ b/src/pages/calendar/TheCalendar.vue @@ -21,17 +21,27 @@ @open-change-form="openFormCreateEvent" @reset-change-form="resetChangeFormState" @selected-event="writeEventData" + @delete-event="openModal" ) calendar-form-add-event( - v-if="isOpenForm" - :close-form="closeFormCreateEvent" - :owners-data="employeesData" - :members-data="membersData" - :selected-event-data="selectedEvent" + v-if="isOpenForm" + :close-form="closeFormCreateEvent" + :owners-data="employeesData" + :members-data="membersData" + :selected-event-data="selectedEvent" + :event-types="eventTypes" + @clear-selected-event-data="clearSelectedEvent" + @update-events="fetchEventsData" + @close-change-form="setChangeFormState" + ) + base-modal( + v-model="showModal" + title="Удаление события" + ) + calendar-delete-modal( :event-types="eventTypes" - @clear-selected-event-data="clearSelectedEvent" - @update-events="fetchEventsData" - @close-change-form="setChangeFormState" + :owner-event="selectedEvent" + :close-modal="changeShowModal" ) @@ -41,12 +51,16 @@ import * as moment from "moment/moment"; import CalendarSchedule from "./components/CalendarSchedule.vue"; import CalendarSidebar from "./components/CalendarSidebar.vue"; import CalendarFormAddEvent from "./components/CalendarFormAddEvent.vue"; +import BaseModal from "@/components/base/BaseModal.vue"; +import CalendarDeleteModal from "./components/CalendarDeleteModal.vue"; export default { name: "TheCalendar", components: { CalendarSchedule, CalendarSidebar, CalendarFormAddEvent, + BaseModal, + CalendarDeleteModal, }, data() { return { @@ -54,6 +68,7 @@ export default { calendarLayout: "", currentDate: moment(), selectedEvent: {}, + showModal: false, timeInformation: { dayStartTime: "08:00", dayEndTime: "20:00", @@ -100,7 +115,7 @@ export default { }, fetchEventsData() { fetchWrapper - .get("registry/event/") + .get("registry/event/?limit=20") .then((res) => this.saveEventsData(res)); }, changeWidth(value) { @@ -125,6 +140,21 @@ export default { clearSelectedEvent() { this.selectedEvent = {}; }, + openModal(eventData) { + this.selectedEvent = eventData; + this.showModal = true; + }, + changeShowModal() { + this.showModal = false; + }, + }, + watch: { + showModal: function () { + if (this.showModal === false) { + this.setChangeFormState(); + this.clearSelectedEvent(); + } + }, }, mounted() { this.fetchPersonsData(); diff --git a/src/pages/calendar/components/CalendarColumn.vue b/src/pages/calendar/components/CalendarColumn.vue index 155c535..443403e 100644 --- a/src/pages/calendar/components/CalendarColumn.vue +++ b/src/pages/calendar/components/CalendarColumn.vue @@ -23,6 +23,7 @@ :change-form-was-closed="changeFormWasClosed" @selected-event="transmitEventData" @reset-change-form="transmitResetChangeForm" + @delete-event="transmitDeleteEvent" ) @@ -96,6 +97,9 @@ export default { transmitResetChangeForm() { this.$emit("reset-change-form"); }, + transmitDeleteEvent(eventData) { + this.$emit("delete-event", eventData); + }, }, }; diff --git a/src/pages/calendar/components/CalendarDeleteModal.vue b/src/pages/calendar/components/CalendarDeleteModal.vue new file mode 100644 index 0000000..d76f756 --- /dev/null +++ b/src/pages/calendar/components/CalendarDeleteModal.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/pages/calendar/components/CalendarEventCard.vue b/src/pages/calendar/components/CalendarEventCard.vue index 118cc5b..1a94c39 100644 --- a/src/pages/calendar/components/CalendarEventCard.vue +++ b/src/pages/calendar/components/CalendarEventCard.vue @@ -25,11 +25,9 @@ :style="descriptionCardPosition" :owner-event="ownerEvent" :event-types="eventTypes" - :event-time="eventTime" - :event-member="eventMember" - :description="description" @selected-event="transmitEventData" @close-description-card="closeDescriptionCard" + @delete-event="transmitDeleteEvent" ) @@ -210,6 +208,9 @@ export default { this.$emit("selected-event", this.ownerEvent); this.hideDescriptionCard(); }, + transmitDeleteEvent() { + this.$emit("delete-event", this.ownerEvent); + }, hideDescriptionCard() { this.isOpenDescriptionCard = false; }, diff --git a/src/pages/calendar/components/CalendarEventDescriptionCard.vue b/src/pages/calendar/components/CalendarEventDescriptionCard.vue index 5c33990..8914def 100644 --- a/src/pages/calendar/components/CalendarEventDescriptionCard.vue +++ b/src/pages/calendar/components/CalendarEventDescriptionCard.vue @@ -1,20 +1,21 @@