Welcome to mirror list, hosted at ThFree Co, Russian Federation.

parse_data.js « utils « issue_show « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a62a5167961e0ea5f3c8bae810537c179fe145ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { sanitize } from 'dompurify';

// We currently load + parse the data from the issue app and related merge request
let cachedParsedData;

export const parseIssuableData = () => {
  try {
    if (cachedParsedData) return cachedParsedData;

    const initialDataEl = document.getElementById('js-issuable-app-initial-data');

    const parsedData = JSON.parse(initialDataEl.textContent.replace(/"/g, '"'));

    parsedData.initialTitleHtml = sanitize(parsedData.initialTitleHtml);
    parsedData.initialDescriptionHtml = sanitize(parsedData.initialDescriptionHtml);

    cachedParsedData = parsedData;

    return parsedData;
  } catch (e) {
    console.error(e); // eslint-disable-line no-console

    return {};
  }
};

export default {};