export function _getFilesElement(element, create) { var bo = element.businessObject; var docs = bo.get('documentation'); var files; // get files node docs.some(function(d) { return d.textFormat === 'text/x-files' && (files = d); }); // create if not existing if (!files && create) { files = bo.$model.create('bpmn:Documentation', { textFormat: 'text/x-files' }); docs.push(files); } return files; } export function getFiles(element) { var doc = _getFilesElement(element); if (!doc || !doc.text) { return []; } else { return doc.text.split(/;/) } } export function setFiles(element, files) { var doc = _getFilesElement(element, true); var str = files.join(';'); doc.text = str; } /* export function addFile(element, author, str) { var files = getFiles(element); files.push([ author, str ]); setFiles(element, files); } export function removeFile(element, file) { var files = getFiles(element); var idx = -1; files.some(function(c, i) { var matches = c[0] === file[0] && c[1] === file[1]; if (matches) { idx = i; } return matches; }); if (idx !== -1) { files.splice(idx, 1); } setFiles(element, files); } */