diff --git a/src/assets/scss/components/misc.scss b/src/assets/scss/components/misc.scss
index 2aad9b4..ca53588 100644
--- a/src/assets/scss/components/misc.scss
+++ b/src/assets/scss/components/misc.scss
@@ -8,10 +8,15 @@
.p-badge {
color: var(--menuitem-active-color);
}
-.p-button:not(.p-button-outlined, .p-button-secondary, .p-confirm-popup-reject, .p-button-link),
-.p-button:not(.p-button-outlined, .p-button-secondary, .p-confirm-popup-reject, .p-button-link) span {
+.p-button:not(.p-button-outlined, .p-button-secondary, .p-confirm-popup-reject, .p-button-link, .p-column-filter-add-button, .p-column-filter-remove-button),
+.p-button:not(.p-button-outlined, .p-button-secondary, .p-confirm-popup-reject, .p-button-link, .p-column-filter-add-button, .p-column-filter-remove-button) span {
color: var(--menuitem-active-color);
}
+.p-column-filter-remove-button {
+ span {
+ margin: 0 5px;
+ }
+}
.p-fileupload-row {
.p-button-danger {
background-color: #f44336;
diff --git a/src/components/UnsavedChangesDetector/index.js b/src/components/UnsavedChangesDetector/index.js
index fefef9d..53102cb 100644
--- a/src/components/UnsavedChangesDetector/index.js
+++ b/src/components/UnsavedChangesDetector/index.js
@@ -9,6 +9,7 @@ import { is, isNil } from 'ramda';
// store
import { storeGet } from '../../store';
+import formatDateString from '../../helpers/formatDateString';
const UnsavedChangesDetector = ({ getValuesFn }) => {
const warnIfUnsavedChanges = (event) => {
@@ -16,16 +17,15 @@ const UnsavedChangesDetector = ({ getValuesFn }) => {
formData.dates = [];
if (formData.startDate) {
- let starDate;
+ let startDate;
if (is(String, formData.startDate)) {
- starDate = formData.startDate;
+ startDate = formData.startDate;
} else {
- const tzAwareDate = new TZDate(formData.startDate, 'Europe/Berlin');
- starDate = tzAwareDate.toISOString().substring(0, 19);
+ startDate = formatDateString(formData.startDate);
}
- formData = wrap(formData).insert(['dates'], starDate, 0).value();
+ formData = wrap(formData).insert(['dates'], startDate, 0).value();
delete formData.startDate;
}
if (formData.endDate) {
@@ -34,8 +34,7 @@ const UnsavedChangesDetector = ({ getValuesFn }) => {
if (is(String, formData.endDate)) {
endDate = formData.endDate;
} else {
- const tzAwareDate = new TZDate(formData.endDate, 'Europe/Berlin');
- endDate = tzAwareDate.toISOString().substring(0, 19);
+ endDate = formatDateString(formData.endDate);
}
formData = wrap(formData).insert(['dates'], endDate, 1).value();
diff --git a/src/helpers/createUTCDate.js b/src/helpers/createUTCDate.js
new file mode 100644
index 0000000..0609380
--- /dev/null
+++ b/src/helpers/createUTCDate.js
@@ -0,0 +1,18 @@
+/**
+ *
+ * @param dateObj {Date}
+ * @return {Date}
+ */
+const createUTCDate = (dateObj) => {
+ const comps = {
+ year: dateObj.getFullYear(),
+ month: dateObj.getMonth(),
+ day: dateObj.getDate(),
+ hours: dateObj.getHours(),
+ minutes: dateObj.getMinutes(),
+ seconds: dateObj.getSeconds()
+ };
+ return new Date(Date.UTC(comps.year, comps.month, comps.day, 0, 0, 0));
+}
+
+export default createUTCDate;
\ No newline at end of file
diff --git a/src/helpers/formatDateString.js b/src/helpers/formatDateString.js
new file mode 100644
index 0000000..9690a1b
--- /dev/null
+++ b/src/helpers/formatDateString.js
@@ -0,0 +1,13 @@
+/**
+ *
+ * @param date {Date}
+ * @return {string}
+ */
+const formatDateString = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}-${month}-${day}T00:00:00`;
+}
+
+export default formatDateString;
\ No newline at end of file
diff --git a/src/pages/Bandi/components/AllBandiTable/index.js b/src/pages/Bandi/components/AllBandiTable/index.js
index 236098e..6eeba6a 100644
--- a/src/pages/Bandi/components/AllBandiTable/index.js
+++ b/src/pages/Bandi/components/AllBandiTable/index.js
@@ -14,9 +14,6 @@ import BandoService from '../../../../service/bando-service';
import { FilterMatchMode, FilterOperator } from 'primereact/api';
import { DataTable } from 'primereact/datatable';
import { Column } from 'primereact/column';
-import { InputText } from 'primereact/inputtext';
-import { IconField } from 'primereact/iconfield';
-import { InputIcon } from 'primereact/inputicon';
import { Dropdown } from 'primereact/dropdown';
import { Button } from 'primereact/button';
import { Calendar } from 'primereact/calendar';
@@ -30,7 +27,6 @@ const AllBandiTable = () => {
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [statuses, setStatuses] = useState([]);
useEffect(() => {
@@ -62,16 +58,6 @@ const AllBandiTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -80,17 +66,12 @@ const AllBandiTable = () => {
end_date: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },
status: { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
return (
-
-
-
-
);
};
@@ -134,13 +115,13 @@ const AllBandiTable = () => {
return(
setFilters(e.filters)}>
{
const chosenCompanyId = useStore().main.chosenCompanyId();
@@ -192,8 +192,7 @@ const BandoApplication = () => {
let fieldVal = formValues[cur];
if (formValues[cur] && formValues[cur].toISOString) {
- const tzAwareDate = new TZDate(formValues[cur], 'Europe/Berlin');
- fieldVal = tzAwareDate.toISOString().substring(0, 19);
+ fieldVal = formatDateString(formValues[cur]);
}
fieldVal = isEmpty(fieldVal) ? null : fieldVal;
diff --git a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js
index 5d1d12b..04c7680 100644
--- a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js
+++ b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js
@@ -26,6 +26,7 @@ import { isEmail } from '../../../../helpers/validators';
import { storeSet } from '../../../../store';
import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
+import formatDateString from '../../../../helpers/formatDateString';
const BandoEditFormStep1 = forwardRef(function ({ initialData, setInitialData, getFormErrors, status }, ref) {
const navigate = useNavigate();
@@ -62,8 +63,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, setInitialData, g
if (is(String, formData.startDate)) {
starDate = formData.startDate;
} else {
- const tzAwareDate = new TZDate(formData.startDate, 'Europe/Berlin');
- starDate = tzAwareDate.toISOString().substring(0, 19);
+ starDate = formatDateString(formData.startDate);
}
formData = wrap(formData).insert(['dates'], starDate, 0).value();
@@ -74,8 +74,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, setInitialData, g
if (is(String, formData.endDate)) {
endDate = formData.endDate;
} else {
- const tzAwareDate = new TZDate(formData.endDate, 'Europe/Berlin');
- endDate = tzAwareDate.toISOString().substring(0, 19);
+ endDate = formatDateString(formData.endDate);
}
formData = wrap(formData).insert(['dates'], endDate, 1).value();
diff --git a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js
index d8483b2..c933642 100644
--- a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js
+++ b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js
@@ -23,6 +23,7 @@ import { storeSet } from '../../../../store';
import getTimeParsedFromString from '../../../../helpers/getTimeParsedFromString';
import { mimeTypes } from '../../../../configData';
import { wrap } from 'object-path-immutable';
+import formatDateString from '../../../../helpers/formatDateString';
const BandoEditFormStep2 = forwardRef(function ({ initialData, setInitialData, getFormErrors, status }, ref) {
const navigate = useNavigate();
@@ -60,8 +61,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, setInitialData, g
if (is(String, formData.startDate)) {
starDate = formData.startDate;
} else {
- const tzAwareDate = new TZDate(formData.startDate, 'Europe/Berlin');
- starDate = tzAwareDate.toISOString().substring(0, 19);
+ starDate = formatDateString(formData.starDate);
}
formData = wrap(formData).insert(['dates'], starDate, 0).value();
@@ -72,8 +72,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, setInitialData, g
if (is(String, formData.endDate)) {
endDate = formData.endDate;
} else {
- const tzAwareDate = new TZDate(formData.endDate, 'Europe/Berlin');
- endDate = tzAwareDate.toISOString().substring(0, 19);
+ endDate = formatDateString(formData.endDate);
}
formData = wrap(formData).insert(['dates'], endDate, 1).value();
diff --git a/src/pages/Dashboard/components/DraftApplicationsTable/index.js b/src/pages/Dashboard/components/DraftApplicationsTable/index.js
index a356d68..64cc39e 100644
--- a/src/pages/Dashboard/components/DraftApplicationsTable/index.js
+++ b/src/pages/Dashboard/components/DraftApplicationsTable/index.js
@@ -33,7 +33,6 @@ const DraftApplicationsTable = () => {
const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [statuses, setStatuses] = useState([]);
useEffect(() => {
@@ -79,16 +78,6 @@ const DraftApplicationsTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -96,6 +85,10 @@ const DraftApplicationsTable = () => {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
},
+ companyName: {
+ operator: FilterOperator.AND,
+ constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
+ },
modifiedDate: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }]
@@ -106,7 +99,6 @@ const DraftApplicationsTable = () => {
},
status: { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
@@ -114,28 +106,10 @@ const DraftApplicationsTable = () => {
);
};
- /*const dateModifyBodyTemplate = (rowData) => {
- return formatDate(rowData.modifiedDate);
- };
-
- const dateEndBodyTemplate = (rowData) => {
- return formatDate(rowData.callEndDate);
- };
-
- const dateFilterTemplate = (options) => {
- return options.filterCallback(e.value, options.index)}
- dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999"/>;
- };*/
-
const statusBodyTemplate = (rowData) => {
return ;
};
@@ -167,8 +141,7 @@ const DraftApplicationsTable = () => {
return (
setFilters(e.filters)}>
diff --git a/src/pages/Dashboard/components/LatestBandiTable/index.js b/src/pages/Dashboard/components/LatestBandiTable/index.js
index 94f32da..2ccee35 100644
--- a/src/pages/Dashboard/components/LatestBandiTable/index.js
+++ b/src/pages/Dashboard/components/LatestBandiTable/index.js
@@ -9,9 +9,6 @@ import BandoService from '../../../../service/bando-service';
import { FilterMatchMode, FilterOperator } from 'primereact/api';
import { DataTable } from 'primereact/datatable';
import { Column } from 'primereact/column';
-import { InputText } from 'primereact/inputtext';
-import { IconField } from 'primereact/iconfield';
-import { InputIcon } from 'primereact/inputicon';
import { Button } from 'primereact/button';
import { Calendar } from 'primereact/calendar';
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
@@ -23,7 +20,6 @@ const LatestBandiTable = () => {
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [, setStatuses] = useState([]);
useEffect(() => {
@@ -66,16 +62,6 @@ const LatestBandiTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -84,17 +70,12 @@ const LatestBandiTable = () => {
end_date: { operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] },
status: { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] }
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
return (
-
-
-
-
);
};
@@ -126,12 +107,13 @@ const LatestBandiTable = () => {
return(
setFilters(e.filters)}>
-
{
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [loading, setLoading] = useState(false);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [, setStatuses] = useState([]);
useEffect(() => {
@@ -130,16 +126,6 @@ const LatestBandiTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -157,7 +143,6 @@ const LatestBandiTable = () => {
},
status: { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] }
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
@@ -165,11 +150,6 @@ const LatestBandiTable = () => {
);
};
@@ -210,12 +190,12 @@ const LatestBandiTable = () => {
return (
setFilters(e.filters)}>
-
{
const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [statuses, setStatuses] = useState([]);
useEffect(() => {
@@ -82,16 +78,6 @@ const MyLatestSubmissionsTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -99,6 +85,10 @@ const MyLatestSubmissionsTable = () => {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
},
+ companyName: {
+ operator: FilterOperator.AND,
+ constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
+ },
modifiedDate: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }]
@@ -109,7 +99,6 @@ const MyLatestSubmissionsTable = () => {
},
status: { operator: FilterOperator.OR, constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] },
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
@@ -117,11 +106,6 @@ const MyLatestSubmissionsTable = () => {
);
};
@@ -173,13 +157,12 @@ const MyLatestSubmissionsTable = () => {
return (
setFilters(e.filters)}>
{
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [localAsyncRequest, setLocalAsyncRequest] = useState(false);
- const [globalFilterValue, setGlobalFilterValue] = useState('');
const [statuses, setStatuses] = useState([]);
useEffect(() => {
@@ -76,16 +72,6 @@ const PreInstructorDomandeTable = () => {
initFilters();
};
- const onGlobalFilterChange = (e) => {
- const value = e.target.value;
- let _filters = { ...filters };
-
- _filters['global'].value = value;
-
- setFilters(_filters);
- setGlobalFilterValue(value);
- };
-
const initFilters = () => {
setFilters({
global: { value: null, matchMode: FilterMatchMode.CONTAINS },
@@ -93,6 +79,10 @@ const PreInstructorDomandeTable = () => {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
},
+ companyName: {
+ operator: FilterOperator.AND,
+ constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }]
+ },
submissionDate: {
operator: FilterOperator.AND,
constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }]
@@ -102,17 +92,12 @@ const PreInstructorDomandeTable = () => {
constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }]
}
});
- setGlobalFilterValue('');
};
const renderHeader = () => {
return (
-
-
-
-
);
};
@@ -152,8 +137,7 @@ const PreInstructorDomandeTable = () => {
return(
setFilters(e.filters)}>
diff --git a/src/pages/DomandaEditPreInstructor/index.js b/src/pages/DomandaEditPreInstructor/index.js
index 7fcd368..ad8e506 100644
--- a/src/pages/DomandaEditPreInstructor/index.js
+++ b/src/pages/DomandaEditPreInstructor/index.js
@@ -677,7 +677,7 @@ const DomandaEditPreInstructor = () => {
onClick={doCheckNDG}
label={__('Controlla NDG', 'gepafin')}
/> : null}
- {APP_EVALUATION_FLOW_ID === '1' && ['EVALUATION'].includes(data.applicationStatus)
+ {APP_EVALUATION_FLOW_ID === '1' && ['EVALUATION'].includes(data.applicationStatus) && data.ndg
?