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);
|
}
|
*/
|