@forge/manifest 2.2.1-next.0 → 2.2.1-next.4

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.
@@ -2491,33 +2491,86 @@
2491
2491
  "compass:adminPage": {
2492
2492
  "type": "array",
2493
2493
  "items": {
2494
- "type": "object",
2495
- "required": [
2496
- "title",
2497
- "function",
2498
- "key"
2499
- ],
2500
- "properties": {
2501
- "title": {
2502
- "type": "string",
2503
- "minLength": 1,
2504
- "maxLength": 255
2505
- },
2506
- "icon": {
2507
- "type": "string",
2508
- "minLength": 1,
2509
- "maxLength": 255
2510
- },
2511
- "function": {
2512
- "type": "string",
2513
- "minLength": 1,
2514
- "maxLength": 255,
2515
- "pattern": "^[a-zA-Z0-9-_]+$"
2494
+ "oneOf": [
2495
+ {
2496
+ "type": "object",
2497
+ "required": [
2498
+ "title",
2499
+ "function",
2500
+ "key"
2501
+ ],
2502
+ "properties": {
2503
+ "title": {
2504
+ "type": "string",
2505
+ "minLength": 1,
2506
+ "maxLength": 255
2507
+ },
2508
+ "icon": {
2509
+ "type": "string",
2510
+ "minLength": 1,
2511
+ "maxLength": 255
2512
+ },
2513
+ "function": {
2514
+ "type": "string",
2515
+ "minLength": 1,
2516
+ "maxLength": 255,
2517
+ "pattern": "^[a-zA-Z0-9-_]+$"
2518
+ },
2519
+ "key": {
2520
+ "$ref": "#/definitions/ModuleKeySchema"
2521
+ }
2522
+ }
2516
2523
  },
2517
- "key": {
2518
- "$ref": "#/definitions/ModuleKeySchema"
2524
+ {
2525
+ "type": "object",
2526
+ "required": [
2527
+ "title",
2528
+ "resource",
2529
+ "key"
2530
+ ],
2531
+ "properties": {
2532
+ "title": {
2533
+ "type": "string",
2534
+ "minLength": 1,
2535
+ "maxLength": 255
2536
+ },
2537
+ "icon": {
2538
+ "type": "string",
2539
+ "minLength": 1,
2540
+ "maxLength": 255
2541
+ },
2542
+ "resolver": {
2543
+ "additionalProperties": false,
2544
+ "type": "object",
2545
+ "properties": {
2546
+ "function": {
2547
+ "type": "string",
2548
+ "minLength": 1,
2549
+ "maxLength": 255,
2550
+ "pattern": "^[a-zA-Z0-9-_]+$"
2551
+ }
2552
+ },
2553
+ "required": [
2554
+ "function"
2555
+ ]
2556
+ },
2557
+ "resource": {
2558
+ "type": "string",
2559
+ "minLength": 1,
2560
+ "maxLength": 23,
2561
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2562
+ },
2563
+ "resourceUploadId": {
2564
+ "type": "string",
2565
+ "minLength": 1,
2566
+ "maxLength": 255
2567
+ },
2568
+ "key": {
2569
+ "$ref": "#/definitions/ModuleKeySchema"
2570
+ }
2571
+ }
2519
2572
  }
2520
- }
2573
+ ]
2521
2574
  },
2522
2575
  "minItems": 1
2523
2576
  },
@@ -2832,10 +2885,10 @@
2832
2885
  "type": "object",
2833
2886
  "anyOf": [
2834
2887
  {
2835
- "$ref": "#/definitions/compositeCondition"
2888
+ "$ref": "#/definitions/singleCondition"
2836
2889
  },
2837
2890
  {
2838
- "$ref": "#/definitions/singleCondition"
2891
+ "$ref": "#/definitions/compositeCondition"
2839
2892
  }
2840
2893
  ]
2841
2894
  },
@@ -2954,10 +3007,10 @@
2954
3007
  "type": "object",
2955
3008
  "anyOf": [
2956
3009
  {
2957
- "$ref": "#/definitions/compositeCondition"
3010
+ "$ref": "#/definitions/singleCondition"
2958
3011
  },
2959
3012
  {
2960
- "$ref": "#/definitions/singleCondition"
3013
+ "$ref": "#/definitions/compositeCondition"
2961
3014
  }
2962
3015
  ]
2963
3016
  },
