ruoyi-vue-nocode/ruoyi-ui/ruoyi-bpmnjs/resources/properties-panel/provider/bpmn/BpmnPropertiesProvider.js
2022-08-11 16:10:41 +08:00

85 lines
2.0 KiB
JavaScript

'use strict';
var inherits = require('inherits');
var PropertiesActivator = require('../../PropertiesActivator');
var processProps = require('./parts/ProcessProps'),
eventProps = require('./parts/EventProps'),
linkProps = require('./parts/LinkProps'),
documentationProps = require('./parts/DocumentationProps'),
idProps = require('./parts/IdProps'),
nameProps = require('./parts/NameProps'),
executableProps = require('./parts/ExecutableProps');
function createGeneralTabGroups(
element, canvas, bpmnFactory,
elementRegistry, translate) {
var generalGroup = {
id: 'general',
label: translate('General'),
entries: []
};
idProps(generalGroup, element, translate);
nameProps(generalGroup, element, bpmnFactory, canvas, translate);
processProps(generalGroup, element, translate);
executableProps(generalGroup, element, translate);
var detailsGroup = {
id: 'details',
label: translate('Details'),
entries: []
};
linkProps(detailsGroup, element, translate);
eventProps(detailsGroup, element, bpmnFactory, elementRegistry, translate);
var documentationGroup = {
id: 'documentation',
label: translate('Documentation'),
entries: []
};
documentationProps(documentationGroup, element, bpmnFactory, translate);
return [
generalGroup,
detailsGroup,
documentationGroup
];
}
function BpmnPropertiesProvider(
eventBus, canvas, bpmnFactory, elementRegistry, translate) {
PropertiesActivator.call(this, eventBus);
this.getTabs = function(element) {
var generalTab = {
id: 'general',
label: translate('General'),
groups: createGeneralTabGroups(
element, canvas, bpmnFactory, elementRegistry, translate)
};
return [
generalTab
];
};
}
BpmnPropertiesProvider.$inject = [
'eventBus',
'canvas',
'bpmnFactory',
'elementRegistry',
'translate'
];
inherits(BpmnPropertiesProvider, PropertiesActivator);
module.exports = BpmnPropertiesProvider;