How to use the table/constants.STATUS.NEW function in table

To help you get started, we’ve selected a few table examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github vtex / react-jsonschema-table / src / reducers / items-reducer.js View on Github external
delete newState.staging[item]
          const stagingIndex = newState.stagingItems.indexOf(item)
          newState.stagingItems.splice(stagingIndex, 1)
          newState.checkedItems.splice(ref.length - 1 - index, 1)
        } else {
          // To Do: delete document in API (not staged)
        }
      })
      return newState
    }

    case types.ADD_ITEM: {
      const { id, schema, lang } = action
      const newState = Object.assign({}, state)
      addStaging(newState, id, STATUS.NEW, { id: { value: id } }, schema, lang)
      addToHistoryChanges(newState, id, STATUS.NEW, null)
      return newState
    }

    case types.UPDATE_ITEM: {
      const { id, schema, changes, lang } = action
      const newState = Object.assign({}, state)
      const changesKey = Object.keys(changes)[0]
      let hydratedChanges = changes
      if (schema.properties[changesKey].type === 'object' && state.staging[id].document[changesKey]) {
        // TO DO: make deep merge if field is object inside object inside object...
        hydratedChanges[changesKey] = {
          value: {
            ...state.staging[id].document[changesKey],
            ...changes[changesKey].value,
          }
        }
github vtex / react-jsonschema-table / src / reducers / items-reducer.js View on Github external
changes.forEach(change => {
        addStaging(
          newState,
          change.id,
          change.changes['id'] ? STATUS.NEW : null,
          change.changes,
          schema,
          lang
        )
      })
      return newState
github vtex / react-jsonschema-table / src / reducers / items-reducer.js View on Github external
const loadedItem = newState.source.find(
            item => item.document && item.document.id === documentId
          )
          loadedItem.document = Object.assign(
            {},
            loadedItem.document,
            stagingItem.document
          )
          delete newState.staging[documentId]
          newState.stagingItems = newState.stagingItems.filter(
            stagingId => stagingId !== documentId
          )
          continue
        }

        if (stagingItem.status === STATUS.NEW) {
          const newItem = Object.assign(
            {},
            { document: newState.staging[documentId].document },
            {
              status: STATUS.LOADED,
            }
          )
          newState.source.push(newItem)
          delete newState.staging[documentId]
          newState.stagingItems = newState.stagingItems.filter(
            stagingId => stagingId !== documentId
          )
          continue
        }

        if (stagingItem.status === STATUS.DELETED) {
github vtex / react-jsonschema-table / src / table / containers / TableContainer.js View on Github external
Object.keys(state.items.staging).forEach(id => {
      if (state.items.staging[id].status === STATUS.NEW) {
        newItems.push(state.items.staging[id])
      }
    })
  }