- merged with develop;
- removed unused variables;
This commit is contained in:
@@ -181,8 +181,21 @@
|
|||||||
flex: 1 1 100%;
|
flex: 1 1 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul, ol {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
|
|
||||||
|
li {
|
||||||
|
color: var(--global-textColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--global-textColor);
|
||||||
|
text-decoration: underline;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
|||||||
@@ -2,9 +2,6 @@ import React, { useState, useEffect} from 'react';
|
|||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
import { is, uniq } from 'ramda';
|
import { is, uniq } from 'ramda';
|
||||||
|
|
||||||
// store
|
|
||||||
import { storeSet, storeGet } from '../../../../store';
|
|
||||||
|
|
||||||
// tools
|
// tools
|
||||||
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
||||||
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
||||||
@@ -97,9 +94,9 @@ const AllBandiTable = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const nameBodyTemplate = (rowData) => {
|
/*const nameBodyTemplate = (rowData) => {
|
||||||
return <span>{rowData.name}</span>
|
return <span>{rowData.name}</span>
|
||||||
}
|
}*/
|
||||||
|
|
||||||
const dateStartBodyTemplate = (rowData) => {
|
const dateStartBodyTemplate = (rowData) => {
|
||||||
return getDateFromISOstring(rowData.dates[0]);
|
return getDateFromISOstring(rowData.dates[0]);
|
||||||
|
|||||||
@@ -92,21 +92,21 @@ const AllBandiAccordion = () => {
|
|||||||
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
const addToFavourites = () => {
|
/*const addToFavourites = () => {
|
||||||
console.log('addToFavourites');
|
console.log('addToFavourites');
|
||||||
}
|
}*/
|
||||||
|
|
||||||
const goToBandoPage = (id) => {
|
const goToBandoPage = (id) => {
|
||||||
navigate(`/bandi/${id}`)
|
navigate(`/bandi/${id}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
const actionsBodyTemplate = (rowData) => {
|
/*const actionsBodyTemplate = (rowData) => {
|
||||||
return <div className="appPageSection__tableActions">
|
return <div className="appPageSection__tableActions">
|
||||||
<button type="button" className="appPageSection__addToFavourites" onClick={addToFavourites} disabled={true}>
|
<button type="button" className="appPageSection__addToFavourites" onClick={addToFavourites} disabled={true}>
|
||||||
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
}
|
}*/
|
||||||
|
|
||||||
const rowExpansionTemplate = (data) => {
|
const rowExpansionTemplate = (data) => {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -333,6 +333,7 @@ const BandoApplication = () => {
|
|||||||
}, dynamicData);
|
}, dynamicData);
|
||||||
|
|
||||||
if (data.data.applicationFormResponse.content) {
|
if (data.data.applicationFormResponse.content) {
|
||||||
|
// eslint-disable-next-line array-callback-return
|
||||||
data.data.applicationFormResponse.content.map((o) => {
|
data.data.applicationFormResponse.content.map((o) => {
|
||||||
if (o.dynamicData && !isEmpty(o.dynamicData)) {
|
if (o.dynamicData && !isEmpty(o.dynamicData)) {
|
||||||
formDataInitial[o.id] = pathOr('', o.dynamicData.split('.'), dynamicData);
|
formDataInitial[o.id] = pathOr('', o.dynamicData.split('.'), dynamicData);
|
||||||
|
|||||||
@@ -2,13 +2,6 @@ import React, { useState, useEffect} from 'react';
|
|||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
import { uniq } from 'ramda';
|
import { uniq } from 'ramda';
|
||||||
|
|
||||||
// tools
|
|
||||||
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
|
||||||
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
|
||||||
|
|
||||||
// store
|
|
||||||
import { storeSet } from '../../../../store';
|
|
||||||
|
|
||||||
// api
|
// api
|
||||||
import BandoService from '../../../../service/bando-service';
|
import BandoService from '../../../../service/bando-service';
|
||||||
|
|
||||||
@@ -19,11 +12,8 @@ import { Column } from 'primereact/column';
|
|||||||
import { InputText } from 'primereact/inputtext';
|
import { InputText } from 'primereact/inputtext';
|
||||||
import { IconField } from 'primereact/iconfield';
|
import { IconField } from 'primereact/iconfield';
|
||||||
import { InputIcon } from 'primereact/inputicon';
|
import { InputIcon } from 'primereact/inputicon';
|
||||||
import { Dropdown } from 'primereact/dropdown';
|
|
||||||
import { InputNumber } from 'primereact/inputnumber';
|
|
||||||
import { Button } from 'primereact/button';
|
import { Button } from 'primereact/button';
|
||||||
import { Calendar } from 'primereact/calendar';
|
import { Calendar } from 'primereact/calendar';
|
||||||
import { Tag } from 'primereact/tag';
|
|
||||||
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
@@ -120,22 +110,10 @@ const LatestBandiTable = () => {
|
|||||||
return <Calendar value={options.value} onChange={(e) => options.filterCallback(e.value, options.index)} dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999" />;
|
return <Calendar value={options.value} onChange={(e) => options.filterCallback(e.value, options.index)} dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999" />;
|
||||||
};
|
};
|
||||||
|
|
||||||
const balanceFilterTemplate = (options) => {
|
|
||||||
return <InputNumber value={options.value} onChange={(e) => options.filterCallback(e.value, options.index)} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
const statusBodyTemplate = (rowData) => {
|
const statusBodyTemplate = (rowData) => {
|
||||||
return <ProperBandoLabel status={rowData.status}/>;
|
return <ProperBandoLabel status={rowData.status}/>;
|
||||||
};
|
};
|
||||||
|
|
||||||
const statusFilterTemplate = (options) => {
|
|
||||||
return <Dropdown value={options.value} options={statuses} onChange={(e) => options.filterCallback(e.value, options.index)} itemTemplate={statusItemTemplate} placeholder="Select One" className="p-column-filter" showClear />;
|
|
||||||
};
|
|
||||||
|
|
||||||
const statusItemTemplate = (option) => {
|
|
||||||
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
const actionsBodyTemplate = (rowData) => {
|
const actionsBodyTemplate = (rowData) => {
|
||||||
return <Link to={`/bandi/${rowData.id}`}>
|
return <Link to={`/bandi/${rowData.id}`}>
|
||||||
<Button severity="info" label={__('Modifica', 'gepafin')} icon="pi pi-pencil" size="small" iconPos="right" />
|
<Button severity="info" label={__('Modifica', 'gepafin')} icon="pi pi-pencil" size="small" iconPos="right" />
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import DashboardService from '../../service/dashboard-service';
|
|||||||
import LatestBandiTable from './components/LatestBandiTable';
|
import LatestBandiTable from './components/LatestBandiTable';
|
||||||
//import LatestUsersActivityTable from './components/LatestUsersActivityTable';
|
//import LatestUsersActivityTable from './components/LatestUsersActivityTable';
|
||||||
import { Button } from 'primereact/button';
|
import { Button } from 'primereact/button';
|
||||||
import MyEvaluationsTable from '../DashboardPreInstructor/components/PreInstructorDomandeTable';
|
//import MyEvaluationsTable from '../DashboardPreInstructor/components/PreInstructorDomandeTable';
|
||||||
import AllDomandeTable from '../Domande/components/AllDomandeTable';
|
import AllDomandeTable from '../Domande/components/AllDomandeTable';
|
||||||
|
|
||||||
const Dashboard = () => {
|
const Dashboard = () => {
|
||||||
@@ -37,10 +37,6 @@ const Dashboard = () => {
|
|||||||
console.log('onGoToSettings')
|
console.log('onGoToSettings')
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
function formatToMillions(num) {
|
|
||||||
return Math.abs(num) > 999 ? Math.sign(num)*((Math.abs(num)/1000000).toFixed(1)) + 'M' : Math.sign(num)*Math.abs(num)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getStatValue = (key, fallback = '') => {
|
const getStatValue = (key, fallback = '') => {
|
||||||
return pathOr(fallback, [key], mainStats);
|
return pathOr(fallback, [key], mainStats);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,6 @@ import { __ } from '@wordpress/i18n';
|
|||||||
import { uniq } from 'ramda';
|
import { uniq } from 'ramda';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
// tools
|
|
||||||
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
|
||||||
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { storeSet } from '../../../../store';
|
import { storeSet } from '../../../../store';
|
||||||
|
|
||||||
@@ -20,11 +16,8 @@ import { Column } from 'primereact/column';
|
|||||||
import { InputText } from 'primereact/inputtext';
|
import { InputText } from 'primereact/inputtext';
|
||||||
import { IconField } from 'primereact/iconfield';
|
import { IconField } from 'primereact/iconfield';
|
||||||
import { InputIcon } from 'primereact/inputicon';
|
import { InputIcon } from 'primereact/inputicon';
|
||||||
import { Dropdown } from 'primereact/dropdown';
|
|
||||||
import { InputNumber } from 'primereact/inputnumber';
|
|
||||||
import { Button } from 'primereact/button';
|
import { Button } from 'primereact/button';
|
||||||
import { Calendar } from 'primereact/calendar';
|
import { Calendar } from 'primereact/calendar';
|
||||||
import { Tag } from 'primereact/tag';
|
|
||||||
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
||||||
|
|
||||||
|
|
||||||
@@ -125,10 +118,6 @@ const LatestBandiTable = () => {
|
|||||||
return <ProperBandoLabel status={rowData.status}/>;
|
return <ProperBandoLabel status={rowData.status}/>;
|
||||||
};
|
};
|
||||||
|
|
||||||
const statusItemTemplate = (option) => {
|
|
||||||
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
const actionsBodyTemplate = (rowData) => {
|
const actionsBodyTemplate = (rowData) => {
|
||||||
return rowData.confidi
|
return rowData.confidi
|
||||||
? <Link to={`/bandi/${rowData.id}`}>
|
? <Link to={`/bandi/${rowData.id}`}>
|
||||||
|
|||||||
@@ -6,6 +6,12 @@ import { uniq, is } from 'ramda';
|
|||||||
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
import getBandoLabel from '../../../../helpers/getBandoLabel';
|
||||||
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
import getBandoSeverity from '../../../../helpers/getBandoSeverity';
|
||||||
|
|
||||||
|
// store
|
||||||
|
import { useStore } from '../../../../store';
|
||||||
|
|
||||||
|
// api
|
||||||
|
import ApplicationService from '../../../../service/application-service';
|
||||||
|
|
||||||
// components
|
// components
|
||||||
import { FilterMatchMode, FilterOperator } from 'primereact/api';
|
import { FilterMatchMode, FilterOperator } from 'primereact/api';
|
||||||
import { DataTable } from 'primereact/datatable';
|
import { DataTable } from 'primereact/datatable';
|
||||||
@@ -20,10 +26,6 @@ import { Calendar } from 'primereact/calendar';
|
|||||||
import { Tag } from 'primereact/tag';
|
import { Tag } from 'primereact/tag';
|
||||||
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import ApplicationService from '../../../../service/application-service';
|
|
||||||
import { storeSet, useStore } from '../../../../store';
|
|
||||||
import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse';
|
|
||||||
|
|
||||||
|
|
||||||
const MyLatestSubmissionsTable = () => {
|
const MyLatestSubmissionsTable = () => {
|
||||||
const chosenCompanyId = useStore().main.chosenCompanyId();
|
const chosenCompanyId = useStore().main.chosenCompanyId();
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import React, { useEffect, useState } from 'react';
|
import React from 'react';
|
||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { head, pathOr } from 'ramda';
|
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { useStore } from '../../store';
|
//import { useStore } from '../../store';
|
||||||
|
|
||||||
// api
|
// api
|
||||||
//import DashboardService from '../../service/dashboard-service';
|
//import DashboardService from '../../service/dashboard-service';
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
import React, { useState, useEffect, useRef } from 'react';
|
||||||
import { __, sprintf } from '@wordpress/i18n';
|
import { __, sprintf } from '@wordpress/i18n';
|
||||||
import { useNavigate, useParams } from 'react-router-dom';
|
import { useNavigate, useParams } from 'react-router-dom';
|
||||||
import { is, isEmpty, isNil } from 'ramda';
|
import { is, isEmpty, isNil } from 'ramda';
|
||||||
import { wrap } from 'object-path-immutable';
|
import { wrap } from 'object-path-immutable';
|
||||||
import { klona } from 'klona';
|
|
||||||
import { useForm } from 'react-hook-form';
|
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { storeSet, useStore } from '../../store';
|
import { storeSet, useStore } from '../../store';
|
||||||
@@ -28,9 +26,6 @@ import { classNames } from 'primereact/utils';
|
|||||||
import { Dialog } from 'primereact/dialog';
|
import { Dialog } from 'primereact/dialog';
|
||||||
import { InputText } from 'primereact/inputtext';
|
import { InputText } from 'primereact/inputtext';
|
||||||
import { InputTextarea } from 'primereact/inputtextarea';
|
import { InputTextarea } from 'primereact/inputtextarea';
|
||||||
import FormField from '../../components/FormField';
|
|
||||||
import { Editor } from 'primereact/editor';
|
|
||||||
import { InputNumber } from 'primereact/inputnumber';
|
|
||||||
|
|
||||||
const DomandaBeneficiario = () => {
|
const DomandaBeneficiario = () => {
|
||||||
const isAsyncRequest = useStore().main.isAsyncRequest();
|
const isAsyncRequest = useStore().main.isAsyncRequest();
|
||||||
@@ -138,31 +133,6 @@ const DomandaBeneficiario = () => {
|
|||||||
setNewCommData(newData);
|
setNewCommData(newData);
|
||||||
}
|
}
|
||||||
|
|
||||||
const renderHeader = () => {
|
|
||||||
return (
|
|
||||||
<span className="ql-formats">
|
|
||||||
<button className="ql-bold" aria-label="Bold"></button>
|
|
||||||
<button className="ql-italic" aria-label="Italic"></button>
|
|
||||||
<button className="ql-underline" aria-label="Underline"></button>
|
|
||||||
<button className="ql-link" aria-label="Link"></button>
|
|
||||||
<button className="ql-list" value="ordered"></button>
|
|
||||||
<button className="ql-header" value="2"></button>
|
|
||||||
<button className="ql-header" value="3"></button>
|
|
||||||
<button className="ql-blockquote"></button>
|
|
||||||
<button className="ql-list" value="bullet"></button>
|
|
||||||
<button className="ql-indent" value="-1"></button>
|
|
||||||
<button className="ql-indent" value="+1"></button>
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const header = renderHeader();
|
|
||||||
|
|
||||||
const updateNewAmendmentData = (value, path) => {
|
|
||||||
const newData = wrap(data).set(path.split('.'), value).value();
|
|
||||||
setData(newData);
|
|
||||||
}
|
|
||||||
|
|
||||||
const createCommunication = () => {
|
const createCommunication = () => {
|
||||||
setIsLoadingCommunication(true);
|
setIsLoadingCommunication(true);
|
||||||
CommunicationService.createCommunication(data.id, newCommData, createCommunicationCallback, errCreateCommunicationCallback);
|
CommunicationService.createCommunication(data.id, newCommData, createCommunicationCallback, errCreateCommunicationCallback);
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ const DomandaEditPreInstructor = () => {
|
|||||||
setCriterionDataTitle(criterion.label);
|
setCriterionDataTitle(criterion.label);
|
||||||
const content = <div className="criterionRelatedData">
|
const content = <div className="criterionRelatedData">
|
||||||
<h3>{__('I campi correlati')}</h3>
|
<h3>{__('I campi correlati')}</h3>
|
||||||
{criterion.criteriaMappedFields.map(o => criteriaDataItem(o))}
|
{criterion.criteriaMappedFields ? criterion.criteriaMappedFields.map(o => criteriaDataItem(o)) : null}
|
||||||
</div>;
|
</div>;
|
||||||
setCriterionDataContent(content);
|
setCriterionDataContent(content);
|
||||||
setIsVisibleCriterionData(id);
|
setIsVisibleCriterionData(id);
|
||||||
@@ -438,7 +438,7 @@ const DomandaEditPreInstructor = () => {
|
|||||||
}}>
|
}}>
|
||||||
<span>{o.label}</span>
|
<span>{o.label}</span>
|
||||||
<div className="appPageSection__iconActions">
|
<div className="appPageSection__iconActions">
|
||||||
{o.fileDetail.length === 1
|
{o.fileDetail && o.fileDetail.length === 1
|
||||||
? <Button icon="pi pi-eye" rounded
|
? <Button icon="pi pi-eye" rounded
|
||||||
onClick={() => window.open(o.fileDetail[0].filePath, '_blank').focus()}
|
onClick={() => window.open(o.fileDetail[0].filePath, '_blank').focus()}
|
||||||
outlined severity="info"
|
outlined severity="info"
|
||||||
@@ -459,7 +459,7 @@ const DomandaEditPreInstructor = () => {
|
|||||||
aria-label={__('Giu', 'gepafin')}/>
|
aria-label={__('Giu', 'gepafin')}/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{o.fileDetail.length > 1
|
{o.fileDetail && o.fileDetail.length > 1
|
||||||
? <ul style={{
|
? <ul style={{
|
||||||
width: '100%',
|
width: '100%',
|
||||||
paddingLeft: '15px',
|
paddingLeft: '15px',
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
|
import { isEmpty } from 'ramda';
|
||||||
|
|
||||||
// api
|
// api
|
||||||
import UserService from '../../service/user-service';
|
import UserService from '../../service/user-service';
|
||||||
|
import AssignedApplicationService from '../../service/assigned-application-service';
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { storeSet } from '../../store';
|
import { storeSet } from '../../store';
|
||||||
|
|
||||||
// tools
|
// tools
|
||||||
import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
|
import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
|
||||||
|
import uniqid from '../../helpers/uniqid';
|
||||||
|
|
||||||
// components
|
// components
|
||||||
import AllDomandeTable from './components/AllDomandeTable';
|
import AllDomandeTable from './components/AllDomandeTable';
|
||||||
import { Dialog } from 'primereact/dialog';
|
import { Dialog } from 'primereact/dialog';
|
||||||
import { Button } from 'primereact/button';
|
import { Button } from 'primereact/button';
|
||||||
import { classNames } from 'primereact/utils';
|
import { classNames } from 'primereact/utils';
|
||||||
import { isEmpty, isNil } from 'ramda';
|
|
||||||
import { Dropdown } from 'primereact/dropdown';
|
import { Dropdown } from 'primereact/dropdown';
|
||||||
import AssignedApplicationService from '../../service/assigned-application-service';
|
|
||||||
import uniqid from '../../helpers/uniqid';
|
|
||||||
|
|
||||||
const Domande = () => {
|
const Domande = () => {
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ const SoccorsoEditPreInstructor = () => {
|
|||||||
const {
|
const {
|
||||||
control,
|
control,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
formState: { errors, isValid },
|
formState: { errors },
|
||||||
setValue,
|
setValue,
|
||||||
register,
|
register,
|
||||||
trigger,
|
trigger,
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import { is, uniq } from 'ramda';
|
|||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { storeSet, storeGet } from '../../../../store';
|
import { storeGet } from '../../../../store';
|
||||||
|
|
||||||
// api
|
// api
|
||||||
import ApplicationService from '../../../../service/application-service';
|
|
||||||
|
|
||||||
// components
|
// components
|
||||||
import { FilterMatchMode, FilterOperator } from 'primereact/api';
|
import { FilterMatchMode, FilterOperator } from 'primereact/api';
|
||||||
|
|||||||
Reference in New Issue
Block a user