@bpmn-io/form-js-playground 1.4.0 → 1.4.1
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/form-playground.umd.js +392 -247
- package/package.json +3 -3
|
@@ -38999,7 +38999,7 @@
|
|
|
38999
38999
|
* @param {Tree} syntaxTree
|
|
39000
39000
|
* @returns {LintMessage[]} array of syntax errors
|
|
39001
39001
|
*/
|
|
39002
|
-
function lintSyntax
|
|
39002
|
+
function lintSyntax(syntaxTree) {
|
|
39003
39003
|
const lintMessages = [];
|
|
39004
39004
|
syntaxTree.iterate({
|
|
39005
39005
|
enter: node => {
|
|
@@ -39034,8 +39034,8 @@
|
|
|
39034
39034
|
* @param {Tree} syntaxTree
|
|
39035
39035
|
* @returns {LintMessage[]} array of all lint messages
|
|
39036
39036
|
*/
|
|
39037
|
-
function lintAll$
|
|
39038
|
-
const lintMessages = [...lintSyntax
|
|
39037
|
+
function lintAll$1(syntaxTree) {
|
|
39038
|
+
const lintMessages = [...lintSyntax(syntaxTree)];
|
|
39039
39039
|
return lintMessages;
|
|
39040
39040
|
}
|
|
39041
39041
|
|
|
@@ -39045,13 +39045,13 @@
|
|
|
39045
39045
|
* @param {EditorView} editorView
|
|
39046
39046
|
* @returns {Source} CodeMirror linting source
|
|
39047
39047
|
*/
|
|
39048
|
-
const cmFeelLinter
|
|
39048
|
+
const cmFeelLinter = () => editorView => {
|
|
39049
39049
|
// don't lint if the Editor is empty
|
|
39050
39050
|
if (editorView.state.doc.length === 0) {
|
|
39051
39051
|
return [];
|
|
39052
39052
|
}
|
|
39053
39053
|
const tree = syntaxTree(editorView.state);
|
|
39054
|
-
const messages = lintAll$
|
|
39054
|
+
const messages = lintAll$1(tree);
|
|
39055
39055
|
return messages.map(message => ({
|
|
39056
39056
|
...message,
|
|
39057
39057
|
source: 'syntaxError'
|
|
@@ -39815,7 +39815,7 @@
|
|
|
39815
39815
|
* @param {Tree} syntaxTree
|
|
39816
39816
|
* @returns {LintMessage[]} array of all lint messages
|
|
39817
39817
|
*/
|
|
39818
|
-
function lintAll
|
|
39818
|
+
function lintAll(syntaxTree) {
|
|
39819
39819
|
const lintMessages = [...lintEmptyInserts(syntaxTree)];
|
|
39820
39820
|
return lintMessages;
|
|
39821
39821
|
}
|
|
@@ -39827,7 +39827,7 @@
|
|
|
39827
39827
|
* @returns {Source} CodeMirror linting source
|
|
39828
39828
|
*/
|
|
39829
39829
|
function cmFeelersLinter() {
|
|
39830
|
-
const lintFeel = cmFeelLinter
|
|
39830
|
+
const lintFeel = cmFeelLinter();
|
|
39831
39831
|
return editorView => {
|
|
39832
39832
|
const feelMessages = lintFeel(editorView);
|
|
39833
39833
|
|
|
@@ -39836,7 +39836,7 @@
|
|
|
39836
39836
|
return [];
|
|
39837
39837
|
}
|
|
39838
39838
|
const tree = syntaxTree(editorView.state);
|
|
39839
|
-
const feelersMessages = lintAll
|
|
39839
|
+
const feelersMessages = lintAll(tree);
|
|
39840
39840
|
return [...feelMessages, ...feelersMessages.map(message => ({
|
|
39841
39841
|
...message,
|
|
39842
39842
|
source: 'feelers linter'
|
|
@@ -56008,71 +56008,6 @@
|
|
|
56008
56008
|
}
|
|
56009
56009
|
var domify$1 = domify;
|
|
56010
56010
|
|
|
56011
|
-
/**
|
|
56012
|
-
* Create an array of syntax errors in the given tree.
|
|
56013
|
-
*
|
|
56014
|
-
* @param {Tree} syntaxTree
|
|
56015
|
-
* @returns {LintMessage[]} array of syntax errors
|
|
56016
|
-
*/
|
|
56017
|
-
function lintSyntax(syntaxTree) {
|
|
56018
|
-
const lintMessages = [];
|
|
56019
|
-
syntaxTree.iterate({
|
|
56020
|
-
enter: node => {
|
|
56021
|
-
if (node.type.isError) {
|
|
56022
|
-
const error = node.toString();
|
|
56023
|
-
|
|
56024
|
-
/* The error has the pattern [⚠ || ⚠(NodeType)]. The regex extracts the node type from inside the brackets */
|
|
56025
|
-
const match = /\((.*?)\)/.exec(error);
|
|
56026
|
-
const nodeType = match && match[1];
|
|
56027
|
-
let message;
|
|
56028
|
-
if (nodeType) {
|
|
56029
|
-
message = 'unexpected ' + nodeType;
|
|
56030
|
-
} else {
|
|
56031
|
-
message = 'expression expected';
|
|
56032
|
-
}
|
|
56033
|
-
lintMessages.push({
|
|
56034
|
-
from: node.from,
|
|
56035
|
-
to: node.to,
|
|
56036
|
-
severity: 'error',
|
|
56037
|
-
message: message,
|
|
56038
|
-
type: 'syntaxError'
|
|
56039
|
-
});
|
|
56040
|
-
}
|
|
56041
|
-
}
|
|
56042
|
-
});
|
|
56043
|
-
return lintMessages;
|
|
56044
|
-
}
|
|
56045
|
-
|
|
56046
|
-
/**
|
|
56047
|
-
* Generates lint messages for the given syntax tree.
|
|
56048
|
-
*
|
|
56049
|
-
* @param {Tree} syntaxTree
|
|
56050
|
-
* @returns {LintMessage[]} array of all lint messages
|
|
56051
|
-
*/
|
|
56052
|
-
function lintAll(syntaxTree) {
|
|
56053
|
-
const lintMessages = [...lintSyntax(syntaxTree)];
|
|
56054
|
-
return lintMessages;
|
|
56055
|
-
}
|
|
56056
|
-
|
|
56057
|
-
/**
|
|
56058
|
-
* CodeMirror extension that provides linting for FEEL expressions.
|
|
56059
|
-
*
|
|
56060
|
-
* @param {EditorView} editorView
|
|
56061
|
-
* @returns {Source} CodeMirror linting source
|
|
56062
|
-
*/
|
|
56063
|
-
const cmFeelLinter = () => editorView => {
|
|
56064
|
-
// don't lint if the Editor is empty
|
|
56065
|
-
if (editorView.state.doc.length === 0) {
|
|
56066
|
-
return [];
|
|
56067
|
-
}
|
|
56068
|
-
const tree = syntaxTree(editorView.state);
|
|
56069
|
-
const messages = lintAll(tree);
|
|
56070
|
-
return messages.map(message => ({
|
|
56071
|
-
...message,
|
|
56072
|
-
source: 'syntaxError'
|
|
56073
|
-
}));
|
|
56074
|
-
};
|
|
56075
|
-
|
|
56076
56011
|
// helpers ///////////////////////////////
|
|
56077
56012
|
|
|
56078
56013
|
function isNodeEmpty(node) {
|
|
@@ -56088,257 +56023,365 @@
|
|
|
56088
56023
|
return isPathExpression(node.parent);
|
|
56089
56024
|
}
|
|
56090
56025
|
var tags = [{
|
|
56091
|
-
name: "not()",
|
|
56092
|
-
description: "<
|
|
56026
|
+
name: "not(negand)",
|
|
56027
|
+
description: "<p>Returns the logical negation of the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">not(negand: boolean): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">not(true)\n// false\n\nnot(null)\n// null\n</code></pre>\n"
|
|
56028
|
+
}, {
|
|
56029
|
+
name: "is defined(value)",
|
|
56030
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Checks if a given value is not <code>null</code>. If the value is <code>null</code> then the function returns <code>false</code>.\nOtherwise, the function returns <code>true</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">is defined(value: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">is defined(1)\n// true\n\nis defined(null)\n// false\n\nis defined(x)\n// false - if no variable "x" exists\n\nis defined(x.y)\n// false - if no variable "x" exists or it doesn't have a property "y"\n</code></pre>\n<p>:::caution Breaking change</p>\n<p>This function worked differently in previous versions. It returned <code>true</code> if the value was <code>null</code>.\nSince this version, the function returns <code>false</code> if the value is <code>null</code>.</p>\n<p>:::</p>\n"
|
|
56031
|
+
}, {
|
|
56032
|
+
name: "get or else(value, default)",
|
|
56033
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Return the provided value parameter if not <code>null</code>, otherwise return the default parameter</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">get or else(value: Any, default: Any): Any\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">get or else("this", "default")\n// "this"\n\nget or else(null, "default")\n// "default"\n\nget or else(null, null)\n// null\n</code></pre>\n"
|
|
56034
|
+
}, {
|
|
56035
|
+
name: "assert(value, condition)",
|
|
56036
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Verify that the given condition is met. If the condition is <code>true</code>, the function returns the value.\nOtherwise, the evaluation fails with an error.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">assert(value: Any, condition: Any)\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">assert(x, x != null)\n// "value" - if x is "value"\n// error - if x is null or doesn't exist\n\nassert(x, x >= 0)\n// 4 - if x is 4\n// error - if x is less than zero\n</code></pre>\n"
|
|
56037
|
+
}, {
|
|
56038
|
+
name: "assert(value, condition, cause)",
|
|
56039
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Verify that the given condition is met. If the condition is <code>true</code>, the function returns the value.\nOtherwise, the evaluation fails with an error containing the given message.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">assert(value: Any, condition: Any, cause: String)\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">assert(x, x != null, "'x' should not be null")\n// "value" - if x is "value"\n// error('x' should not be null) - if x is null or doesn't exist\n\nassert(x, x >= 0, "'x' should be positive")\n// 4 - if x is 4\n// error('x' should be positive) - if x is less than zero\n</code></pre>\n"
|
|
56040
|
+
}, {
|
|
56041
|
+
name: "get value(context, key)",
|
|
56042
|
+
description: "<p>Returns the value of the context entry with the given key.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">get value(context: context, key: string): Any\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">get value({foo: 123}, "foo")\n// 123\n\nget value({a: 1}, "b")\n// null\n</code></pre>\n"
|
|
56043
|
+
}, {
|
|
56044
|
+
name: "get value(context, keys)",
|
|
56045
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Returns the value of the context entry for a context path defined by the given keys.</p>\n<p>If <code>keys</code> contains the keys <code>[k1, k2]</code> then it returns the value at the nested entry <code>k1.k2</code> of the context.</p>\n<p>If <code>keys</code> are empty or the nested entry defined by the keys doesn't exist in the context, it returns <code>null</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">get value(context: context, keys: list<string>): Any\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">get value({x:1, y: {z:0}}, ["y", "z"])\n// 0\n\nget value({x: {y: {z:0}}}, ["x", "y"])\n// {z:0}\n\nget value({a: {b: 3}}, ["b"])\n// null\n</code></pre>\n"
|
|
56046
|
+
}, {
|
|
56047
|
+
name: "get entries(context)",
|
|
56048
|
+
description: "<p>Returns the entries of the context as a list of key-value-pairs.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">get entries(context: context): list<context>\n</code></pre>\n<p>The return value is a list of contexts. Each context contains two entries for "key" and "value".</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">get entries({foo: 123})\n// [{key: "foo", value: 123}]\n</code></pre>\n"
|
|
56093
56049
|
}, {
|
|
56094
|
-
name: "
|
|
56095
|
-
description: "<p>
|
|
56050
|
+
name: "context put(context, key, value)",
|
|
56051
|
+
description: "<p>Adds a new entry with the given key and value to the context. Returns a new context that includes the entry.</p>\n<p>If an entry for the same key already exists in the context, it overrides the value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">context put(context: context, key: string, value: Any): context\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">context put({x:1}, "y", 2)\n// {x:1, y:2}\n</code></pre>\n<p>:::info\nThe function <code>context put()</code> replaced the previous function <code>put()</code> (Camunda Extension). The\nprevious function is deprecated and should not be used anymore.\n:::</p>\n"
|
|
56096
56052
|
}, {
|
|
56097
|
-
name: "
|
|
56098
|
-
description: "<p>
|
|
56053
|
+
name: "context put(context, keys, value)",
|
|
56054
|
+
description: "<p>Adds a new entry with the given value to the context. The path of the entry is defined by the keys. Returns a new context that includes the entry.</p>\n<p>If <code>keys</code> contains the keys <code>[k1, k2]</code> then it adds the nested entry <code>k1.k2 = value</code> to the context.</p>\n<p>If an entry for the same keys already exists in the context, it overrides the value.</p>\n<p>If <code>keys</code> are empty, it returns <code>null</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">context put(context: context, keys: list<string>, value: Any): context\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">context put({x:1}, ["y"], 2)\n// {x:1, y:2}\n\ncontext put({x:1, y: {z:0}}, ["y", "z"], 2)\n// {x:1, y: {z:2}}\n\ncontext put({x:1}, ["y", "z"], 2)\n// {x:1, y: {z:2}}\n</code></pre>\n"
|
|
56099
56055
|
}, {
|
|
56100
|
-
name: "
|
|
56101
|
-
description: "<p>
|
|
56056
|
+
name: "context merge(contexts)",
|
|
56057
|
+
description: "<p>Union the given contexts. Returns a new context that includes all entries of the given contexts.</p>\n<p>If an entry for the same key already exists in a context, it overrides the value. The entries are overridden in the same order as in the list of contexts.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">context merge(contexts: list<context>): context\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">context merge([{x:1}, {y:2}])\n// {x:1, y:2}\n\ncontext merge([{x:1, y: 0}, {y:2}])\n// {x:1, y:2}\n</code></pre>\n<p>:::info\nThe function <code>context merge()</code> replaced the previous function <code>put all()</code> (Camunda Extension). The\nprevious function is deprecated and should not be used anymore.\n:::</p>\n"
|
|
56102
56058
|
}, {
|
|
56103
|
-
name: "
|
|
56104
|
-
description: "<p>
|
|
56059
|
+
name: "string(from)",
|
|
56060
|
+
description: "<p>Returns the given value as a string representation.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">string(from: Any): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">string(1.1)\n// "1.1"\n\nstring(date("2012-12-25"))\n// "2012-12-25"\n</code></pre>\n"
|
|
56105
56061
|
}, {
|
|
56106
|
-
name: "
|
|
56107
|
-
description: "<p>
|
|
56062
|
+
name: "number(from)",
|
|
56063
|
+
description: "<p>Parses the given string to a number.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">number(from: string): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">number("1500.5")\n// 1500.5\n</code></pre>\n"
|
|
56108
56064
|
}, {
|
|
56109
|
-
name: "
|
|
56110
|
-
description: "<
|
|
56065
|
+
name: "context(entries)",
|
|
56066
|
+
description: "<p>Constructs a context of the given list of key-value pairs. It is the reverse function to <a href=\"feel-built-in-functions-context.md#get-entriescontext\">get entries()</a>.</p>\n<p>Each key-value pair must be a context with two entries: <code>key</code> and <code>value</code>. The entry with name <code>key</code> must have a value of the type <code>string</code>.</p>\n<p>It might override context entries if the keys are equal. The entries are overridden in the same order as the contexts in the given list.</p>\n<p>Returns <code>null</code> if one of the entries is not a context or if a context doesn't contain the required entries.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">context(entries: list<context>): context\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">context([{"key":"a", "value":1}, {"key":"b", "value":2}])\n// {a:1, b:2}\n</code></pre>\n"
|
|
56111
56067
|
}, {
|
|
56112
|
-
name: "
|
|
56113
|
-
description: "<
|
|
56068
|
+
name: "date(from)",
|
|
56069
|
+
description: "<p>Returns a date from the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">date(from: string): date\n</code></pre>\n<p>Parses the given string into a date.</p>\n<pre><code class=\"language-feel\">date(from: date and time): date\n</code></pre>\n<p>Extracts the date component from the given date and time.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">date("2018-04-29")\n// date("2018-04-29")\n\ndate(date and time("2012-12-25T11:00:00"))\n// date("2012-12-25")\n</code></pre>\n"
|
|
56114
56070
|
}, {
|
|
56115
|
-
name: "date
|
|
56116
|
-
description: "<
|
|
56071
|
+
name: "date(year, month, day)",
|
|
56072
|
+
description: "<p>Returns a date from the given components.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">date(year: number, month: number, day: number): date\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">date(2012, 12, 25)\n// date("2012-12-25")\n</code></pre>\n"
|
|
56117
56073
|
}, {
|
|
56118
|
-
name: "
|
|
56119
|
-
description: "<
|
|
56074
|
+
name: "time(from)",
|
|
56075
|
+
description: "<p>Returns a time from the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">time(from: string): time\n</code></pre>\n<p>Parses the given string into a time.</p>\n<pre><code class=\"language-feel\">time(from: date and time): time\n</code></pre>\n<p>Extracts the time component from the given date and time.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">time("12:00:00")\n// time("12:00:00")\n\ntime(date and time("2012-12-25T11:00:00"))\n// time("11:00:00")\n</code></pre>\n"
|
|
56120
56076
|
}, {
|
|
56121
|
-
name: "
|
|
56122
|
-
description: "<
|
|
56077
|
+
name: "time(hour, minute, second)",
|
|
56078
|
+
description: "<p>Returns a time from the given components.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">time(hour: number, minute: number, second: number): time\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">time(23, 59, 0)\n// time("23:59:00")\n</code></pre>\n"
|
|
56123
56079
|
}, {
|
|
56124
|
-
name: "
|
|
56125
|
-
description: "<
|
|
56080
|
+
name: "time(hour, minute, second, offset)",
|
|
56081
|
+
description: "<p>Returns a time from the given components, including a timezone offset.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">time(hour: number, minute: number, second: number, offset: days and time duration): time\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">time(14, 30, 0, duration("PT1H"))\n// time("14:30:00+01:00")\n</code></pre>\n"
|
|
56126
56082
|
}, {
|
|
56127
|
-
name: "
|
|
56128
|
-
description: "<
|
|
56083
|
+
name: "date and time(from)",
|
|
56084
|
+
description: "<p>Parses the given string into a date and time.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">date and time(from: string): date and time\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">date and time("2018-04-29T009:30:00")\n// date and time("2018-04-29T009:30:00")\n</code></pre>\n"
|
|
56129
56085
|
}, {
|
|
56130
|
-
name: "
|
|
56131
|
-
description: "<p>
|
|
56086
|
+
name: "date and time(date, time)",
|
|
56087
|
+
description: "<p>Returns a date and time from the given components.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">date and time(date: date, time: time): date and time\n</code></pre>\n<pre><code class=\"language-feel\">date and time(date: date and time, time: time): date and time\n</code></pre>\n<p>Returns a date and time value that consists of the date component of <code>date</code> combined with <code>time</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">date and time(date("2012-12-24"),time("T23:59:00"))\n// date and time("2012-12-24T23:59:00")\n\ndate and time(date and time("2012-12-25T11:00:00"),time("T23:59:00"))\n// date and time("2012-12-25T23:59:00")\n</code></pre>\n"
|
|
56132
56088
|
}, {
|
|
56133
|
-
name: "
|
|
56134
|
-
description: "<
|
|
56089
|
+
name: "date and time(date, timezone)",
|
|
56090
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Returns the given date and time value at the given timezone.</p>\n<p>If <code>date</code> has a different timezone than <code>timezone</code> then it adjusts the time to match the local time of <code>timezone</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">date and time(date: date and time, timezone: string): date and time\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">date and time(@"2020-07-31T14:27:30@Europe/Berlin", "America/Los_Angeles")\n// date and time("2020-07-31T05:27:30@America/Los_Angeles")\n\ndate and time(@"2020-07-31T14:27:30", "Z")\n// date and time("2020-07-31T12:27:30Z")\n</code></pre>\n"
|
|
56135
56091
|
}, {
|
|
56136
|
-
name: "
|
|
56137
|
-
description: "<
|
|
56092
|
+
name: "duration(from)",
|
|
56093
|
+
description: "<p>Parses the given string into a duration. The duration is either a days and time duration or a years and months duration.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">duration(from: string): days and time duration\n</code></pre>\n<pre><code class=\"language-feel\">duration(from: string): years and months duration\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">duration("P5D")\n// duration("P5D")\n\nduration("P32Y")\n// duration("P32Y")\n</code></pre>\n"
|
|
56138
56094
|
}, {
|
|
56139
|
-
name: "
|
|
56140
|
-
description: "<
|
|
56095
|
+
name: "years and months duration(from, to)",
|
|
56096
|
+
description: "<p>Returns the years and months duration between <code>from</code> and <code>to</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">years and months duration(from: date, to: date): years and months duration\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">years and months duration(date("2011-12-22"), date("2013-08-24"))\n// duration("P1Y8M")\n</code></pre>\n"
|
|
56141
56097
|
}, {
|
|
56142
|
-
name: "
|
|
56143
|
-
description: "<
|
|
56098
|
+
name: "list contains(list, element)",
|
|
56099
|
+
description: "<p>Returns <code>true</code> if the given list contains the element. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">list contains(list: list, element: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">list contains([1,2,3], 2)\n// true\n</code></pre>\n"
|
|
56144
56100
|
}, {
|
|
56145
|
-
name: "
|
|
56146
|
-
description: "<
|
|
56101
|
+
name: "count(list)",
|
|
56102
|
+
description: "<p>Returns the number of elements of the given list.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">count(list: list): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">count([1,2,3])\n// 3\n</code></pre>\n"
|
|
56147
56103
|
}, {
|
|
56148
|
-
name: "
|
|
56149
|
-
description: "<
|
|
56104
|
+
name: "min(list)",
|
|
56105
|
+
description: "<p>Returns the minimum of the given list.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">min(list: list): Any\n</code></pre>\n<p>All elements in <code>list</code> should have the same type and be comparable.</p>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">min([1,2,3])\n// 1\n\nmin(1,2,3)\n// 1\n</code></pre>\n"
|
|
56150
56106
|
}, {
|
|
56151
|
-
name: "
|
|
56152
|
-
description: "<p>Returns the
|
|
56107
|
+
name: "max(list)",
|
|
56108
|
+
description: "<p>Returns the maximum of the given list.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">max(list: list): Any\n</code></pre>\n<p>All elements in <code>list</code> should have the same type and be comparable.</p>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">max([1,2,3])\n// 3\n\nmax(1,2,3)\n// 3\n</code></pre>\n"
|
|
56153
56109
|
}, {
|
|
56154
|
-
name: "
|
|
56155
|
-
description: "<p>Returns the
|
|
56110
|
+
name: "sum(list)",
|
|
56111
|
+
description: "<p>Returns the sum of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">sum(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">sum([1,2,3])\n// 6\n\nsum(1,2,3)\n// 6\n</code></pre>\n"
|
|
56156
56112
|
}, {
|
|
56157
|
-
name: "
|
|
56158
|
-
description: "<p>Returns the
|
|
56113
|
+
name: "product(list)",
|
|
56114
|
+
description: "<p>Returns the product of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">product(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">product([2, 3, 4])\n// 24\n\nproduct(2, 3, 4)\n// 24\n</code></pre>\n"
|
|
56159
56115
|
}, {
|
|
56160
|
-
name: "
|
|
56161
|
-
description: "<p>Returns the
|
|
56116
|
+
name: "mean(list)",
|
|
56117
|
+
description: "<p>Returns the arithmetic mean (i.e. average) of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">mean(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">mean([1,2,3])\n// 2\n\nmean(1,2,3)\n// 2\n</code></pre>\n"
|
|
56162
56118
|
}, {
|
|
56163
|
-
name: "
|
|
56164
|
-
description: "<
|
|
56119
|
+
name: "median(list)",
|
|
56120
|
+
description: "<p>Returns the median element of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">median(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">median(8, 2, 5, 3, 4)\n// 4\n\nmedian([6, 1, 2, 3])\n// 2.5\n</code></pre>\n"
|
|
56165
56121
|
}, {
|
|
56166
|
-
name: "
|
|
56167
|
-
description: "<
|
|
56122
|
+
name: "stddev(list)",
|
|
56123
|
+
description: "<p>Returns the standard deviation of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">stddev(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">stddev(2, 4, 7, 5)\n// 2.0816659994661326\n\nstddev([2, 4, 7, 5])\n// 2.0816659994661326\n</code></pre>\n"
|
|
56168
56124
|
}, {
|
|
56169
|
-
name: "
|
|
56170
|
-
description: "<
|
|
56125
|
+
name: "mode(list)",
|
|
56126
|
+
description: "<p>Returns the mode of the given list of numbers.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">mode(list: list<number>): number\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">mode(6, 3, 9, 6, 6)\n// [6]\n\nmode([6, 1, 9, 6, 1])\n// [1, 6]\n</code></pre>\n"
|
|
56171
56127
|
}, {
|
|
56172
|
-
name: "
|
|
56173
|
-
description: "<
|
|
56128
|
+
name: "all(list)",
|
|
56129
|
+
description: "<p>Returns <code>false</code> if any element of the given list is <code>false</code>. Otherwise, returns <code>true</code>.</p>\n<p>If the given list is empty, it returns <code>true</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">all(list: list<boolean>): boolean\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">all([true,false])\n// false\n\nall(false,null,true)\n// false\n</code></pre>\n<p>:::info\nThe function <code>all()</code> replaced the previous function <code>and()</code>. The previous function is deprecated and\nshould not be used anymore.\n:::</p>\n"
|
|
56174
56130
|
}, {
|
|
56175
|
-
name: "
|
|
56176
|
-
description: "<
|
|
56131
|
+
name: "any(list)",
|
|
56132
|
+
description: "<p>Returns <code>true</code> if any element of the given list is <code>true</code>. Otherwise, returns <code>false</code>.</p>\n<p>If the given list is empty, it returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">any(list: list<boolean>): boolean\n</code></pre>\n<p>The parameter <code>list</code> can be passed as a list or as a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">any([false,true])\n// true\n\nany(false,null,true)\n// true\n</code></pre>\n<p>:::info\nThe function <code>any()</code> replaced the previous function <code>or()</code>. The previous function is deprecated and\nshould not be used anymore.\n:::</p>\n"
|
|
56177
56133
|
}, {
|
|
56178
|
-
name: "
|
|
56179
|
-
description: "<
|
|
56134
|
+
name: "sublist(list, start position)",
|
|
56135
|
+
description: "<p>Returns a partial list of the given value starting at <code>start position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">sublist(list: list, start position: number): list\n</code></pre>\n<p>The <code>start position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">sublist([1,2,3], 2)\n// [2,3]\n</code></pre>\n"
|
|
56180
56136
|
}, {
|
|
56181
|
-
name: "
|
|
56182
|
-
description: "<
|
|
56137
|
+
name: "sublist(list, start position, length)",
|
|
56138
|
+
description: "<p>Returns a partial list of the given value starting at <code>start position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">sublist(list: list, start position: number, length: number): list\n</code></pre>\n<p>The <code>start position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">sublist([1,2,3], 1, 2)\n// [1,2]\n</code></pre>\n"
|
|
56183
56139
|
}, {
|
|
56184
|
-
name: "
|
|
56185
|
-
description: "<
|
|
56140
|
+
name: "append(list, items)",
|
|
56141
|
+
description: "<p>Returns the given list with all <code>items</code> appended.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">append(list: list, items: Any): list\n</code></pre>\n<p>The parameter <code>items</code> can be a single element or a sequence of elements.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">append([1], 2, 3)\n// [1,2,3]\n</code></pre>\n"
|
|
56186
56142
|
}, {
|
|
56187
|
-
name: "
|
|
56188
|
-
description: "<
|
|
56143
|
+
name: "concatenate(lists)",
|
|
56144
|
+
description: "<p>Returns a list that includes all elements of the given lists.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">concatenate(lists: list): list\n</code></pre>\n<p>The parameter <code>lists</code> is a sequence of lists.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">concatenate([1,2],[3])\n// [1,2,3]\n\nconcatenate([1],[2],[3])\n// [1,2,3]\n</code></pre>\n"
|
|
56189
56145
|
}, {
|
|
56190
|
-
name: "
|
|
56191
|
-
description: "<
|
|
56146
|
+
name: "insert before(list, position, newItem)",
|
|
56147
|
+
description: "<p>Returns the given list with <code>newItem</code> inserted at <code>position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">insert before(list: list, position: number, newItem: Any): list\n</code></pre>\n<p>The <code>position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">insert before([1,3],1,2)\n// [2,1,3]\n</code></pre>\n"
|
|
56192
56148
|
}, {
|
|
56193
|
-
name: "
|
|
56194
|
-
description: "<
|
|
56149
|
+
name: "remove(list, position)",
|
|
56150
|
+
description: "<p>Returns the given list without the element at <code>position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">remove(list: list, position: number): list\n</code></pre>\n<p>The <code>position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">remove([1,2,3], 2)\n// [1,3]\n</code></pre>\n"
|
|
56195
56151
|
}, {
|
|
56196
|
-
name: "
|
|
56197
|
-
description: "<
|
|
56152
|
+
name: "reverse(list)",
|
|
56153
|
+
description: "<p>Returns the given list in revered order.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">reverse(list: list): list\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">reverse([1,2,3])\n// [3,2,1]\n</code></pre>\n"
|
|
56198
56154
|
}, {
|
|
56199
|
-
name: "
|
|
56200
|
-
description: "<
|
|
56155
|
+
name: "index of(list, match)",
|
|
56156
|
+
description: "<p>Returns an ascending list of positions containing <code>match</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">index of(list: list, match: Any): list<number>\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">index of([1,2,3,2],2)\n// [2,4]\n</code></pre>\n"
|
|
56201
56157
|
}, {
|
|
56202
|
-
name: "
|
|
56203
|
-
description: "<
|
|
56158
|
+
name: "union(list)",
|
|
56159
|
+
description: "<p>Returns a list that includes all elements of the given lists without duplicates.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">union(list: list): list\n</code></pre>\n<p>The parameter <code>list</code> is a sequence of lists.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">union([1,2],[2,3])\n// [1,2,3]\n</code></pre>\n"
|
|
56204
56160
|
}, {
|
|
56205
|
-
name: "
|
|
56206
|
-
description: "<
|
|
56161
|
+
name: "distinct values(list)",
|
|
56162
|
+
description: "<p>Returns the given list without duplicates.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">distinct values(list: list): list\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">distinct values([1,2,3,2,1])\n// [1,2,3]\n</code></pre>\n"
|
|
56207
56163
|
}, {
|
|
56208
|
-
name: "
|
|
56209
|
-
description: "<p>
|
|
56164
|
+
name: "duplicate values(list)",
|
|
56165
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Returns all duplicate values of the given list.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">duplicate values(list: list): list\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">duplicate values([1,2,3,2,1])\n// [1,2]\n</code></pre>\n"
|
|
56210
56166
|
}, {
|
|
56211
|
-
name: "
|
|
56212
|
-
description: "<p>
|
|
56167
|
+
name: "flatten(list)",
|
|
56168
|
+
description: "<p>Returns a list that includes all elements of the given list without nested lists.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">flatten(list: list): list\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">flatten([[1,2],[[3]], 4])\n// [1,2,3,4]\n</code></pre>\n"
|
|
56213
56169
|
}, {
|
|
56214
|
-
name: "
|
|
56215
|
-
description: "<
|
|
56170
|
+
name: "sort(list, precedes)",
|
|
56171
|
+
description: "<p>Returns the given list sorted by the <code>precedes</code> function.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">sort(list: list, precedes: function<(Any, Any) -> boolean>): list\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">sort(list: [3,1,4,5,2], precedes: function(x,y) x < y)\n// [1,2,3,4,5]\n</code></pre>\n"
|
|
56216
56172
|
}, {
|
|
56217
|
-
name: "
|
|
56218
|
-
description: "<p>
|
|
56173
|
+
name: "string join(list)",
|
|
56174
|
+
description: "<p>Joins a list of strings into a single string. This is similar to\nJava's <a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/Collectors.html#joining(java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence)\">joining</a>\nfunction.</p>\n<p>If an item of the list is <code>null</code>, the item is ignored for the result string. If an item is\nneither a string nor <code>null</code>, the function returns <code>null</code> instead of a string.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">string join(list: list<string>): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">string join(["a","b","c"])\n// "abc"\n\nstring join(["a",null,"c"])\n// "ac"\n\nstring join([])\n// ""\n</code></pre>\n"
|
|
56219
56175
|
}, {
|
|
56220
|
-
name: "
|
|
56221
|
-
description: "<p>
|
|
56176
|
+
name: "string join(list, delimiter)",
|
|
56177
|
+
description: "<p>Joins a list of strings into a single string. This is similar to\nJava's <a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/Collectors.html#joining(java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence)\">joining</a>\nfunction.</p>\n<p>If an item of the list is <code>null</code>, the item is ignored for the result string. If an item is\nneither a string nor <code>null</code>, the function returns <code>null</code> instead of a string.</p>\n<p>The resulting string contains a <code>delimiter</code> between each element.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">string join(list: list<string>, delimiter: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">string join(["a"], "X")\n// "a"\n\nstring join(["a","b","c"], ", ")\n// "a, b, c"\n</code></pre>\n"
|
|
56222
56178
|
}, {
|
|
56223
|
-
name: "
|
|
56224
|
-
description: "<p>
|
|
56179
|
+
name: "string join(list, delimiter, prefix, suffix)",
|
|
56180
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Joins a list of strings into a single string. This is similar to\nJava's <a href=\"https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/stream/Collectors.html#joining(java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence)\">joining</a>\nfunction.</p>\n<p>If an item of the list is <code>null</code>, the item is ignored for the result string. If an item is\nneither a string nor <code>null</code>, the function returns <code>null</code> instead of a string.</p>\n<p>The resulting string starts with <code>prefix</code>, contains a <code>delimiter</code> between each element, and ends\nwith <code>suffix</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">string join(list: list<string>, delimiter: string, prefix: string, suffix: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">string join(["a","b","c"], ", ", "[", "]")\n// "[a, b, c]"\n</code></pre>\n"
|
|
56225
56181
|
}, {
|
|
56226
|
-
name: "
|
|
56227
|
-
description: "<p>
|
|
56182
|
+
name: "decimal(n, scale)",
|
|
56183
|
+
description: "<p>Rounds the given value at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">decimal(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">decimal(1/3, 2)\n// .33\n\ndecimal(1.5, 0)\n// 2\n</code></pre>\n"
|
|
56228
56184
|
}, {
|
|
56229
|
-
name: "
|
|
56230
|
-
description: "<p>
|
|
56185
|
+
name: "floor(n)",
|
|
56186
|
+
description: "<p>Rounds the given value with rounding mode flooring.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">floor(n: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">floor(1.5)\n// 1\n\nfloor(-1.5)\n// -2\n</code></pre>\n"
|
|
56231
56187
|
}, {
|
|
56232
|
-
name: "
|
|
56233
|
-
description: "<p>
|
|
56188
|
+
name: "floor(n, scale)",
|
|
56189
|
+
description: "<p>Rounds the given value with rounding mode flooring at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">floor(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">floor(-1.56, 1)\n// -1.6\n</code></pre>\n"
|
|
56234
56190
|
}, {
|
|
56235
|
-
name: "
|
|
56236
|
-
description: "<p>
|
|
56191
|
+
name: "ceiling(n)",
|
|
56192
|
+
description: "<p>Rounds the given value with rounding mode ceiling.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">ceiling(n: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">ceiling(1.5)\n// 2\n\nceiling(-1.5)\n// -1\n</code></pre>\n"
|
|
56237
56193
|
}, {
|
|
56238
|
-
name: "
|
|
56239
|
-
description: "<p>
|
|
56194
|
+
name: "ceiling(n, scale)",
|
|
56195
|
+
description: "<p>Rounds the given value with rounding mode ceiling at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">ceiling(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">ceiling(-1.56, 1)\n// -1.5\n</code></pre>\n"
|
|
56240
56196
|
}, {
|
|
56241
|
-
name: "
|
|
56242
|
-
description: "<
|
|
56197
|
+
name: "round up(n, scale)",
|
|
56198
|
+
description: "<p>Rounds the given value with the rounding mode round-up at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">round up(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">round up(5.5)\n// 6\n\nround up(-5.5)\n// -6\n\nround up(1.121, 2)\n// 1.13\n\nround up(-1.126, 2)\n// -1.13\n</code></pre>\n"
|
|
56243
56199
|
}, {
|
|
56244
|
-
name: "
|
|
56245
|
-
description: "<
|
|
56200
|
+
name: "round down(n, scale)",
|
|
56201
|
+
description: "<p>Rounds the given value with the rounding mode round-down at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">round down(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">round down(5.5, 0)\n// 5\n\nround down (-5.5, 0)\n// -5\n\nround down (1.121, 2)\n// 1.12\n\nround down (-1.126, 2)\n// -1.12\n</code></pre>\n"
|
|
56246
56202
|
}, {
|
|
56247
|
-
name: "
|
|
56248
|
-
description: "<
|
|
56203
|
+
name: "round half up(n, scale)",
|
|
56204
|
+
description: "<p>Rounds the given value with the rounding mode round-half-up at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">round half up(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">round half up(5.5, 0)\n// 6\n\nround half up(-5.5, 0)\n// -6\n\nround half up(1.121, 2)\n// 1.12\n\nround half up(-1.126, 2)\n// -1.13\n</code></pre>\n"
|
|
56249
56205
|
}, {
|
|
56250
|
-
name: "
|
|
56251
|
-
description: "<
|
|
56206
|
+
name: "round half down(n, scale)",
|
|
56207
|
+
description: "<p>Rounds the given value with the rounding mode round-half-down at the given scale.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">round half down(n: number, scale: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">round half down (5.5, 0)\n// 5\n\nround half down (-5.5, 0)\n// -5\n\nround half down (1.121, 2)\n// 1.12\n\nround half down (-1.126, 2)\n// -1.13\n</code></pre>\n"
|
|
56252
56208
|
}, {
|
|
56253
|
-
name: "
|
|
56254
|
-
description: "<
|
|
56209
|
+
name: "abs(number)",
|
|
56210
|
+
description: "<p>Returns the absolute value of the given numeric value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">abs(number: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">abs(10)\n// 10\n\nabs(-10)\n// 10\n</code></pre>\n"
|
|
56255
56211
|
}, {
|
|
56256
|
-
name: "
|
|
56257
|
-
description: "<
|
|
56212
|
+
name: "modulo(dividend, divisor)",
|
|
56213
|
+
description: "<p>Returns the remainder of the division of dividend by divisor.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">modulo(dividend: number, divisor: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">modulo(12, 5)\n// 2\n</code></pre>\n"
|
|
56258
56214
|
}, {
|
|
56259
|
-
name: "
|
|
56260
|
-
description: "<
|
|
56215
|
+
name: "sqrt(number)",
|
|
56216
|
+
description: "<p>Returns the square root of the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">sqrt(number: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">sqrt(16)\n// 4\n</code></pre>\n"
|
|
56261
56217
|
}, {
|
|
56262
|
-
name: "
|
|
56263
|
-
description: "<
|
|
56218
|
+
name: "log(number)",
|
|
56219
|
+
description: "<p>Returns the natural logarithm (base e) of the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">log(number: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">log(10)\n// 2.302585092994046\n</code></pre>\n"
|
|
56264
56220
|
}, {
|
|
56265
|
-
name: "
|
|
56266
|
-
description: "<
|
|
56221
|
+
name: "exp(number)",
|
|
56222
|
+
description: "<p>Returns the Euler’s number e raised to the power of the given number .</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">exp(number: number): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">exp(5)\n// 148.4131591025766\n</code></pre>\n"
|
|
56267
56223
|
}, {
|
|
56268
|
-
name: "
|
|
56269
|
-
description: "<
|
|
56224
|
+
name: "odd(number)",
|
|
56225
|
+
description: "<p>Returns <code>true</code> if the given value is odd. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">odd(number: number): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">odd(5)\n// true\n\nodd(2)\n// false\n</code></pre>\n"
|
|
56270
56226
|
}, {
|
|
56271
|
-
name: "
|
|
56272
|
-
description: "<
|
|
56227
|
+
name: "even(number)",
|
|
56228
|
+
description: "<p>Returns <code>true</code> if the given is even. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">even(number: number): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">even(5)\n// false\n\neven(2)\n// true\n</code></pre>\n"
|
|
56273
56229
|
}, {
|
|
56274
|
-
name: "
|
|
56275
|
-
description: "<
|
|
56230
|
+
name: "random number()",
|
|
56231
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Returns a random number between <code>0</code> and <code>1</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">random number(): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">random number()\n// 0.9701618132579795\n</code></pre>\n"
|
|
56276
56232
|
}, {
|
|
56277
|
-
name: "
|
|
56278
|
-
description: "<
|
|
56233
|
+
name: "before(point1, point2)",
|
|
56234
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">before(point1: Any, point2: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">before(1, 10)\n// true\n\nbefore(10, 1)\n// false\n</code></pre>\n"
|
|
56279
56235
|
}, {
|
|
56280
|
-
name: "
|
|
56281
|
-
description: "<
|
|
56236
|
+
name: "before(range, point)",
|
|
56237
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">before(range: range, point: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">before([1..5], 10)\n// true\n</code></pre>\n"
|
|
56282
56238
|
}, {
|
|
56283
|
-
name: "
|
|
56284
|
-
description: "<
|
|
56239
|
+
name: "before(point, range)",
|
|
56240
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">before(point: Any, range: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">before(1, [2..5])\n// true\n</code></pre>\n"
|
|
56285
56241
|
}, {
|
|
56286
|
-
name: "
|
|
56287
|
-
description: "<
|
|
56242
|
+
name: "before(range1, range2)",
|
|
56243
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">before(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">before([1..5], [6..10])\n// true\n\nbefore([1..5),[5..10])\n// true\n</code></pre>\n"
|
|
56288
56244
|
}, {
|
|
56289
|
-
name: "
|
|
56290
|
-
description: "<
|
|
56245
|
+
name: "after(point1, point2)",
|
|
56246
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">after(point1: Any, point2: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">after(10, 1)\n// true\n\nafter(1, 10)\n// false\n</code></pre>\n"
|
|
56291
56247
|
}, {
|
|
56292
|
-
name: "
|
|
56293
|
-
description: "<
|
|
56248
|
+
name: "after(range, point)",
|
|
56249
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">after(range: range, point: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">after([1..5], 10)\n// false\n</code></pre>\n"
|
|
56294
56250
|
}, {
|
|
56295
|
-
name: "
|
|
56296
|
-
description: "<
|
|
56251
|
+
name: "after(point, range)",
|
|
56252
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">after(point: Any, range: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">after(12, [2..5])\n// true\n</code></pre>\n"
|
|
56297
56253
|
}, {
|
|
56298
|
-
name: "
|
|
56299
|
-
description: "<
|
|
56254
|
+
name: "after(range1, range2)",
|
|
56255
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">after(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">after([6..10], [1..5])\n// true\n\nafter([5..10], [1..5))\n// true\n</code></pre>\n"
|
|
56300
56256
|
}, {
|
|
56301
|
-
name: "
|
|
56302
|
-
description: "<
|
|
56257
|
+
name: "meets(range1, range2)",
|
|
56258
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">meets(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">meets([1..5], [5..10])\n// true\n\nmeets([1..3], [4..6])\n// false\n\nmeets([1..3], [3..5])\n// true\n\nmeets([1..5], (5..8])\n// false\n</code></pre>\n"
|
|
56303
56259
|
}, {
|
|
56304
|
-
name: "
|
|
56305
|
-
description: "<
|
|
56260
|
+
name: "met by(range1, range2)",
|
|
56261
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">met by(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">met by([5..10], [1..5])\n// true\n\nmet by([3..4], [1..2])\n// false\n\nmet by([3..5], [1..3])\n// true\n\nmet by((5..8], [1..5))\n// false\n\nmet by([5..10], [1..5))\n// false\n</code></pre>\n"
|
|
56306
56262
|
}, {
|
|
56307
|
-
name: "
|
|
56308
|
-
description: "<
|
|
56263
|
+
name: "overlaps(range1, range2)",
|
|
56264
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">overlaps(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">overlaps([5..10], [1..6])\n// true\n\noverlaps((3..7], [1..4])\n// true\n\noverlaps([1..3], (3..6])\n// false\n\noverlaps((5..8], [1..5))\n// false\n\noverlaps([4..10], [1..5))\n// true\n</code></pre>\n"
|
|
56309
56265
|
}, {
|
|
56310
|
-
name: "
|
|
56311
|
-
description: "<
|
|
56266
|
+
name: "overlaps before(range1, range2)",
|
|
56267
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">overlaps before(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">overlaps before([1..5], [4..10])\n// true\n\noverlaps before([3..4], [1..2])\n// false\n\noverlaps before([1..3], (3..5])\n// false\n\noverlaps before([1..5), (3..8])\n// true\n\noverlaps before([1..5), [5..10])\n// false\n</code></pre>\n"
|
|
56312
56268
|
}, {
|
|
56313
|
-
name: "
|
|
56314
|
-
description: "<
|
|
56269
|
+
name: "overlaps after(range1, range2)",
|
|
56270
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">overlaps after(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">overlaps after([4..10], [1..5])\n// true\n\noverlaps after([3..4], [1..2])\n// false\n\noverlaps after([3..5], [1..3))\n// false\n\noverlaps after((5..8], [1..5))\n// false\n\noverlaps after([4..10], [1..5))\n// true\n</code></pre>\n"
|
|
56315
56271
|
}, {
|
|
56316
|
-
name: "
|
|
56317
|
-
description: "<
|
|
56272
|
+
name: "finishes(point, range)",
|
|
56273
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">finishes(point: Any, range: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">finishes(5, [1..5])\n// true\n\nfinishes(10, [1..7])\n// false\n</code></pre>\n"
|
|
56318
56274
|
}, {
|
|
56319
|
-
name: "
|
|
56320
|
-
description: "<p>
|
|
56275
|
+
name: "finishes(range1, range2)",
|
|
56276
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">finishes(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">finishes([3..5], [1..5])\n// true\n\nfinishes((1..5], [1..5))\n// false\n\nfinishes([5..10], [1..10))\n// false\n</code></pre>\n"
|
|
56277
|
+
}, {
|
|
56278
|
+
name: "finished by(range, point)",
|
|
56279
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">finished by(range: range, point: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">finished by([5..10], 10)\n// true\n\nfinished by([3..4], 2)\n// false\n</code></pre>\n"
|
|
56280
|
+
}, {
|
|
56281
|
+
name: "finished by(range1, range2)",
|
|
56282
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">finished by(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">finished by([1..5], [3..5])\n// true\n\nfinished by((5..8], [1..5))\n// false\n\nfinished by([5..10], (1..10))\n// false\n</code></pre>\n"
|
|
56283
|
+
}, {
|
|
56284
|
+
name: "includes(range, point)",
|
|
56285
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">includes(range: range, point: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">includes([5..10], 6)\n// true\n\nincludes([3..4], 5)\n// false\n</code></pre>\n"
|
|
56286
|
+
}, {
|
|
56287
|
+
name: "includes(range1, range2)",
|
|
56288
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">includes(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">includes([1..10], [4..6])\n// true\n\nincludes((5..8], [1..5))\n// false\n\nincludes([1..10], [1..5))\n// true\n</code></pre>\n"
|
|
56289
|
+
}, {
|
|
56290
|
+
name: "during(point, range)",
|
|
56291
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">during(point: Any, range: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">during(5, [1..10])\n// true\n\nduring(12, [1..10])\n// false\n\nduring(1, (1..10])\n// false\n</code></pre>\n"
|
|
56292
|
+
}, {
|
|
56293
|
+
name: "during(range1, range2)",
|
|
56294
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">during(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">during([4..6], [1..10))\n// true\n\nduring((1..5], (1..10])\n// true\n</code></pre>\n"
|
|
56295
|
+
}, {
|
|
56296
|
+
name: "starts(point, range)",
|
|
56297
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">starts(point: Any, range: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">starts(1, [1..5])\n// true\n\nstarts(1, (1..8])\n// false\n</code></pre>\n"
|
|
56298
|
+
}, {
|
|
56299
|
+
name: "starts(range1, range2)",
|
|
56300
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">starts(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">starts((1..5], [1..5])\n// false\n\nstarts([1..10], [1..5])\n// false\n\nstarts((1..5), (1..10))\n// true\n</code></pre>\n"
|
|
56301
|
+
}, {
|
|
56302
|
+
name: "started by(range, point)",
|
|
56303
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">started by(range: range, point: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">started by([1..10], 1)\n// true\n\nstarted by((1..10], 1)\n// false\n</code></pre>\n"
|
|
56304
|
+
}, {
|
|
56305
|
+
name: "started by(range1, range2)",
|
|
56306
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">started by(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">started by([1..10], [1..5])\n// true\n\nstarted by((1..10], [1..5))\n// false\n\nstarted by([1..10], [1..10))\n// true\n</code></pre>\n"
|
|
56307
|
+
}, {
|
|
56308
|
+
name: "coincides(point1, point2)",
|
|
56309
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">coincides(point1: Any, point2: Any): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">coincides(5, 5)\n// true\n\ncoincides(3, 4)\n// false\n</code></pre>\n"
|
|
56310
|
+
}, {
|
|
56311
|
+
name: "coincides(range1, range2)",
|
|
56312
|
+
description: "<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">coincides(range1: range, range2: range): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">coincides([1..5], [1..5])\n// true\n\ncoincides((1..5], [1..5))\n// false\n\ncoincides([1..5], [2..6])\n// false\n</code></pre>\n"
|
|
56313
|
+
}, {
|
|
56314
|
+
name: "substring(string, start position)",
|
|
56315
|
+
description: "<p>Returns a substring of the given value starting at <code>start position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">substring(string: string, start position: number): string\n</code></pre>\n<p>The <code>start position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">substring("foobar", 3)\n// "obar"\n</code></pre>\n"
|
|
56316
|
+
}, {
|
|
56317
|
+
name: "substring(string, start position, length)",
|
|
56318
|
+
description: "<p>Returns a substring of the given value starting at <code>start position</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">substring(string: string, start position: number, length: number): string\n</code></pre>\n<p>The <code>start position</code> starts at the index <code>1</code>. The last position is <code>-1</code>.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">substring("foobar", 3, 3)\n// "oba"\n</code></pre>\n"
|
|
56319
|
+
}, {
|
|
56320
|
+
name: "string length(string)",
|
|
56321
|
+
description: "<p>Returns the number of characters in the given value.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">string length(string: string): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">string length("foo")\n// 3\n</code></pre>\n"
|
|
56322
|
+
}, {
|
|
56323
|
+
name: "upper case(string)",
|
|
56324
|
+
description: "<p>Returns the given value with all characters are uppercase.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">upper case(string: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">upper case("aBc4")\n// "ABC4"\n</code></pre>\n"
|
|
56325
|
+
}, {
|
|
56326
|
+
name: "lower case(string)",
|
|
56327
|
+
description: "<p>Returns the given value with all characters are lowercase.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">lower case(string: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">lower case("aBc4")\n// "abc4"\n</code></pre>\n"
|
|
56328
|
+
}, {
|
|
56329
|
+
name: "substring before(string, match)",
|
|
56330
|
+
description: "<p>Returns a substring of the given value that contains all characters before <code>match</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">substring before(string: string, match: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">substring before("foobar", "bar")\n// "foo"\n</code></pre>\n"
|
|
56331
|
+
}, {
|
|
56332
|
+
name: "substring after(string, match)",
|
|
56333
|
+
description: "<p>Returns a substring of the given value that contains all characters after <code>match</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">substring after(string: string, match: string): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">substring after("foobar", "ob")\n// "ar"\n</code></pre>\n"
|
|
56334
|
+
}, {
|
|
56335
|
+
name: "contains(string, match)",
|
|
56336
|
+
description: "<p>Returns <code>true</code> if the given value contains the substring <code>match</code>. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">contains(string: string, match: string): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">contains("foobar", "of")\n// false\n</code></pre>\n"
|
|
56337
|
+
}, {
|
|
56338
|
+
name: "starts with(string, match)",
|
|
56339
|
+
description: "<p>Returns <code>true</code> if the given value starts with the substring <code>match</code>. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">starts with(string: string, match: string): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">starts with("foobar", "fo")\n// true\n</code></pre>\n"
|
|
56340
|
+
}, {
|
|
56341
|
+
name: "ends with(string, match)",
|
|
56342
|
+
description: "<p>Returns <code>true</code> if the given value ends with the substring <code>match</code>. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">ends with(string: string, match: string): boolean\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">ends with("foobar", "r")\n// true\n</code></pre>\n"
|
|
56343
|
+
}, {
|
|
56344
|
+
name: "matches(input, pattern)",
|
|
56345
|
+
description: "<p>Returns <code>true</code> if the given value matches the <code>pattern</code>. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">matches(input: string, pattern: string): boolean\n</code></pre>\n<p>The <code>pattern</code> is a string that contains a regular expression.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">matches("foobar", "^fo*bar")\n// true\n</code></pre>\n"
|
|
56346
|
+
}, {
|
|
56347
|
+
name: "matches(input, pattern, flags)",
|
|
56348
|
+
description: "<p>Returns <code>true</code> if the given value matches the <code>pattern</code>. Otherwise, returns <code>false</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">matches(input: string, pattern: string, flags: string): boolean\n</code></pre>\n<p>The <code>pattern</code> is a string that contains a regular expression.</p>\n<p>The <code>flags</code> can contain one or more of the following characters:</p>\n<ul>\n<li><code>s</code> (dot-all)</li>\n<li><code>m</code> (multi-line)</li>\n<li><code>i</code> (case insensitive)</li>\n<li><code>x</code> (comments)</li>\n</ul>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">matches("FooBar", "foo", "i")\n// true\n</code></pre>\n"
|
|
56349
|
+
}, {
|
|
56350
|
+
name: "replace(input, pattern, replacement)",
|
|
56351
|
+
description: "<p>Returns the resulting string after replacing all occurrences of <code>pattern</code> with <code>replacement</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">replace(input: string, pattern: string, replacement: string): string\n</code></pre>\n<p>The <code>pattern</code> is a string that contains a regular expression.</p>\n<p>The <code>replacement</code> can access the match groups by using <code>$</code> and the number of the group, for example,\n<code>$1</code> to access the first group.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">replace("abcd", "(ab)|(a)", "[1=$1][2=$2]")\n// "[1=ab][2=]cd"\n\nreplace("0123456789", "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3")\n// "(012) 345-6789"\n</code></pre>\n"
|
|
56352
|
+
}, {
|
|
56353
|
+
name: "replace(input, pattern, replacement, flags)",
|
|
56354
|
+
description: "<p>Returns the resulting string after replacing all occurrences of <code>pattern</code> with <code>replacement</code>.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">replace(input: string, pattern: string, replacement: string, flags: string): string\n</code></pre>\n<p>The <code>pattern</code> is a string that contains a regular expression.</p>\n<p>The <code>replacement</code> can access the match groups by using <code>$</code> and the number of the group, for example,\n<code>$1</code> to access the first group.</p>\n<p>The <code>flags</code> can contain one or more of the following characters:</p>\n<ul>\n<li><code>s</code> (dot-all)</li>\n<li><code>m</code> (multi-line)</li>\n<li><code>i</code> (case insensitive)</li>\n<li><code>x</code> (comments)</li>\n</ul>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">replace("How do you feel?", "Feel", "FEEL", "i")\n// "How do you FEEL?"\n</code></pre>\n"
|
|
56355
|
+
}, {
|
|
56356
|
+
name: "split(string, delimiter)",
|
|
56357
|
+
description: "<p>Splits the given value into a list of substrings, breaking at each occurrence of the <code>delimiter</code> pattern.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">split(string: string, delimiter: string): list<string>\n</code></pre>\n<p>The <code>delimiter</code> is a string that contains a regular expression.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">split("John Doe", "\\s" )\n// ["John", "Doe"]\n\nsplit("a;b;c;;", ";")\n// ["a", "b", "c", "", ""]\n</code></pre>\n"
|
|
56358
|
+
}, {
|
|
56359
|
+
name: "extract(string, pattern)",
|
|
56360
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Returns all matches of the pattern in the given string. Returns an empty list if the pattern doesn't\nmatch.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">extract(string: string, pattern: string): list<string>\n</code></pre>\n<p>The <code>pattern</code> is a string that contains a regular expression.</p>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">extract("references are 1234, 1256, 1378", "12[0-9]*")\n// ["1234","1256"]\n</code></pre>\n"
|
|
56321
56361
|
}, {
|
|
56322
56362
|
name: "now()",
|
|
56323
|
-
description: "<p>Returns the current date and time including the timezone.</p>\n<
|
|
56363
|
+
description: "<p>Returns the current date and time including the timezone.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">now(): date and time\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">now()\n// date and time("2020-07-31T14:27:30@Europe/Berlin")\n</code></pre>\n"
|
|
56324
56364
|
}, {
|
|
56325
56365
|
name: "today()",
|
|
56326
|
-
description: "<p>Returns the current date.</p>\n<
|
|
56366
|
+
description: "<p>Returns the current date.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">today(): date\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">today()\n// date("2020-07-31")\n</code></pre>\n"
|
|
56367
|
+
}, {
|
|
56368
|
+
name: "day of week(date)",
|
|
56369
|
+
description: "<p>Returns the day of the week according to the Gregorian calendar. Note that it always returns the English name of the day.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">day of week(date: date): string\n</code></pre>\n<pre><code class=\"language-feel\">day of week(date: date and time): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">day of week(date("2019-09-17"))\n// "Tuesday"\n\nday of week(date and time("2019-09-17T12:00:00"))\n// "Tuesday"\n</code></pre>\n"
|
|
56327
56370
|
}, {
|
|
56328
|
-
name: "day of
|
|
56329
|
-
description: "<p>Returns the
|
|
56371
|
+
name: "day of year(date)",
|
|
56372
|
+
description: "<p>Returns the Gregorian number of the day within the year.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">day of year(date: date): number\n</code></pre>\n<pre><code class=\"language-feel\">day of year(date: date and time): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">day of year(date("2019-09-17"))\n// 260\n\nday of year(date and time("2019-09-17T12:00:00"))\n// 260\n</code></pre>\n"
|
|
56330
56373
|
}, {
|
|
56331
|
-
name: "
|
|
56332
|
-
description: "<p>Returns the Gregorian number of the
|
|
56374
|
+
name: "week of year(date)",
|
|
56375
|
+
description: "<p>Returns the Gregorian number of the week within the year, according to ISO 8601.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">week of year(date: date): number\n</code></pre>\n<pre><code class=\"language-feel\">week of year(date: date and time): number\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">week of year(date("2019-09-17"))\n// 38\n\nweek of year(date and time("2019-09-17T12:00:00"))\n// 38\n</code></pre>\n"
|
|
56333
56376
|
}, {
|
|
56334
|
-
name: "
|
|
56335
|
-
description: "<p>Returns the
|
|
56377
|
+
name: "month of year(date)",
|
|
56378
|
+
description: "<p>Returns the month of the year according to the Gregorian calendar. Note that it always returns the English name of the month.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">month of year(date: date): string\n</code></pre>\n<pre><code class=\"language-feel\">month of year(date: date and time): string\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">month of year(date("2019-09-17"))\n// "September"\n\nmonth of year(date and time("2019-09-17T12:00:00"))\n// "September"\n</code></pre>\n"
|
|
56336
56379
|
}, {
|
|
56337
|
-
name: "
|
|
56338
|
-
description: "<p>Returns the
|
|
56380
|
+
name: "abs(n)",
|
|
56381
|
+
description: "<p>Returns the absolute value of a given duration.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">abs(n: days and time duration): days and time duration\n</code></pre>\n<pre><code class=\"language-feel\">abs(n: years and months duration): years and months duration\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">abs(duration("-PT5H"))\n// "duration("PT5H")"\n\nabs(duration("PT5H"))\n// "duration("PT5H")"\n\nabs(duration("-P2M"))\n// duration("P2M")\n</code></pre>\n"
|
|
56339
56382
|
}, {
|
|
56340
|
-
name: "
|
|
56341
|
-
description: "<p>
|
|
56383
|
+
name: "last day of month(date)",
|
|
56384
|
+
description: "<p><em>Camunda Extension</em></p>\n<p>Takes the month of the given date or date-time value and returns the last day of this month.</p>\n<p><strong>Function signature</strong></p>\n<pre><code class=\"language-feel\">last day of month(date: date): date\n</code></pre>\n<pre><code class=\"language-feel\">last day of month(date: date and time): date\n</code></pre>\n<p><strong>Examples</strong></p>\n<pre><code class=\"language-feel\">last day of month(date("2022-10-01"))\n// date("2022-10-31"))\n\nlast day of month(date and time("2022-10-16T12:00:00"))\n// date("2022-10-31"))\n</code></pre>\n"
|
|
56342
56385
|
}];
|
|
56343
56386
|
const options = tags.map(tag => snippetCompletion(tag.name.replace('()', '(#{1})'), {
|
|
56344
56387
|
label: tag.name,
|
|
@@ -61111,6 +61154,7 @@
|
|
|
61111
61154
|
const eventBus = useService$1('eventBus'),
|
|
61112
61155
|
formEditor = useService$1('formEditor'),
|
|
61113
61156
|
formFieldRegistry = useService$1('formFieldRegistry'),
|
|
61157
|
+
formFields = useService$1('formFields'),
|
|
61114
61158
|
modeling = useService$1('modeling'),
|
|
61115
61159
|
selection = useService$1('selection');
|
|
61116
61160
|
const {
|
|
@@ -61196,6 +61240,7 @@
|
|
|
61196
61240
|
field: field
|
|
61197
61241
|
}), e$1(ContextPad, {
|
|
61198
61242
|
children: selection.isSelected(field) && field.type !== 'default' ? e$1("button", {
|
|
61243
|
+
title: getRemoveButtonTitle(field, formFields),
|
|
61199
61244
|
class: "fjs-context-pad-item",
|
|
61200
61245
|
onClick: onRemove,
|
|
61201
61246
|
children: e$1(DeleteIcon$1, {})
|
|
@@ -61516,6 +61561,13 @@
|
|
|
61516
61561
|
function defaultPropertiesPanel(propertiesPanelConfig) {
|
|
61517
61562
|
return !(propertiesPanelConfig && propertiesPanelConfig.parent);
|
|
61518
61563
|
}
|
|
61564
|
+
function getRemoveButtonTitle(formField, formFields) {
|
|
61565
|
+
const entry = findPaletteEntry(formField.type, formFields);
|
|
61566
|
+
if (!entry) {
|
|
61567
|
+
return 'Remove form field';
|
|
61568
|
+
}
|
|
61569
|
+
return `Remove ${entry.label}`;
|
|
61570
|
+
}
|
|
61519
61571
|
class Renderer {
|
|
61520
61572
|
constructor(renderConfig, eventBus, formEditor, injector) {
|
|
61521
61573
|
const {
|
|
@@ -63240,12 +63292,60 @@
|
|
|
63240
63292
|
}
|
|
63241
63293
|
}
|
|
63242
63294
|
ValidateBehavior.$inject = ['eventBus'];
|
|
63295
|
+
class ValuesSourceBehavior extends CommandInterceptor {
|
|
63296
|
+
constructor(eventBus) {
|
|
63297
|
+
super(eventBus);
|
|
63298
|
+
|
|
63299
|
+
/**
|
|
63300
|
+
* Cleanup properties on changing the values source.
|
|
63301
|
+
*
|
|
63302
|
+
* 1) Remove other sources, e.g. set `values` => remove `valuesKey` and `valuesExpression`
|
|
63303
|
+
* 2) Remove default values for all other values sources
|
|
63304
|
+
*/
|
|
63305
|
+
this.preExecute('formField.edit', function (context) {
|
|
63306
|
+
const {
|
|
63307
|
+
properties
|
|
63308
|
+
} = context;
|
|
63309
|
+
const newProperties = {};
|
|
63310
|
+
if (!isValuesSourceUpdate(properties)) {
|
|
63311
|
+
return;
|
|
63312
|
+
}
|
|
63313
|
+
|
|
63314
|
+
// clean up value sources that are not to going to be set
|
|
63315
|
+
Object.values(VALUES_SOURCES).forEach(source => {
|
|
63316
|
+
const path = VALUES_SOURCES_PATHS[source];
|
|
63317
|
+
if (get(properties, path) == undefined) {
|
|
63318
|
+
newProperties[VALUES_SOURCES_PATHS[source]] = undefined;
|
|
63319
|
+
}
|
|
63320
|
+
});
|
|
63321
|
+
|
|
63322
|
+
// clean up default value
|
|
63323
|
+
if (get(properties, VALUES_SOURCES_PATHS[VALUES_SOURCES.EXPRESSION]) !== undefined || get(properties, VALUES_SOURCES_PATHS[VALUES_SOURCES.INPUT]) !== undefined) {
|
|
63324
|
+
newProperties['defaultValue'] = undefined;
|
|
63325
|
+
}
|
|
63326
|
+
context.properties = {
|
|
63327
|
+
...properties,
|
|
63328
|
+
...newProperties
|
|
63329
|
+
};
|
|
63330
|
+
}, true);
|
|
63331
|
+
}
|
|
63332
|
+
}
|
|
63333
|
+
ValuesSourceBehavior.$inject = ['eventBus'];
|
|
63334
|
+
|
|
63335
|
+
// helper ///////////////////
|
|
63336
|
+
|
|
63337
|
+
function isValuesSourceUpdate(properties) {
|
|
63338
|
+
return Object.values(VALUES_SOURCES_PATHS).some(path => {
|
|
63339
|
+
return get(properties, path) !== undefined;
|
|
63340
|
+
});
|
|
63341
|
+
}
|
|
63243
63342
|
var behaviorModule = {
|
|
63244
|
-
__init__: ['idBehavior', 'keyBehavior', 'pathBehavior', 'validateBehavior'],
|
|
63343
|
+
__init__: ['idBehavior', 'keyBehavior', 'pathBehavior', 'validateBehavior', 'valuesSourceBehavior'],
|
|
63245
63344
|
idBehavior: ['type', IdBehavior],
|
|
63246
63345
|
keyBehavior: ['type', KeyBehavior],
|
|
63247
63346
|
pathBehavior: ['type', PathBehavior],
|
|
63248
|
-
validateBehavior: ['type', ValidateBehavior]
|
|
63347
|
+
validateBehavior: ['type', ValidateBehavior],
|
|
63348
|
+
valuesSourceBehavior: ['type', ValuesSourceBehavior]
|
|
63249
63349
|
};
|
|
63250
63350
|
|
|
63251
63351
|
/**
|
|
@@ -63967,6 +64067,29 @@
|
|
|
63967
64067
|
fill: "none",
|
|
63968
64068
|
xmlns: "http://www.w3.org/2000/svg"
|
|
63969
64069
|
};
|
|
64070
|
+
var HelpIcon = function HelpIcon(props) {
|
|
64071
|
+
return e$1("svg", {
|
|
64072
|
+
...props,
|
|
64073
|
+
children: [e$1("path", {
|
|
64074
|
+
d: "M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2Zm0 26a12 12 0 1 1 12-12 12 12 0 0 1-12 12Z"
|
|
64075
|
+
}), e$1("circle", {
|
|
64076
|
+
cx: "16",
|
|
64077
|
+
cy: "23.5",
|
|
64078
|
+
r: "1.5"
|
|
64079
|
+
}), e$1("path", {
|
|
64080
|
+
d: "M17 8h-1.5a4.49 4.49 0 0 0-4.5 4.5v.5h2v-.5a2.5 2.5 0 0 1 2.5-2.5H17a2.5 2.5 0 0 1 0 5h-2v4.5h2V17a4.5 4.5 0 0 0 0-9Z"
|
|
64081
|
+
}), e$1("path", {
|
|
64082
|
+
style: {
|
|
64083
|
+
fill: "none"
|
|
64084
|
+
},
|
|
64085
|
+
d: "M0 0h32v32H0z"
|
|
64086
|
+
})]
|
|
64087
|
+
});
|
|
64088
|
+
};
|
|
64089
|
+
HelpIcon.defaultProps = {
|
|
64090
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
64091
|
+
viewBox: "0 0 32 32"
|
|
64092
|
+
};
|
|
63970
64093
|
function Header(props) {
|
|
63971
64094
|
const {
|
|
63972
64095
|
element,
|
|
@@ -64516,6 +64639,7 @@
|
|
|
64516
64639
|
edited: edited,
|
|
64517
64640
|
hasErrors: hasErrors
|
|
64518
64641
|
}), e$1("button", {
|
|
64642
|
+
type: "button",
|
|
64519
64643
|
title: "Toggle section",
|
|
64520
64644
|
class: "bio-properties-panel-group-header-button bio-properties-panel-arrow",
|
|
64521
64645
|
children: e$1(ArrowIcon, {
|
|
@@ -64696,6 +64820,7 @@
|
|
|
64696
64820
|
ref: inputRef,
|
|
64697
64821
|
onClick: handleClick
|
|
64698
64822
|
}), e$1("button", {
|
|
64823
|
+
type: "button",
|
|
64699
64824
|
title: "Open pop-up editor",
|
|
64700
64825
|
class: "bio-properties-panel-open-feel-popup",
|
|
64701
64826
|
onClick: () => onPopupOpen('feelers'),
|
|
@@ -64816,6 +64941,7 @@
|
|
|
64816
64941
|
ref: inputRef,
|
|
64817
64942
|
onClick: handleClick
|
|
64818
64943
|
}), e$1("button", {
|
|
64944
|
+
type: "button",
|
|
64819
64945
|
title: "Open pop-up editor",
|
|
64820
64946
|
class: "bio-properties-panel-open-feel-popup",
|
|
64821
64947
|
onClick: () => onPopupOpen(),
|
|
@@ -64860,6 +64986,7 @@
|
|
|
64860
64986
|
}
|
|
64861
64987
|
};
|
|
64862
64988
|
return e$1("button", {
|
|
64989
|
+
type: "button",
|
|
64863
64990
|
class: classNames('bio-properties-panel-feel-icon', active ? 'active' : null, feel === 'required' ? 'required' : 'optional'),
|
|
64864
64991
|
onClick: handleClick,
|
|
64865
64992
|
disabled: feel === 'required' || disabled,
|
|
@@ -65306,6 +65433,12 @@
|
|
|
65306
65433
|
domNode: popupRef.current
|
|
65307
65434
|
});
|
|
65308
65435
|
}, []);
|
|
65436
|
+
y(() => {
|
|
65437
|
+
// Set focus on editor when popup is opened
|
|
65438
|
+
if (editorRef.current) {
|
|
65439
|
+
editorRef.current.focus();
|
|
65440
|
+
}
|
|
65441
|
+
}, [editorRef]);
|
|
65309
65442
|
return e$1(Popup, {
|
|
65310
65443
|
container: container,
|
|
65311
65444
|
className: "bio-properties-panel-feel-popup",
|
|
@@ -65327,7 +65460,18 @@
|
|
|
65327
65460
|
children: [e$1(Popup.Title, {
|
|
65328
65461
|
title: title,
|
|
65329
65462
|
emit: emit,
|
|
65330
|
-
draggable: true
|
|
65463
|
+
draggable: true,
|
|
65464
|
+
children: [type === 'feel' && e$1("a", {
|
|
65465
|
+
href: "https://docs.camunda.io/docs/components/modeler/feel/what-is-feel/",
|
|
65466
|
+
target: "_blank",
|
|
65467
|
+
class: "bio-properties-panel-feel-popup__title-link",
|
|
65468
|
+
children: ["Learn FEEL expressions", e$1(HelpIcon, {})]
|
|
65469
|
+
}), type === 'feelers' && e$1("a", {
|
|
65470
|
+
href: "https://docs.camunda.io/docs/components/modeler/forms/configuration/forms-config-templating-syntax/",
|
|
65471
|
+
target: "_blank",
|
|
65472
|
+
class: "bio-properties-panel-feel-popup__title-link",
|
|
65473
|
+
children: ["Learn templating", e$1(HelpIcon, {})]
|
|
65474
|
+
})]
|
|
65331
65475
|
}), e$1(Popup.Body, {
|
|
65332
65476
|
children: e$1("div", {
|
|
65333
65477
|
onKeyDownCapture: onKeyDownCapture,
|
|
@@ -65359,6 +65503,7 @@
|
|
|
65359
65503
|
})
|
|
65360
65504
|
}), e$1(Popup.Footer, {
|
|
65361
65505
|
children: e$1("button", {
|
|
65506
|
+
type: "button",
|
|
65362
65507
|
onClick: onClose,
|
|
65363
65508
|
title: "Close pop-up editor",
|
|
65364
65509
|
class: "bio-properties-panel-feel-popup__close-btn",
|
|
@@ -66600,12 +66745,14 @@
|
|
|
66600
66745
|
class: classNames('bio-properties-panel-collapsible-entry-header-title', !label && 'empty'),
|
|
66601
66746
|
children: label || placeholderLabel
|
|
66602
66747
|
}), e$1("button", {
|
|
66748
|
+
type: "button",
|
|
66603
66749
|
title: "Toggle list item",
|
|
66604
66750
|
class: "bio-properties-panel-arrow bio-properties-panel-collapsible-entry-arrow",
|
|
66605
66751
|
children: e$1(ArrowIcon, {
|
|
66606
66752
|
class: open ? 'bio-properties-panel-arrow-down' : 'bio-properties-panel-arrow-right'
|
|
66607
66753
|
})
|
|
66608
66754
|
}), remove ? e$1("button", {
|
|
66755
|
+
type: "button",
|
|
66609
66756
|
title: "Delete item",
|
|
66610
66757
|
class: "bio-properties-panel-remove-entry",
|
|
66611
66758
|
onClick: remove,
|
|
@@ -66807,6 +66954,7 @@
|
|
|
66807
66954
|
}), e$1("div", {
|
|
66808
66955
|
class: "bio-properties-panel-group-header-buttons",
|
|
66809
66956
|
children: [add ? e$1("button", {
|
|
66957
|
+
type: "button",
|
|
66810
66958
|
title: "Create new list item",
|
|
66811
66959
|
class: "bio-properties-panel-group-header-button bio-properties-panel-add-entry",
|
|
66812
66960
|
onClick: handleAddClick,
|
|
@@ -66819,6 +66967,7 @@
|
|
|
66819
66967
|
class: classNames('bio-properties-panel-list-badge', hasError ? 'bio-properties-panel-list-badge--error' : ''),
|
|
66820
66968
|
children: items.length
|
|
66821
66969
|
}) : null, hasItems ? e$1("button", {
|
|
66970
|
+
type: "button",
|
|
66822
66971
|
title: "Toggle section",
|
|
66823
66972
|
class: "bio-properties-panel-group-header-button bio-properties-panel-arrow",
|
|
66824
66973
|
children: e$1(ArrowIcon, {
|
|
@@ -69491,11 +69640,7 @@
|
|
|
69491
69640
|
const setValue = value => {
|
|
69492
69641
|
let newField = field;
|
|
69493
69642
|
const newProperties = {};
|
|
69494
|
-
|
|
69495
|
-
// Clear all values source definitions and default the newly selected one
|
|
69496
|
-
const newValue = value === source ? VALUES_SOURCES_DEFAULTS[source] : undefined;
|
|
69497
|
-
newProperties[VALUES_SOURCES_PATHS[source]] = newValue;
|
|
69498
|
-
});
|
|
69643
|
+
newProperties[VALUES_SOURCES_PATHS[value]] = VALUES_SOURCES_DEFAULTS[value];
|
|
69499
69644
|
newField = editField(field, newProperties);
|
|
69500
69645
|
return newField;
|
|
69501
69646
|
};
|