mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
bug solve
This commit is contained in:
@@ -611,6 +611,19 @@ export class AgendaPage implements OnInit {
|
||||
delete this.loadRequest[index]
|
||||
}
|
||||
|
||||
|
||||
removeDuplicatesByOwnerUserId = (array) => {
|
||||
const seen = new Set();
|
||||
return array.filter(item => {
|
||||
if (seen.has(item.OwnerUserId)) {
|
||||
return false;
|
||||
} else {
|
||||
seen.add(item.OwnerUserId);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
async loadRangeEventRun(startTime: Date, endTime: Date) {
|
||||
|
||||
if (SessionStore.user.OwnerCalendars.length == 0 && SessionStore.user.SharedCalendars.length == 0) {
|
||||
@@ -632,8 +645,9 @@ export class AgendaPage implements OnInit {
|
||||
this.myCal.loadEvents();
|
||||
} catch (error) {}
|
||||
|
||||
|
||||
let load = 0;
|
||||
for (const selectedCalendar of selectedCalendarIds) {
|
||||
for (const selectedCalendar of this.removeDuplicatesByOwnerUserId(selectedCalendarIds)) {
|
||||
|
||||
const response = await this.AgendaDataRepositoryService.EventList({userId: selectedCalendar.OwnerUserId, calendarOwnerName: selectedCalendar['FullName'] })
|
||||
|
||||
@@ -654,6 +668,7 @@ export class AgendaPage implements OnInit {
|
||||
this.CalendarStore.pushEvent(eventsList, label, selectedCalendar.OwnerUserId);
|
||||
|
||||
this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds)
|
||||
// console.log('this.listToPresent', this.listToPresent)
|
||||
this.showTimelinePR = true;
|
||||
|
||||
load++
|
||||
|
||||
@@ -186,7 +186,7 @@ export class ViewEventPage implements OnInit {
|
||||
}
|
||||
|
||||
setTimeZone() {
|
||||
this.TimeZoneString = this.loadedEvent.TimeZone.split(')')[1]
|
||||
this.TimeZoneString = this.loadedEvent.TimeZone
|
||||
}
|
||||
|
||||
async loadEvent() {
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
import { EventOutputDTO } from "../model/eventDTOOutput"
|
||||
|
||||
function getTextInsideParentheses(inputString) {
|
||||
var startIndex = inputString.indexOf('(');
|
||||
var endIndex = inputString.indexOf(')');
|
||||
if (startIndex !== -1 && endIndex !== -1) {
|
||||
return inputString.substring(startIndex + 1, endIndex);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export class EventMapper {
|
||||
|
||||
constructor() {}
|
||||
@@ -36,7 +46,7 @@ export class EventMapper {
|
||||
"IsRecurring": dto.isRecurring,
|
||||
"IsAllDayEvent": dto.isAllDayEvent,
|
||||
"AppointmentState": 1,
|
||||
"TimeZone": "UTC",
|
||||
"TimeZone": getTextInsideParentheses(new Date(dto.startDate)+ ''),
|
||||
"Organizer": {
|
||||
"Id": dto.organizer.wxUserId,
|
||||
"EmailAddress": dto.organizer.wxeMail,
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
import { EventToApproveDetails } from "src/app/models/entiry/agenda/eventToApproveDetails"
|
||||
import { EventOutputDTO } from "../model/eventDTOOutput"
|
||||
|
||||
function getTextInsideParentheses(inputString) {
|
||||
var startIndex = inputString.indexOf('(');
|
||||
var endIndex = inputString.indexOf(')');
|
||||
if (startIndex !== -1 && endIndex !== -1) {
|
||||
return inputString.substring(startIndex + 1, endIndex);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export class EventToApproveDetailsMapper {
|
||||
|
||||
constructor() {}
|
||||
@@ -63,7 +74,7 @@ export class EventToApproveDetailsMapper {
|
||||
// "MDEmail": "evilarinho@gabinetedigital.local",
|
||||
// "OriginatorComments": "",
|
||||
"Status": "Active",
|
||||
//"TimeZone": "",
|
||||
"TimeZone": getTextInsideParentheses(new Date(dto.startDate)+ ''),
|
||||
"Agenda": category ,
|
||||
"EventType": "Reunião",
|
||||
//"EventID": "",
|
||||
|
||||
@@ -47,7 +47,7 @@ export class EventListToApproveMapper {
|
||||
Agenda: dto.category,
|
||||
EndDate: dto.endDate,
|
||||
StartDate: dto.startDate,
|
||||
Subject: dto.body,
|
||||
Subject: dto.subject,
|
||||
Location: dto.location,
|
||||
Status: dto.status,
|
||||
IsAllDayEvent: dto.isAllDayEvent,
|
||||
|
||||
@@ -18,7 +18,7 @@ const CommentSchema = z.object({
|
||||
const AttendeeSchema = z.object({
|
||||
id: z.string(),
|
||||
name: z.string(),
|
||||
attendeeType: EAttendeeTypeDTO,
|
||||
attendeeType: z.enum(["Required", "Acknowledgment", "Optional"]),
|
||||
emailAddress: z.string(),
|
||||
wxUserId: z.number(),
|
||||
});
|
||||
|
||||
@@ -75,6 +75,8 @@ export class ListBoxService {
|
||||
// daysObject[day] = object[day]
|
||||
// }
|
||||
|
||||
console.log('newStracture', newStracture)
|
||||
|
||||
return this.display(newStracture, selectedDate).year
|
||||
|
||||
// const daysStringNum = Object.keys(daysObject)
|
||||
@@ -116,7 +118,6 @@ export class ListBoxService {
|
||||
event['manyDays'] = !this.dateService.isSameDate(event.start, event.end)
|
||||
event['todayOnly'] = this.dateService.isSameDate(event.start, event.end)
|
||||
|
||||
|
||||
if(!days.hasOwnProperty(day)) {
|
||||
days[day] = []
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { HttpClient, HttpErrorResponse, HttpHeaderResponse, HttpHeaders } from '@angular/common/http';
|
||||
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { ok, err } from 'neverthrow';
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { ok, err, Result } from 'neverthrow';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -10,21 +9,43 @@ export class HttpService {
|
||||
|
||||
constructor(private http:HttpClient) { }
|
||||
|
||||
async post(serviceName:string, data:any) {
|
||||
const headers = new HttpHeaders();
|
||||
const url = environment.apiChatUrl+serviceName;
|
||||
async post<T>(url: string, body: any): Promise<Result<T, HttpErrorResponse>> {
|
||||
|
||||
try {
|
||||
const result = await this.http.post(url, {}).toPromise()
|
||||
return ok (result)
|
||||
const result = await this.http.post(url, body).toPromise()
|
||||
return ok (result as T)
|
||||
} catch (e) {
|
||||
return err(e as HttpErrorResponse)
|
||||
}
|
||||
}
|
||||
|
||||
async get(serviceName:string, options:any) {
|
||||
const url = environment.apiChatUrl+serviceName;
|
||||
return this.http.get(url, options);
|
||||
async get<T>(url: string): Promise<Result<T, HttpErrorResponse>> {
|
||||
try {
|
||||
const result = await this.http.get<T>(url).toPromise()
|
||||
return ok (result as T)
|
||||
} catch (e) {
|
||||
return err(e as HttpErrorResponse)
|
||||
}
|
||||
}
|
||||
|
||||
async put<T>(url: string, body: any): Promise<Result<T, HttpErrorResponse>> {
|
||||
|
||||
try {
|
||||
const result = await this.http.put<T>(url, body).toPromise()
|
||||
return ok (result as T)
|
||||
} catch (e) {
|
||||
return err(e as HttpErrorResponse)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async delete<T>(url: string): Promise<Result<T, HttpErrorResponse>> {
|
||||
|
||||
try {
|
||||
const result = await this.http.delete<T>(url).toPromise()
|
||||
return ok (result as T)
|
||||
} catch (e) {
|
||||
return err(e as HttpErrorResponse)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -345,7 +345,7 @@
|
||||
<ion-item class="width-100">
|
||||
<ion-label class="width-100">
|
||||
<p class="d-flex ion-justify-content-between">
|
||||
<span class="attach-title-item">{{document.subject}}</span>
|
||||
<span class="attach-title-item">{{document.subject || document.sourceName || document.SourceName || 'Sem título'}}</span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == '8'"> Correspondencia </span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == '386'"> AccoesPresidenciais </span>
|
||||
<span class="app-name" *ngIf="document.ApplicationId == '361' "> ArquivoDespachoElect </span>
|
||||
|
||||
@@ -114,6 +114,7 @@ export class EditEventPage implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.postEvent.Category = 'Reunião';
|
||||
console.log(this.postEvent)
|
||||
this._postEvent = this.postEvent
|
||||
this.allDayCheck = this.postEvent.IsAllDayEvent;
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
class="ion-no-margin ion-no-padding pa-0">
|
||||
<ion-label class="width-100 d-flex align-center">
|
||||
<p class="flex-grow-1 cursor-pointer" (click)="docIndex(i);LoadDocumentDetails()">
|
||||
<span class="attach-title-item d-block">{{attach.subject || 'Sem título'}}</span>
|
||||
<span class="attach-title-item d-block">{{attach.subject || attach.sourceName || attach.SourceName || 'Sem título'}}</span>
|
||||
<span class="span-left d-block">{{attach.Stakeholders}}</span>
|
||||
</p>
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ export class ViewEventPage implements OnInit {
|
||||
|
||||
|
||||
setTimeZone() {
|
||||
this.TimeZoneString = this.loadedEvent.TimeZone.split(')')[1]
|
||||
this.TimeZoneString = this.loadedEvent.TimeZone
|
||||
}
|
||||
async loadEvent() {
|
||||
|
||||
|
||||
@@ -63,9 +63,10 @@ export class CalendarService {
|
||||
}
|
||||
|
||||
removeRangeForCalendar(rangeStartDate, rangeEndDate, profile, calendarId) {
|
||||
|
||||
this._eventSource = this._eventSource.filter((e)=> {
|
||||
if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() &&
|
||||
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId == calendarId) {
|
||||
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId != calendarId) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
@@ -77,16 +78,23 @@ export class CalendarService {
|
||||
let news = []
|
||||
eventsList.forEach((element, eventIndex) => {
|
||||
|
||||
news.push({
|
||||
startTime: new Date(element.StartDate),
|
||||
endTime: new Date(element.EndDate),
|
||||
allDay: false,
|
||||
event: element,
|
||||
calendarName: element.CalendarName,
|
||||
profile: profile,
|
||||
id: element.EventId,
|
||||
CalendarId: CalendarId
|
||||
});
|
||||
const found = this._eventSource.find( e => e.id == element.EventId)
|
||||
|
||||
if(!found) {
|
||||
news.push({
|
||||
startTime: new Date(element.StartDate),
|
||||
endTime: new Date(element.EndDate),
|
||||
allDay: false,
|
||||
event: element,
|
||||
calendarName: element.CalendarName,
|
||||
profile: profile,
|
||||
id: element.EventId,
|
||||
CalendarId: CalendarId
|
||||
});
|
||||
} else {
|
||||
console.log('found')
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user