private onAutomergeChange()

in web/automerger.ts [72:101]


  private onAutomergeChange() {
    // Create checkboxes for each downstream branch.
    const branchToCheckbox: {[branch: string]: HTMLElement} = {};
    const downstreamConfigBranches = Object.keys(this.downstreamConfigMap);
    downstreamConfigBranches.forEach(branch => {
      const checkbox = document.createElement('input');
      checkbox.type = 'checkbox';
      if (this.downstreamConfigMap[branch]) checkbox.checked = true;
      const label = document.createElement('gr-label');
      label.appendChild(document.createTextNode(branch));
      const div = document.createElement('div');
      div.appendChild(checkbox);
      div.appendChild(label);
      branchToCheckbox[branch] = div;
    });

    // Create popup content.
    const popupContent = document.createElement('div');
    for (const branch of Object.keys(branchToCheckbox)) {
      popupContent.appendChild(branchToCheckbox[branch]);
      popupContent.appendChild(document.createElement('br'));
    }
    popupContent.appendChild(this.createMergeButton(branchToCheckbox));

    this.plugin.popup().then((popApi: PopupPluginApi) => {
      const popupEl = (popApi as PopupPluginApiExtended)._getElement();
      if (!popupEl) throw new Error('Popup element not found');
      popupEl.appendChild(popupContent);
    });
  }