%PDF- %PDF-
Direktori : /var/www/html/higroup/wp-content/plugins/event-tickets/src/modules/data/blocks/rsvp/ |
Current File : /var/www/html/higroup/wp-content/plugins/event-tickets/src/modules/data/blocks/rsvp/selectors.js |
/** * External dependencies */ import { createSelector } from 'reselect'; /** * ------------------------------------------------------------ * RSVP State * ------------------------------------------------------------ */ export const getRSVPBlock = ( state ) => state.tickets.blocks.rsvp; export const getRSVPId = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.id, ); export const getRSVPCreated = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.created, ); export const getRSVPSettingsOpen = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.settingsOpen, ); export const getRSVPHasChanges = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.hasChanges, ); export const getRSVPIsLoading = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.isLoading, ); export const getRSVPIsSettingsLoading = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.isSettingsLoading, ); export const getRSVPIsModalOpen = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.isModalOpen, ); export const getRSVPGoingCount = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.goingCount, ); export const getRSVPNotGoingCount = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.notGoingCount, ); export const getRSVPHasAttendeeInfoFields = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.hasAttendeeInfoFields, ); export const getRSVPHasDurationError = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.hasDurationError, ); /** * ------------------------------------------------------------ * RSVP Details * ------------------------------------------------------------ */ export const getRSVPDetails = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.details, ); export const getRSVPTitle = createSelector( [ getRSVPDetails ], ( details ) => details.title, ); export const getRSVPDescription = createSelector( [ getRSVPDetails ], ( details ) => details.description, ); export const getRSVPCapacity = createSelector( [ getRSVPDetails ], ( details ) => details.capacity, ); export const getRSVPAvailable = createSelector( [ getRSVPCapacity, getRSVPGoingCount ], ( capacity, goingCount ) => { if ( capacity === '' ) { return -1; } const total = parseInt( capacity, 10 ) || 0; const going = parseInt( goingCount, 10 ) || 0; /** * Prevent to have negative values when subtracting the going amount from total amount, so it takes the max value * of the substraction operation or zero if the operation is lower than zero it will return zero insted. */ return Math.max( total - going, 0 ); } ); export const getRSVPNotGoingResponses = createSelector( [ getRSVPDetails ], ( details ) => details.notGoingResponses, ); export const getRSVPStartDate = createSelector( [ getRSVPDetails ], ( details ) => details.startDate, ); export const getRSVPStartDateInput = createSelector( [ getRSVPDetails ], ( details ) => details.startDateInput, ); export const getRSVPStartDateMoment = createSelector( [ getRSVPDetails ], ( details ) => details.startDateMoment, ); export const getRSVPStartTime = createSelector( [ getRSVPDetails ], ( details ) => details.startTime, ); export const getRSVPStartTimeNoSeconds = createSelector( [ getRSVPStartTime ], ( startTime ) => startTime.slice( 0, -3 ), ); export const getRSVPEndDate = createSelector( [ getRSVPDetails ], ( details ) => details.endDate, ); export const getRSVPEndDateInput = createSelector( [ getRSVPDetails ], ( details ) => details.endDateInput, ); export const getRSVPEndDateMoment = createSelector( [ getRSVPDetails ], ( details ) => details.endDateMoment, ); export const getRSVPEndTime = createSelector( [ getRSVPDetails ], ( details ) => details.endTime, ); export const getRSVPEndTimeNoSeconds = createSelector( [ getRSVPEndTime ], ( endTime ) => endTime.slice( 0, -3 ), ); export const getRSVPStartTimeInput = createSelector( [ getRSVPDetails ], ( details ) => details.startTimeInput, ); export const getRSVPEndTimeInput = createSelector( [ getRSVPDetails ], ( details ) => details.endTimeInput, ); /** * ------------------------------------------------------------ * RSVP Temp Details * ------------------------------------------------------------ */ export const getRSVPTempDetails = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.tempDetails, ); export const getRSVPTempTitle = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.title, ); export const getRSVPTempDescription = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.description, ); export const getRSVPTempCapacity = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.capacity, ); export const getRSVPTempNotGoingResponses = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.notGoingResponses, ); export const getRSVPTempStartDate = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.startDate, ); export const getRSVPTempStartDateInput = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.startDateInput, ); export const getRSVPTempStartDateMoment = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.startDateMoment, ); export const getRSVPTempStartTime = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.startTime, ); export const getRSVPTempStartTimeNoSeconds = createSelector( [ getRSVPTempStartTime ], ( startTime ) => startTime.slice( 0, -3 ), ); export const getRSVPTempEndDate = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.endDate, ); export const getRSVPTempEndDateInput = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.endDateInput, ); export const getRSVPTempEndDateMoment = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.endDateMoment, ); export const getRSVPTempEndTime = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.endTime, ); export const getRSVPTempEndTimeNoSeconds = createSelector( [ getRSVPTempEndTime ], ( endTime ) => endTime.slice( 0, -3 ), ); export const getRSVPTempStartTimeInput = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.startTimeInput, ); export const getRSVPTempEndTimeInput = createSelector( [ getRSVPTempDetails ], ( tempDetails ) => tempDetails.endTimeInput, ); /** * ------------------------------------------------------------ * RSVP Header Image * ------------------------------------------------------------ */ export const getRSVPHeaderImage = createSelector( [ getRSVPBlock ], ( rsvp ) => rsvp.headerImage, ); export const getRSVPHeaderImageId = createSelector( [ getRSVPHeaderImage ], ( headerImage ) => headerImage.id, ); export const getRSVPHeaderImageSrc = createSelector( [ getRSVPHeaderImage ], ( headerImage ) => headerImage.src, ); export const getRSVPHeaderImageAlt = createSelector( [ getRSVPHeaderImage ], ( headerImage ) => headerImage.alt, );