@@ -3248,33 +3301,6 @@
3248
3301
  "items": {
3249
3302
  "type": "object",
3250
3303
  "anyOf": [
3251
- {
3252
- "properties": {
3253
- "condition": {
3254
- "maxLength": 100,
3255
- "type": "string",
3256
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
3257
- },
3258
- "invert": {
3259
- "type": "boolean",
3260
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
3261
- "defaultValue": "false"
3262
- },
3263
- "params": {
3264
- "additionalProperties": true,
3265
- "type": "object",
3266
- "fieldTitle": "Object",
3267
- "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"
3268
- }
3269
- },
3270
- "required": [
3271
- "condition"
3272
- ],
3273
- "shortClassName": "singleConditionBean",
3274
- "type": "object",
3275
- "title": "Single Condition",
3276
- "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"
3277
- },
3278
3304
  {
3279
3305
  "properties": {
3280
3306
  "conditions": {
@@ -3282,10 +3308,10 @@
3282
3308
  "type": "object",
3283
3309
  "anyOf": [
3284
3310
  {
3285
- "$ref": "#/definitions/singleCondition"
3311
+ "$ref": "#"
3286
3312
  },
3287
3313
  {
3288
- "$ref": "#"
3314
+ "$ref": "#/definitions/singleCondition"
3289
3315
  }
3290
3316
  ]
3291
3317
  },
@@ -3307,6 +3333,33 @@
3307
3333
  "type": "object",
3308
3334
  "title": "Composite Condition",
3309
3335
  "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"
3336
+ },
3337
+ {
3338
+ "properties": {
3339
+ "condition": {
3340
+ "maxLength": 100,
3341
+ "type": "string",
3342
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
3343
+ },
3344
+ "invert": {
3345
+ "type": "boolean",
3346
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
3347
+ "defaultValue": "false"
3348
+ },
3349
+ "params": {
3350
+ "additionalProperties": true,
3351
+ "type": "object",
3352
+ "fieldTitle": "Object",
3353
+ "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"
3354
+ }
3355
+ },
3356
+ "required": [
3357
+ "condition"
3358
+ ],
3359
+ "shortClassName": "singleConditionBean",
3360
+ "type": "object",
3361
+ "title": "Single Condition",
3362
+ "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"
3310
3363
  }
3311
3364
  ]
3312
3365
  },
@@ -3724,10 +3777,10 @@
3724
3777
  "type": "object",
3725
3778
  "anyOf": [
3726
3779
  {
3727
- "$ref": "#/definitions/compositeCondition"
3780
+ "$ref": "#/definitions/singleCondition"
3728
3781
  },
3729
3782
  {
3730
- "$ref": "#/definitions/singleCondition"
3783
+ "$ref": "#/definitions/compositeCondition"
3731
3784
  }
3732
3785
  ]
3733
3786
  },
@@ -4009,10 +4062,10 @@
4009
4062
  "type": "object",
4010
4063
  "anyOf": [
4011
4064
  {
4012
- "$ref": "#/definitions/singleCondition"
4065
+ "$ref": "#/definitions/compositeCondition"
4013
4066
  },
4014
4067
  {
4015
- "$ref": "#/definitions/compositeCondition"
4068
+ "$ref": "#/definitions/singleCondition"
4016
4069
  }
4017
4070
  ]
4018
4071
  },
@@ -4180,10 +4233,10 @@
4180
4233
  "type": "object",
4181
4234
  "anyOf": [
4182
4235
  {
4183
- "$ref": "#"
4236
+ "$ref": "#/definitions/singleCondition"
4184
4237
  },
4185
4238
  {
4186
- "$ref": "#/definitions/singleCondition"
4239
+ "$ref": "#"
4187
4240
  }
4188
4241
  ]
4189
4242
  },
@@ -4495,10 +4548,10 @@
4495
4548
  "type": "object",
