@@ -5,7 +5,7 @@ import JQuery from 'jquery'
55import ClassNames from 'classnames'
66import Clone from 'clone'
77
8- import { dictCount , dictFirstKey } from './utilities.js'
8+ import { dictCount , dictFirstKey , cellIsEditable } from './utilities.js'
99import { stringValue , deserializeCells } from './clipboard.js'
1010import TextEditor from './editors/text.jsx'
1111import TextDrawer from './drawers/text.jsx'
@@ -248,21 +248,6 @@ class ObjectTable extends React.PureComponent {
248248 return cols . find ( col => col . key === key )
249249 }
250250
251- cellIsEditable ( objectId , column ) {
252- if ( typeof column === 'string' ) {
253- column = this . getColumnFromKey ( column )
254- }
255- if ( column ) {
256- if ( typeof column . isReadOnly === 'boolean' ) {
257- return ! column . isReadOnly
258- } else if ( typeof column . isReadOnly === 'function' ) {
259- return ! column . isReadOnly ( objectId )
260- }
261- return true
262- }
263- return false
264- }
265-
266251 handleKeyPress = ( event ) => {
267252 if ( this . state . editing === null ) {
268253 let editRow = this . getSelectedFirstVisibleRow ( )
@@ -276,7 +261,7 @@ class ObjectTable extends React.PureComponent {
276261 switch ( event . which ) {
277262 // case 'enter':
278263 case 13 :
279- if ( this . cellIsEditable ( editRow , editColumn ) && editObject && ! editObject . disabled ) {
264+ if ( cellIsEditable ( editRow , this . getColumnFromKey ( editColumn ) ) && editObject && ! editObject . disabled ) {
280265 this . setState ( state => {
281266 state . editing = {
282267 columnKey : editColumn ,
@@ -290,7 +275,7 @@ class ObjectTable extends React.PureComponent {
290275 break
291276
292277 default :
293- if ( this . cellIsEditable ( editRow , editColumn ) && editObject && ! editObject . disabled ) {
278+ if ( cellIsEditable ( editRow , this . getColumnFromKey ( editColumn ) ) && editObject && ! editObject . disabled ) {
294279 this . setState ( state => {
295280 state . editing = {
296281 columnKey : editColumn ,
@@ -406,7 +391,7 @@ class ObjectTable extends React.PureComponent {
406391 case 'backspace' :
407392 let editColumn = this . getSelectedFirstVisibleColumn ( )
408393 let editRow = this . getSelectedFirstVisibleRow ( )
409- if ( selectedCells > 0 && this . cellIsEditable ( editRow , editColumn ) ) {
394+ if ( selectedCells > 0 && cellIsEditable ( editRow , this . getColumnFromKey ( editColumn ) ) ) {
410395 this . setState ( state => {
411396 state . editing = {
412397 columnKey : editColumn ,
@@ -691,7 +676,7 @@ class ObjectTable extends React.PureComponent {
691676 pastingColumn = true
692677 if ( pastingColumnIndex < pasteData [ pastingRowIndex ] . length ) {
693678 newSelectionColumns [ column . key ] = true
694- if ( column . editor !== false && ! row . disabled && this . cellIsEditable ( row . id , column ) ) {
679+ if ( ! row . disabled && cellIsEditable ( row . id , column ) ) {
695680 let editor = column . editor || TextEditor
696681 let validated = editor . validate (
697682 pasteData [ pastingRowIndex ] [ pastingColumnIndex ] ,
@@ -732,7 +717,7 @@ class ObjectTable extends React.PureComponent {
732717 if ( typeof this . state . selectedColumns [ column . key ] === 'undefined' ) {
733718 continue
734719 }
735- if ( column . editor !== false && ! row . disabled && this . cellIsEditable ( row . id , column ) ) {
720+ if ( ! row . disabled && cellIsEditable ( row . id , column ) ) {
736721 let editor = column . editor || TextEditor
737722 let validated = editor . validate (
738723 pasteData [ pasteRow ] [ pasteColumn ] ,
0 commit comments