@bpmn-io/properties-panel 3.26.0 → 3.26.2
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/LICENSE +20 -20
- package/README.md +35 -35
- package/assets/properties-panel.css +3 -3
- package/dist/assets/properties-panel.css +1521 -1517
- package/dist/index.esm.js +534 -568
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +534 -568
- package/dist/index.js.map +1 -1
- package/package.json +91 -91
package/dist/index.js
CHANGED
|
@@ -238,19 +238,19 @@ const ErrorsContext = preact.createContext({
|
|
|
238
238
|
errors: {}
|
|
239
239
|
});
|
|
240
240
|
|
|
241
|
-
/**
|
|
242
|
-
* @typedef {Function} <propertiesPanel.showEntry> callback
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
*
|
|
246
|
-
* useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
|
|
247
|
-
* // ...
|
|
248
|
-
* });
|
|
249
|
-
*
|
|
250
|
-
* @param {Object} context
|
|
251
|
-
* @param {boolean} [context.focus]
|
|
252
|
-
*
|
|
253
|
-
* @returns void
|
|
241
|
+
/**
|
|
242
|
+
* @typedef {Function} <propertiesPanel.showEntry> callback
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
*
|
|
246
|
+
* useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
|
|
247
|
+
* // ...
|
|
248
|
+
* });
|
|
249
|
+
*
|
|
250
|
+
* @param {Object} context
|
|
251
|
+
* @param {boolean} [context.focus]
|
|
252
|
+
*
|
|
253
|
+
* @returns void
|
|
254
254
|
*/
|
|
255
255
|
|
|
256
256
|
const EventContext = preact.createContext({
|
|
@@ -269,20 +269,20 @@ const TooltipContext = preact.createContext({
|
|
|
269
269
|
getTooltipForId: () => {}
|
|
270
270
|
});
|
|
271
271
|
|
|
272
|
-
/**
|
|
273
|
-
* Accesses the global TooltipContext and returns a tooltip for a given id and element.
|
|
274
|
-
*
|
|
275
|
-
* @example
|
|
276
|
-
* ```jsx
|
|
277
|
-
* function TextField(props) {
|
|
278
|
-
* const tooltip = useTooltipContext('input1', element);
|
|
279
|
-
* }
|
|
280
|
-
* ```
|
|
281
|
-
*
|
|
282
|
-
* @param {string} id
|
|
283
|
-
* @param {object} element
|
|
284
|
-
*
|
|
285
|
-
* @returns {string}
|
|
272
|
+
/**
|
|
273
|
+
* Accesses the global TooltipContext and returns a tooltip for a given id and element.
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```jsx
|
|
277
|
+
* function TextField(props) {
|
|
278
|
+
* const tooltip = useTooltipContext('input1', element);
|
|
279
|
+
* }
|
|
280
|
+
* ```
|
|
281
|
+
*
|
|
282
|
+
* @param {string} id
|
|
283
|
+
* @param {object} element
|
|
284
|
+
*
|
|
285
|
+
* @returns {string}
|
|
286
286
|
*/
|
|
287
287
|
function useTooltipContext(id, element) {
|
|
288
288
|
const {
|
|
@@ -304,7 +304,7 @@ function TooltipWrapper(props) {
|
|
|
304
304
|
return jsxRuntime.jsx(Tooltip, {
|
|
305
305
|
...props,
|
|
306
306
|
value: value,
|
|
307
|
-
forId:
|
|
307
|
+
forId: `bio-properties-panel-${forId}`
|
|
308
308
|
});
|
|
309
309
|
}
|
|
310
310
|
function Tooltip(props) {
|
|
@@ -315,71 +315,52 @@ function Tooltip(props) {
|
|
|
315
315
|
direction = 'right',
|
|
316
316
|
position
|
|
317
317
|
} = props;
|
|
318
|
-
const [visible,
|
|
319
|
-
|
|
318
|
+
const [visible, setVisible] = hooks.useState(false);
|
|
319
|
+
|
|
320
|
+
// Tooltip will be shown after SHOW_DELAY ms from hovering over the source element.
|
|
321
|
+
const SHOW_DELAY = 200;
|
|
320
322
|
let timeout = null;
|
|
321
323
|
const wrapperRef = hooks.useRef(null);
|
|
322
324
|
const tooltipRef = hooks.useRef(null);
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
if (
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
325
|
+
const show = (_, delay) => {
|
|
326
|
+
if (visible) return;
|
|
327
|
+
if (delay) {
|
|
328
|
+
timeout = setTimeout(() => {
|
|
329
|
+
setVisible(true);
|
|
330
|
+
}, SHOW_DELAY);
|
|
331
|
+
} else {
|
|
332
|
+
setVisible(true);
|
|
332
333
|
}
|
|
333
334
|
};
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
};
|
|
338
|
-
const hideTooltipViaEscape = e => {
|
|
339
|
-
e.code === 'Escape' && hideTooltip();
|
|
335
|
+
const hide = () => {
|
|
336
|
+
clearTimeout(timeout);
|
|
337
|
+
setVisible(false);
|
|
340
338
|
};
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
y
|
|
339
|
+
const handleMouseLeave = ({
|
|
340
|
+
relatedTarget
|
|
344
341
|
}) => {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
342
|
+
// Don't hide the tooltip when moving mouse between the wrapper and the tooltip.
|
|
343
|
+
if (relatedTarget === wrapperRef.current || relatedTarget === tooltipRef.current || relatedTarget?.parentElement === tooltipRef.current) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
hide();
|
|
348
347
|
};
|
|
349
|
-
|
|
348
|
+
const handleFocusOut = e => {
|
|
350
349
|
const {
|
|
351
|
-
|
|
352
|
-
} =
|
|
353
|
-
|
|
350
|
+
target
|
|
351
|
+
} = e;
|
|
352
|
+
|
|
353
|
+
// Don't hide the tooltip if the wrapper or the tooltip itself is clicked.
|
|
354
|
+
const isHovered = target.matches(':hover') || tooltipRef.current?.matches(':hover');
|
|
355
|
+
if (target === wrapperRef.current && isHovered) {
|
|
356
|
+
e.stopPropagation();
|
|
354
357
|
return;
|
|
355
358
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}) && !(isFocused && focusedViaKeyboard)) {
|
|
362
|
-
hideTooltip();
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
const hideFocusedTooltip = e => {
|
|
366
|
-
const {
|
|
367
|
-
relatedTarget
|
|
368
|
-
} = e;
|
|
369
|
-
const isTooltipChild = el => !!el.closest('.bio-properties-panel-tooltip');
|
|
370
|
-
if (visible && !isHovered(wrapperRef.current) && relatedTarget && !isTooltipChild(relatedTarget)) {
|
|
371
|
-
hideTooltip();
|
|
372
|
-
}
|
|
373
|
-
};
|
|
374
|
-
document.addEventListener('wheel', hideHoveredTooltip);
|
|
375
|
-
document.addEventListener('focusout', hideFocusedTooltip);
|
|
376
|
-
document.addEventListener('mousemove', hideHoveredTooltip);
|
|
377
|
-
return () => {
|
|
378
|
-
document.removeEventListener('wheel', hideHoveredTooltip);
|
|
379
|
-
document.removeEventListener('mousemove', hideHoveredTooltip);
|
|
380
|
-
document.removeEventListener('focusout', hideFocusedTooltip);
|
|
381
|
-
};
|
|
382
|
-
}, [wrapperRef.current, visible, focusedViaKeyboard]);
|
|
359
|
+
hide();
|
|
360
|
+
};
|
|
361
|
+
const hideTooltipViaEscape = e => {
|
|
362
|
+
e.code === 'Escape' && hide();
|
|
363
|
+
};
|
|
383
364
|
const renderTooltip = () => {
|
|
384
365
|
return jsxRuntime.jsxs("div", {
|
|
385
366
|
class: `bio-properties-panel-tooltip ${direction}`,
|
|
@@ -389,6 +370,7 @@ function Tooltip(props) {
|
|
|
389
370
|
style: position || getTooltipPosition(wrapperRef.current),
|
|
390
371
|
ref: tooltipRef,
|
|
391
372
|
onClick: e => e.stopPropagation(),
|
|
373
|
+
onMouseLeave: handleMouseLeave,
|
|
392
374
|
children: [jsxRuntime.jsx("div", {
|
|
393
375
|
class: "bio-properties-panel-tooltip-content",
|
|
394
376
|
children: value
|
|
@@ -401,54 +383,38 @@ function Tooltip(props) {
|
|
|
401
383
|
class: "bio-properties-panel-tooltip-wrapper",
|
|
402
384
|
tabIndex: "0",
|
|
403
385
|
ref: wrapperRef,
|
|
404
|
-
onMouseEnter:
|
|
405
|
-
onMouseLeave:
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
},
|
|
409
|
-
onFocus: showTooltip,
|
|
386
|
+
onMouseEnter: e => show(e, true),
|
|
387
|
+
onMouseLeave: handleMouseLeave,
|
|
388
|
+
onFocus: show,
|
|
389
|
+
onBlur: handleFocusOut,
|
|
410
390
|
onKeyDown: hideTooltipViaEscape,
|
|
411
391
|
children: [props.children, visible ? parent ? compat.createPortal(renderTooltip(), parent.current) : renderTooltip() : null]
|
|
412
392
|
});
|
|
413
393
|
}
|
|
414
394
|
|
|
415
395
|
// helper
|
|
416
|
-
|
|
417
|
-
const {
|
|
418
|
-
top,
|
|
419
|
-
right,
|
|
420
|
-
bottom,
|
|
421
|
-
left
|
|
422
|
-
} = bounds;
|
|
423
|
-
return x >= left && x <= right && y >= top && y <= bottom;
|
|
424
|
-
}
|
|
396
|
+
|
|
425
397
|
function getTooltipPosition(refElement) {
|
|
426
398
|
const refPosition = refElement.getBoundingClientRect();
|
|
427
399
|
const right = `calc(100% - ${refPosition.x}px)`;
|
|
428
400
|
const top = `${refPosition.top - 10}px`;
|
|
429
401
|
return `right: ${right}; top: ${top};`;
|
|
430
402
|
}
|
|
431
|
-
function isHovered(element) {
|
|
432
|
-
return element.matches(':hover');
|
|
433
|
-
}
|
|
434
|
-
function prefixId$9(id) {
|
|
435
|
-
return `bio-properties-panel-${id}`;
|
|
436
|
-
}
|
|
437
403
|
|
|
438
|
-
/**
|
|
439
|
-
* Accesses the global DescriptionContext and returns a description for a given id and element.
|
|
440
|
-
*
|
|
441
|
-
* @example
|
|
442
|
-
* ```jsx
|
|
443
|
-
* function TextField(props) {
|
|
444
|
-
* const description = useDescriptionContext('input1', element);
|
|
445
|
-
* }
|
|
446
|
-
* ```
|
|
447
|
-
*
|
|
448
|
-
* @param {string} id
|
|
449
|
-
* @param {object} element
|
|
450
|
-
*
|
|
451
|
-
* @returns {string}
|
|
404
|
+
/**
|
|
405
|
+
* Accesses the global DescriptionContext and returns a description for a given id and element.
|
|
406
|
+
*
|
|
407
|
+
* @example
|
|
408
|
+
* ```jsx
|
|
409
|
+
* function TextField(props) {
|
|
410
|
+
* const description = useDescriptionContext('input1', element);
|
|
411
|
+
* }
|
|
412
|
+
* ```
|
|
413
|
+
*
|
|
414
|
+
* @param {string} id
|
|
415
|
+
* @param {object} element
|
|
416
|
+
*
|
|
417
|
+
* @returns {string}
|
|
452
418
|
*/
|
|
453
419
|
function useDescriptionContext(id, element) {
|
|
454
420
|
const {
|
|
@@ -470,11 +436,11 @@ function useErrors() {
|
|
|
470
436
|
return errors;
|
|
471
437
|
}
|
|
472
438
|
|
|
473
|
-
/**
|
|
474
|
-
* Subscribe to an event immediately. Update subscription after inputs changed.
|
|
475
|
-
*
|
|
476
|
-
* @param {string} event
|
|
477
|
-
* @param {Function} callback
|
|
439
|
+
/**
|
|
440
|
+
* Subscribe to an event immediately. Update subscription after inputs changed.
|
|
441
|
+
*
|
|
442
|
+
* @param {string} event
|
|
443
|
+
* @param {Function} callback
|
|
478
444
|
*/
|
|
479
445
|
function useEvent(event, callback, eventBus) {
|
|
480
446
|
const eventContext = hooks.useContext(EventContext);
|
|
@@ -506,24 +472,24 @@ function useEvent(event, callback, eventBus) {
|
|
|
506
472
|
|
|
507
473
|
const KEY_LENGTH = 6;
|
|
508
474
|
|
|
509
|
-
/**
|
|
510
|
-
* Create a persistent key factory for plain objects without id.
|
|
511
|
-
*
|
|
512
|
-
* @example
|
|
513
|
-
* ```jsx
|
|
514
|
-
* function List({ objects }) {
|
|
515
|
-
* const getKey = useKeyFactory();
|
|
516
|
-
* return (<ol>{
|
|
517
|
-
* objects.map(obj => {
|
|
518
|
-
* const key = getKey(obj);
|
|
519
|
-
* return <li key={key}>obj.name</li>
|
|
520
|
-
* })
|
|
521
|
-
* }</ol>);
|
|
522
|
-
* }
|
|
523
|
-
* ```
|
|
524
|
-
*
|
|
525
|
-
* @param {any[]} dependencies
|
|
526
|
-
* @returns {(element: object) => string}
|
|
475
|
+
/**
|
|
476
|
+
* Create a persistent key factory for plain objects without id.
|
|
477
|
+
*
|
|
478
|
+
* @example
|
|
479
|
+
* ```jsx
|
|
480
|
+
* function List({ objects }) {
|
|
481
|
+
* const getKey = useKeyFactory();
|
|
482
|
+
* return (<ol>{
|
|
483
|
+
* objects.map(obj => {
|
|
484
|
+
* const key = getKey(obj);
|
|
485
|
+
* return <li key={key}>obj.name</li>
|
|
486
|
+
* })
|
|
487
|
+
* }</ol>);
|
|
488
|
+
* }
|
|
489
|
+
* ```
|
|
490
|
+
*
|
|
491
|
+
* @param {any[]} dependencies
|
|
492
|
+
* @returns {(element: object) => string}
|
|
527
493
|
*/
|
|
528
494
|
function useKeyFactory(dependencies = []) {
|
|
529
495
|
const map = hooks.useMemo(() => new Map(), dependencies);
|
|
@@ -538,20 +504,20 @@ function useKeyFactory(dependencies = []) {
|
|
|
538
504
|
return getKey;
|
|
539
505
|
}
|
|
540
506
|
|
|
541
|
-
/**
|
|
542
|
-
* Creates a state that persists in the global LayoutContext.
|
|
543
|
-
*
|
|
544
|
-
* @example
|
|
545
|
-
* ```jsx
|
|
546
|
-
* function Group(props) {
|
|
547
|
-
* const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
|
|
548
|
-
* }
|
|
549
|
-
* ```
|
|
550
|
-
*
|
|
551
|
-
* @param {(string|number)[]} path
|
|
552
|
-
* @param {any} [defaultValue]
|
|
553
|
-
*
|
|
554
|
-
* @returns {[ any, Function ]}
|
|
507
|
+
/**
|
|
508
|
+
* Creates a state that persists in the global LayoutContext.
|
|
509
|
+
*
|
|
510
|
+
* @example
|
|
511
|
+
* ```jsx
|
|
512
|
+
* function Group(props) {
|
|
513
|
+
* const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
|
|
514
|
+
* }
|
|
515
|
+
* ```
|
|
516
|
+
*
|
|
517
|
+
* @param {(string|number)[]} path
|
|
518
|
+
* @param {any} [defaultValue]
|
|
519
|
+
*
|
|
520
|
+
* @returns {[ any, Function ]}
|
|
555
521
|
*/
|
|
556
522
|
function useLayoutState(path, defaultValue) {
|
|
557
523
|
const {
|
|
@@ -565,11 +531,11 @@ function useLayoutState(path, defaultValue) {
|
|
|
565
531
|
return [layoutForKey, setState];
|
|
566
532
|
}
|
|
567
533
|
|
|
568
|
-
/**
|
|
569
|
-
* @pinussilvestrus: we need to introduce our own hook to persist the previous
|
|
570
|
-
* state on updates.
|
|
571
|
-
*
|
|
572
|
-
* cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
|
|
534
|
+
/**
|
|
535
|
+
* @pinussilvestrus: we need to introduce our own hook to persist the previous
|
|
536
|
+
* state on updates.
|
|
537
|
+
*
|
|
538
|
+
* cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
|
|
573
539
|
*/
|
|
574
540
|
|
|
575
541
|
function usePrevious(value) {
|
|
@@ -580,12 +546,12 @@ function usePrevious(value) {
|
|
|
580
546
|
return ref.current;
|
|
581
547
|
}
|
|
582
548
|
|
|
583
|
-
/**
|
|
584
|
-
* Subscribe to `propertiesPanel.showEntry`.
|
|
585
|
-
*
|
|
586
|
-
* @param {string} id
|
|
587
|
-
*
|
|
588
|
-
* @returns {import('preact').Ref}
|
|
549
|
+
/**
|
|
550
|
+
* Subscribe to `propertiesPanel.showEntry`.
|
|
551
|
+
*
|
|
552
|
+
* @param {string} id
|
|
553
|
+
*
|
|
554
|
+
* @returns {import('preact').Ref}
|
|
589
555
|
*/
|
|
590
556
|
function useShowEntryEvent(id) {
|
|
591
557
|
const {
|
|
@@ -616,20 +582,20 @@ function useShowEntryEvent(id) {
|
|
|
616
582
|
return ref;
|
|
617
583
|
}
|
|
618
584
|
|
|
619
|
-
/**
|
|
620
|
-
* @callback setSticky
|
|
621
|
-
* @param {boolean} value
|
|
585
|
+
/**
|
|
586
|
+
* @callback setSticky
|
|
587
|
+
* @param {boolean} value
|
|
622
588
|
*/
|
|
623
589
|
|
|
624
|
-
/**
|
|
625
|
-
* Use IntersectionObserver to identify when DOM element is in sticky mode.
|
|
626
|
-
* If sticky is observered setSticky(true) will be called.
|
|
627
|
-
* If sticky mode is left, setSticky(false) will be called.
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
* @param {Object} ref
|
|
631
|
-
* @param {string} scrollContainerSelector
|
|
632
|
-
* @param {setSticky} setSticky
|
|
590
|
+
/**
|
|
591
|
+
* Use IntersectionObserver to identify when DOM element is in sticky mode.
|
|
592
|
+
* If sticky is observered setSticky(true) will be called.
|
|
593
|
+
* If sticky mode is left, setSticky(false) will be called.
|
|
594
|
+
*
|
|
595
|
+
*
|
|
596
|
+
* @param {Object} ref
|
|
597
|
+
* @param {string} scrollContainerSelector
|
|
598
|
+
* @param {setSticky} setSticky
|
|
633
599
|
*/
|
|
634
600
|
function useStickyIntersectionObserver(ref, scrollContainerSelector, setSticky) {
|
|
635
601
|
const [scrollContainer, setScrollContainer] = hooks.useState(minDom.query(scrollContainerSelector));
|
|
@@ -683,19 +649,19 @@ function useStickyIntersectionObserver(ref, scrollContainerSelector, setSticky)
|
|
|
683
649
|
}, [ref.current, scrollContainer, setSticky]);
|
|
684
650
|
}
|
|
685
651
|
|
|
686
|
-
/**
|
|
687
|
-
* Creates a static function reference with changing body.
|
|
688
|
-
* This is necessary when external libraries require a callback function
|
|
689
|
-
* that has references to state variables.
|
|
690
|
-
*
|
|
691
|
-
* Usage:
|
|
692
|
-
* const callback = useStaticCallback((val) => {val === currentState});
|
|
693
|
-
*
|
|
694
|
-
* The `callback` reference is static and can be safely used in external
|
|
695
|
-
* libraries or as a prop that does not cause rerendering of children.
|
|
696
|
-
*
|
|
697
|
-
* @param {Function} callback function with changing reference
|
|
698
|
-
* @returns {Function} static function reference
|
|
652
|
+
/**
|
|
653
|
+
* Creates a static function reference with changing body.
|
|
654
|
+
* This is necessary when external libraries require a callback function
|
|
655
|
+
* that has references to state variables.
|
|
656
|
+
*
|
|
657
|
+
* Usage:
|
|
658
|
+
* const callback = useStaticCallback((val) => {val === currentState});
|
|
659
|
+
*
|
|
660
|
+
* The `callback` reference is static and can be safely used in external
|
|
661
|
+
* libraries or as a prop that does not cause rerendering of children.
|
|
662
|
+
*
|
|
663
|
+
* @param {Function} callback function with changing reference
|
|
664
|
+
* @returns {Function} static function reference
|
|
699
665
|
*/
|
|
700
666
|
function useStaticCallback(callback) {
|
|
701
667
|
const callbackRef = hooks.useRef(callback);
|
|
@@ -838,13 +804,13 @@ function DataMarker(props) {
|
|
|
838
804
|
return null;
|
|
839
805
|
}
|
|
840
806
|
|
|
841
|
-
/**
|
|
842
|
-
* @typedef { {
|
|
843
|
-
* text: (element: object) => string,
|
|
844
|
-
* icon?: (element: Object) => import('preact').Component
|
|
845
|
-
* } } PlaceholderDefinition
|
|
846
|
-
*
|
|
847
|
-
* @param { PlaceholderDefinition } props
|
|
807
|
+
/**
|
|
808
|
+
* @typedef { {
|
|
809
|
+
* text: (element: object) => string,
|
|
810
|
+
* icon?: (element: Object) => import('preact').Component
|
|
811
|
+
* } } PlaceholderDefinition
|
|
812
|
+
*
|
|
813
|
+
* @param { PlaceholderDefinition } props
|
|
848
814
|
*/
|
|
849
815
|
function Placeholder(props) {
|
|
850
816
|
const {
|
|
@@ -883,9 +849,9 @@ function Description(props) {
|
|
|
883
849
|
|
|
884
850
|
const noop$6 = () => {};
|
|
885
851
|
|
|
886
|
-
/**
|
|
887
|
-
* Buffer `.focus()` calls while the editor is not initialized.
|
|
888
|
-
* Set Focus inside when the editor is ready.
|
|
852
|
+
/**
|
|
853
|
+
* Buffer `.focus()` calls while the editor is not initialized.
|
|
854
|
+
* Set Focus inside when the editor is ready.
|
|
889
855
|
*/
|
|
890
856
|
const useBufferedFocus$1 = function (editor, ref) {
|
|
891
857
|
const [buffer, setBuffer] = hooks.useState(undefined);
|
|
@@ -986,9 +952,9 @@ const CodeEditor$1 = compat.forwardRef((props, ref) => {
|
|
|
986
952
|
|
|
987
953
|
const noop$5 = () => {};
|
|
988
954
|
|
|
989
|
-
/**
|
|
990
|
-
* Buffer `.focus()` calls while the editor is not initialized.
|
|
991
|
-
* Set Focus inside when the editor is ready.
|
|
955
|
+
/**
|
|
956
|
+
* Buffer `.focus()` calls while the editor is not initialized.
|
|
957
|
+
* Set Focus inside when the editor is ready.
|
|
992
958
|
*/
|
|
993
959
|
const useBufferedFocus = function (editor, ref) {
|
|
994
960
|
const [buffer, setBuffer] = hooks.useState(undefined);
|
|
@@ -1037,10 +1003,10 @@ const CodeEditor = compat.forwardRef((props, ref) => {
|
|
|
1037
1003
|
hooks.useEffect(() => {
|
|
1038
1004
|
let editor;
|
|
1039
1005
|
|
|
1040
|
-
/* Trigger FEEL toggle when
|
|
1041
|
-
*
|
|
1042
|
-
* - `backspace` is pressed
|
|
1043
|
-
* - AND the cursor is at the beginning of the input
|
|
1006
|
+
/* Trigger FEEL toggle when
|
|
1007
|
+
*
|
|
1008
|
+
* - `backspace` is pressed
|
|
1009
|
+
* - AND the cursor is at the beginning of the input
|
|
1044
1010
|
*/
|
|
1045
1011
|
const onKeyDown = e => {
|
|
1046
1012
|
if (e.key !== 'Backspace' || !editor) {
|
|
@@ -1131,10 +1097,10 @@ function FeelIndicator(props) {
|
|
|
1131
1097
|
|
|
1132
1098
|
const noop$4 = () => {};
|
|
1133
1099
|
|
|
1134
|
-
/**
|
|
1135
|
-
* @param {Object} props
|
|
1136
|
-
* @param {Object} props.label
|
|
1137
|
-
* @param {String} props.feel
|
|
1100
|
+
/**
|
|
1101
|
+
* @param {Object} props
|
|
1102
|
+
* @param {Object} props.label
|
|
1103
|
+
* @param {String} props.feel
|
|
1138
1104
|
*/
|
|
1139
1105
|
function FeelIcon(props) {
|
|
1140
1106
|
const {
|
|
@@ -1169,22 +1135,22 @@ const FeelPopupContext = preact.createContext({
|
|
|
1169
1135
|
source: null
|
|
1170
1136
|
});
|
|
1171
1137
|
|
|
1172
|
-
/**
|
|
1173
|
-
* Add a dragger that calls back the passed function with
|
|
1174
|
-
* { event, delta } on drag.
|
|
1175
|
-
*
|
|
1176
|
-
* @example
|
|
1177
|
-
*
|
|
1178
|
-
* function dragMove(event, delta) {
|
|
1179
|
-
* // we are dragging (!!)
|
|
1180
|
-
* }
|
|
1181
|
-
*
|
|
1182
|
-
* domElement.addEventListener('dragstart', dragger(dragMove));
|
|
1183
|
-
*
|
|
1184
|
-
* @param {Function} fn
|
|
1185
|
-
* @param {Element} [dragPreview]
|
|
1186
|
-
*
|
|
1187
|
-
* @return {Function} drag start callback function
|
|
1138
|
+
/**
|
|
1139
|
+
* Add a dragger that calls back the passed function with
|
|
1140
|
+
* { event, delta } on drag.
|
|
1141
|
+
*
|
|
1142
|
+
* @example
|
|
1143
|
+
*
|
|
1144
|
+
* function dragMove(event, delta) {
|
|
1145
|
+
* // we are dragging (!!)
|
|
1146
|
+
* }
|
|
1147
|
+
*
|
|
1148
|
+
* domElement.addEventListener('dragstart', dragger(dragMove));
|
|
1149
|
+
*
|
|
1150
|
+
* @param {Function} fn
|
|
1151
|
+
* @param {Element} [dragPreview]
|
|
1152
|
+
*
|
|
1153
|
+
* @return {Function} drag start callback function
|
|
1188
1154
|
*/
|
|
1189
1155
|
function createDragger(fn, dragPreview) {
|
|
1190
1156
|
let self;
|
|
@@ -1239,23 +1205,23 @@ function emptyCanvas() {
|
|
|
1239
1205
|
|
|
1240
1206
|
const noop$3 = () => {};
|
|
1241
1207
|
|
|
1242
|
-
/**
|
|
1243
|
-
* A generic popup component.
|
|
1244
|
-
*
|
|
1245
|
-
* @param {Object} props
|
|
1246
|
-
* @param {HTMLElement} [props.container]
|
|
1247
|
-
* @param {string} [props.className]
|
|
1248
|
-
* @param {boolean} [props.delayInitialFocus]
|
|
1249
|
-
* @param {{x: number, y: number}} [props.position]
|
|
1250
|
-
* @param {number} [props.width]
|
|
1251
|
-
* @param {number} [props.height]
|
|
1252
|
-
* @param {Function} props.onClose
|
|
1253
|
-
* @param {Function} [props.onPostActivate]
|
|
1254
|
-
* @param {Function} [props.onPostDeactivate]
|
|
1255
|
-
* @param {boolean} [props.returnFocus]
|
|
1256
|
-
* @param {boolean} [props.closeOnEscape]
|
|
1257
|
-
* @param {string} props.title
|
|
1258
|
-
* @param {Ref} [ref]
|
|
1208
|
+
/**
|
|
1209
|
+
* A generic popup component.
|
|
1210
|
+
*
|
|
1211
|
+
* @param {Object} props
|
|
1212
|
+
* @param {HTMLElement} [props.container]
|
|
1213
|
+
* @param {string} [props.className]
|
|
1214
|
+
* @param {boolean} [props.delayInitialFocus]
|
|
1215
|
+
* @param {{x: number, y: number}} [props.position]
|
|
1216
|
+
* @param {number} [props.width]
|
|
1217
|
+
* @param {number} [props.height]
|
|
1218
|
+
* @param {Function} props.onClose
|
|
1219
|
+
* @param {Function} [props.onPostActivate]
|
|
1220
|
+
* @param {Function} [props.onPostDeactivate]
|
|
1221
|
+
* @param {boolean} [props.returnFocus]
|
|
1222
|
+
* @param {boolean} [props.closeOnEscape]
|
|
1223
|
+
* @param {string} props.title
|
|
1224
|
+
* @param {Ref} [ref]
|
|
1259
1225
|
*/
|
|
1260
1226
|
function PopupComponent(props, globalRef) {
|
|
1261
1227
|
const {
|
|
@@ -1474,12 +1440,12 @@ function getContainerNode(node) {
|
|
|
1474
1440
|
const FEEL_POPUP_WIDTH = 700;
|
|
1475
1441
|
const FEEL_POPUP_HEIGHT = 250;
|
|
1476
1442
|
|
|
1477
|
-
/**
|
|
1478
|
-
* FEEL popup component, built as a singleton. Emits lifecycle events as follows:
|
|
1479
|
-
* - `feelPopup.open` - fired before the popup is mounted
|
|
1480
|
-
* - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
|
|
1481
|
-
* - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
|
|
1482
|
-
* - `feelPopup.closed` - fired after the popup is unmounted
|
|
1443
|
+
/**
|
|
1444
|
+
* FEEL popup component, built as a singleton. Emits lifecycle events as follows:
|
|
1445
|
+
* - `feelPopup.open` - fired before the popup is mounted
|
|
1446
|
+
* - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
|
|
1447
|
+
* - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
|
|
1448
|
+
* - `feelPopup.closed` - fired after the popup is unmounted
|
|
1483
1449
|
*/
|
|
1484
1450
|
function FEELPopupRoot(props) {
|
|
1485
1451
|
const {
|
|
@@ -1705,11 +1671,11 @@ function autoCompletionOpen(element) {
|
|
|
1705
1671
|
return element.closest('.cm-editor').querySelector('.cm-tooltip-autocomplete');
|
|
1706
1672
|
}
|
|
1707
1673
|
|
|
1708
|
-
/**
|
|
1709
|
-
* This hook behaves like useEffect, but does not trigger on the first render.
|
|
1710
|
-
*
|
|
1711
|
-
* @param {Function} effect
|
|
1712
|
-
* @param {Array} deps
|
|
1674
|
+
/**
|
|
1675
|
+
* This hook behaves like useEffect, but does not trigger on the first render.
|
|
1676
|
+
*
|
|
1677
|
+
* @param {Function} effect
|
|
1678
|
+
* @param {Array} deps
|
|
1713
1679
|
*/
|
|
1714
1680
|
function useUpdateEffect(effect, deps) {
|
|
1715
1681
|
const isMounted = hooks.useRef(false);
|
|
@@ -1787,19 +1753,19 @@ function ToggleSwitch(props) {
|
|
|
1787
1753
|
});
|
|
1788
1754
|
}
|
|
1789
1755
|
|
|
1790
|
-
/**
|
|
1791
|
-
* @param {Object} props
|
|
1792
|
-
* @param {Object} props.element
|
|
1793
|
-
* @param {String} props.id
|
|
1794
|
-
* @param {String} props.description
|
|
1795
|
-
* @param {String} props.label
|
|
1796
|
-
* @param {String} props.switcherLabel
|
|
1797
|
-
* @param {Boolean} props.inline
|
|
1798
|
-
* @param {Function} props.getValue
|
|
1799
|
-
* @param {Function} props.setValue
|
|
1800
|
-
* @param {Function} props.onFocus
|
|
1801
|
-
* @param {Function} props.onBlur
|
|
1802
|
-
* @param {string|import('preact').Component} props.tooltip
|
|
1756
|
+
/**
|
|
1757
|
+
* @param {Object} props
|
|
1758
|
+
* @param {Object} props.element
|
|
1759
|
+
* @param {String} props.id
|
|
1760
|
+
* @param {String} props.description
|
|
1761
|
+
* @param {String} props.label
|
|
1762
|
+
* @param {String} props.switcherLabel
|
|
1763
|
+
* @param {Boolean} props.inline
|
|
1764
|
+
* @param {Function} props.getValue
|
|
1765
|
+
* @param {Function} props.setValue
|
|
1766
|
+
* @param {Function} props.onFocus
|
|
1767
|
+
* @param {Function} props.onBlur
|
|
1768
|
+
* @param {string|import('preact').Component} props.tooltip
|
|
1803
1769
|
*/
|
|
1804
1770
|
function ToggleSwitchEntry(props) {
|
|
1805
1771
|
const {
|
|
@@ -1907,22 +1873,22 @@ function NumberField(props) {
|
|
|
1907
1873
|
});
|
|
1908
1874
|
}
|
|
1909
1875
|
|
|
1910
|
-
/**
|
|
1911
|
-
* @param {Object} props
|
|
1912
|
-
* @param {Boolean} props.debounce
|
|
1913
|
-
* @param {String} props.description
|
|
1914
|
-
* @param {Boolean} props.disabled
|
|
1915
|
-
* @param {Object} props.element
|
|
1916
|
-
* @param {Function} props.getValue
|
|
1917
|
-
* @param {String} props.id
|
|
1918
|
-
* @param {String} props.label
|
|
1919
|
-
* @param {String} props.max
|
|
1920
|
-
* @param {String} props.min
|
|
1921
|
-
* @param {Function} props.setValue
|
|
1922
|
-
* @param {Function} props.onFocus
|
|
1923
|
-
* @param {Function} props.onBlur
|
|
1924
|
-
* @param {String} props.step
|
|
1925
|
-
* @param {Function} props.validate
|
|
1876
|
+
/**
|
|
1877
|
+
* @param {Object} props
|
|
1878
|
+
* @param {Boolean} props.debounce
|
|
1879
|
+
* @param {String} props.description
|
|
1880
|
+
* @param {Boolean} props.disabled
|
|
1881
|
+
* @param {Object} props.element
|
|
1882
|
+
* @param {Function} props.getValue
|
|
1883
|
+
* @param {String} props.id
|
|
1884
|
+
* @param {String} props.label
|
|
1885
|
+
* @param {String} props.max
|
|
1886
|
+
* @param {String} props.min
|
|
1887
|
+
* @param {Function} props.setValue
|
|
1888
|
+
* @param {Function} props.onFocus
|
|
1889
|
+
* @param {Function} props.onBlur
|
|
1890
|
+
* @param {String} props.step
|
|
1891
|
+
* @param {Function} props.validate
|
|
1926
1892
|
*/
|
|
1927
1893
|
function NumberFieldEntry(props) {
|
|
1928
1894
|
const {
|
|
@@ -2408,26 +2374,26 @@ const OptionalFeelCheckbox = compat.forwardRef((props, ref) => {
|
|
|
2408
2374
|
});
|
|
2409
2375
|
});
|
|
2410
2376
|
|
|
2411
|
-
/**
|
|
2412
|
-
* @param {Object} props
|
|
2413
|
-
* @param {Object} props.element
|
|
2414
|
-
* @param {String} props.id
|
|
2415
|
-
* @param {String} props.description
|
|
2416
|
-
* @param {Boolean} props.debounce
|
|
2417
|
-
* @param {Boolean} props.disabled
|
|
2418
|
-
* @param {Boolean} props.feel
|
|
2419
|
-
* @param {String} props.label
|
|
2420
|
-
* @param {Function} props.getValue
|
|
2421
|
-
* @param {Function} props.setValue
|
|
2422
|
-
* @param {Function} props.tooltipContainer
|
|
2423
|
-
* @param {Function} props.validate
|
|
2424
|
-
* @param {Function} props.show
|
|
2425
|
-
* @param {Function} props.example
|
|
2426
|
-
* @param {Function} props.variables
|
|
2427
|
-
* @param {Function} props.onFocus
|
|
2428
|
-
* @param {Function} props.onBlur
|
|
2429
|
-
* @param {string} [props.placeholder]
|
|
2430
|
-
* @param {string|import('preact').Component} props.tooltip
|
|
2377
|
+
/**
|
|
2378
|
+
* @param {Object} props
|
|
2379
|
+
* @param {Object} props.element
|
|
2380
|
+
* @param {String} props.id
|
|
2381
|
+
* @param {String} props.description
|
|
2382
|
+
* @param {Boolean} props.debounce
|
|
2383
|
+
* @param {Boolean} props.disabled
|
|
2384
|
+
* @param {Boolean} props.feel
|
|
2385
|
+
* @param {String} props.label
|
|
2386
|
+
* @param {Function} props.getValue
|
|
2387
|
+
* @param {Function} props.setValue
|
|
2388
|
+
* @param {Function} props.tooltipContainer
|
|
2389
|
+
* @param {Function} props.validate
|
|
2390
|
+
* @param {Function} props.show
|
|
2391
|
+
* @param {Function} props.example
|
|
2392
|
+
* @param {Function} props.variables
|
|
2393
|
+
* @param {Function} props.onFocus
|
|
2394
|
+
* @param {Function} props.onBlur
|
|
2395
|
+
* @param {string} [props.placeholder]
|
|
2396
|
+
* @param {string|import('preact').Component} props.tooltip
|
|
2431
2397
|
*/
|
|
2432
2398
|
function FeelEntry(props) {
|
|
2433
2399
|
const {
|
|
@@ -2514,27 +2480,27 @@ function FeelEntry(props) {
|
|
|
2514
2480
|
});
|
|
2515
2481
|
}
|
|
2516
2482
|
|
|
2517
|
-
/**
|
|
2518
|
-
* @param {Object} props
|
|
2519
|
-
* @param {Object} props.element
|
|
2520
|
-
* @param {String} props.id
|
|
2521
|
-
* @param {String} props.description
|
|
2522
|
-
* @param {Boolean} props.debounce
|
|
2523
|
-
* @param {Boolean} props.disabled
|
|
2524
|
-
* @param {String} props.max
|
|
2525
|
-
* @param {String} props.min
|
|
2526
|
-
* @param {String} props.step
|
|
2527
|
-
* @param {Boolean} props.feel
|
|
2528
|
-
* @param {String} props.label
|
|
2529
|
-
* @param {Function} props.getValue
|
|
2530
|
-
* @param {Function} props.setValue
|
|
2531
|
-
* @param {Function} props.tooltipContainer
|
|
2532
|
-
* @param {Function} props.validate
|
|
2533
|
-
* @param {Function} props.show
|
|
2534
|
-
* @param {Function} props.example
|
|
2535
|
-
* @param {Function} props.variables
|
|
2536
|
-
* @param {Function} props.onFocus
|
|
2537
|
-
* @param {Function} props.onBlur
|
|
2483
|
+
/**
|
|
2484
|
+
* @param {Object} props
|
|
2485
|
+
* @param {Object} props.element
|
|
2486
|
+
* @param {String} props.id
|
|
2487
|
+
* @param {String} props.description
|
|
2488
|
+
* @param {Boolean} props.debounce
|
|
2489
|
+
* @param {Boolean} props.disabled
|
|
2490
|
+
* @param {String} props.max
|
|
2491
|
+
* @param {String} props.min
|
|
2492
|
+
* @param {String} props.step
|
|
2493
|
+
* @param {Boolean} props.feel
|
|
2494
|
+
* @param {String} props.label
|
|
2495
|
+
* @param {Function} props.getValue
|
|
2496
|
+
* @param {Function} props.setValue
|
|
2497
|
+
* @param {Function} props.tooltipContainer
|
|
2498
|
+
* @param {Function} props.validate
|
|
2499
|
+
* @param {Function} props.show
|
|
2500
|
+
* @param {Function} props.example
|
|
2501
|
+
* @param {Function} props.variables
|
|
2502
|
+
* @param {Function} props.onFocus
|
|
2503
|
+
* @param {Function} props.onBlur
|
|
2538
2504
|
*/
|
|
2539
2505
|
function FeelNumberEntry(props) {
|
|
2540
2506
|
return jsxRuntime.jsx(FeelEntry, {
|
|
@@ -2544,25 +2510,25 @@ function FeelNumberEntry(props) {
|
|
|
2544
2510
|
});
|
|
2545
2511
|
}
|
|
2546
2512
|
|
|
2547
|
-
/**
|
|
2548
|
-
* @param {Object} props
|
|
2549
|
-
* @param {Object} props.element
|
|
2550
|
-
* @param {String} props.id
|
|
2551
|
-
* @param {String} props.description
|
|
2552
|
-
* @param {Boolean} props.debounce
|
|
2553
|
-
* @param {Boolean} props.disabled
|
|
2554
|
-
* @param {Boolean} props.feel
|
|
2555
|
-
* @param {String} props.label
|
|
2556
|
-
* @param {Function} props.getValue
|
|
2557
|
-
* @param {Function} props.setValue
|
|
2558
|
-
* @param {Function} props.tooltipContainer
|
|
2559
|
-
* @param {Function} props.validate
|
|
2560
|
-
* @param {Function} props.show
|
|
2561
|
-
* @param {Function} props.example
|
|
2562
|
-
* @param {Function} props.variables
|
|
2563
|
-
* @param {Function} props.onFocus
|
|
2564
|
-
* @param {Function} props.onBlur
|
|
2565
|
-
* @param {string} [props.placeholder]
|
|
2513
|
+
/**
|
|
2514
|
+
* @param {Object} props
|
|
2515
|
+
* @param {Object} props.element
|
|
2516
|
+
* @param {String} props.id
|
|
2517
|
+
* @param {String} props.description
|
|
2518
|
+
* @param {Boolean} props.debounce
|
|
2519
|
+
* @param {Boolean} props.disabled
|
|
2520
|
+
* @param {Boolean} props.feel
|
|
2521
|
+
* @param {String} props.label
|
|
2522
|
+
* @param {Function} props.getValue
|
|
2523
|
+
* @param {Function} props.setValue
|
|
2524
|
+
* @param {Function} props.tooltipContainer
|
|
2525
|
+
* @param {Function} props.validate
|
|
2526
|
+
* @param {Function} props.show
|
|
2527
|
+
* @param {Function} props.example
|
|
2528
|
+
* @param {Function} props.variables
|
|
2529
|
+
* @param {Function} props.onFocus
|
|
2530
|
+
* @param {Function} props.onBlur
|
|
2531
|
+
* @param {string} [props.placeholder]
|
|
2566
2532
|
*/
|
|
2567
2533
|
function FeelTextAreaEntry(props) {
|
|
2568
2534
|
return jsxRuntime.jsx(FeelEntry, {
|
|
@@ -2572,24 +2538,24 @@ function FeelTextAreaEntry(props) {
|
|
|
2572
2538
|
});
|
|
2573
2539
|
}
|
|
2574
2540
|
|
|
2575
|
-
/**
|
|
2576
|
-
* @param {Object} props
|
|
2577
|
-
* @param {Object} props.element
|
|
2578
|
-
* @param {String} props.id
|
|
2579
|
-
* @param {String} props.description
|
|
2580
|
-
* @param {Boolean} props.debounce
|
|
2581
|
-
* @param {Boolean} props.disabled
|
|
2582
|
-
* @param {Boolean} props.feel
|
|
2583
|
-
* @param {String} props.label
|
|
2584
|
-
* @param {Function} props.getValue
|
|
2585
|
-
* @param {Function} props.setValue
|
|
2586
|
-
* @param {Function} props.tooltipContainer
|
|
2587
|
-
* @param {Function} props.validate
|
|
2588
|
-
* @param {Function} props.show
|
|
2589
|
-
* @param {Function} props.example
|
|
2590
|
-
* @param {Function} props.variables
|
|
2591
|
-
* @param {Function} props.onFocus
|
|
2592
|
-
* @param {Function} props.onBlur
|
|
2541
|
+
/**
|
|
2542
|
+
* @param {Object} props
|
|
2543
|
+
* @param {Object} props.element
|
|
2544
|
+
* @param {String} props.id
|
|
2545
|
+
* @param {String} props.description
|
|
2546
|
+
* @param {Boolean} props.debounce
|
|
2547
|
+
* @param {Boolean} props.disabled
|
|
2548
|
+
* @param {Boolean} props.feel
|
|
2549
|
+
* @param {String} props.label
|
|
2550
|
+
* @param {Function} props.getValue
|
|
2551
|
+
* @param {Function} props.setValue
|
|
2552
|
+
* @param {Function} props.tooltipContainer
|
|
2553
|
+
* @param {Function} props.validate
|
|
2554
|
+
* @param {Function} props.show
|
|
2555
|
+
* @param {Function} props.example
|
|
2556
|
+
* @param {Function} props.variables
|
|
2557
|
+
* @param {Function} props.onFocus
|
|
2558
|
+
* @param {Function} props.onBlur
|
|
2593
2559
|
*/
|
|
2594
2560
|
function FeelToggleSwitchEntry(props) {
|
|
2595
2561
|
return jsxRuntime.jsx(FeelEntry, {
|
|
@@ -2599,24 +2565,24 @@ function FeelToggleSwitchEntry(props) {
|
|
|
2599
2565
|
});
|
|
2600
2566
|
}
|
|
2601
2567
|
|
|
2602
|
-
/**
|
|
2603
|
-
* @param {Object} props
|
|
2604
|
-
* @param {Object} props.element
|
|
2605
|
-
* @param {String} props.id
|
|
2606
|
-
* @param {String} props.description
|
|
2607
|
-
* @param {Boolean} props.debounce
|
|
2608
|
-
* @param {Boolean} props.disabled
|
|
2609
|
-
* @param {Boolean} props.feel
|
|
2610
|
-
* @param {String} props.label
|
|
2611
|
-
* @param {Function} props.getValue
|
|
2612
|
-
* @param {Function} props.setValue
|
|
2613
|
-
* @param {Function} props.tooltipContainer
|
|
2614
|
-
* @param {Function} props.validate
|
|
2615
|
-
* @param {Function} props.show
|
|
2616
|
-
* @param {Function} props.example
|
|
2617
|
-
* @param {Function} props.variables
|
|
2618
|
-
* @param {Function} props.onFocus
|
|
2619
|
-
* @param {Function} props.onBlur
|
|
2568
|
+
/**
|
|
2569
|
+
* @param {Object} props
|
|
2570
|
+
* @param {Object} props.element
|
|
2571
|
+
* @param {String} props.id
|
|
2572
|
+
* @param {String} props.description
|
|
2573
|
+
* @param {Boolean} props.debounce
|
|
2574
|
+
* @param {Boolean} props.disabled
|
|
2575
|
+
* @param {Boolean} props.feel
|
|
2576
|
+
* @param {String} props.label
|
|
2577
|
+
* @param {Function} props.getValue
|
|
2578
|
+
* @param {Function} props.setValue
|
|
2579
|
+
* @param {Function} props.tooltipContainer
|
|
2580
|
+
* @param {Function} props.validate
|
|
2581
|
+
* @param {Function} props.show
|
|
2582
|
+
* @param {Function} props.example
|
|
2583
|
+
* @param {Function} props.variables
|
|
2584
|
+
* @param {Function} props.onFocus
|
|
2585
|
+
* @param {Function} props.onBlur
|
|
2620
2586
|
*/
|
|
2621
2587
|
function FeelCheckboxEntry(props) {
|
|
2622
2588
|
return jsxRuntime.jsx(FeelEntry, {
|
|
@@ -2626,26 +2592,26 @@ function FeelCheckboxEntry(props) {
|
|
|
2626
2592
|
});
|
|
2627
2593
|
}
|
|
2628
2594
|
|
|
2629
|
-
/**
|
|
2630
|
-
* @param {Object} props
|
|
2631
|
-
* @param {Object} props.element
|
|
2632
|
-
* @param {String} props.id
|
|
2633
|
-
* @param {String} props.description
|
|
2634
|
-
* @param {String} props.hostLanguage
|
|
2635
|
-
* @param {Boolean} props.singleLine
|
|
2636
|
-
* @param {Boolean} props.debounce
|
|
2637
|
-
* @param {Boolean} props.disabled
|
|
2638
|
-
* @param {Boolean} props.feel
|
|
2639
|
-
* @param {String} props.label
|
|
2640
|
-
* @param {Function} props.getValue
|
|
2641
|
-
* @param {Function} props.setValue
|
|
2642
|
-
* @param {Function} props.tooltipContainer
|
|
2643
|
-
* @param {Function} props.validate
|
|
2644
|
-
* @param {Function} props.show
|
|
2645
|
-
* @param {Function} props.example
|
|
2646
|
-
* @param {Function} props.variables
|
|
2647
|
-
* @param {Function} props.onFocus
|
|
2648
|
-
* @param {Function} props.onBlur
|
|
2595
|
+
/**
|
|
2596
|
+
* @param {Object} props
|
|
2597
|
+
* @param {Object} props.element
|
|
2598
|
+
* @param {String} props.id
|
|
2599
|
+
* @param {String} props.description
|
|
2600
|
+
* @param {String} props.hostLanguage
|
|
2601
|
+
* @param {Boolean} props.singleLine
|
|
2602
|
+
* @param {Boolean} props.debounce
|
|
2603
|
+
* @param {Boolean} props.disabled
|
|
2604
|
+
* @param {Boolean} props.feel
|
|
2605
|
+
* @param {String} props.label
|
|
2606
|
+
* @param {Function} props.getValue
|
|
2607
|
+
* @param {Function} props.setValue
|
|
2608
|
+
* @param {Function} props.tooltipContainer
|
|
2609
|
+
* @param {Function} props.validate
|
|
2610
|
+
* @param {Function} props.show
|
|
2611
|
+
* @param {Function} props.example
|
|
2612
|
+
* @param {Function} props.variables
|
|
2613
|
+
* @param {Function} props.onFocus
|
|
2614
|
+
* @param {Function} props.onBlur
|
|
2649
2615
|
*/
|
|
2650
2616
|
function FeelTemplatingEntry(props) {
|
|
2651
2617
|
return jsxRuntime.jsx(FeelEntry, {
|
|
@@ -2714,85 +2680,85 @@ const DEFAULT_LAYOUT = {};
|
|
|
2714
2680
|
const DEFAULT_DESCRIPTION = {};
|
|
2715
2681
|
const DEFAULT_TOOLTIP = {};
|
|
2716
2682
|
|
|
2717
|
-
/**
|
|
2718
|
-
* @typedef { {
|
|
2719
|
-
* component: import('preact').Component,
|
|
2720
|
-
* id: String,
|
|
2721
|
-
* isEdited?: Function
|
|
2722
|
-
* } } EntryDefinition
|
|
2723
|
-
*
|
|
2724
|
-
* @typedef { {
|
|
2725
|
-
* autoFocusEntry: String,
|
|
2726
|
-
* autoOpen?: Boolean,
|
|
2727
|
-
* entries: Array<EntryDefinition>,
|
|
2728
|
-
* id: String,
|
|
2729
|
-
* label: String,
|
|
2730
|
-
* remove: (event: MouseEvent) => void
|
|
2731
|
-
* } } ListItemDefinition
|
|
2732
|
-
*
|
|
2733
|
-
* @typedef { {
|
|
2734
|
-
* add: (event: MouseEvent) => void,
|
|
2735
|
-
* component: import('preact').Component,
|
|
2736
|
-
* element: Object,
|
|
2737
|
-
* id: String,
|
|
2738
|
-
* items: Array<ListItemDefinition>,
|
|
2739
|
-
* label: String,
|
|
2740
|
-
* shouldOpen?: Boolean
|
|
2741
|
-
* } } ListGroupDefinition
|
|
2742
|
-
*
|
|
2743
|
-
* @typedef { {
|
|
2744
|
-
* component?: import('preact').Component,
|
|
2745
|
-
* entries: Array<EntryDefinition>,
|
|
2746
|
-
* id: String,
|
|
2747
|
-
* label: String,
|
|
2748
|
-
* shouldOpen?: Boolean
|
|
2749
|
-
* } } GroupDefinition
|
|
2750
|
-
*
|
|
2751
|
-
* @typedef { {
|
|
2752
|
-
* [id: String]: GetDescriptionFunction
|
|
2753
|
-
* } } DescriptionConfig
|
|
2754
|
-
*
|
|
2755
|
-
* @typedef { {
|
|
2756
|
-
* [id: String]: GetTooltipFunction
|
|
2757
|
-
* } } TooltipConfig
|
|
2758
|
-
*
|
|
2759
|
-
* @callback { {
|
|
2760
|
-
* @param {string} id
|
|
2761
|
-
* @param {Object} element
|
|
2762
|
-
* @returns {string}
|
|
2763
|
-
* } } GetDescriptionFunction
|
|
2764
|
-
*
|
|
2765
|
-
* @callback { {
|
|
2766
|
-
* @param {string} id
|
|
2767
|
-
* @param {Object} element
|
|
2768
|
-
* @returns {string}
|
|
2769
|
-
* } } GetTooltipFunction
|
|
2770
|
-
*
|
|
2771
|
-
* @typedef { {
|
|
2772
|
-
* getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
|
|
2773
|
-
* getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
|
|
2774
|
-
* } } PlaceholderProvider
|
|
2775
|
-
*
|
|
2683
|
+
/**
|
|
2684
|
+
* @typedef { {
|
|
2685
|
+
* component: import('preact').Component,
|
|
2686
|
+
* id: String,
|
|
2687
|
+
* isEdited?: Function
|
|
2688
|
+
* } } EntryDefinition
|
|
2689
|
+
*
|
|
2690
|
+
* @typedef { {
|
|
2691
|
+
* autoFocusEntry: String,
|
|
2692
|
+
* autoOpen?: Boolean,
|
|
2693
|
+
* entries: Array<EntryDefinition>,
|
|
2694
|
+
* id: String,
|
|
2695
|
+
* label: String,
|
|
2696
|
+
* remove: (event: MouseEvent) => void
|
|
2697
|
+
* } } ListItemDefinition
|
|
2698
|
+
*
|
|
2699
|
+
* @typedef { {
|
|
2700
|
+
* add: (event: MouseEvent) => void,
|
|
2701
|
+
* component: import('preact').Component,
|
|
2702
|
+
* element: Object,
|
|
2703
|
+
* id: String,
|
|
2704
|
+
* items: Array<ListItemDefinition>,
|
|
2705
|
+
* label: String,
|
|
2706
|
+
* shouldOpen?: Boolean
|
|
2707
|
+
* } } ListGroupDefinition
|
|
2708
|
+
*
|
|
2709
|
+
* @typedef { {
|
|
2710
|
+
* component?: import('preact').Component,
|
|
2711
|
+
* entries: Array<EntryDefinition>,
|
|
2712
|
+
* id: String,
|
|
2713
|
+
* label: String,
|
|
2714
|
+
* shouldOpen?: Boolean
|
|
2715
|
+
* } } GroupDefinition
|
|
2716
|
+
*
|
|
2717
|
+
* @typedef { {
|
|
2718
|
+
* [id: String]: GetDescriptionFunction
|
|
2719
|
+
* } } DescriptionConfig
|
|
2720
|
+
*
|
|
2721
|
+
* @typedef { {
|
|
2722
|
+
* [id: String]: GetTooltipFunction
|
|
2723
|
+
* } } TooltipConfig
|
|
2724
|
+
*
|
|
2725
|
+
* @callback { {
|
|
2726
|
+
* @param {string} id
|
|
2727
|
+
* @param {Object} element
|
|
2728
|
+
* @returns {string}
|
|
2729
|
+
* } } GetDescriptionFunction
|
|
2730
|
+
*
|
|
2731
|
+
* @callback { {
|
|
2732
|
+
* @param {string} id
|
|
2733
|
+
* @param {Object} element
|
|
2734
|
+
* @returns {string}
|
|
2735
|
+
* } } GetTooltipFunction
|
|
2736
|
+
*
|
|
2737
|
+
* @typedef { {
|
|
2738
|
+
* getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
|
|
2739
|
+
* getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
|
|
2740
|
+
* } } PlaceholderProvider
|
|
2741
|
+
*
|
|
2776
2742
|
*/
|
|
2777
2743
|
|
|
2778
|
-
/**
|
|
2779
|
-
* A basic properties panel component. Describes *how* content will be rendered, accepts
|
|
2780
|
-
* data from implementor to describe *what* will be rendered.
|
|
2781
|
-
*
|
|
2782
|
-
* @param {Object} props
|
|
2783
|
-
* @param {Object|Array} props.element
|
|
2784
|
-
* @param {import('./components/Header').HeaderProvider} props.headerProvider
|
|
2785
|
-
* @param {PlaceholderProvider} [props.placeholderProvider]
|
|
2786
|
-
* @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
|
|
2787
|
-
* @param {Object} [props.layoutConfig]
|
|
2788
|
-
* @param {Function} [props.layoutChanged]
|
|
2789
|
-
* @param {DescriptionConfig} [props.descriptionConfig]
|
|
2790
|
-
* @param {Function} [props.descriptionLoaded]
|
|
2791
|
-
* @param {TooltipConfig} [props.tooltipConfig]
|
|
2792
|
-
* @param {Function} [props.tooltipLoaded]
|
|
2793
|
-
* @param {HTMLElement} [props.feelPopupContainer]
|
|
2794
|
-
* @param {Function} [props.getFeelPopupLinks]
|
|
2795
|
-
* @param {Object} [props.eventBus]
|
|
2744
|
+
/**
|
|
2745
|
+
* A basic properties panel component. Describes *how* content will be rendered, accepts
|
|
2746
|
+
* data from implementor to describe *what* will be rendered.
|
|
2747
|
+
*
|
|
2748
|
+
* @param {Object} props
|
|
2749
|
+
* @param {Object|Array} props.element
|
|
2750
|
+
* @param {import('./components/Header').HeaderProvider} props.headerProvider
|
|
2751
|
+
* @param {PlaceholderProvider} [props.placeholderProvider]
|
|
2752
|
+
* @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
|
|
2753
|
+
* @param {Object} [props.layoutConfig]
|
|
2754
|
+
* @param {Function} [props.layoutChanged]
|
|
2755
|
+
* @param {DescriptionConfig} [props.descriptionConfig]
|
|
2756
|
+
* @param {Function} [props.descriptionLoaded]
|
|
2757
|
+
* @param {TooltipConfig} [props.tooltipConfig]
|
|
2758
|
+
* @param {Function} [props.tooltipLoaded]
|
|
2759
|
+
* @param {HTMLElement} [props.feelPopupContainer]
|
|
2760
|
+
* @param {Function} [props.getFeelPopupLinks]
|
|
2761
|
+
* @param {Object} [props.eventBus]
|
|
2796
2762
|
*/
|
|
2797
2763
|
function PropertiesPanel(props) {
|
|
2798
2764
|
const {
|
|
@@ -2965,11 +2931,11 @@ function createTooltipContext(overrides = {}) {
|
|
|
2965
2931
|
|
|
2966
2932
|
// hooks //////////////////
|
|
2967
2933
|
|
|
2968
|
-
/**
|
|
2969
|
-
* This hook behaves like useLayoutEffect, but does not trigger on the first render.
|
|
2970
|
-
*
|
|
2971
|
-
* @param {Function} effect
|
|
2972
|
-
* @param {Array} deps
|
|
2934
|
+
/**
|
|
2935
|
+
* This hook behaves like useLayoutEffect, but does not trigger on the first render.
|
|
2936
|
+
*
|
|
2937
|
+
* @param {Function} effect
|
|
2938
|
+
* @param {Array} deps
|
|
2973
2939
|
*/
|
|
2974
2940
|
function useUpdateLayoutEffect(effect, deps) {
|
|
2975
2941
|
const isMounted = hooks.useRef(false);
|
|
@@ -3044,15 +3010,15 @@ function MenuItem({
|
|
|
3044
3010
|
});
|
|
3045
3011
|
}
|
|
3046
3012
|
|
|
3047
|
-
/**
|
|
3048
|
-
*
|
|
3049
|
-
* @param {Array<null | Element>} ignoredElements
|
|
3050
|
-
* @param {Function} callback
|
|
3013
|
+
/**
|
|
3014
|
+
*
|
|
3015
|
+
* @param {Array<null | Element>} ignoredElements
|
|
3016
|
+
* @param {Function} callback
|
|
3051
3017
|
*/
|
|
3052
3018
|
function useGlobalClick(ignoredElements, callback) {
|
|
3053
3019
|
hooks.useEffect(() => {
|
|
3054
|
-
/**
|
|
3055
|
-
* @param {MouseEvent} event
|
|
3020
|
+
/**
|
|
3021
|
+
* @param {MouseEvent} event
|
|
3056
3022
|
*/
|
|
3057
3023
|
function listener(event) {
|
|
3058
3024
|
if (ignoredElements.some(element => element && element.contains(event.target))) {
|
|
@@ -3085,20 +3051,20 @@ function HeaderButton(props) {
|
|
|
3085
3051
|
});
|
|
3086
3052
|
}
|
|
3087
3053
|
|
|
3088
|
-
/**
|
|
3089
|
-
* @typedef { {
|
|
3090
|
-
* [key: string]: string;
|
|
3091
|
-
* } } TranslateReplacements
|
|
3054
|
+
/**
|
|
3055
|
+
* @typedef { {
|
|
3056
|
+
* [key: string]: string;
|
|
3057
|
+
* } } TranslateReplacements
|
|
3092
3058
|
*/
|
|
3093
3059
|
|
|
3094
|
-
/**
|
|
3095
|
-
* A simple translation stub to be used for multi-language support.
|
|
3096
|
-
* Can be easily replaced with a more sophisticated solution.
|
|
3097
|
-
*
|
|
3098
|
-
* @param {string} template to interpolate
|
|
3099
|
-
* @param {TranslateReplacements} [replacements] a map with substitutes
|
|
3100
|
-
*
|
|
3101
|
-
* @return {string} the translated string
|
|
3060
|
+
/**
|
|
3061
|
+
* A simple translation stub to be used for multi-language support.
|
|
3062
|
+
* Can be easily replaced with a more sophisticated solution.
|
|
3063
|
+
*
|
|
3064
|
+
* @param {string} template to interpolate
|
|
3065
|
+
* @param {TranslateReplacements} [replacements] a map with substitutes
|
|
3066
|
+
*
|
|
3067
|
+
* @return {string} the translated string
|
|
3102
3068
|
*/
|
|
3103
3069
|
function translateFallback(template, replacements) {
|
|
3104
3070
|
replacements = replacements || {};
|
|
@@ -3210,8 +3176,8 @@ function ListItem(props) {
|
|
|
3210
3176
|
|
|
3211
3177
|
const noop$1 = () => {};
|
|
3212
3178
|
|
|
3213
|
-
/**
|
|
3214
|
-
* @param {import('../PropertiesPanel').ListGroupDefinition} props
|
|
3179
|
+
/**
|
|
3180
|
+
* @param {import('../PropertiesPanel').ListGroupDefinition} props
|
|
3215
3181
|
*/
|
|
3216
3182
|
function ListGroup(props) {
|
|
3217
3183
|
const {
|
|
@@ -3403,18 +3369,18 @@ function Checkbox(props) {
|
|
|
3403
3369
|
});
|
|
3404
3370
|
}
|
|
3405
3371
|
|
|
3406
|
-
/**
|
|
3407
|
-
* @param {Object} props
|
|
3408
|
-
* @param {Object} props.element
|
|
3409
|
-
* @param {String} props.id
|
|
3410
|
-
* @param {String} props.description
|
|
3411
|
-
* @param {String} props.label
|
|
3412
|
-
* @param {Function} props.getValue
|
|
3413
|
-
* @param {Function} props.setValue
|
|
3414
|
-
* @param {Function} props.onFocus
|
|
3415
|
-
* @param {Function} props.onBlur
|
|
3416
|
-
* @param {string|import('preact').Component} props.tooltip
|
|
3417
|
-
* @param {boolean} [props.disabled]
|
|
3372
|
+
/**
|
|
3373
|
+
* @param {Object} props
|
|
3374
|
+
* @param {Object} props.element
|
|
3375
|
+
* @param {String} props.id
|
|
3376
|
+
* @param {String} props.description
|
|
3377
|
+
* @param {String} props.label
|
|
3378
|
+
* @param {Function} props.getValue
|
|
3379
|
+
* @param {Function} props.setValue
|
|
3380
|
+
* @param {Function} props.onFocus
|
|
3381
|
+
* @param {Function} props.onBlur
|
|
3382
|
+
* @param {string|import('preact').Component} props.tooltip
|
|
3383
|
+
* @param {boolean} [props.disabled]
|
|
3418
3384
|
*/
|
|
3419
3385
|
function CheckboxEntry(props) {
|
|
3420
3386
|
const {
|
|
@@ -3466,19 +3432,19 @@ function prefixId$4(id) {
|
|
|
3466
3432
|
|
|
3467
3433
|
const noop = () => {};
|
|
3468
3434
|
|
|
3469
|
-
/**
|
|
3470
|
-
* @param {Object} props
|
|
3471
|
-
* @param {Object} props.element
|
|
3472
|
-
* @param {String} props.id
|
|
3473
|
-
* @param {String} props.description
|
|
3474
|
-
* @param {Boolean} props.debounce
|
|
3475
|
-
* @param {Boolean} props.disabled
|
|
3476
|
-
* @param {String} props.label
|
|
3477
|
-
* @param {Function} props.getValue
|
|
3478
|
-
* @param {Function} props.setValue
|
|
3479
|
-
* @param {Function} props.tooltipContainer
|
|
3480
|
-
* @param {Function} props.validate
|
|
3481
|
-
* @param {Function} props.show
|
|
3435
|
+
/**
|
|
3436
|
+
* @param {Object} props
|
|
3437
|
+
* @param {Object} props.element
|
|
3438
|
+
* @param {String} props.id
|
|
3439
|
+
* @param {String} props.description
|
|
3440
|
+
* @param {Boolean} props.debounce
|
|
3441
|
+
* @param {Boolean} props.disabled
|
|
3442
|
+
* @param {String} props.label
|
|
3443
|
+
* @param {Function} props.getValue
|
|
3444
|
+
* @param {Function} props.setValue
|
|
3445
|
+
* @param {Function} props.tooltipContainer
|
|
3446
|
+
* @param {Function} props.validate
|
|
3447
|
+
* @param {Function} props.show
|
|
3482
3448
|
*/
|
|
3483
3449
|
function TemplatingEntry(props) {
|
|
3484
3450
|
const {
|
|
@@ -3653,8 +3619,8 @@ function List(props) {
|
|
|
3653
3619
|
}
|
|
3654
3620
|
}, [open, hasItems]);
|
|
3655
3621
|
|
|
3656
|
-
/**
|
|
3657
|
-
* @param {MouseEvent} event
|
|
3622
|
+
/**
|
|
3623
|
+
* @param {MouseEvent} event
|
|
3658
3624
|
*/
|
|
3659
3625
|
function addItem(event) {
|
|
3660
3626
|
event.stopPropagation();
|
|
@@ -3846,20 +3812,20 @@ function Select(props) {
|
|
|
3846
3812
|
});
|
|
3847
3813
|
}
|
|
3848
3814
|
|
|
3849
|
-
/**
|
|
3850
|
-
* @param {object} props
|
|
3851
|
-
* @param {object} props.element
|
|
3852
|
-
* @param {string} props.id
|
|
3853
|
-
* @param {string} [props.description]
|
|
3854
|
-
* @param {string} props.label
|
|
3855
|
-
* @param {Function} props.getValue
|
|
3856
|
-
* @param {Function} props.setValue
|
|
3857
|
-
* @param {Function} props.onFocus
|
|
3858
|
-
* @param {Function} props.onBlur
|
|
3859
|
-
* @param {Function} props.getOptions
|
|
3860
|
-
* @param {boolean} [props.disabled]
|
|
3861
|
-
* @param {Function} [props.validate]
|
|
3862
|
-
* @param {string|import('preact').Component} props.tooltip
|
|
3815
|
+
/**
|
|
3816
|
+
* @param {object} props
|
|
3817
|
+
* @param {object} props.element
|
|
3818
|
+
* @param {string} props.id
|
|
3819
|
+
* @param {string} [props.description]
|
|
3820
|
+
* @param {string} props.label
|
|
3821
|
+
* @param {Function} props.getValue
|
|
3822
|
+
* @param {Function} props.setValue
|
|
3823
|
+
* @param {Function} props.onFocus
|
|
3824
|
+
* @param {Function} props.onBlur
|
|
3825
|
+
* @param {Function} props.getOptions
|
|
3826
|
+
* @param {boolean} [props.disabled]
|
|
3827
|
+
* @param {Function} [props.validate]
|
|
3828
|
+
* @param {string|import('preact').Component} props.tooltip
|
|
3863
3829
|
*/
|
|
3864
3830
|
function SelectEntry(props) {
|
|
3865
3831
|
const {
|
|
@@ -4206,20 +4172,20 @@ function Textfield(props) {
|
|
|
4206
4172
|
});
|
|
4207
4173
|
}
|
|
4208
4174
|
|
|
4209
|
-
/**
|
|
4210
|
-
* @param {Object} props
|
|
4211
|
-
* @param {Object} props.element
|
|
4212
|
-
* @param {String} props.id
|
|
4213
|
-
* @param {String} props.description
|
|
4214
|
-
* @param {Boolean} props.debounce
|
|
4215
|
-
* @param {Boolean} props.disabled
|
|
4216
|
-
* @param {String} props.label
|
|
4217
|
-
* @param {Function} props.getValue
|
|
4218
|
-
* @param {Function} props.setValue
|
|
4219
|
-
* @param {Function} props.onFocus
|
|
4220
|
-
* @param {Function} props.onBlur
|
|
4221
|
-
* @param {string|import('preact').Component} props.tooltip
|
|
4222
|
-
* @param {Function} props.validate
|
|
4175
|
+
/**
|
|
4176
|
+
* @param {Object} props
|
|
4177
|
+
* @param {Object} props.element
|
|
4178
|
+
* @param {String} props.id
|
|
4179
|
+
* @param {String} props.description
|
|
4180
|
+
* @param {Boolean} props.debounce
|
|
4181
|
+
* @param {Boolean} props.disabled
|
|
4182
|
+
* @param {String} props.label
|
|
4183
|
+
* @param {Function} props.getValue
|
|
4184
|
+
* @param {Function} props.setValue
|
|
4185
|
+
* @param {Function} props.onFocus
|
|
4186
|
+
* @param {Function} props.onBlur
|
|
4187
|
+
* @param {string|import('preact').Component} props.tooltip
|
|
4188
|
+
* @param {Function} props.validate
|
|
4223
4189
|
*/
|
|
4224
4190
|
function TextfieldEntry(props) {
|
|
4225
4191
|
const {
|
|
@@ -4312,20 +4278,20 @@ class FeelPopupModule {
|
|
|
4312
4278
|
this._eventBus = eventBus;
|
|
4313
4279
|
}
|
|
4314
4280
|
|
|
4315
|
-
/**
|
|
4316
|
-
* Check if the FEEL popup is open.
|
|
4317
|
-
* @return {Boolean}
|
|
4281
|
+
/**
|
|
4282
|
+
* Check if the FEEL popup is open.
|
|
4283
|
+
* @return {Boolean}
|
|
4318
4284
|
*/
|
|
4319
4285
|
isOpen() {
|
|
4320
4286
|
return this._eventBus.fire('feelPopup._isOpen');
|
|
4321
4287
|
}
|
|
4322
4288
|
|
|
4323
|
-
/**
|
|
4324
|
-
* Open the FEEL popup.
|
|
4325
|
-
*
|
|
4326
|
-
* @param {String} entryId
|
|
4327
|
-
* @param {Object} popupConfig
|
|
4328
|
-
* @param {HTMLElement} sourceElement
|
|
4289
|
+
/**
|
|
4290
|
+
* Open the FEEL popup.
|
|
4291
|
+
*
|
|
4292
|
+
* @param {String} entryId
|
|
4293
|
+
* @param {Object} popupConfig
|
|
4294
|
+
* @param {HTMLElement} sourceElement
|
|
4329
4295
|
*/
|
|
4330
4296
|
open(entryId, popupConfig, sourceElement) {
|
|
4331
4297
|
return this._eventBus.fire('feelPopup._open', {
|
|
@@ -4335,8 +4301,8 @@ class FeelPopupModule {
|
|
|
4335
4301
|
});
|
|
4336
4302
|
}
|
|
4337
4303
|
|
|
4338
|
-
/**
|
|
4339
|
-
* Close the FEEL popup.
|
|
4304
|
+
/**
|
|
4305
|
+
* Close the FEEL popup.
|
|
4340
4306
|
*/
|
|
4341
4307
|
close() {
|
|
4342
4308
|
return this._eventBus.fire('feelPopup._close');
|