4496
4549
  "anyOf": [
4497
4550
  {
4498
- "$ref": "#"
4551
+ "$ref": "#/definitions/singleCondition"
4499
4552
  },
4500
4553
  {
4501
- "$ref": "#/definitions/singleCondition"
4554
+ "$ref": "#"
4502
4555
  }
4503
4556
  ]
4504
4557
  },
@@ -4709,10 +4762,10 @@
4709
4762
  "type": "object",
4710
4763
  "anyOf": [
4711
4764
  {
4712
- "$ref": "#/definitions/singleCondition"
4765
+ "$ref": "#/definitions/compositeCondition"
4713
4766
  },
4714
4767
  {
4715
- "$ref": "#/definitions/compositeCondition"
4768
+ "$ref": "#/definitions/singleCondition"
4716
4769
  }
4717
4770
  ]
4718
4771
  },
@@ -5406,6 +5459,22 @@
5406
5459
  "type": "object",
5407
5460
  "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",
5408
5461
  "anyOf": [
5462
+ {
5463
+ "properties": {
5464
+ "key": {
5465
+ "maxLength": 100,
5466
+ "type": "string",
5467
+ "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"
5468
+ }
5469
+ },
5470
+ "required": [
5471
+ "key"
5472
+ ],
5473
+ "shortClassName": "dialogModuleOptions",
5474
+ "type": "object",
5475
+ "title": "Dialog Module Options",
5476
+ "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"
5477
+ },
5409
5478
  {
5410
5479
  "properties": {
5411
5480
  "size": {
@@ -5497,22 +5566,6 @@
5497
5566
  "type": "object",
5498
5567
  "title": "Inline Dialog Options",
5499
5568
  "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"
5500
- },
5501
- {
5502
- "properties": {
5503
- "key": {
5504
- "maxLength": 100,
5505
- "type": "string",
5506
- "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"
5507
- }
5508
- },
5509
- "required": [
5510
- "key"
5511
- ],
5512
- "shortClassName": "dialogModuleOptions",
5513
- "type": "object",
5514
- "title": "Dialog Module Options",
5515
- "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"
5516
5569
  }
5517
5570
  ]
5518
5571
  },
@@ -6169,22 +6222,17 @@
6169
6222
  "controls": {
6170
6223
  "items": {
6171
6224
  "properties": {
6172
- "macroParameterValue": {
6173
- "maxLength": 10000,
6174
- "type": "string",
6175
- "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
6176
- },
6177
6225
  "label": {
6178
6226
  "$ref": "#/definitions/i18nProperty",
6179
6227
  "fieldDescription": "\n\nText which will appear inside the button\n\n"
6180
6228
  },
6181
6229
  "type": {
6182
6230
  "enum": [
6183
- "togglebutton",
6184
- "TOGGLEBUTTON"
6231
+ "button",
6232
+ "BUTTON"
6185
6233
  ],
6186
6234
  "type": "string",
6187
- "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
6235
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
6188
6236
  },
6189
6237
  "key": {
6190
6238
  "pattern": "^[a-zA-Z0-9-]+$",
@@ -6194,76 +6242,36 @@
6194
6242
  }
6195
6243
  },
6196
6244
  "required": [
6197
- "macroParameterValue",
6198
6245
  "label",
6199
6246
  "type",
6200
6247
  "key"
6201
6248
  ],
6202
6249
  "additionalProperties": true,
6203
- "shortClassName": "macroToggleButtonControlBean",
6250
+ "shortClassName": "buttonControlBean",
6204
6251
  "type": "object",
6205
- "title": "ToggleButtonControl",
6206
- "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\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\n"
6252
+ "title": "ButtonControl",
6253
+ "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"
6207
6254
  },
6208
6255
  "type": "array",
6209
- "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
6210
- },
6211
- "macroParameter": {
6212
- "pattern": "[-_a-z0-9\\.]+",
6213
- "maxLength": 100,
6214
- "type": "string",
6215
- "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
6256
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
6216
6257
  },
6217
6258
  "type": {
6218
6259
  "enum": [
6219
- "togglegroup",
6220
- "TOGGLEGROUP"
6260
+ "group",
6261
+ "GROUP"
6221
6262
  ],
6222
6263
  "type": "string",
6223
- "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
6264
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
6224
6265
  }
6225
6266
  },
