Skip to content

Commit

Permalink
nested events date & time
Browse files Browse the repository at this point in the history
  • Loading branch information
dzonidoo committed Oct 17, 2024
1 parent 61c42ed commit fe9a24c
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 4 deletions.
6 changes: 4 additions & 2 deletions client/components/Events/EventDateTime.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';

import {superdeskApi} from '../../superdeskApi';
import {IEventItem} from '../../interfaces';
import {IEventItem, IPlanningListItemProps} from '../../interfaces';

import {eventUtils, timeUtils} from '../../utils';

Expand All @@ -13,6 +13,7 @@ interface IProps {
item: IEventItem;
ignoreAllDay?: boolean;
displayLocalTimezone?: boolean;
planningItem?: IPlanningListItemProps;
}

export class EventDateTime extends React.PureComponent<IProps> {
Expand All @@ -23,6 +24,7 @@ export class EventDateTime extends React.PureComponent<IProps> {
const end = eventUtils.getEndDate(item);
const isAllDay = eventUtils.isEventAllDay(start, end);
const multiDay = !eventUtils.isEventSameDay(start, end);
const showEventStartDate = eventUtils.showEventStartDate(start, this.props.planningItem?.date);
const isRemoteTimeZone = timeUtils.isEventInDifferentTimeZone(item);
const withYear = multiDay && start.year() !== end.year();
const localStart = timeUtils.getLocalDate(start, item.dates.tz);
Expand Down Expand Up @@ -79,7 +81,7 @@ export class EventDateTime extends React.PureComponent<IProps> {
</span>
)}
<DateTime
withDate={multiDay}
withDate={(showEventStartDate || multiDay)}
withYear={withYear}
date={start}
{...commonProps}
Expand Down
5 changes: 3 additions & 2 deletions client/components/Events/EventDateTimeColumn.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as React from 'react';
import moment from 'moment-timezone';

import {IEventItem} from '../../interfaces';
import {IEventItem, IPlanningListItemProps} from '../../interfaces';
import {superdeskApi} from '../../superdeskApi';

import {eventUtils, timeUtils} from '../../utils';
Expand All @@ -13,6 +13,7 @@ import {EventDateTime} from './EventDateTime';
interface IProps {
item: IEventItem;
multiRow?: boolean;
planningItem?: IPlanningListItemProps;
}

export class EventDateTimeColumn extends React.PureComponent<IProps> {
Expand All @@ -23,7 +24,7 @@ export class EventDateTimeColumn extends React.PureComponent<IProps> {
return (
<Column border={false} className="flex-justify--start sd-padding-t--1">
<Row classes="sd-margin--0">
<EventDateTime item={this.props.item} />
<EventDateTime item={this.props.item} planningItem={this.props.planningItem} />
</Row>
</Column>
);
Expand Down
1 change: 1 addition & 0 deletions client/components/Events/EventItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ class EventItemComponent extends React.Component<IProps, IState> {
<EventDateTimeColumn
item={item}
multiRow={listViewType === LIST_VIEW_TYPE.LIST}
planningItem={this.props.planningItem}
/>
{listViewType === LIST_VIEW_TYPE.SCHEDULE ? null : (
<CreatedUpdatedColumn
Expand Down
1 change: 1 addition & 0 deletions client/components/Planning/PlanningItemWithEvents.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ export class PlanningItemWithEvents extends React.Component<IProps, IState> {
{...this.props.getEventProps(event)}
multiSelectDisabled
key={event._id}
planningItem={planningProps}
/>
);
})
Expand Down
1 change: 1 addition & 0 deletions client/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -906,6 +906,7 @@ export interface IAssignmentItem extends IBaseRestApiResponse {

export interface IBaseListItemProps<T> {
item: T;
planningItem?: IPlanningListItemProps;
lockedItems: ILockedItems;
session: ISession;
privileges: {[key: string]: number};
Expand Down
5 changes: 5 additions & 0 deletions client/utils/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ function isEventSameDay(startingDate: IDateTime, endingDate: IDateTime): boolean
return moment(startingDate).format('DD/MM/YYYY') === moment(endingDate).format('DD/MM/YYYY');
}

function showEventStartDate(eventDate: IDateTime, planningDate: IDateTime): boolean {
return moment(eventDate).format('DD/MM/YYYY') != moment(planningDate).format('DD/MM/YYYY');
}

function eventHasPlanning(event: IEventItem): boolean {
return get(event, 'planning_ids', []).length > 0;
}
Expand Down Expand Up @@ -1355,6 +1359,7 @@ const self = {
canConvertToRecurringEvent,
canUpdateEventRepetitions,
isEventSameDay,
showEventStartDate,
isEventRecurring,
getDateStringForEvent,
getEventActions,
Expand Down

0 comments on commit fe9a24c

Please sign in to comment.