camunda-bpmn-js 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/properties-panel.css +1 -1
- package/dist/base-modeler.development.js +233 -53
- package/dist/base-modeler.production.min.js +33 -33
- package/dist/base-navigated-viewer.development.js +3 -0
- package/dist/base-navigated-viewer.production.min.js +1 -1
- package/dist/base-viewer.development.js +2 -0
- package/dist/base-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-modeler.development.js +862 -1784
- package/dist/camunda-cloud-modeler.production.min.js +46 -46
- package/dist/camunda-cloud-navigated-viewer.development.js +3 -0
- package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-viewer.development.js +2 -0
- package/dist/camunda-cloud-viewer.production.min.js +1 -1
- package/dist/camunda-platform-modeler.development.js +229 -49
- package/dist/camunda-platform-modeler.production.min.js +33 -33
- package/dist/camunda-platform-navigated-viewer.development.js +3 -0
- package/dist/camunda-platform-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-platform-viewer.development.js +2 -0
- package/dist/camunda-platform-viewer.production.min.js +1 -1
- package/lib/base/Modeler.d.ts +15 -15
- package/lib/base/NavigatedViewer.d.ts +2 -2
- package/lib/base/Viewer.d.ts +2 -2
- package/lib/camunda-cloud/ElementTemplatesValidator.d.ts +1 -1
- package/lib/camunda-cloud/Modeler.d.ts +3 -3
- package/lib/camunda-cloud/NavigatedViewer.d.ts +3 -3
- package/lib/camunda-cloud/Viewer.d.ts +3 -3
- package/lib/camunda-cloud/features/rules/BpmnRules.d.ts +32 -32
- package/lib/camunda-cloud/features/rules/index.d.ts +6 -6
- package/lib/camunda-cloud/util/commonModules.d.ts +9 -9
- package/lib/camunda-platform/Modeler.d.ts +3 -3
- package/lib/camunda-platform/NavigatedViewer.d.ts +5 -5
- package/lib/camunda-platform/Viewer.d.ts +5 -5
- package/lib/camunda-platform/util/commonModules.d.ts +9 -9
- package/lib/util/ExtensionElementsUtil.d.ts +24 -24
- package/package.json +19 -18
|
@@ -3827,10 +3827,7 @@
|
|
|
3827
3827
|
if (typeof f == "function") {
|
|
3828
3828
|
var a = function a () {
|
|
3829
3829
|
if (this instanceof a) {
|
|
3830
|
-
|
|
3831
|
-
args.push.apply(args, arguments);
|
|
3832
|
-
var Ctor = Function.bind.apply(f, args);
|
|
3833
|
-
return new Ctor();
|
|
3830
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
3834
3831
|
}
|
|
3835
3832
|
return f.apply(this, arguments);
|
|
3836
3833
|
};
|
|
@@ -17000,6 +16997,7 @@
|
|
|
17000
16997
|
*/
|
|
17001
16998
|
|
|
17002
16999
|
|
|
17000
|
+
|
|
17003
17001
|
// inlined ../../resources/logo.svg
|
|
17004
17002
|
var BPMNIO_LOGO_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21"><path fill="currentColor" d="M1.88.92v.14c0 .41-.13.68-.4.8.33.14.46.44.46.86v.33c0 .61-.33.95-.95.95H0V0h.95c.65 0 .93.3.93.92zM.63.57v1.06h.24c.24 0 .38-.1.38-.43V.98c0-.28-.1-.4-.32-.4zm0 1.63v1.22h.36c.2 0 .32-.1.32-.39v-.35c0-.37-.12-.48-.4-.48H.63zM4.18.99v.52c0 .64-.31.98-.94.98h-.3V4h-.62V0h.92c.63 0 .94.35.94.99zM2.94.57v1.35h.3c.2 0 .3-.09.3-.37v-.6c0-.29-.1-.38-.3-.38h-.3zm2.89 2.27L6.25 0h.88v4h-.6V1.12L6.1 3.99h-.6l-.46-2.82v2.82h-.55V0h.87zM8.14 1.1V4h-.56V0h.79L9 2.4V0h.56v4h-.64zm2.49 2.29v.6h-.6v-.6zM12.12 1c0-.63.33-1 .95-1 .61 0 .95.37.95 1v2.04c0 .64-.34 1-.95 1-.62 0-.95-.37-.95-1zm.62 2.08c0 .28.13.39.33.39s.32-.1.32-.4V.98c0-.29-.12-.4-.32-.4s-.33.11-.33.4z"/><path fill="currentColor" d="M0 4.53h14.02v1.04H0zM11.08 0h.63v.62h-.63zm.63 4V1h-.63v2.98z"/></svg>';
|
|
17005
17003
|
|
|
@@ -52503,6 +52501,7 @@
|
|
|
52503
52501
|
* @typedef {import('../../util/Types').Rect} Rect
|
|
52504
52502
|
*/
|
|
52505
52503
|
|
|
52504
|
+
|
|
52506
52505
|
/**
|
|
52507
52506
|
* Return direction given axis and delta.
|
|
52508
52507
|
*
|
|
@@ -60404,6 +60403,7 @@
|
|
|
60404
60403
|
*/
|
|
60405
60404
|
|
|
60406
60405
|
|
|
60406
|
+
|
|
60407
60407
|
/**
|
|
60408
60408
|
* A base connection layouter implementation
|
|
60409
60409
|
* that layouts the connection by directly connecting
|
|
@@ -98063,20 +98063,24 @@
|
|
|
98063
98063
|
|
|
98064
98064
|
// set edited state depending on all entries
|
|
98065
98065
|
p$1(() => {
|
|
98066
|
-
|
|
98067
|
-
|
|
98068
|
-
|
|
98069
|
-
|
|
98070
|
-
|
|
98071
|
-
|
|
98072
|
-
|
|
98073
|
-
|
|
98074
|
-
|
|
98075
|
-
|
|
98076
|
-
|
|
98066
|
+
// TODO(@barmac): replace with CSS when `:has()` is supported in all major browsers, or rewrite as in https://github.com/camunda/camunda-modeler/issues/3815#issuecomment-1733038161
|
|
98067
|
+
const scheduled = requestAnimationFrame(() => {
|
|
98068
|
+
const hasOneEditedEntry = entries.find(entry => {
|
|
98069
|
+
const {
|
|
98070
|
+
id,
|
|
98071
|
+
isEdited
|
|
98072
|
+
} = entry;
|
|
98073
|
+
const entryNode = query$1(`[data-entry-id="${id}"]`);
|
|
98074
|
+
if (!isFunction$1(isEdited) || !entryNode) {
|
|
98075
|
+
return false;
|
|
98076
|
+
}
|
|
98077
|
+
const inputNode = query$1('.bio-properties-panel-input', entryNode);
|
|
98078
|
+
return isEdited(inputNode);
|
|
98079
|
+
});
|
|
98080
|
+
setEdited(hasOneEditedEntry);
|
|
98077
98081
|
});
|
|
98078
|
-
|
|
98079
|
-
}, [entries]);
|
|
98082
|
+
return () => cancelAnimationFrame(scheduled);
|
|
98083
|
+
}, [entries, setEdited]);
|
|
98080
98084
|
|
|
98081
98085
|
// set error state depending on all entries
|
|
98082
98086
|
const allErrors = useErrors();
|
|
@@ -98464,7 +98468,11 @@
|
|
|
98464
98468
|
// (2) setup drag listeners
|
|
98465
98469
|
|
|
98466
98470
|
// attach drag + cleanup event
|
|
98467
|
-
|
|
98471
|
+
// we need to do this to make sure we track cursor
|
|
98472
|
+
// movements before we reach other drag event handlers,
|
|
98473
|
+
// e.g. in child containers.
|
|
98474
|
+
document.addEventListener('dragover', onDrag, true);
|
|
98475
|
+
document.addEventListener('dragenter', preventDefault, true);
|
|
98468
98476
|
document.addEventListener('dragend', onEnd);
|
|
98469
98477
|
document.addEventListener('drop', preventDefault);
|
|
98470
98478
|
}
|
|
@@ -98478,7 +98486,8 @@
|
|
|
98478
98486
|
return fn.call(self, event, delta);
|
|
98479
98487
|
}
|
|
98480
98488
|
function onEnd() {
|
|
98481
|
-
document.removeEventListener('dragover', onDrag);
|
|
98489
|
+
document.removeEventListener('dragover', onDrag, true);
|
|
98490
|
+
document.removeEventListener('dragenter', preventDefault, true);
|
|
98482
98491
|
document.removeEventListener('dragend', onEnd);
|
|
98483
98492
|
document.removeEventListener('drop', preventDefault);
|
|
98484
98493
|
}
|
|
@@ -98500,6 +98509,7 @@
|
|
|
98500
98509
|
* @param {Object} props
|
|
98501
98510
|
* @param {HTMLElement} [props.container]
|
|
98502
98511
|
* @param {string} [props.className]
|
|
98512
|
+
* @param {boolean} [props.delayInitialFocus]
|
|
98503
98513
|
* @param {{x: number, y: number}} [props.position]
|
|
98504
98514
|
* @param {number} [props.width]
|
|
98505
98515
|
* @param {number} [props.height]
|
|
@@ -98507,12 +98517,15 @@
|
|
|
98507
98517
|
* @param {Function} [props.onPostActivate]
|
|
98508
98518
|
* @param {Function} [props.onPostDeactivate]
|
|
98509
98519
|
* @param {boolean} [props.returnFocus]
|
|
98520
|
+
* @param {boolean} [props.closeOnEscape]
|
|
98510
98521
|
* @param {string} props.title
|
|
98522
|
+
* @param {Ref} [ref]
|
|
98511
98523
|
*/
|
|
98512
|
-
function
|
|
98524
|
+
function PopupComponent(props, globalRef) {
|
|
98513
98525
|
const {
|
|
98514
98526
|
container,
|
|
98515
98527
|
className,
|
|
98528
|
+
delayInitialFocus,
|
|
98516
98529
|
position,
|
|
98517
98530
|
width,
|
|
98518
98531
|
height,
|
|
@@ -98520,12 +98533,16 @@
|
|
|
98520
98533
|
onPostActivate = noop$3,
|
|
98521
98534
|
onPostDeactivate = noop$3,
|
|
98522
98535
|
returnFocus = true,
|
|
98536
|
+
closeOnEscape = true,
|
|
98523
98537
|
title
|
|
98524
98538
|
} = props;
|
|
98525
98539
|
const focusTrapRef = _$1(null);
|
|
98526
|
-
const
|
|
98527
|
-
const
|
|
98528
|
-
|
|
98540
|
+
const localRef = _$1(null);
|
|
98541
|
+
const popupRef = globalRef || localRef;
|
|
98542
|
+
const handleKeydown = event => {
|
|
98543
|
+
// do not allow keyboard events to bubble
|
|
98544
|
+
event.stopPropagation();
|
|
98545
|
+
if (closeOnEscape && event.key === 'Escape') {
|
|
98529
98546
|
onClose();
|
|
98530
98547
|
}
|
|
98531
98548
|
};
|
|
@@ -98550,14 +98567,6 @@
|
|
|
98550
98567
|
if (height) {
|
|
98551
98568
|
style.height = height + 'px';
|
|
98552
98569
|
}
|
|
98553
|
-
p$1(() => {
|
|
98554
|
-
if (popupRef.current) {
|
|
98555
|
-
popupRef.current.addEventListener('keydown', handleKeyPress);
|
|
98556
|
-
}
|
|
98557
|
-
return () => {
|
|
98558
|
-
popupRef.current.removeEventListener('keydown', handleKeyPress);
|
|
98559
|
-
};
|
|
98560
|
-
}, [popupRef]);
|
|
98561
98570
|
p$1(() => {
|
|
98562
98571
|
if (popupRef.current) {
|
|
98563
98572
|
popupRef.current.addEventListener('focusin', handleFocus);
|
|
@@ -98570,6 +98579,7 @@
|
|
|
98570
98579
|
if (popupRef.current) {
|
|
98571
98580
|
focusTrapRef.current = createFocusTrap(popupRef.current, {
|
|
98572
98581
|
clickOutsideDeactivates: true,
|
|
98582
|
+
delayInitialFocus,
|
|
98573
98583
|
fallbackFocus: popupRef.current,
|
|
98574
98584
|
onPostActivate,
|
|
98575
98585
|
onPostDeactivate,
|
|
@@ -98583,12 +98593,14 @@
|
|
|
98583
98593
|
"aria-label": title,
|
|
98584
98594
|
tabIndex: -1,
|
|
98585
98595
|
ref: popupRef,
|
|
98596
|
+
onKeyDown: handleKeydown,
|
|
98586
98597
|
role: "dialog",
|
|
98587
98598
|
class: classnames('bio-properties-panel-popup', className),
|
|
98588
98599
|
style: style,
|
|
98589
98600
|
children: props.children
|
|
98590
98601
|
}), container || document.body);
|
|
98591
98602
|
}
|
|
98603
|
+
const Popup = k(PopupComponent);
|
|
98592
98604
|
Popup.Title = Title;
|
|
98593
98605
|
Popup.Body = Body;
|
|
98594
98606
|
Popup.Footer = Footer;
|
|
@@ -98597,6 +98609,7 @@
|
|
|
98597
98609
|
children,
|
|
98598
98610
|
className,
|
|
98599
98611
|
draggable,
|
|
98612
|
+
emit = () => {},
|
|
98600
98613
|
title,
|
|
98601
98614
|
...rest
|
|
98602
98615
|
} = props;
|
|
@@ -98609,7 +98622,8 @@
|
|
|
98609
98622
|
});
|
|
98610
98623
|
const dragPreviewRef = _$1();
|
|
98611
98624
|
const titleRef = _$1();
|
|
98612
|
-
const onMove =
|
|
98625
|
+
const onMove = (event, delta) => {
|
|
98626
|
+
cancel(event);
|
|
98613
98627
|
const {
|
|
98614
98628
|
x: dx,
|
|
98615
98629
|
y: dy
|
|
@@ -98621,20 +98635,33 @@
|
|
|
98621
98635
|
const popupParent = getPopupParent(titleRef.current);
|
|
98622
98636
|
popupParent.style.top = newPosition.y + 'px';
|
|
98623
98637
|
popupParent.style.left = newPosition.x + 'px';
|
|
98624
|
-
|
|
98638
|
+
|
|
98639
|
+
// notify interested parties
|
|
98640
|
+
emit('dragover', {
|
|
98641
|
+
newPosition,
|
|
98642
|
+
delta
|
|
98643
|
+
});
|
|
98644
|
+
};
|
|
98625
98645
|
const onMoveStart = event => {
|
|
98626
98646
|
// initialize drag handler
|
|
98627
98647
|
const onDragStart = createDragger(onMove, dragPreviewRef.current);
|
|
98628
98648
|
onDragStart(event);
|
|
98649
|
+
event.stopPropagation();
|
|
98629
98650
|
const popupParent = getPopupParent(titleRef.current);
|
|
98630
98651
|
const bounds = popupParent.getBoundingClientRect();
|
|
98631
98652
|
context.current.startPosition = {
|
|
98632
98653
|
x: bounds.left,
|
|
98633
98654
|
y: bounds.top
|
|
98634
98655
|
};
|
|
98656
|
+
|
|
98657
|
+
// notify interested parties
|
|
98658
|
+
emit('dragstart');
|
|
98635
98659
|
};
|
|
98636
98660
|
const onMoveEnd = () => {
|
|
98637
98661
|
context.current.newPosition = null;
|
|
98662
|
+
|
|
98663
|
+
// notify interested parties
|
|
98664
|
+
emit('dragend');
|
|
98638
98665
|
};
|
|
98639
98666
|
return o$1("div", {
|
|
98640
98667
|
class: classnames('bio-properties-panel-popup__header', draggable && 'draggable', className),
|
|
@@ -98687,27 +98714,53 @@
|
|
|
98687
98714
|
function getPopupParent(node) {
|
|
98688
98715
|
return node.closest('.bio-properties-panel-popup');
|
|
98689
98716
|
}
|
|
98717
|
+
function cancel(event) {
|
|
98718
|
+
event.preventDefault();
|
|
98719
|
+
event.stopPropagation();
|
|
98720
|
+
}
|
|
98690
98721
|
|
|
98691
98722
|
const FEEL_POPUP_WIDTH = 700;
|
|
98692
98723
|
const FEEL_POPUP_HEIGHT = 250;
|
|
98693
98724
|
|
|
98694
98725
|
/**
|
|
98695
|
-
* FEEL popup component, built as a singleton.
|
|
98726
|
+
* FEEL popup component, built as a singleton. Emits lifecycle events as follows:
|
|
98727
|
+
* - `feelPopup.open` - fired before the popup is mounted
|
|
98728
|
+
* - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
|
|
98729
|
+
* - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
|
|
98730
|
+
* - `feelPopup.closed` - fired after the popup is unmounted
|
|
98696
98731
|
*/
|
|
98697
98732
|
function FEELPopupRoot(props) {
|
|
98698
98733
|
const {
|
|
98699
|
-
element
|
|
98734
|
+
element,
|
|
98735
|
+
eventBus = {
|
|
98736
|
+
fire() {},
|
|
98737
|
+
on() {},
|
|
98738
|
+
off() {}
|
|
98739
|
+
},
|
|
98740
|
+
popupContainer
|
|
98700
98741
|
} = props;
|
|
98701
98742
|
const prevElement = usePrevious(element);
|
|
98702
98743
|
const [popupConfig, setPopupConfig] = h({});
|
|
98703
98744
|
const [open, setOpen] = h(false);
|
|
98704
98745
|
const [source, setSource] = h(null);
|
|
98705
98746
|
const [sourceElement, setSourceElement] = h(null);
|
|
98706
|
-
const
|
|
98707
|
-
|
|
98747
|
+
const emit = (type, context) => {
|
|
98748
|
+
eventBus.fire('feelPopup.' + type, context);
|
|
98749
|
+
};
|
|
98750
|
+
const isOpen = T$1(() => {
|
|
98751
|
+
return !!open;
|
|
98752
|
+
}, [open]);
|
|
98753
|
+
useUpdateEffect(() => {
|
|
98754
|
+
if (!open) {
|
|
98755
|
+
emit('closed');
|
|
98756
|
+
}
|
|
98757
|
+
}, [open]);
|
|
98758
|
+
const handleOpen = (entryId, config, _sourceElement) => {
|
|
98759
|
+
setSource(entryId);
|
|
98708
98760
|
setPopupConfig(config);
|
|
98709
98761
|
setOpen(true);
|
|
98710
98762
|
setSourceElement(_sourceElement);
|
|
98763
|
+
emit('open');
|
|
98711
98764
|
};
|
|
98712
98765
|
const handleClose = () => {
|
|
98713
98766
|
setOpen(false);
|
|
@@ -98721,21 +98774,47 @@
|
|
|
98721
98774
|
|
|
98722
98775
|
// close popup on element change, cf. https://github.com/bpmn-io/properties-panel/issues/270
|
|
98723
98776
|
p$1(() => {
|
|
98724
|
-
if (element && element !== prevElement) {
|
|
98777
|
+
if (element && prevElement && element !== prevElement) {
|
|
98725
98778
|
handleClose();
|
|
98726
98779
|
}
|
|
98727
98780
|
}, [element]);
|
|
98781
|
+
|
|
98782
|
+
// allow close and open via events
|
|
98783
|
+
p$1(() => {
|
|
98784
|
+
const handlePopupOpen = context => {
|
|
98785
|
+
const {
|
|
98786
|
+
entryId,
|
|
98787
|
+
popupConfig,
|
|
98788
|
+
sourceElement
|
|
98789
|
+
} = context;
|
|
98790
|
+
handleOpen(entryId, popupConfig, sourceElement);
|
|
98791
|
+
};
|
|
98792
|
+
const handleIsOpen = () => {
|
|
98793
|
+
return isOpen();
|
|
98794
|
+
};
|
|
98795
|
+
eventBus.on('feelPopup._close', handleClose);
|
|
98796
|
+
eventBus.on('feelPopup._open', handlePopupOpen);
|
|
98797
|
+
eventBus.on('feelPopup._isOpen', handleIsOpen);
|
|
98798
|
+
return () => {
|
|
98799
|
+
eventBus.off('feelPopup._close', handleClose);
|
|
98800
|
+
eventBus.off('feelPopup._open', handleOpen);
|
|
98801
|
+
eventBus.off('feelPopup._isOpen', handleIsOpen);
|
|
98802
|
+
};
|
|
98803
|
+
}, [eventBus, isOpen]);
|
|
98728
98804
|
return o$1(FeelPopupContext.Provider, {
|
|
98729
98805
|
value: feelPopupContext,
|
|
98730
98806
|
children: [open && o$1(FeelPopupComponent, {
|
|
98731
98807
|
onClose: handleClose,
|
|
98808
|
+
container: popupContainer,
|
|
98732
98809
|
sourceElement: sourceElement,
|
|
98810
|
+
emit: emit,
|
|
98733
98811
|
...popupConfig
|
|
98734
98812
|
}), props.children]
|
|
98735
98813
|
});
|
|
98736
98814
|
}
|
|
98737
98815
|
function FeelPopupComponent(props) {
|
|
98738
98816
|
const {
|
|
98817
|
+
container,
|
|
98739
98818
|
id,
|
|
98740
98819
|
hostLanguage,
|
|
98741
98820
|
onInput,
|
|
@@ -98747,20 +98826,45 @@
|
|
|
98747
98826
|
tooltipContainer,
|
|
98748
98827
|
type,
|
|
98749
98828
|
value,
|
|
98750
|
-
variables
|
|
98829
|
+
variables,
|
|
98830
|
+
emit
|
|
98751
98831
|
} = props;
|
|
98752
98832
|
const editorRef = _$1();
|
|
98833
|
+
const popupRef = _$1();
|
|
98834
|
+
const isAutoCompletionOpen = _$1(false);
|
|
98753
98835
|
const handleSetReturnFocus = () => {
|
|
98754
98836
|
sourceElement && sourceElement.focus();
|
|
98755
98837
|
};
|
|
98756
|
-
|
|
98757
|
-
|
|
98758
|
-
if (
|
|
98759
|
-
|
|
98838
|
+
const onKeyDownCapture = event => {
|
|
98839
|
+
// we use capture here to make sure we handle the event before the editor does
|
|
98840
|
+
if (event.key === 'Escape') {
|
|
98841
|
+
isAutoCompletionOpen.current = autoCompletionOpen(event.target);
|
|
98842
|
+
}
|
|
98843
|
+
};
|
|
98844
|
+
const onKeyDown = event => {
|
|
98845
|
+
if (event.key === 'Escape') {
|
|
98846
|
+
// close popup only if auto completion is not open
|
|
98847
|
+
// we need to do check this because the editor is not
|
|
98848
|
+
// stop propagating the keydown event
|
|
98849
|
+
// cf. https://discuss.codemirror.net/t/how-can-i-replace-the-default-autocompletion-keymap-v6/3322/5
|
|
98850
|
+
if (!isAutoCompletionOpen.current) {
|
|
98851
|
+
onClose();
|
|
98852
|
+
isAutoCompletionOpen.current = false;
|
|
98853
|
+
}
|
|
98760
98854
|
}
|
|
98761
|
-
}
|
|
98855
|
+
};
|
|
98856
|
+
p$1(() => {
|
|
98857
|
+
emit('opened', {
|
|
98858
|
+
domNode: popupRef.current
|
|
98859
|
+
});
|
|
98860
|
+
return () => emit('close', {
|
|
98861
|
+
domNode: popupRef.current
|
|
98862
|
+
});
|
|
98863
|
+
}, []);
|
|
98762
98864
|
return o$1(Popup, {
|
|
98865
|
+
container: container,
|
|
98763
98866
|
className: "bio-properties-panel-feel-popup",
|
|
98867
|
+
emit: emit,
|
|
98764
98868
|
position: position,
|
|
98765
98869
|
title: title,
|
|
98766
98870
|
onClose: onClose
|
|
@@ -98768,14 +98872,20 @@
|
|
|
98768
98872
|
// handle focus manually on deactivate
|
|
98769
98873
|
,
|
|
98770
98874
|
returnFocus: false,
|
|
98875
|
+
closeOnEscape: false,
|
|
98876
|
+
delayInitialFocus: false,
|
|
98771
98877
|
onPostDeactivate: handleSetReturnFocus,
|
|
98772
98878
|
height: FEEL_POPUP_HEIGHT,
|
|
98773
98879
|
width: FEEL_POPUP_WIDTH,
|
|
98880
|
+
ref: popupRef,
|
|
98774
98881
|
children: [o$1(Popup.Title, {
|
|
98775
98882
|
title: title,
|
|
98883
|
+
emit: emit,
|
|
98776
98884
|
draggable: true
|
|
98777
98885
|
}), o$1(Popup.Body, {
|
|
98778
98886
|
children: o$1("div", {
|
|
98887
|
+
onKeyDownCapture: onKeyDownCapture,
|
|
98888
|
+
onKeyDown: onKeyDown,
|
|
98779
98889
|
class: "bio-properties-panel-feel-popup__body",
|
|
98780
98890
|
children: [type === 'feel' && o$1(CodeEditor, {
|
|
98781
98891
|
enableGutters: true,
|
|
@@ -98817,6 +98927,26 @@
|
|
|
98817
98927
|
function prefixId$8(id) {
|
|
98818
98928
|
return `bio-properties-panel-${id}`;
|
|
98819
98929
|
}
|
|
98930
|
+
function autoCompletionOpen(element) {
|
|
98931
|
+
return element.closest('.cm-editor').querySelector('.cm-tooltip-autocomplete');
|
|
98932
|
+
}
|
|
98933
|
+
|
|
98934
|
+
/**
|
|
98935
|
+
* This hook behaves like useEffect, but does not trigger on the first render.
|
|
98936
|
+
*
|
|
98937
|
+
* @param {Function} effect
|
|
98938
|
+
* @param {Array} deps
|
|
98939
|
+
*/
|
|
98940
|
+
function useUpdateEffect(effect, deps) {
|
|
98941
|
+
const isMounted = _$1(false);
|
|
98942
|
+
p$1(() => {
|
|
98943
|
+
if (isMounted.current) {
|
|
98944
|
+
return effect();
|
|
98945
|
+
} else {
|
|
98946
|
+
isMounted.current = true;
|
|
98947
|
+
}
|
|
98948
|
+
}, deps);
|
|
98949
|
+
}
|
|
98820
98950
|
|
|
98821
98951
|
function ToggleSwitch(props) {
|
|
98822
98952
|
const {
|
|
@@ -99298,6 +99428,7 @@
|
|
|
99298
99428
|
* @param {Function} [props.descriptionLoaded]
|
|
99299
99429
|
* @param {TooltipConfig} [props.tooltipConfig]
|
|
99300
99430
|
* @param {Function} [props.tooltipLoaded]
|
|
99431
|
+
* @param {HTMLElement} [props.feelPopupContainer]
|
|
99301
99432
|
* @param {Object} [props.eventBus]
|
|
99302
99433
|
*/
|
|
99303
99434
|
function PropertiesPanel(props) {
|
|
@@ -99312,6 +99443,7 @@
|
|
|
99312
99443
|
descriptionLoaded,
|
|
99313
99444
|
tooltipConfig,
|
|
99314
99445
|
tooltipLoaded,
|
|
99446
|
+
feelPopupContainer,
|
|
99315
99447
|
eventBus
|
|
99316
99448
|
} = props;
|
|
99317
99449
|
|
|
@@ -99414,6 +99546,8 @@
|
|
|
99414
99546
|
value: eventContext,
|
|
99415
99547
|
children: o$1(FEELPopupRoot, {
|
|
99416
99548
|
element: element,
|
|
99549
|
+
eventBus: eventBus,
|
|
99550
|
+
popupContainer: feelPopupContainer,
|
|
99417
99551
|
children: o$1("div", {
|
|
99418
99552
|
class: "bio-properties-panel",
|
|
99419
99553
|
children: [o$1(Header, {
|
|
@@ -100710,10 +100844,51 @@
|
|
|
100710
100844
|
}
|
|
100711
100845
|
debounceInput.$inject = ['config.debounceInput'];
|
|
100712
100846
|
|
|
100713
|
-
var index$
|
|
100847
|
+
var index$1$1 = {
|
|
100714
100848
|
debounceInput: ['factory', debounceInput]
|
|
100715
100849
|
};
|
|
100716
100850
|
|
|
100851
|
+
class FeelPopupModule {
|
|
100852
|
+
constructor(eventBus) {
|
|
100853
|
+
this._eventBus = eventBus;
|
|
100854
|
+
}
|
|
100855
|
+
|
|
100856
|
+
/**
|
|
100857
|
+
* Check if the FEEL popup is open.
|
|
100858
|
+
* @return {Boolean}
|
|
100859
|
+
*/
|
|
100860
|
+
isOpen() {
|
|
100861
|
+
return this._eventBus.fire('feelPopup._isOpen');
|
|
100862
|
+
}
|
|
100863
|
+
|
|
100864
|
+
/**
|
|
100865
|
+
* Open the FEEL popup.
|
|
100866
|
+
*
|
|
100867
|
+
* @param {String} entryId
|
|
100868
|
+
* @param {Object} popupConfig
|
|
100869
|
+
* @param {HTMLElement} sourceElement
|
|
100870
|
+
*/
|
|
100871
|
+
open(entryId, popupConfig, sourceElement) {
|
|
100872
|
+
return this._eventBus.fire('feelPopup._open', {
|
|
100873
|
+
entryId,
|
|
100874
|
+
popupConfig,
|
|
100875
|
+
sourceElement
|
|
100876
|
+
});
|
|
100877
|
+
}
|
|
100878
|
+
|
|
100879
|
+
/**
|
|
100880
|
+
* Close the FEEL popup.
|
|
100881
|
+
*/
|
|
100882
|
+
close() {
|
|
100883
|
+
return this._eventBus.fire('feelPopup._close');
|
|
100884
|
+
}
|
|
100885
|
+
}
|
|
100886
|
+
FeelPopupModule.$inject = ['eventBus'];
|
|
100887
|
+
|
|
100888
|
+
var index$5 = {
|
|
100889
|
+
feelPopup: ['type', FeelPopupModule]
|
|
100890
|
+
};
|
|
100891
|
+
|
|
100717
100892
|
var zeebe = {};
|
|
100718
100893
|
|
|
100719
100894
|
var require$$0 = /*@__PURE__*/getAugmentedNamespace(index_esm);
|
|
@@ -103594,7 +103769,8 @@
|
|
|
103594
103769
|
getProviders,
|
|
103595
103770
|
layoutConfig: initialLayoutConfig,
|
|
103596
103771
|
descriptionConfig,
|
|
103597
|
-
tooltipConfig
|
|
103772
|
+
tooltipConfig,
|
|
103773
|
+
feelPopupContainer
|
|
103598
103774
|
} = props;
|
|
103599
103775
|
const canvas = injector.get('canvas');
|
|
103600
103776
|
const elementRegistry = injector.get('elementRegistry');
|
|
@@ -103770,6 +103946,7 @@
|
|
|
103770
103946
|
descriptionLoaded: onDescriptionLoaded,
|
|
103771
103947
|
tooltipConfig: tooltipConfig,
|
|
103772
103948
|
tooltipLoaded: onTooltipLoaded,
|
|
103949
|
+
feelPopupContainer: feelPopupContainer,
|
|
103773
103950
|
eventBus: eventBus
|
|
103774
103951
|
})
|
|
103775
103952
|
});
|
|
@@ -103802,13 +103979,15 @@
|
|
|
103802
103979
|
parent,
|
|
103803
103980
|
layout: layoutConfig,
|
|
103804
103981
|
description: descriptionConfig,
|
|
103805
|
-
tooltip: tooltipConfig
|
|
103982
|
+
tooltip: tooltipConfig,
|
|
103983
|
+
feelPopupContainer
|
|
103806
103984
|
} = config || {};
|
|
103807
103985
|
this._eventBus = eventBus;
|
|
103808
103986
|
this._injector = injector;
|
|
103809
103987
|
this._layoutConfig = layoutConfig;
|
|
103810
103988
|
this._descriptionConfig = descriptionConfig;
|
|
103811
103989
|
this._tooltipConfig = tooltipConfig;
|
|
103990
|
+
this._feelPopupContainer = feelPopupContainer;
|
|
103812
103991
|
this._container = domify$1('<div style="height: 100%" class="bio-properties-panel-container"></div>');
|
|
103813
103992
|
var commandStack = injector.get('commandStack', false);
|
|
103814
103993
|
commandStack && setupKeyboard(this._container, eventBus, commandStack);
|
|
@@ -103919,7 +104098,8 @@
|
|
|
103919
104098
|
getProviders: this._getProviders.bind(this),
|
|
103920
104099
|
layoutConfig: this._layoutConfig,
|
|
103921
104100
|
descriptionConfig: this._descriptionConfig,
|
|
103922
|
-
tooltipConfig: this._tooltipConfig
|
|
104101
|
+
tooltipConfig: this._tooltipConfig,
|
|
104102
|
+
feelPopupContainer: this._feelPopupContainer
|
|
103923
104103
|
}), this._container);
|
|
103924
104104
|
this._eventBus.fire('propertiesPanel.rendered');
|
|
103925
104105
|
}
|
|
@@ -104007,7 +104187,7 @@
|
|
|
104007
104187
|
};
|
|
104008
104188
|
|
|
104009
104189
|
var index$3 = {
|
|
104010
|
-
__depends__: [Commands, index$5],
|
|
104190
|
+
__depends__: [Commands, index$1$1, index$5],
|
|
104011
104191
|
__init__: ['propertiesPanel'],
|
|
104012
104192
|
propertiesPanel: ['type', BpmnPropertiesPanelRenderer]
|
|
104013
104193
|
};
|