update 增加usePanel默认方法

This commit is contained in:
LiuHao 2024-01-29 22:26:33 +08:00
parent 154d2250e3
commit da65107b56

View File

@ -11,27 +11,25 @@ export default (ops: Options) => {
const modeling = getModeling(); const modeling = getModeling();
const moddle = getModdle(); const moddle = getModdle();
/**
*
*/
const elementType = computed(() => { const elementType = computed(() => {
const bizObj = element.businessObject; const bizObj = element.businessObject;
return bizObj.eventDefinitions ? bizObj.eventDefinitions[0].$type : bizObj.$type; return bizObj.eventDefinitions ? bizObj.eventDefinitions[0].$type : bizObj.$type;
}); });
/**
*
*/
const config = computed(() => showConfig[elementType.value] || {}); const config = computed(() => showConfig[elementType.value] || {});
const updateProperties = (properties: any) => { /**
modeling.updateProperties(element, properties); *
}; * @param elementType
* @param properties
const idChange = (newVal: string) => { * @param parent
if (newVal) { */
updateProperties({ id: newVal });
}
};
const nameChange = (newVal: string) => {
if (newVal) {
updateProperties({ name: newVal });
}
};
const createModdleElement = (elementType: string, properties: any, parent: Element) => { const createModdleElement = (elementType: string, properties: any, parent: Element) => {
const element = moddle.create(elementType, properties); const element = moddle.create(elementType, properties);
parent && (element.$parent = parent); parent && (element.$parent = parent);
@ -41,15 +39,19 @@ export default (ops: Options) => {
/** /**
* *
*/ */
const getExtensionElements = () => { const getExtensionElements = (create = true) => {
let extensionElements = element.businessObject.get('extensionElements'); let extensionElements = element.businessObject.get('extensionElements');
if (!extensionElements) { if (!extensionElements && create) {
extensionElements = createModdleElement('bpmn:ExtensionElements', { values: [] }, element.businessObject); extensionElements = createModdleElement('bpmn:ExtensionElements', { values: [] }, element.businessObject);
modeling.updateModdleProperties(element, element.businessObject, { extensionElements }); modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
} }
return extensionElements; return extensionElements;
}; };
/**
* extensionElements下的properties
* @param extensionElements Element下的extensionElements下的Properties
*/
const getPropertiesElements = (extensionElements?) => { const getPropertiesElements = (extensionElements?) => {
if (!extensionElements) { if (!extensionElements) {
extensionElements = getExtensionElements(); extensionElements = getExtensionElements();
@ -64,6 +66,28 @@ export default (ops: Options) => {
return propertiesElements; return propertiesElements;
}; };
/**
*
* @param properties
*/
const updateProperties = (properties: any) => {
modeling.updateProperties(element, properties);
};
/**
*
* @param updateElement
* @param properties
*/
const updateModdleProperties = (updateElement, properties: any) => {
modeling.updateModdleProperties(element, updateElement, properties);
};
/**
* Property属性
* @param name key值
* @param value
*/
const updateProperty = (name: string, value: string) => { const updateProperty = (name: string, value: string) => {
const propertiesElements = getPropertiesElements(); const propertiesElements = getPropertiesElements();
@ -79,14 +103,23 @@ export default (ops: Options) => {
return propertyElements; return propertyElements;
}; };
const idChange = (newVal: string) => {
if (newVal) {
updateProperties({ id: newVal });
}
};
const nameChange = (newVal: string) => {
if (newVal) {
updateProperties({ name: newVal });
}
};
return { return {
elementType, elementType,
showConfig: config, showConfig: config,
modeling,
moddle,
updateProperties, updateProperties,
updateProperty, updateProperty,
updateModdleProperties,
createModdleElement, createModdleElement,
idChange, idChange,