setNodesMoveable(nodeIds, isMoveable) {

    if (!nodeIds || !nodeIds.length || this.view.isEnabled('physics_mode')) {
    // = no ids passed or in floating mode
      return;
    }

    const updates = [];
    const isFixed = !isMoveable;
    for (let i = nodeIds.length; i--;) {

      updates.push({
        id: nodeIds[i],
        fixed: { x: isFixed, y: isFixed }
      });

    }

    this.graphData.nodes.update(updates);

    if (isFixed) {

      this.logger('debug', 'Fixing', updates.length, 'nodes');

      // if we fix nodes in static mode then we also store the positions
      this.view.saveNodePositions(this.network.getPositions());
      // prevent zoom
      this.isPreventZoomOnNextUpdate = true;
    }

  }
Allow the given nodes to be moveable.

@param {Array<number>} nodeIds - The ids of the nodes for which
    we allow or disallow the movement.
@param {boolean} isMoveable - True, if the nodes are allowed to
    move or be moved.