6226
6267
  "required": [
6227
6268
  "controls",
6228
- "macroParameter",
6229
6269
  "type"
6230
6270
  ],
6231
- "shortClassName": "macroToggleGroupBean",
6271
+ "shortClassName": "controlGroupBean",
6232
6272
  "type": "object",
6233
- "title": "ToggleGroup",
6234
- "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"
6235
- },
6236
- {
6237
- "properties": {
6238
- "macroParameter": {
6239
- "maxLength": 100,
6240
- "type": "string",
6241
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
6242
- },
6243
- "type": {
6244
- "enum": [
6245
- "text",
6246
- "TEXT"
6247
- ],
6248
- "type": "string",
6249
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
6250
- },
6251
- "key": {
6252
- "pattern": "^[a-zA-Z0-9-]+$",
6253
- "maxLength": 100,
6254
- "type": "string",
6255
- "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"
6256
- }
6257
- },
6258
- "required": [
6259
- "macroParameter",
6260
- "type",
6261
- "key"
6262
- ],
6263
- "shortClassName": "textControlBean",
6264
- "type": "object",
6265
- "title": "TextControl",
6266
- "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"
6273
+ "title": "ControlGroup",
6274
+ "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"
6267
6275
  },
6268
6276
  {
6269
6277
  "properties": {
@@ -6302,17 +6310,22 @@
6302
6310
  "controls": {
6303
6311
  "items": {
6304
6312
  "properties": {
6313
+ "macroParameterValue": {
6314
+ "maxLength": 10000,
6315
+ "type": "string",
6316
+ "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
6317
+ },
6305
6318
  "label": {
6306
6319
  "$ref": "#/definitions/i18nProperty",
6307
6320
  "fieldDescription": "\n\nText which will appear inside the button\n\n"
6308
6321
  },
6309
6322
  "type": {
6310
6323
  "enum": [
6311
- "button",
6312
- "BUTTON"
6324
+ "togglebutton",
6325
+ "TOGGLEBUTTON"
6313
6326
  ],
6314
6327
  "type": "string",
6315
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
6328
+ "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
6316
6329
  },
6317
6330
  "key": {
6318
6331
  "pattern": "^[a-zA-Z0-9-]+$",
@@ -6322,36 +6335,76 @@
6322
6335
  }
6323
6336
  },
6324
6337
  "required": [
6338
+ "macroParameterValue",
6325
6339
  "label",
6326
6340
  "type",
6327
6341
  "key"
6328
6342
  ],
6329
6343
  "additionalProperties": true,
6330
- "shortClassName": "buttonControlBean",
6344
+ "shortClassName": "macroToggleButtonControlBean",
6331
6345
  "type": "object",
6332
- "title": "ButtonControl",
6333
- "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"
6346
+ "title": "ToggleButtonControl",
6347
+ "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\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\n"
6334
6348
  },
6335
6349
  "type": "array",
6336
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
6350
+ "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
6351
+ },
6352
+ "macroParameter": {
6353
+ "pattern": "[-_a-z0-9\\.]+",
6354
+ "maxLength": 100,
6355
+ "type": "string",
6356
+ "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
6337
6357
  },
6338
6358
  "type": {
6339
6359
  "enum": [
6340
- "group",
6341
- "GROUP"
6360
+ "togglegroup",
6361
+ "TOGGLEGROUP"
6342
6362
  ],
6343
6363
  "type": "string",
6344
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
6364
+ "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
6345
6365
  }
6346
6366
  },
6347
6367
  "required": [
6348
6368
  "controls",
6369
+ "macroParameter",
6349
6370
  "type"
6350
6371
  ],
6351
- "shortClassName": "controlGroupBean",
6372
+ "shortClassName": "macroToggleGroupBean",
6352
6373
  "type": "object",
6353
- "title": "ControlGroup",
6354
- "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"
6374
+ "title": "ToggleGroup",
6375
+ "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"
6376
+ },
6377
+ {
6378
+ "properties": {
6379
+ "macroParameter": {
6380
+ "maxLength": 100,
6381
+ "type": "string",
6382
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
6383
+ },
6384
+ "type": {
6385
+ "enum": [
6386
+ "text",
6387
+ "TEXT"
6388
+ ],
6389
+ "type": "string",
6390
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
6391
+ },
6392
+ "key": {
6393
+ "pattern": "^[a-zA-Z0-9-]+$",
6394
+ "maxLength": 100,
6395
+ "type": "string",
6396
+ "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"
6397
+ }
6398
+ },
6399
+ "required": [
6400
+ "macroParameter",
6401
+ "type",
6402
+ "key"
6403
+ ],
6404
+ "shortClassName": "textControlBean",
6405
+ "type": "object",
6406
+ "title": "TextControl",
6407
+ "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"
6355
6408
  }
