- Fix jasmine test cases. - Unregister listener when row removed in DataGrid.
parent
10d8135dcc
commit
bcab0e3754
|
@ -206,6 +206,7 @@ export default function DataGridView({
|
||||||
fixedRows, ...props}) {
|
fixedRows, ...props}) {
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
const stateUtils = useContext(StateUtilsContext);
|
const stateUtils = useContext(StateUtilsContext);
|
||||||
|
const depListener = useContext(DepListenerContext);
|
||||||
|
|
||||||
/* Using ref so that schema variable is not frozen in columns closure */
|
/* Using ref so that schema variable is not frozen in columns closure */
|
||||||
const schemaRef = useRef(schema);
|
const schemaRef = useRef(schema);
|
||||||
|
@ -266,6 +267,8 @@ export default function DataGridView({
|
||||||
path: accessPath,
|
path: accessPath,
|
||||||
value: row.index,
|
value: row.index,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
depListener.removeDepListener(accessPath.concat(row.index));
|
||||||
}, ()=>{}, props.customDeleteTitle, props.customDeleteMsg);
|
}, ()=>{}, props.customDeleteTitle, props.customDeleteMsg);
|
||||||
}} className={classes.gridRowButton} disabled={!canDeleteRow} />
|
}} className={classes.gridRowButton} disabled={!canDeleteRow} />
|
||||||
);
|
);
|
||||||
|
|
|
@ -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) {
|
_getListenerData(state, listener, actionObj) {
|
||||||
/* Get data at same level */
|
/* Get data at same level */
|
||||||
let data = state;
|
let data = state;
|
||||||
|
|
|
@ -12,13 +12,15 @@ import React from 'react';
|
||||||
import '../helper/enzyme.helper';
|
import '../helper/enzyme.helper';
|
||||||
import Privilege from 'sources/components/Privilege';
|
import Privilege from 'sources/components/Privilege';
|
||||||
import { mount } from 'enzyme';
|
import { mount } from 'enzyme';
|
||||||
|
import { withTheme } from '../fake_theme';
|
||||||
|
|
||||||
describe('Privilege', ()=>{
|
describe('Privilege', ()=>{
|
||||||
let ctrl, onChange = jasmine.createSpy('onChange');
|
let ctrl, onChange = jasmine.createSpy('onChange');
|
||||||
beforeEach(()=>{
|
beforeEach(()=>{
|
||||||
jasmineEnzyme();
|
jasmineEnzyme();
|
||||||
|
let ThemedPrivilege = withTheme(Privilege);
|
||||||
ctrl = mount(
|
ctrl = mount(
|
||||||
<Privilege
|
<ThemedPrivilege
|
||||||
value={[{
|
value={[{
|
||||||
privilege_type: 'C',
|
privilege_type: 'C',
|
||||||
privilege: true,
|
privilege: true,
|
||||||
|
|
Loading…
Reference in New Issue