debian-mirror-gitlab/app/assets/javascripts/issue_show/utils/parse_data.js

28 lines
750 B
JavaScript
Raw Normal View History

2020-10-24 23:57:45 +05:30
import { sanitize } from 'dompurify';
2019-07-07 11:18:12 +05:30
2020-11-24 15:15:51 +05:30
// We currently load + parse the data from the issue app and related merge request
let cachedParsedData;
2019-07-07 11:18:12 +05:30
export const parseIssuableData = () => {
try {
2020-11-24 15:15:51 +05:30
if (cachedParsedData) return cachedParsedData;
2019-07-07 11:18:12 +05:30
const initialDataEl = document.getElementById('js-issuable-app-initial-data');
2020-11-24 15:15:51 +05:30
const parsedData = JSON.parse(initialDataEl.textContent.replace(/"/g, '"'));
parsedData.initialTitleHtml = sanitize(parsedData.initialTitleHtml);
parsedData.initialDescriptionHtml = sanitize(parsedData.initialDescriptionHtml);
cachedParsedData = parsedData;
return parsedData;
2019-07-07 11:18:12 +05:30
} catch (e) {
console.error(e); // eslint-disable-line no-console
return {};
}
};
export default {};