We had findDataObject(s) methods all over the place, so consolidating this logic.

This commit is contained in:
Dan 2022-07-11 13:09:25 -04:00
parent 3f2ae54f62
commit e365124b49
6 changed files with 25 additions and 41 deletions

View File

@ -0,0 +1,19 @@
export function findDataObjects(process) {
let dataObjects = [];
for (const element of process.flowElements) {
if (element.$type === 'bpmn:DataObject') {
dataObjects.push(element);
}
}
return dataObjects;
}
export function findDataObject(process, id) {
for (const dataObj of findDataObjects(process)) {
if (dataObj.id === id) {
return dataObj;
}
}
}

View File

@ -1,5 +1,6 @@
import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
import { is } from 'bpmn-js/lib/util/ModelUtil';
import { findDataObjects } from './DataObjectHelpers';
var HIGH_PRIORITY = 1500;
/**
@ -56,13 +57,3 @@ export default class DataObjectInterceptor extends CommandInterceptor {
}
DataObjectInterceptor.$inject = [ 'eventBus', 'bpmnFactory', 'bpmnUpdater' ];
function findDataObjects(process) {
let dataObjects = [];
for (const element of process.flowElements) {
if (element.$type === 'bpmn:DataObject') {
dataObjects.push(element);
}
}
return dataObjects;
}

View File

@ -1,6 +1,7 @@
import { useService } from 'bpmn-js-properties-panel';
import { isTextFieldEntryEdited, TextFieldEntry } from '@bpmn-io/properties-panel';
import { without } from 'min-dash';
import { findDataObjects } from '../../DataObject/DataObjectHelpers';
/**
* Provides a list of data objects, and allows you to add / remove data objects, and change their ids.
@ -72,17 +73,6 @@ function removeFactory(props) {
};
}
function findDataObjects(process) {
let dataObjects = [];
for (const element of process.flowElements) {
if (element.$type === 'bpmn:DataObject') {
dataObjects.push(element);
}
}
return dataObjects;
}
function DataObjectGroup(props) {
const {
idPrefix,

View File

@ -1,9 +1,10 @@
import { bootstrapPropertiesPanel, findDataObjects } from './helpers';
import { bootstrapPropertiesPanel } from './helpers';
import dataObjectInterceptor from '../../app/spiffworkflow/DataObject';
import { BpmnPropertiesPanelModule, BpmnPropertiesProviderModule } from 'bpmn-js-properties-panel';
import {
inject,
} from 'bpmn-js/test/helper';
import { findDataObjects } from '../../app/spiffworkflow/DataObject/DataObjectHelpers';
describe('DataObject Interceptor', function() {

View File

@ -3,8 +3,7 @@ import {
} from 'min-dom';
import {
bootstrapPropertiesPanel, changeInput,
expectSelected, findDataObject, findDataObjects,
findEntry, findGroupEntry, findInput
expectSelected, findEntry, findGroupEntry, findInput
} from './helpers';
import { BpmnPropertiesPanelModule, BpmnPropertiesProviderModule } from 'bpmn-js-properties-panel';
import SpiffWorkflowPropertiesProvider from '../../app/spiffworkflow/PropertiesPanel';
@ -12,6 +11,7 @@ import SpiffWorkflowPropertiesProvider from '../../app/spiffworkflow/PropertiesP
import spiffModdleExtension from '../../app/spiffworkflow/moddle/spiffworkflow.json';
import TestContainer from 'mocha-test-container-support';
import { fireEvent } from '@testing-library/preact';
import { findDataObject, findDataObjects } from '../../app/spiffworkflow/DataObject/DataObjectHelpers';
describe('Properties Panel for a Process', function() {
let xml = require('./diagram.bpmn').default;

View File

@ -122,24 +122,7 @@ export function pressButton(button) {
fireEvent.click(button);
}
export function findDataObjects(process) {
let dataObjects = [];
for (const element of process.flowElements) {
if (element.$type === 'bpmn:DataObject') {
dataObjects.push(element);
}
}
return dataObjects;
}
export function findDataObject(process, id) {
for (const dataObj of findDataObjects(process)) {
if (dataObj.id === id) {
return dataObj;
}
}
}
/**