private createButton()

in src/widgets/revision/widget.ts [145:177]


  private createButton(
    label: string,
    iconClass: string,
    gatherState: GatherState
  ) {
    let button = new Widget({ node: document.createElement('button') });
    button.addClass(REVISION_BUTTON_CLASS);
    button.layout = new PanelLayout();

    let iconSpan = new Widget({ node: document.createElement('span') });
    iconSpan.addClass(iconClass);
    iconSpan.addClass('jp-Icon');
    iconSpan.addClass('jp-Icon-16');

    let labelSpan = new Widget({ node: document.createElement('span') });
    labelSpan.addClass(REVISION_BUTTON_LABEL_CLASS);
    labelSpan.node.textContent = label;

    (button.layout as PanelLayout).addWidget(iconSpan);
    (button.layout as PanelLayout).addWidget(labelSpan);

    button.node.onclick = () => {
      log('Revision browser: ' + label, {
        slice: this.model.slice,
        versionIndex: this.model.versionIndex,
        isLatest: this.model.isLatest,
      });
      let gatherModel = this.model.gatherModel;
      gatherModel.addChosenSlices(this.model.slice);
      gatherModel.requestStateChange(gatherState);
    };
    return button;
  }