@forge/manifest 3.3.0-next.9 → 3.3.1-next.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.
@@ -2656,79 +2656,180 @@
2656
2656
  "jira:dashboardGadget": {
2657
2657
  "type": "array",
2658
2658
  "items": {
2659
- "type": "object",
2660
- "properties": {
2661
- "title": {
2662
- "oneOf": [
2663
- {
2664
- "type": "object",
2665
- "properties": {
2666
- "text": {
2659
+ "oneOf": [
2660
+ {
2661
+ "type": "object",
2662
+ "properties": {
2663
+ "title": {
2664
+ "oneOf": [
2665
+ {
2666
+ "type": "object",
2667
+ "properties": {
2668
+ "text": {
2669
+ "type": "string",
2670
+ "minLength": 1,
2671
+ "maxLength": 255
2672
+ },
2673
+ "href": {
2674
+ "type": "string",
2675
+ "minLength": 1,
2676
+ "maxLength": 1000
2677
+ }
2678
+ },
2679
+ "required": [
2680
+ "text"
2681
+ ]
2682
+ },
2683
+ {
2667
2684
  "type": "string",
2668
2685
  "minLength": 1,
2669
2686
  "maxLength": 255
2670
- },
2671
- "href": {
2687
+ }
2688
+ ]
2689
+ },
2690
+ "description": {
2691
+ "type": "string",
2692
+ "minLength": 1,
2693
+ "maxLength": 255
2694
+ },
2695
+ "thumbnail": {
2696
+ "type": "string",
2697
+ "minLength": 1,
2698
+ "maxLength": 255
2699
+ },
2700
+ "function": {
2701
+ "type": "string",
2702
+ "minLength": 1,
2703
+ "maxLength": 255,
2704
+ "pattern": "^[a-zA-Z0-9-_]+$"
2705
+ },
2706
+ "edit": {
2707
+ "type": "object",
2708
+ "properties": {
2709
+ "function": {
2672
2710
  "type": "string",
2673
2711
  "minLength": 1,
2674
- "maxLength": 1000
2712
+ "maxLength": 255,
2713
+ "pattern": "^[a-zA-Z0-9-_]+$"
2675
2714
  }
2676
2715
  },
2677
2716
  "required": [
2678
- "text"
2717
+ "function"
2679
2718
  ]
2680
2719
  },
2681
- {
2682
- "type": "string",
2683
- "minLength": 1,
2684
- "maxLength": 255
2720
+ "displayConditions": {
2721
+ "type": "object",
2722
+ "properties": {}
2723
+ },
2724
+ "key": {
2725
+ "$ref": "#/definitions/ModuleKeySchema"
2685
2726
  }
2727
+ },
2728
+ "required": [
2729
+ "title",
2730
+ "description",
2731
+ "thumbnail",
2732
+ "function",
2733
+ "key"
2686
2734
  ]
2687
2735
  },
2688
- "description": {
2689
- "type": "string",
2690
- "minLength": 1,
2691
- "maxLength": 255
2692
- },
2693
- "thumbnail": {
2694
- "type": "string",
2695
- "minLength": 1,
2696
- "maxLength": 255
2697
- },
2698
- "function": {
2699
- "type": "string",
2700
- "minLength": 1,
2701
- "maxLength": 255,
2702
- "pattern": "^[a-zA-Z0-9-_]+$"
2703
- },
2704
- "edit": {
2736
+ {
2705
2737
  "type": "object",
2706
2738
  "properties": {
2739
+ "resource": {
2740
+ "type": "string",
2741
+ "minLength": 1,
2742
+ "maxLength": 23,
2743
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2744
+ },
2745
+ "resolver": {
2746
+ "additionalProperties": false,
2747
+ "type": "object",
2748
+ "properties": {
2749
+ "function": {
2750
+ "type": "string",
2751
+ "minLength": 1,
2752
+ "maxLength": 255,
2753
+ "pattern": "^[a-zA-Z0-9-_]+$"
2754
+ }
2755
+ },
2756
+ "required": [
2757
+ "function"
2758
+ ]
2759
+ },
2760
+ "title": {
2761
+ "oneOf": [
2762
+ {
2763
+ "type": "object",
2764
+ "properties": {
2765
+ "text": {
2766
+ "type": "string",
2767
+ "minLength": 1,
2768
+ "maxLength": 255
2769
+ },
2770
+ "href": {
2771
+ "type": "string",
2772
+ "minLength": 1,
2773
+ "maxLength": 1000
2774
+ }
2775
+ },
2776
+ "required": [
2777
+ "text"
2778
+ ]
2779
+ },
2780
+ {
2781
+ "type": "string",
2782
+ "minLength": 1,
2783
+ "maxLength": 255
2784
+ }
2785
+ ]
2786
+ },
2787
+ "description": {
2788
+ "type": "string",
2789
+ "minLength": 1,
2790
+ "maxLength": 255
2791
+ },
2792
+ "thumbnail": {
2793
+ "type": "string",
2794
+ "minLength": 1,
2795
+ "maxLength": 255
2796
+ },
2707
2797
  "function": {
2708
2798
  "type": "string",
2709
2799
  "minLength": 1,
2710
2800
  "maxLength": 255,
2711
2801
  "pattern": "^[a-zA-Z0-9-_]+$"
2802
+ },
2803
+ "edit": {
2804
+ "type": "object",
2805
+ "properties": {
2806
+ "resource": {
2807
+ "type": "string",
2808
+ "minLength": 1,
2809
+ "maxLength": 23,
2810
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2811
+ }
2812
+ },
2813
+ "required": [
2814
+ "resource"
2815
+ ]
2816
+ },
2817
+ "displayConditions": {
2818
+ "type": "object",
2819
+ "properties": {}
2820
+ },
2821
+ "key": {
2822
+ "$ref": "#/definitions/ModuleKeySchema"
2712
2823
  }
2713
2824
  },
2714
2825
  "required": [
2715
- "function"
2826
+ "title",
2827
+ "description",
2828
+ "thumbnail",
2829
+ "resource",
2830
+ "key"
2716
2831
  ]
2717
- },
2718
- "displayConditions": {
2719
- "type": "object",
2720
- "properties": {}
2721
- },
2722
- "key": {
2723
- "$ref": "#/definitions/ModuleKeySchema"
2724
2832
  }
2725
- },
2726
- "required": [
2727
- "title",
2728
- "description",
2729
- "thumbnail",
2730
- "function",
2731
- "key"
2732
2833
  ]
2733
2834
  },
2734
2835
  "minItems": 1
@@ -7590,10 +7691,10 @@
7590
7691
  "type": "object",
7591
7692
  "anyOf": [
7592
7693
  {
7593
- "$ref": "#/definitions/singleCondition"
7694
+ "$ref": "#/definitions/compositeCondition"
7594
7695
  },
7595
7696
  {
7596
- "$ref": "#/definitions/compositeCondition"
7697
+ "$ref": "#/definitions/singleCondition"
7597
7698
  }
7598
7699
  ]
7599
7700
  },
@@ -7648,10 +7749,10 @@
7648
7749
  "type": "object",
7649
7750
  "anyOf": [
7650
7751
  {
7651
- "$ref": "#/definitions/compositeCondition"
7752
+ "$ref": "#/definitions/singleCondition"
7652
7753
  },
7653
7754
  {
7654
- "$ref": "#/definitions/singleCondition"
7755
+ "$ref": "#/definitions/compositeCondition"
7655
7756
  }
7656
7757
  ]
7657
7758
  },
@@ -7706,10 +7807,10 @@
7706
7807
  "type": "object",
7707
7808
  "anyOf": [
7708
7809
  {
7709
- "$ref": "#/definitions/singleCondition"
7810
+ "$ref": "#/definitions/compositeCondition"
7710
7811
  },
7711
7812
  {
7712
- "$ref": "#/definitions/compositeCondition"
7813
+ "$ref": "#/definitions/singleCondition"
7713
7814
  }
7714
7815
  ]
7715
7816
  },
@@ -7781,19 +7882,48 @@
7781
7882
  "anyOf": [
7782
7883
  {
7783
7884
  "properties": {
7784
- "key": {
7785
- "maxLength": 100,
7885
+ "size": {
7886
+ "enum": [
7887
+ "small",
7888
+ "SMALL",
7889
+ "medium",
7890
+ "MEDIUM",
7891
+ "large",
7892
+ "LARGE",
7893
+ "x-large",
7894
+ "X-LARGE",
7895
+ "fullscreen",
7896
+ "FULLSCREEN",
7897
+ "maximum",
7898
+ "MAXIMUM"
7899
+ ],
7786
7900
  "type": "string",
7787
- "fieldDescription": "\n\n<p>The key of a <a href=\"../dialog/\">Dialog</a> module declared in this Connect add-on.</p>\n\n <p>\n The dialog module will include the <a href=\"../dialog-options/\">Dialog Options</a>\n that would otherwise need to be specified directly in this options object.\n </p>\n\n"
7901
+ "fieldDescription": "\n\nSets the size of the dialog.\n\n <p>\n This option is used instead of the 'height' and 'width' options.\n </p>\n\n"
7902
+ },
7903
+ "chrome": {
7904
+ "type": "boolean",
7905
+ "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
7906
+ "defaultValue": "true"
7907
+ },
7908
+ "width": {
7909
+ "maxLength": 10,
7910
+ "type": "string",
7911
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
7912
+ },
7913
+ "header": {
7914
+ "$ref": "#/definitions/i18nProperty",
7915
+ "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
7916
+ },
7917
+ "height": {
7918
+ "maxLength": 10,
7919
+ "type": "string",
7920
+ "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
7788
7921
  }
7789
7922
  },
7790
- "required": [
7791
- "key"
7792
- ],
7793
- "shortClassName": "dialogModuleOptions",
7923
+ "shortClassName": "dialogOptions",
7794
7924
  "type": "object",
7795
- "title": "Dialog Module Options",
7796
- "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
7925
+ "title": "Dialog Options",
7926
+ "description": "\n\nOptions for a modal dialog <a href=\"../web-item-target/\">web item target</a> or <a href=\"../dialog/\">common module</a>.\n\n <p>\n These options are a subset of those available via the <a href=\"../../jsapi/dialog/\">JavaScript API</a>.\n </p>\n\n <h2>Web Item Example</h2>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialog\",\n \"options\": {\n \"height\": \"100px\",\n \"width\": \"200px\"\n }\n }\n }\n\n\n\n\n <h2>Dialog Example</h2>\n\n\n\n\n\n {\n \"modules\": {\n \"dialogs\": [\n {\n \"url\": \"/my-dialog-content\",\n \"options\": {\n \"size\": \"fullscreen\",\n \"header\": {\n \"value\": \"Example Dialog\"\n }\n },\n \"key\": \"dialog-module-key\"\n }\n ]\n }\n }\n\n\n"
7797
7927
  },
7798
7928
  {
7799
7929
  "properties": {
@@ -7844,48 +7974,19 @@
7844
7974
  },
7845
7975
  {
7846
7976
  "properties": {
7847
- "size": {
7848
- "enum": [
7849
- "small",
7850
- "SMALL",
7851
- "medium",
7852
- "MEDIUM",
7853
- "large",
7854
- "LARGE",
7855
- "x-large",
7856
- "X-LARGE",
7857
- "fullscreen",
7858
- "FULLSCREEN",
7859
- "maximum",
7860
- "MAXIMUM"
7861
- ],
7862
- "type": "string",
7863
- "fieldDescription": "\n\nSets the size of the dialog.\n\n <p>\n This option is used instead of the 'height' and 'width' options.\n </p>\n\n"
7864
- },
7865
- "chrome": {
7866
- "type": "boolean",
7867
- "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
7868
- "defaultValue": "true"
7869
- },
7870
- "width": {
7871
- "maxLength": 10,
7977
+ "key": {
7978
+ "maxLength": 100,
7872
7979
  "type": "string",
7873
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
7874
- },
7875
- "header": {
7876
- "$ref": "#/definitions/i18nProperty",
7877
- "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
7878
- },
7879
- "height": {
7880
- "maxLength": 10,
7881
- "type": "string",
7882
- "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
7980
+ "fieldDescription": "\n\n<p>The key of a <a href=\"../dialog/\">Dialog</a> module declared in this Connect add-on.</p>\n\n <p>\n The dialog module will include the <a href=\"../dialog-options/\">Dialog Options</a>\n that would otherwise need to be specified directly in this options object.\n </p>\n\n"
7883
7981
  }
7884
7982
  },
7885
- "shortClassName": "dialogOptions",
7983
+ "required": [
7984
+ "key"
7985
+ ],
7986
+ "shortClassName": "dialogModuleOptions",
7886
7987
  "type": "object",
7887
- "title": "Dialog Options",
7888
- "description": "\n\nOptions for a modal dialog <a href=\"../web-item-target/\">web item target</a> or <a href=\"../dialog/\">common module</a>.\n\n <p>\n These options are a subset of those available via the <a href=\"../../jsapi/dialog/\">JavaScript API</a>.\n </p>\n\n <h2>Web Item Example</h2>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialog\",\n \"options\": {\n \"height\": \"100px\",\n \"width\": \"200px\"\n }\n }\n }\n\n\n\n\n <h2>Dialog Example</h2>\n\n\n\n\n\n {\n \"modules\": {\n \"dialogs\": [\n {\n \"url\": \"/my-dialog-content\",\n \"options\": {\n \"size\": \"fullscreen\",\n \"header\": {\n \"value\": \"Example Dialog\"\n }\n },\n \"key\": \"dialog-module-key\"\n }\n ]\n }\n }\n\n\n"
7988
+ "title": "Dialog Module Options",
7989
+ "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
7889
7990
  }
7890
7991
  ]
7891
7992
  },
@@ -7942,33 +8043,6 @@
7942
8043
  "items": {
7943
8044
  "type": "object",
7944
8045
  "anyOf": [
7945
- {
7946
- "properties": {
7947
- "condition": {
7948
- "maxLength": 100,
7949
- "type": "string",
7950
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
7951
- },
7952
- "invert": {
7953
- "type": "boolean",
7954
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
7955
- "defaultValue": "false"
7956
- },
7957
- "params": {
7958
- "additionalProperties": true,
7959
- "type": "object",
7960
- "fieldTitle": "Object",
7961
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
7962
- }
7963
- },
7964
- "required": [
7965
- "condition"
7966
- ],
7967
- "shortClassName": "singleConditionBean",
7968
- "type": "object",
7969
- "title": "Single Condition",
7970
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
7971
- },
7972
8046
  {
7973
8047
  "properties": {
7974
8048
  "conditions": {
@@ -7976,10 +8050,10 @@
7976
8050
  "type": "object",
7977
8051
  "anyOf": [
7978
8052
  {
7979
- "$ref": "#/definitions/singleCondition"
8053
+ "$ref": "#"
7980
8054
  },
7981
8055
  {
7982
- "$ref": "#"
8056
+ "$ref": "#/definitions/singleCondition"
7983
8057
  }
7984
8058
  ]
7985
8059
  },
@@ -8001,6 +8075,33 @@
8001
8075
  "type": "object",
8002
8076
  "title": "Composite Condition",
8003
8077
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
8078
+ },
8079
+ {
8080
+ "properties": {
8081
+ "condition": {
8082
+ "maxLength": 100,
8083
+ "type": "string",
8084
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8085
+ },
8086
+ "invert": {
8087
+ "type": "boolean",
8088
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8089
+ "defaultValue": "false"
8090
+ },
8091
+ "params": {
8092
+ "additionalProperties": true,
8093
+ "type": "object",
8094
+ "fieldTitle": "Object",
8095
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
8096
+ }
8097
+ },
8098
+ "required": [
8099
+ "condition"
8100
+ ],
8101
+ "shortClassName": "singleConditionBean",
8102
+ "type": "object",
8103
+ "title": "Single Condition",
8104
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
8004
8105
  }
8005
8106
  ]
8006
8107
  },
@@ -8239,10 +8340,10 @@
8239
8340
  "type": "object",
8240
8341
  "anyOf": [
8241
8342
  {
8242
- "$ref": "#/definitions/singleCondition"
8343
+ "$ref": "#"
8243
8344
  },
8244
8345
  {
8245
- "$ref": "#"
8346
+ "$ref": "#/definitions/singleCondition"
8246
8347
  }
8247
8348
  ]
8248
8349
  },
@@ -8537,38 +8638,6 @@
8537
8638
  "items": {
8538
8639
  "type": "object",
8539
8640
  "anyOf": [
8540
- {
8541
- "properties": {
8542
- "macroParameter": {
8543
- "maxLength": 100,
8544
- "type": "string",
8545
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8546
- },
8547
- "type": {
8548
- "enum": [
8549
- "text",
8550
- "TEXT"
8551
- ],
8552
- "type": "string",
8553
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8554
- },
8555
- "key": {
8556
- "pattern": "^[a-zA-Z0-9-]+$",
8557
- "maxLength": 100,
8558
- "type": "string",
8559
- "fieldDescription": "\n\nA key to identify this module.\n\n This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be\n globally unique.\n\n Keys must only contain alphanumeric characters and dashes.\n\n The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on\n key and module key. For example, an add-on which looks like:\n\n {\n \"key\": \"my-addon\",\n \"modules\": {\n \"configurePage\": {\n \"key\": \"configure-me\",\n }\n }\n }\n\n Will have a configuration page module with a URL of `/plugins/servlet/ac/my-addon/configure-me`.\n\n"
8560
- }
8561
- },
8562
- "required": [
8563
- "macroParameter",
8564
- "type",
8565
- "key"
8566
- ],
8567
- "shortClassName": "textControlBean",
8568
- "type": "object",
8569
- "title": "TextControl",
8570
- "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
8571
- },
8572
8641
  {
8573
8642
  "properties": {
8574
8643
  "controls": {
@@ -8694,6 +8763,38 @@
8694
8763
  "title": "ControlGroup",
8695
8764
  "description": "\n\nDefines a ControlGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"group\",\n \"controls\": [\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n },\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-control-1\"\n }\n ]\n }\n ]\n\n\n"
8696
8765
  },
8766
+ {
8767
+ "properties": {
8768
+ "macroParameter": {
8769
+ "maxLength": 100,
8770
+ "type": "string",
8771
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8772
+ },
8773
+ "type": {
8774
+ "enum": [
8775
+ "text",
8776
+ "TEXT"
8777
+ ],
8778
+ "type": "string",
8779
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8780
+ },
8781
+ "key": {
8782
+ "pattern": "^[a-zA-Z0-9-]+$",
8783
+ "maxLength": 100,
8784
+ "type": "string",
8785
+ "fieldDescription": "\n\nA key to identify this module.\n\n This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be\n globally unique.\n\n Keys must only contain alphanumeric characters and dashes.\n\n The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on\n key and module key. For example, an add-on which looks like:\n\n {\n \"key\": \"my-addon\",\n \"modules\": {\n \"configurePage\": {\n \"key\": \"configure-me\",\n }\n }\n }\n\n Will have a configuration page module with a URL of `/plugins/servlet/ac/my-addon/configure-me`.\n\n"
8786
+ }
8787
+ },
8788
+ "required": [
8789
+ "macroParameter",
8790
+ "type",
8791
+ "key"
8792
+ ],
8793
+ "shortClassName": "textControlBean",
8794
+ "type": "object",
8795
+ "title": "TextControl",
8796
+ "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
8797
+ },
8697
8798
  {
8698
8799
  "properties": {
8699
8800
  "label": {
@@ -9019,6 +9120,94 @@
9019
9120
  "items": {
9020
9121
  "type": "object",
9021
9122
  "anyOf": [
9123
+ {
9124
+ "properties": {
9125
+ "label": {
9126
+ "$ref": "#/definitions/i18nProperty",
9127
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
9128
+ },
9129
+ "type": {
9130
+ "enum": [
9131
+ "button",
9132
+ "BUTTON"
9133
+ ],
9134
+ "type": "string",
9135
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9136
+ },
9137
+ "key": {
9138
+ "pattern": "^[a-zA-Z0-9-]+$",
9139
+ "maxLength": 100,
9140
+ "type": "string",
9141
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9142
+ }
9143
+ },
9144
+ "required": [
9145
+ "label",
9146
+ "type",
9147
+ "key"
9148
+ ],
9149
+ "additionalProperties": true,
9150
+ "shortClassName": "buttonControlBean",
9151
+ "type": "object",
9152
+ "title": "ButtonControl",
9153
+ "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9154
+ },
9155
+ {
9156
+ "properties": {
9157
+ "controls": {
9158
+ "items": {
9159
+ "properties": {
9160
+ "label": {
9161
+ "$ref": "#/definitions/i18nProperty",
9162
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
9163
+ },
9164
+ "type": {
9165
+ "enum": [
9166
+ "button",
9167
+ "BUTTON"
9168
+ ],
9169
+ "type": "string",
9170
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9171
+ },
9172
+ "key": {
9173
+ "pattern": "^[a-zA-Z0-9-]+$",
9174
+ "maxLength": 100,
9175
+ "type": "string",
9176
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9177
+ }
9178
+ },
9179
+ "required": [
9180
+ "label",
9181
+ "type",
9182
+ "key"
9183
+ ],
9184
+ "additionalProperties": true,
9185
+ "shortClassName": "buttonControlBean",
9186
+ "type": "object",
9187
+ "title": "ButtonControl",
9188
+ "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9189
+ },
9190
+ "type": "array",
9191
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
9192
+ },
9193
+ "type": {
9194
+ "enum": [
9195
+ "group",
9196
+ "GROUP"
9197
+ ],
9198
+ "type": "string",
9199
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
9200
+ }
9201
+ },
9202
+ "required": [
9203
+ "controls",
9204
+ "type"
9205
+ ],
9206
+ "shortClassName": "controlGroupBean",
9207
+ "type": "object",
9208
+ "title": "ControlGroup",
9209
+ "description": "\n\nDefines a ControlGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"group\",\n \"controls\": [\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n },\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-control-1\"\n }\n ]\n }\n ]\n\n\n"
9210
+ },
9022
9211
  {
9023
9212
  "properties": {
9024
9213
  "controls": {
@@ -9119,94 +9308,6 @@
9119
9308
  "type": "object",
9120
9309
  "title": "TextControl",
9121
9310
  "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9122
- },
9123
- {
9124
- "properties": {
9125
- "label": {
9126
- "$ref": "#/definitions/i18nProperty",
9127
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
9128
- },
9129
- "type": {
9130
- "enum": [
9131
- "button",
9132
- "BUTTON"
9133
- ],
9134
- "type": "string",
9135
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9136
- },
9137
- "key": {
9138
- "pattern": "^[a-zA-Z0-9-]+$",
9139
- "maxLength": 100,
9140
- "type": "string",
9141
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9142
- }
9143
- },
9144
- "required": [
9145
- "label",
9146
- "type",
9147
- "key"
9148
- ],
9149
- "additionalProperties": true,
9150
- "shortClassName": "buttonControlBean",
9151
- "type": "object",
9152
- "title": "ButtonControl",
9153
- "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9154
- },
9155
- {
9156
- "properties": {
9157
- "controls": {
9158
- "items": {
9159
- "properties": {
9160
- "label": {
9161
- "$ref": "#/definitions/i18nProperty",
9162
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
9163
- },
9164
- "type": {
9165
- "enum": [
9166
- "button",
9167
- "BUTTON"
9168
- ],
9169
- "type": "string",
9170
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9171
- },
9172
- "key": {
9173
- "pattern": "^[a-zA-Z0-9-]+$",
9174
- "maxLength": 100,
9175
- "type": "string",
9176
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9177
- }
9178
- },
9179
- "required": [
9180
- "label",
9181
- "type",
9182
- "key"
9183
- ],
9184
- "additionalProperties": true,
9185
- "shortClassName": "buttonControlBean",
9186
- "type": "object",
9187
- "title": "ButtonControl",
9188
- "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9189
- },
9190
- "type": "array",
9191
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
9192
- },
9193
- "type": {
9194
- "enum": [
9195
- "group",
9196
- "GROUP"
9197
- ],
9198
- "type": "string",
9199
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
9200
- }
9201
- },
9202
- "required": [
9203
- "controls",
9204
- "type"
9205
- ],
9206
- "shortClassName": "controlGroupBean",
9207
- "type": "object",
9208
- "title": "ControlGroup",
9209
- "description": "\n\nDefines a ControlGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"group\",\n \"controls\": [\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n },\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-control-1\"\n }\n ]\n }\n ]\n\n\n"
9210
9311
  }
9211
9312
  ]
9212
9313
  },
@@ -10881,10 +10982,10 @@
10881
10982
  "type": "object",
10882
10983
  "anyOf": [
10883
10984
  {
10884
- "$ref": "#/definitions/singleCondition"
10985
+ "$ref": "#"
10885
10986
  },
10886
10987
  {
10887
- "$ref": "#"
10988
+ "$ref": "#/definitions/singleCondition"
10888
10989
  }
10889
10990
  ]
10890
10991
  },