handleCreateView() {

    const args = {
      view: this.view.getLabel()
    };

    $tm.dialogManager.open('createView', args, (isConfirmed, outTObj) => {

      if (!isConfirmed) return;

      const label = utils.getField(outTObj, 'name');
      const isClone = utils.getField(outTObj, 'clone', false);

      if (ViewAbstraction.exists(label)) {

        $tm.notify('Forbidden! View already exists!');

        return;
      }

      if (isClone && this.isLiveView()) {
        $tm.notify('Forbidden to clone the live view!');
        return;
      }

      const newView = new ViewAbstraction(label, {
        isCreate: true,
        protoView: (isClone ? this.view : null)
      });

      this.setView(newView);

    });

  }
Create an empty view. A dialog is opened that asks the user how to
name the view. The view is then registered as current view.