6356
6409
  ]
6357
6410
  },
@@ -6715,62 +6768,6 @@
6715
6768
  "title": "ToggleGroup",
6716
6769
  "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"
6717
6770
  },
6718
- {
6719
- "properties": {
6720
- "controls": {
6721
- "items": {
6722
- "properties": {
6723
- "label": {
6724
- "$ref": "#/definitions/i18nProperty",
6725
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
6726
- },
6727
- "type": {
6728
- "enum": [
6729
- "button",
6730
- "BUTTON"
6731
- ],
6732
- "type": "string",
6733
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
6734
- },
6735
- "key": {
6736
- "pattern": "^[a-zA-Z0-9-]+$",
6737
- "maxLength": 100,
6738
- "type": "string",
6739
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
6740
- }
6741
- },
6742
- "required": [
6743
- "label",
6744
- "type",
6745
- "key"
6746
- ],
6747
- "additionalProperties": true,
6748
- "shortClassName": "buttonControlBean",
6749
- "type": "object",
6750
- "title": "ButtonControl",
6751
- "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"
6752
- },
6753
- "type": "array",
6754
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
6755
- },
6756
- "type": {
6757
- "enum": [
6758
- "group",
6759
- "GROUP"
6760
- ],
6761
- "type": "string",
6762
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
6763
- }
6764
- },
6765
- "required": [
6766
- "controls",
6767
- "type"
6768
- ],
6769
- "shortClassName": "controlGroupBean",
6770
- "type": "object",
6771
- "title": "ControlGroup",
6772
- "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"
6773
- },
6774
6771
  {
6775
6772
  "properties": {
6776
6773
  "label": {
@@ -6834,6 +6831,62 @@
6834
6831
  "type": "object",
6835
6832
  "title": "TextControl",
6836
6833
  "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"
6834
+ },
6835
+ {
6836
+ "properties": {
6837
+ "controls": {
6838
+ "items": {
6839
+ "properties": {
6840
+ "label": {
6841
+ "$ref": "#/definitions/i18nProperty",
6842
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
6843
+ },
6844
+ "type": {
6845
+ "enum": [
6846
+ "button",
6847
+ "BUTTON"
6848
+ ],
6849
+ "type": "string",
6850
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
6851
+ },
6852
+ "key": {
6853
+ "pattern": "^[a-zA-Z0-9-]+$",
6854
+ "maxLength": 100,
6855
+ "type": "string",
6856
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
6857
+ }
6858
+ },
6859
+ "required": [
6860
+ "label",
6861
+ "type",
6862
+ "key"
6863
+ ],
6864
+ "additionalProperties": true,
6865
+ "shortClassName": "buttonControlBean",
6866
+ "type": "object",
6867
+ "title": "ButtonControl",
6868
+ "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"
6869
+ },
6870
+ "type": "array",
6871
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
6872
+ },
6873
+ "type": {
6874
+ "enum": [
6875
+ "group",
6876
+ "GROUP"
6877
+ ],
6878
+ "type": "string",
6879
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
6880
+ }
6881
+ },
6882
+ "required": [
6883
+ "controls",
6884
+ "type"
6885
+ ],
6886
+ "shortClassName": "controlGroupBean",
6887
+ "type": "object",
6888
+ "title": "ControlGroup",
6889
+ "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"
6837
6890
  }
6838
6891
  ]
6839
6892
  },
