Merge pull request #8867 from nixocio/ui_schedules

Wrap functions in useCallback to avoid extra requests

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
softwarefactory-project-zuul[bot] 2020-12-15 22:52:28 +00:00 committed by GitHub
commit a756b4400a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 24 deletions

View File

@ -62,14 +62,19 @@ function InventorySource({ i18n, inventory, setBreadcrumb, me }) {
}
}, [inventory, source, setBreadcrumb]);
const loadSchedules = params =>
InventorySourcesAPI.readSchedules(source?.id, params);
const loadSchedules = useCallback(
params => {
return InventorySourcesAPI.readSchedules(source?.id, params);
},
[source]
);
const createSchedule = data =>
InventorySourcesAPI.createSchedule(source?.id, data);
const loadScheduleOptions = () =>
InventorySourcesAPI.readScheduleOptions(source?.id);
const loadScheduleOptions = useCallback(() => {
return InventorySourcesAPI.readScheduleOptions(source?.id);
}, [source]);
const tabsArray = [
{

View File

@ -69,13 +69,16 @@ function Project({ i18n, setBreadcrumb }) {
return ProjectsAPI.createSchedule(project.id, data);
}
function loadScheduleOptions() {
const loadScheduleOptions = useCallback(() => {
return ProjectsAPI.readScheduleOptions(project.id);
}
}, [project]);
function loadSchedules(params) {
return ProjectsAPI.readSchedules(project.id, params);
}
const loadSchedules = useCallback(
params => {
return ProjectsAPI.readSchedules(project.id, params);
},
[project]
);
const canSeeNotificationsTab = me.is_system_auditor || isNotifAdmin;
const canToggleNotifications = isNotifAdmin;

View File

@ -1,4 +1,4 @@
import React from 'react';
import React, { useCallback } from 'react';
import { Route, Switch } from 'react-router-dom';
import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
@ -9,13 +9,13 @@ import { ScheduleList } from '../../components/Schedule';
import { SchedulesAPI } from '../../api';
function AllSchedules({ i18n }) {
const loadScheduleOptions = () => {
const loadScheduleOptions = useCallback(() => {
return SchedulesAPI.readOptions();
};
}, []);
const loadSchedules = params => {
const loadSchedules = useCallback(params => {
return SchedulesAPI.read(params);
};
}, []);
return (
<>

View File

@ -71,13 +71,16 @@ function Template({ i18n, me, setBreadcrumb }) {
return JobTemplatesAPI.createSchedule(templateId, data);
};
const loadScheduleOptions = () => {
const loadScheduleOptions = useCallback(() => {
return JobTemplatesAPI.readScheduleOptions(templateId);
};
}, [templateId]);
const loadSchedules = params => {
return JobTemplatesAPI.readSchedules(templateId, params);
};
const loadSchedules = useCallback(
params => {
return JobTemplatesAPI.readSchedules(templateId, params);
},
[templateId]
);
const canSeeNotificationsTab = me.is_system_auditor || isNotifAdmin;
const canAddAndEditSurvey =

View File

@ -74,13 +74,16 @@ function WorkflowJobTemplate({ i18n, me, setBreadcrumb }) {
return WorkflowJobTemplatesAPI.createSchedule(templateId, data);
};
const loadScheduleOptions = () => {
const loadScheduleOptions = useCallback(() => {
return WorkflowJobTemplatesAPI.readScheduleOptions(templateId);
};
}, [templateId]);
const loadSchedules = params => {
return WorkflowJobTemplatesAPI.readSchedules(templateId, params);
};
const loadSchedules = useCallback(
params => {
return WorkflowJobTemplatesAPI.readSchedules(templateId, params);
},
[templateId]
);
const canSeeNotificationsTab = me.is_system_auditor || isNotifAdmin;
const canAddAndEditSurvey =