@forge/manifest 3.3.0 → 3.3.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  },
@@ -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
  },
@@ -7779,6 +7880,51 @@
7779
7880
  "type": "object",
7780
7881
  "fieldDescription": "\n\n<p>An object containing options which vary based on the type of web item target you are implementing.</p>\n\n <p>Currently-allowed options are:</p>\n <ul>\n <li><a href=\"../inline-dialog-options/\">Inline Dialog Options</a> when type is \"inlinedialog\", and</li>\n <li><a href=\"../dialog-options/\">Dialog Options</a> when type is \"dialog\"</li>\n <li><a href=\"../dialog-module-options/\">Dialog Module Options</a> when type is \"dialogmodule\"</li>\n </ul>\n\n",
7781
7882
  "anyOf": [
7883
+ {
7884
+ "properties": {
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
+ ],
7900
+ "type": "string",
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"
7921
+ }
7922
+ },
7923
+ "shortClassName": "dialogOptions",
7924
+ "type": "object",
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"
7927
+ },
7782
7928
  {
7783
7929
  "properties": {
7784
7930
  "key": {
@@ -7841,51 +7987,6 @@
7841
7987
  "type": "object",
7842
7988
  "title": "Inline Dialog Options",
7843
7989
  "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
7844
- },
7845
- {
7846
- "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,
7872
- "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"
7883
- }
7884
- },
7885
- "shortClassName": "dialogOptions",
7886
- "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"
7889
7990
  }
7890
7991
  ]
7891
7992
  },