@@ -7036,10 +7089,10 @@
7036
7089
  "type": "object",
7037
7090
  "anyOf": [
7038
7091
  {
7039
- "$ref": "#/definitions/compositeCondition"
7092
+ "$ref": "#/definitions/singleCondition"
7040
7093
  },
7041
7094
  {
7042
- "$ref": "#/definitions/singleCondition"
7095
+ "$ref": "#/definitions/compositeCondition"
7043
7096
  }
7044
7097
  ]
7045
7098
  },
@@ -7071,50 +7124,19 @@
7071
7124
  "anyOf": [
7072
7125
  {
7073
7126
  "properties": {
7074
- "offsetX": {
7075
- "maxLength": 10,
7076
- "type": "string",
7077
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
7078
- },
7079
- "offsetY": {
7080
- "maxLength": 10,
7081
- "type": "string",
7082
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
7083
- },
7084
- "width": {
7085
- "maxLength": 10,
7127
+ "key": {
7128
+ "maxLength": 100,
7086
7129
  "type": "string",
7087
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
7088
- },
7089
- "onTop": {
7090
- "type": "boolean",
7091
- "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"
7092
- },
7093
- "showDelay": {
7094
- "type": "integer",
7095
- "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"
7096
- },
7097
- "closeOthers": {
7098
- "type": "boolean",
7099
- "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
7100
- },
7101
- "persistent": {
7102
- "type": "boolean",
7103
- "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
7104
- },
7105
- "onHover": {
7106
- "type": "boolean",
7107
- "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
7108
- },
7109
- "isRelativeToMouse": {
7110
- "type": "boolean",
7111
- "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"
7130
+ "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"
7112
7131
  }
7113
7132
  },
7114
- "shortClassName": "inlineDialogOptions",
7133
+ "required": [
7134
+ "key"
7135
+ ],
7136
+ "shortClassName": "dialogModuleOptions",
7115
7137
  "type": "object",
7116
- "title": "Inline Dialog Options",
7117
- "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"
7138
+ "title": "Dialog Module Options",
7139
+ "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"
7118
7140
  },
7119
7141
  {
7120
7142
  "properties": {
@@ -7163,19 +7185,50 @@
7163
7185
  },
7164
7186
  {
7165
7187
  "properties": {
7166
- "key": {
7167
- "maxLength": 100,
7188
+ "offsetX": {
7189
+ "maxLength": 10,
7168
7190
  "type": "string",
7169
- "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"
7191
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
7192
+ },
7193
+ "offsetY": {
7194
+ "maxLength": 10,
7195
+ "type": "string",
7196
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
7197
+ },
7198
+ "width": {
7199
+ "maxLength": 10,
7200
+ "type": "string",
7201
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
7202
+ },
7203
+ "onTop": {
7204
+ "type": "boolean",
7205
+ "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"
7206
+ },
7207
+ "showDelay": {
7208
+ "type": "integer",
7209
+ "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"
7210
+ },
7211
+ "closeOthers": {
7212
+ "type": "boolean",
7213
+ "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
7214
+ },
7215
+ "persistent": {
7216
+ "type": "boolean",
7217
+ "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
7218
+ },
7219
+ "onHover": {
7220
+ "type": "boolean",
7221
+ "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
7222
+ },
7223
+ "isRelativeToMouse": {
7224
+ "type": "boolean",
7225
+ "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"
7170
7226
  }
7171
7227
  },
7172
- "required": [
7173
- "key"
7174
- ],
7175
- "shortClassName": "dialogModuleOptions",
7228
+ "shortClassName": "inlineDialogOptions",
7176
7229
  "type": "object",
7177
- "title": "Dialog Module Options",
7178
- "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"
7230
+ "title": "Inline Dialog Options",
7231
+ "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"
7179
7232
  }
7180
7233
  ]
7181
7234
  },