- Fix jasmine test cases. - Unregister listener when row removed in DataGrid.

pull/58/head
Aditya Toshniwal 2021-07-30 15:00:02 +05:30 committed by Akshay Joshi
parent 10d8135dcc
commit bcab0e3754
3 changed files with 11 additions and 1 deletions

View File

@ -206,6 +206,7 @@ export default function DataGridView({
fixedRows, ...props}) {
const classes = useStyles();
const stateUtils = useContext(StateUtilsContext);
const depListener = useContext(DepListenerContext);
/* Using ref so that schema variable is not frozen in columns closure */
const schemaRef = useRef(schema);
@ -266,6 +267,8 @@ export default function DataGridView({
path: accessPath,
value: row.index,
});
depListener.removeDepListener(accessPath.concat(row.index));
}, ()=>{}, props.customDeleteTitle, props.customDeleteMsg);
}} className={classes.gridRowButton} disabled={!canDeleteRow} />
);

View File

@ -19,6 +19,11 @@ export default class DepListener {
});
}
removeDepListener(dest) {
this._depListeners = _.filter(this._depListeners, (l)=>!_.join(l.dest, '|').startsWith(_.join(dest, '|')));
}
_getListenerData(state, listener, actionObj) {
/* Get data at same level */
let data = state;

View File

@ -12,13 +12,15 @@ import React from 'react';
import '../helper/enzyme.helper';
import Privilege from 'sources/components/Privilege';
import { mount } from 'enzyme';
import { withTheme } from '../fake_theme';
describe('Privilege', ()=>{
let ctrl, onChange = jasmine.createSpy('onChange');
beforeEach(()=>{
jasmineEnzyme();
let ThemedPrivilege = withTheme(Privilege);
ctrl = mount(
<Privilege
<ThemedPrivilege
value={[{
privilege_type: 'C',
privilege: true,