@@ -8539,35 +8640,91 @@
8539
8640
  "anyOf": [
8540
8641
  {
8541
8642
  "properties": {
8542
- "macroParameter": {
8543
- "maxLength": 100,
8643
+ "controls": {
8644
+ "items": {
8645
+ "properties": {
8646
+ "label": {
8647
+ "$ref": "#/definitions/i18nProperty",
8648
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
8649
+ },
8650
+ "type": {
8651
+ "enum": [
8652
+ "button",
8653
+ "BUTTON"
8654
+ ],
8655
+ "type": "string",
8656
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8657
+ },
8658
+ "key": {
8659
+ "pattern": "^[a-zA-Z0-9-]+$",
8660
+ "maxLength": 100,
8661
+ "type": "string",
8662
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8663
+ }
8664
+ },
8665
+ "required": [
8666
+ "label",
8667
+ "type",
8668
+ "key"
8669
+ ],
8670
+ "additionalProperties": true,
8671
+ "shortClassName": "buttonControlBean",
8672
+ "type": "object",
8673
+ "title": "ButtonControl",
8674
+ "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"
8675
+ },
8676
+ "type": "array",
8677
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
8678
+ },
8679
+ "type": {
8680
+ "enum": [
8681
+ "group",
8682
+ "GROUP"
8683
+ ],
8544
8684
  "type": "string",
8545
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8685
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
8686
+ }
8687
+ },
8688
+ "required": [
8689
+ "controls",
8690
+ "type"
8691
+ ],
8692
+ "shortClassName": "controlGroupBean",
8693
+ "type": "object",
8694
+ "title": "ControlGroup",
8695
+ "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
+ },
8697
+ {
8698
+ "properties": {
8699
+ "label": {
8700
+ "$ref": "#/definitions/i18nProperty",
8701
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
8546
8702
  },
8547
8703
  "type": {
8548
8704
  "enum": [
8549
- "text",
8550
- "TEXT"
8705
+ "button",
8706
+ "BUTTON"
8551
8707
  ],
8552
8708
  "type": "string",
8553
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8709
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8554
8710
  },
8555
8711
  "key": {
8556
8712
  "pattern": "^[a-zA-Z0-9-]+$",
8557
8713
  "maxLength": 100,
8558
8714
  "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"
8715
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8560
8716
  }
8561
8717
  },
8562
8718
  "required": [
8563
- "macroParameter",
8719
+ "label",
8564
8720
  "type",
8565
8721
  "key"
8566
8722
  ],
8567
- "shortClassName": "textControlBean",
8723
+ "additionalProperties": true,
8724
+ "shortClassName": "buttonControlBean",
8568
8725
  "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"
8726
+ "title": "ButtonControl",
8727
+ "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"
8571
8728
  },
8572
8729
  {
8573
8730
  "properties": {
@@ -8640,91 +8797,35 @@
8640
8797
  },
8641
8798
  {
8642
8799
  "properties": {
8643
- "controls": {
8644
- "items": {
8645
- "properties": {
8646
- "label": {
8647
- "$ref": "#/definitions/i18nProperty",
8648
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
8649
- },
8650
- "type": {
8651
- "enum": [
8652
- "button",
8653
- "BUTTON"
8654
- ],
8655
- "type": "string",
8656
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8657
- },
8658
- "key": {
8659
- "pattern": "^[a-zA-Z0-9-]+$",
8660
- "maxLength": 100,
8661
- "type": "string",
8662
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8663
- }
8664
- },
8665
- "required": [
8666
- "label",
8667
- "type",
8668
- "key"
8669
- ],
8670
- "additionalProperties": true,
8671
- "shortClassName": "buttonControlBean",
8672
- "type": "object",
8673
- "title": "ButtonControl",
8674
- "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"
8675
- },
8676
- "type": "array",
8677
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
8678
- },
8679
- "type": {
8680
- "enum": [
8681
- "group",
8682
- "GROUP"
8683
- ],
8800
+ "macroParameter": {
8801
+ "maxLength": 100,
8684
8802
  "type": "string",
8685
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
8686
- }
8687
- },
8688
- "required": [
8689
- "controls",
8690
- "type"
8691
- ],
8692
- "shortClassName": "controlGroupBean",
8693
- "type": "object",
8694
- "title": "ControlGroup",
8695
- "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
- },
8697
- {
8698
- "properties": {
8699
- "label": {
8700
- "$ref": "#/definitions/i18nProperty",
8701
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
8803
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8702
8804
  },
8703
8805
  "type": {
8704
8806
  "enum": [
8705
- "button",
8706
- "BUTTON"
8807
+ "text",
8808
+ "TEXT"
8707
8809
  ],
8708
8810
  "type": "string",
8709
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8811
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8710
8812
  },
8711
8813
  "key": {
8712
8814
  "pattern": "^[a-zA-Z0-9-]+$",
8713
8815
  "maxLength": 100,
8714
8816
  "type": "string",
8715
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8817
+ "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"
8716
8818
  }
8717
8819
  },
8718
8820
  "required": [
8719
- "label",
8821
+ "macroParameter",
8720
8822
  "type",
8721
8823
  "key"
8722
8824
  ],
8723
- "additionalProperties": true,
8724
- "shortClassName": "buttonControlBean",
8825
+ "shortClassName": "textControlBean",
8725
8826
  "type": "object",
8726
- "title": "ButtonControl",
8727
- "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"
8827
+ "title": "TextControl",
8828
+ "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"
8728
8829
  }
8729
8830
  ]
8730
8831
  },
@@ -9019,6 +9120,38 @@
9019
9120
  "items": {
9020
9121
  "type": "object",
9021
9122
  "anyOf": [
9123
+ {
9124
+ "properties": {
9125
+ "macroParameter": {
9126
+ "maxLength": 100,
9127
+ "type": "string",
9128
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9129
+ },
9130
+ "type": {
9131
+ "enum": [
9132
+ "text",
9133
+ "TEXT"
9134
+ ],
9135
+ "type": "string",
9136
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
9137
+ },
9138
+ "key": {
9139
+ "pattern": "^[a-zA-Z0-9-]+$",
9140
+ "maxLength": 100,
9141
+ "type": "string",
9142
+ "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"
9143
+ }
9144
+ },
9145
+ "required": [
9146
+ "macroParameter",
9147
+ "type",
9148
+ "key"
9149
+ ],
9150
+ "shortClassName": "textControlBean",
9151
+ "type": "object",
9152
+ "title": "TextControl",
9153
+ "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"
9154
+ },
9022
9155
  {
9023
9156
  "properties": {
9024
9157
  "controls": {
@@ -9088,38 +9221,6 @@
9088
9221
  "title": "ToggleGroup",
9089
9222
  "description": "\n\nDefines a ToggleGroup 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\": \"togglegroup\",\n \"macroParameter\": \"toggleGroupMacroParameter\",\n \"controls\": [\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n },\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 1\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-toggle-button-1\"\n }\n ]\n }\n ]\n\n\n"
9090
9223
  },
9091
- {
9092
- "properties": {
9093
- "macroParameter": {
9094
- "maxLength": 100,
9095
- "type": "string",
9096
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9097
- },
9098
- "type": {
9099
- "enum": [
9100
- "text",
9101
- "TEXT"
9102
- ],
9103
- "type": "string",
9104
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
9105
- },
9106
- "key": {
9107
- "pattern": "^[a-zA-Z0-9-]+$",
9108
- "maxLength": 100,
9109
- "type": "string",
9110
- "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"
9111
- }
9112
- },
9113
- "required": [
9114
- "macroParameter",
9115
- "type",
9116
- "key"
9117
- ],
9118
- "shortClassName": "textControlBean",
9119
- "type": "object",
9120
- "title": "TextControl",
9121
- "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
9224
  {
9124
9225
  "properties": {
9125
9226
  "label": {
@@ -9409,10 +9510,10 @@
9409
9510
  "type": "object",
9410
9511
  "anyOf": [
9411
9512
  {
9412
- "$ref": "#/definitions/singleCondition"
9513
+ "$ref": "#/definitions/compositeCondition"
9413
9514
  },
9414
9515
  {
9415
- "$ref": "#/definitions/compositeCondition"
9516
+ "$ref": "#/definitions/singleCondition"
9416
9517
  }
9417
9518
  ]
9418
9519
  },
@@ -9442,53 +9543,6 @@
9442
9543
  "type": "object",
9443
9544
  "fieldDescription": "\n\n<p>An object containing options which vary based on the type of web item target you are implementing.</p>\n\n <p>Currently-allowed options are:</p>\n <ul>\n <li><a href=\"../inline-dialog-options/\">Inline Dialog Options</a> when type is \"inlinedialog\", and</li>\n <li><a href=\"../dialog-options/\">Dialog Options</a> when type is \"dialog\"</li>\n <li><a href=\"../dialog-module-options/\">Dialog Module Options</a> when type is \"dialogmodule\"</li>\n </ul>\n\n",
9444
9545
  "anyOf": [
9445
- {
9446
- "properties": {
9447
- "offsetX": {
9448
- "maxLength": 10,
9449
- "type": "string",
9450
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
9451
- },
9452
- "offsetY": {
9453
- "maxLength": 10,
9454
- "type": "string",
9455
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
9456
- },
9457
- "width": {
9458
- "maxLength": 10,
9459
- "type": "string",
9460
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
9461
- },
9462
- "onTop": {
9463
- "type": "boolean",
9464
- "fieldDescription": "\n\nDetermines if the dialog should be shown above the trigger or not. If this option is true but there is insufficient room above the trigger the inline-dialog will be flipped to display below it\n\n"
9465
- },
9466
- "showDelay": {
9467
- "type": "integer",
9468
- "fieldDescription": "\n\nDetermines how long in milliseconds after a show trigger is fired (such as a trigger click) until the dialog is shown\n\n"
9469
- },
9470
- "closeOthers": {
9471
- "type": "boolean",
9472
- "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
9473
- },
9474
- "persistent": {
9475
- "type": "boolean",
9476
- "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
9477
- },
9478
- "onHover": {
9479
- "type": "boolean",
9480
- "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
9481
- },
9482
- "isRelativeToMouse": {
9483
- "type": "boolean",
9484
- "fieldDescription": "\n\nDetermines if the dialog should be shown relative to where the mouse is at the time of the event trigger (normally a click) if set to false the dialog will show aligned to the left of the trigger with the arrow showing at the center\n\n"
9485
- }
9486
- },
9487
- "shortClassName": "inlineDialogOptions",
9488
- "type": "object",
9489
- "title": "Inline Dialog Options",
9490
- "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
9491
- },
9492
9546
  {
9493
9547
  "properties": {
9494
9548
  "size": {
@@ -9549,6 +9603,53 @@
9549
9603
  "type": "object",
9550
9604
  "title": "Dialog Module Options",
9551
9605
  "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"
9606
+ },
9607
+ {
9608
+ "properties": {
9609
+ "offsetX": {
9610
+ "maxLength": 10,
9611
+ "type": "string",
9612
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
9613
+ },
9614
+ "offsetY": {
9615
+ "maxLength": 10,
9616
+ "type": "string",
9617
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
9618
+ },
9619
+ "width": {
9620
+ "maxLength": 10,
9621
+ "type": "string",
9622
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
9623
+ },
9624
+ "onTop": {
9625
+ "type": "boolean",
9626
+ "fieldDescription": "\n\nDetermines if the dialog should be shown above the trigger or not. If this option is true but there is insufficient room above the trigger the inline-dialog will be flipped to display below it\n\n"
9627
+ },
9628
+ "showDelay": {
9629
+ "type": "integer",
9630
+ "fieldDescription": "\n\nDetermines how long in milliseconds after a show trigger is fired (such as a trigger click) until the dialog is shown\n\n"
9631
+ },
9632
+ "closeOthers": {
9633
+ "type": "boolean",
9634
+ "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
9635
+ },
9636
+ "persistent": {
9637
+ "type": "boolean",
9638
+ "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
9639
+ },
9640
+ "onHover": {
9641
+ "type": "boolean",
9642
+ "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
9643
+ },
9644
+ "isRelativeToMouse": {
9645
+ "type": "boolean",
9646
+ "fieldDescription": "\n\nDetermines if the dialog should be shown relative to where the mouse is at the time of the event trigger (normally a click) if set to false the dialog will show aligned to the left of the trigger with the arrow showing at the center\n\n"
9647
+ }
9648
+ },
9649
+ "shortClassName": "inlineDialogOptions",
9650
+ "type": "object",
9651
+ "title": "Inline Dialog Options",
9652
+ "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
9552
9653
  }
9553
9654
  ]
9554
9655
  },