@knkcs/contenthub-ui 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +3 -3
- package/dist/{branch-content-fields-BQG6U0yl.js → branch-content-fields-DI9aQfh0.js} +2 -2
- package/dist/{branch-content-fields-BQG6U0yl.js.map → branch-content-fields-DI9aQfh0.js.map} +1 -1
- package/dist/{content-library-DFIk09bD.js → content-library-BdHuzmXL.js} +160 -14
- package/dist/content-library-BdHuzmXL.js.map +1 -0
- package/dist/{heads-DqHmAW0n.js → heads-BrvZ_GYT.js} +4 -3
- package/dist/heads-BrvZ_GYT.js.map +1 -0
- package/dist/index.d.ts +450 -13
- package/dist/index.js +3261 -2533
- package/dist/index.js.map +1 -1
- package/dist/testing.d.ts +155 -7
- package/dist/testing.js +551 -317
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
- package/dist/content-library-DFIk09bD.js.map +0 -1
- package/dist/heads-DqHmAW0n.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -64,6 +64,8 @@ export declare interface BlueprintEditingOverride {
|
|
|
64
64
|
editingMode: EditingMode | null;
|
|
65
65
|
/** null follows the workspace's. */
|
|
66
66
|
editingBlock: boolean | null;
|
|
67
|
+
/** The people beside the admins; null follows the workspace's, [] is the admins alone. */
|
|
68
|
+
forceGroup: string[] | null;
|
|
67
69
|
/** What applies to the Blueprint's Content: this override over the workspace's. */
|
|
68
70
|
effective: EditingSettings;
|
|
69
71
|
}
|
|
@@ -166,6 +168,13 @@ export declare interface BranchEditorProps {
|
|
|
166
168
|
/** What a Branch is for: one an editor works on, or a Carry-forward link. */
|
|
167
169
|
export declare type BranchKind = "editorial" | "carry_forward";
|
|
168
170
|
|
|
171
|
+
/** Whether a Direct Edit's change carries forward into one later wording (#270). */
|
|
172
|
+
export declare interface CarryForwardAnswer {
|
|
173
|
+
/** The later wording: the Release a Carry-forward link carries. */
|
|
174
|
+
releaseId: string;
|
|
175
|
+
carry: boolean;
|
|
176
|
+
}
|
|
177
|
+
|
|
169
178
|
/** What a Chain on Dated Content, effective on a date, would be and meet (PreviewChain). */
|
|
170
179
|
export declare interface ChainPreview {
|
|
171
180
|
/** The Release it would fork from; "" in a gap. */
|
|
@@ -509,6 +518,8 @@ export declare interface ContentAttributes {
|
|
|
509
518
|
block?: ContentBlock;
|
|
510
519
|
/** When it was archived, ISO 8601; absent while it is not Archived. */
|
|
511
520
|
archiveTime?: string;
|
|
521
|
+
/** Its Editing Block; absent while no open Direct Edit holds one. */
|
|
522
|
+
editingBlock?: EditingBlock;
|
|
512
523
|
}
|
|
513
524
|
|
|
514
525
|
/**
|
|
@@ -822,6 +833,8 @@ export declare interface ContenthubClient {
|
|
|
822
833
|
blueprintAccessor: string;
|
|
823
834
|
editingMode: EditingMode | null;
|
|
824
835
|
editingBlock: boolean | null;
|
|
836
|
+
/** null follows the workspace's; [] is the admins alone. */
|
|
837
|
+
forceGroup: string[] | null;
|
|
825
838
|
}): Promise<BlueprintEditingOverride>;
|
|
826
839
|
/** Removes one Blueprint's override, so it follows the workspace's; admin only. */
|
|
827
840
|
deleteBlueprintEditingOverride(input: {
|
|
@@ -1086,11 +1099,20 @@ export declare interface ContenthubClient {
|
|
|
1086
1099
|
* or answers the one the caller has open on it, with `reopened`. Answers
|
|
1087
1100
|
* the Direct Edit and the Content as read on its Branch. Rejects with
|
|
1088
1101
|
* `EditingModeRefusedError` where the Editing Mode is "Change Sets only",
|
|
1089
|
-
* `DirectEditRefusedError` where
|
|
1090
|
-
*
|
|
1102
|
+
* `DirectEditRefusedError` where another editor's Direct Edit holds its
|
|
1103
|
+
* Editing Block (naming them), `ContentBlockedError`, `ContentArchivedError`,
|
|
1104
|
+
* and `InvalidInputError` for anything else the service refuses (a day
|
|
1105
|
+
* for undated Content among it).
|
|
1091
1106
|
*/
|
|
1092
1107
|
openDirectEdit(input: {
|
|
1093
1108
|
contentId: string;
|
|
1109
|
+
/**
|
|
1110
|
+
* Dated Content only (#270): the day the change takes effect, as
|
|
1111
|
+
* YYYY-MM-DD; absent is today. Its Branch forks from the Release In
|
|
1112
|
+
* Force that day: on today it corrects that Release, on a later day
|
|
1113
|
+
* it is a new wording.
|
|
1114
|
+
*/
|
|
1115
|
+
effectiveOn?: string;
|
|
1094
1116
|
/** Makes a retry safe (CONTEXT.md, Idempotency Key). */
|
|
1095
1117
|
idempotencyKey?: string;
|
|
1096
1118
|
}): Promise<{
|
|
@@ -1098,17 +1120,63 @@ export declare interface ContenthubClient {
|
|
|
1098
1120
|
content: Content;
|
|
1099
1121
|
reopened: boolean;
|
|
1100
1122
|
}>;
|
|
1123
|
+
/**
|
|
1124
|
+
* What a Direct Edit's Publish of Dated Content would plan (#270): its
|
|
1125
|
+
* Release's Validity Period with `validityLastDay` as Publish takes it,
|
|
1126
|
+
* the Release it corrects, the date-only Releases contenthub derives and
|
|
1127
|
+
* the later wordings Publish asks about. Writes nothing. Rejects with
|
|
1128
|
+
* `CoversReleaseError` (`changeSetRequired`) when the period would cover
|
|
1129
|
+
* a Release entirely.
|
|
1130
|
+
*/
|
|
1131
|
+
previewDirectEditPublish(input: {
|
|
1132
|
+
id: string;
|
|
1133
|
+
validityLastDay?: string;
|
|
1134
|
+
}): Promise<DirectEditPublishPreview>;
|
|
1101
1135
|
/**
|
|
1102
1136
|
* Publishes a Direct Edit at `expectedHeadId`, the head of its Branch the
|
|
1103
|
-
* editor saw: one Release, In Force from its Publish
|
|
1104
|
-
* `publish` does,
|
|
1105
|
-
*
|
|
1137
|
+
* editor saw: one Release, In Force from its Publish, carrying
|
|
1138
|
+
* `releaseSpec`. Rejects as `publish` does, with `ContentRefusedError`
|
|
1139
|
+
* for Release Spec values the Blueprint Release refuses (a required one
|
|
1140
|
+
* missing among them), and with `DirectEditRefusedError` for a Change
|
|
1141
|
+
* Set that is not a Direct Edit. On Dated Content (#270) it takes the
|
|
1142
|
+
* Validity Period's last day and one carry-forward answer per later
|
|
1143
|
+
* wording, and rejects with `CoversReleaseError` (`changeSetRequired`)
|
|
1144
|
+
* when the period would cover a Release entirely.
|
|
1106
1145
|
*/
|
|
1107
1146
|
publishDirectEdit(input: {
|
|
1108
1147
|
id: string;
|
|
1109
1148
|
expectedHeadId: string;
|
|
1149
|
+
/** The Release's Release Spec values; absent is none. */
|
|
1150
|
+
releaseSpec?: Record<string, unknown>;
|
|
1151
|
+
/** Dated Content: the period's last day, "" for an open end; absent keeps the default. */
|
|
1152
|
+
validityLastDay?: string;
|
|
1153
|
+
/** Dated Content: whether the change carries into each later wording. */
|
|
1154
|
+
carryForward?: CarryForwardAnswer[];
|
|
1110
1155
|
idempotencyKey?: string;
|
|
1111
1156
|
}): Promise<PublishOutcome>;
|
|
1157
|
+
/**
|
|
1158
|
+
* Saves on a Direct Edit's Branch on top of `expectedHeadId`, as
|
|
1159
|
+
* `saveRevision` does, and publishes the Revision saved, as
|
|
1160
|
+
* `publishDirectEdit` does, in one request (ADR 0022). Refused as a
|
|
1161
|
+
* whole, with nothing saved: rejects as either does (`StaleHeadError`,
|
|
1162
|
+
* `ContentRefusedError` for the data or the Release Spec values,
|
|
1163
|
+
* `PublishRefusedError` with every blocker).
|
|
1164
|
+
*/
|
|
1165
|
+
saveAndPublishDirectEdit(input: {
|
|
1166
|
+
id: string;
|
|
1167
|
+
expectedHeadId: string;
|
|
1168
|
+
data: Record<string, unknown>;
|
|
1169
|
+
/** Top-level field accessors; absent saves `data` as the whole Revision. */
|
|
1170
|
+
fieldMask?: string[];
|
|
1171
|
+
releaseSpec?: Record<string, unknown>;
|
|
1172
|
+
/** As `publishDirectEdit`'s. */
|
|
1173
|
+
validityLastDay?: string;
|
|
1174
|
+
carryForward?: CarryForwardAnswer[];
|
|
1175
|
+
idempotencyKey?: string;
|
|
1176
|
+
}): Promise<{
|
|
1177
|
+
content: Content;
|
|
1178
|
+
outcome: PublishOutcome;
|
|
1179
|
+
}>;
|
|
1112
1180
|
/**
|
|
1113
1181
|
* Discards a Direct Edit: its work is dropped, Main and the Releases stay.
|
|
1114
1182
|
* Rejects as `discardChangeSet` does, and with `DirectEditRefusedError`
|
|
@@ -1118,6 +1186,23 @@ export declare interface ContenthubClient {
|
|
|
1118
1186
|
id: string;
|
|
1119
1187
|
idempotencyKey?: string;
|
|
1120
1188
|
}): Promise<ChangeSet>;
|
|
1189
|
+
/**
|
|
1190
|
+
* Forces an Editing Block (ADR 0022): hands the Direct Edit `id` holding
|
|
1191
|
+
* it, with its work and its Editing Block, to the caller. Answers it with
|
|
1192
|
+
* the caller as its editor, the Content as read on its Branch, and who
|
|
1193
|
+
* edited it until now. Rejects with `AccessDeniedError` outside the
|
|
1194
|
+
* Force Group, `DirectEditRefusedError` where the caller has a Direct
|
|
1195
|
+
* Edit of the Content of their own or it holds no Editing Block any more,
|
|
1196
|
+
* and as `discardDirectEdit` does otherwise.
|
|
1197
|
+
*/
|
|
1198
|
+
forceDirectEdit(input: {
|
|
1199
|
+
id: string;
|
|
1200
|
+
idempotencyKey?: string;
|
|
1201
|
+
}): Promise<{
|
|
1202
|
+
changeSet: ChangeSet;
|
|
1203
|
+
content: Content;
|
|
1204
|
+
previousEditorId: string;
|
|
1205
|
+
}>;
|
|
1121
1206
|
startEditing(input: {
|
|
1122
1207
|
contentId: string;
|
|
1123
1208
|
changeSetId?: string;
|
|
@@ -1422,6 +1507,7 @@ export declare const contenthubTranslations: {
|
|
|
1422
1507
|
mode: string;
|
|
1423
1508
|
block: string;
|
|
1424
1509
|
actions: string;
|
|
1510
|
+
force: string;
|
|
1425
1511
|
};
|
|
1426
1512
|
fromWorkspace: string;
|
|
1427
1513
|
createOverride: string;
|
|
@@ -1451,6 +1537,11 @@ export declare const contenthubTranslations: {
|
|
|
1451
1537
|
save: string;
|
|
1452
1538
|
denied: string;
|
|
1453
1539
|
failed: string;
|
|
1540
|
+
force: string;
|
|
1541
|
+
forceHelp: string;
|
|
1542
|
+
forcePeople: string;
|
|
1543
|
+
forceNobody: string;
|
|
1544
|
+
forceOwn: string;
|
|
1454
1545
|
};
|
|
1455
1546
|
removeDialog: {
|
|
1456
1547
|
title: string;
|
|
@@ -1458,6 +1549,10 @@ export declare const contenthubTranslations: {
|
|
|
1458
1549
|
confirm: string;
|
|
1459
1550
|
failed: string;
|
|
1460
1551
|
};
|
|
1552
|
+
force: {
|
|
1553
|
+
adminsOnly: string;
|
|
1554
|
+
adminsAnd: string;
|
|
1555
|
+
};
|
|
1461
1556
|
};
|
|
1462
1557
|
requiredChecks: {
|
|
1463
1558
|
create: string;
|
|
@@ -2379,6 +2474,18 @@ export declare const contenthubTranslations: {
|
|
|
2379
2474
|
message: string;
|
|
2380
2475
|
confirm: string;
|
|
2381
2476
|
};
|
|
2477
|
+
editingBlock: {
|
|
2478
|
+
beingEdited: string;
|
|
2479
|
+
force: string;
|
|
2480
|
+
forceConfirm: {
|
|
2481
|
+
title: string;
|
|
2482
|
+
message: string;
|
|
2483
|
+
confirm: string;
|
|
2484
|
+
failed: string;
|
|
2485
|
+
denied: string;
|
|
2486
|
+
};
|
|
2487
|
+
forced: string;
|
|
2488
|
+
};
|
|
2382
2489
|
directEdit: {
|
|
2383
2490
|
unpublished: string;
|
|
2384
2491
|
continue: string;
|
|
@@ -2423,13 +2530,64 @@ export declare const contenthubTranslations: {
|
|
|
2423
2530
|
refused_one: string;
|
|
2424
2531
|
refused_other: string;
|
|
2425
2532
|
refusedBecause: {
|
|
2426
|
-
dated_content: string;
|
|
2427
2533
|
one_branch: string;
|
|
2428
2534
|
not_a_direct_edit: string;
|
|
2535
|
+
editing_blocked: string;
|
|
2536
|
+
not_the_editor: string;
|
|
2537
|
+
own_direct_edit: string;
|
|
2538
|
+
no_editing_block: string;
|
|
2429
2539
|
unknown: string;
|
|
2430
2540
|
};
|
|
2541
|
+
updateFromMain: string;
|
|
2542
|
+
resolveMerge: string;
|
|
2543
|
+
behind: {
|
|
2544
|
+
title: string;
|
|
2545
|
+
message: string;
|
|
2546
|
+
};
|
|
2547
|
+
pendingMerge: {
|
|
2548
|
+
title: string;
|
|
2549
|
+
message: string;
|
|
2550
|
+
};
|
|
2431
2551
|
saveFirst: string;
|
|
2432
2552
|
changeSetsOnly: string;
|
|
2553
|
+
saveAndPublish: string;
|
|
2554
|
+
publishDialog: {
|
|
2555
|
+
title: string;
|
|
2556
|
+
publishHint: string;
|
|
2557
|
+
saveAndPublishHint: string;
|
|
2558
|
+
specHint: string;
|
|
2559
|
+
refusedValues_one: string;
|
|
2560
|
+
refusedValues_other: string;
|
|
2561
|
+
datedPublishHint: string;
|
|
2562
|
+
datedSaveAndPublishHint: string;
|
|
2563
|
+
period: string;
|
|
2564
|
+
correction: string;
|
|
2565
|
+
newWording: string;
|
|
2566
|
+
firstDay: string;
|
|
2567
|
+
lastDay: string;
|
|
2568
|
+
lastDayHelp: string;
|
|
2569
|
+
computed: string;
|
|
2570
|
+
computedHint: string;
|
|
2571
|
+
computedRow: string;
|
|
2572
|
+
noComputed: string;
|
|
2573
|
+
carryForward: string;
|
|
2574
|
+
carryForwardHint: string;
|
|
2575
|
+
wording: string;
|
|
2576
|
+
wordingUntil: string;
|
|
2577
|
+
carryYes: string;
|
|
2578
|
+
carryNo: string;
|
|
2579
|
+
unanswered: string;
|
|
2580
|
+
previewFailed: string;
|
|
2581
|
+
covers: string;
|
|
2582
|
+
};
|
|
2583
|
+
effective: {
|
|
2584
|
+
title: string;
|
|
2585
|
+
hint: string;
|
|
2586
|
+
label: string;
|
|
2587
|
+
help: string;
|
|
2588
|
+
required: string;
|
|
2589
|
+
submit: string;
|
|
2590
|
+
};
|
|
2433
2591
|
};
|
|
2434
2592
|
};
|
|
2435
2593
|
};
|
|
@@ -2504,6 +2662,7 @@ export declare const contenthubTranslations: {
|
|
|
2504
2662
|
mode: string;
|
|
2505
2663
|
block: string;
|
|
2506
2664
|
actions: string;
|
|
2665
|
+
force: string;
|
|
2507
2666
|
};
|
|
2508
2667
|
fromWorkspace: string;
|
|
2509
2668
|
createOverride: string;
|
|
@@ -2533,6 +2692,11 @@ export declare const contenthubTranslations: {
|
|
|
2533
2692
|
save: string;
|
|
2534
2693
|
denied: string;
|
|
2535
2694
|
failed: string;
|
|
2695
|
+
force: string;
|
|
2696
|
+
forceHelp: string;
|
|
2697
|
+
forcePeople: string;
|
|
2698
|
+
forceNobody: string;
|
|
2699
|
+
forceOwn: string;
|
|
2536
2700
|
};
|
|
2537
2701
|
removeDialog: {
|
|
2538
2702
|
title: string;
|
|
@@ -2540,6 +2704,10 @@ export declare const contenthubTranslations: {
|
|
|
2540
2704
|
confirm: string;
|
|
2541
2705
|
failed: string;
|
|
2542
2706
|
};
|
|
2707
|
+
force: {
|
|
2708
|
+
adminsOnly: string;
|
|
2709
|
+
adminsAnd: string;
|
|
2710
|
+
};
|
|
2543
2711
|
};
|
|
2544
2712
|
requiredChecks: {
|
|
2545
2713
|
create: string;
|
|
@@ -3461,6 +3629,18 @@ export declare const contenthubTranslations: {
|
|
|
3461
3629
|
message: string;
|
|
3462
3630
|
confirm: string;
|
|
3463
3631
|
};
|
|
3632
|
+
editingBlock: {
|
|
3633
|
+
beingEdited: string;
|
|
3634
|
+
force: string;
|
|
3635
|
+
forceConfirm: {
|
|
3636
|
+
title: string;
|
|
3637
|
+
message: string;
|
|
3638
|
+
confirm: string;
|
|
3639
|
+
failed: string;
|
|
3640
|
+
denied: string;
|
|
3641
|
+
};
|
|
3642
|
+
forced: string;
|
|
3643
|
+
};
|
|
3464
3644
|
directEdit: {
|
|
3465
3645
|
unpublished: string;
|
|
3466
3646
|
continue: string;
|
|
@@ -3505,13 +3685,64 @@ export declare const contenthubTranslations: {
|
|
|
3505
3685
|
refused_one: string;
|
|
3506
3686
|
refused_other: string;
|
|
3507
3687
|
refusedBecause: {
|
|
3508
|
-
dated_content: string;
|
|
3509
3688
|
one_branch: string;
|
|
3510
3689
|
not_a_direct_edit: string;
|
|
3690
|
+
editing_blocked: string;
|
|
3691
|
+
not_the_editor: string;
|
|
3692
|
+
own_direct_edit: string;
|
|
3693
|
+
no_editing_block: string;
|
|
3511
3694
|
unknown: string;
|
|
3512
3695
|
};
|
|
3696
|
+
updateFromMain: string;
|
|
3697
|
+
resolveMerge: string;
|
|
3698
|
+
behind: {
|
|
3699
|
+
title: string;
|
|
3700
|
+
message: string;
|
|
3701
|
+
};
|
|
3702
|
+
pendingMerge: {
|
|
3703
|
+
title: string;
|
|
3704
|
+
message: string;
|
|
3705
|
+
};
|
|
3513
3706
|
saveFirst: string;
|
|
3514
3707
|
changeSetsOnly: string;
|
|
3708
|
+
saveAndPublish: string;
|
|
3709
|
+
publishDialog: {
|
|
3710
|
+
title: string;
|
|
3711
|
+
publishHint: string;
|
|
3712
|
+
saveAndPublishHint: string;
|
|
3713
|
+
specHint: string;
|
|
3714
|
+
refusedValues_one: string;
|
|
3715
|
+
refusedValues_other: string;
|
|
3716
|
+
datedPublishHint: string;
|
|
3717
|
+
datedSaveAndPublishHint: string;
|
|
3718
|
+
period: string;
|
|
3719
|
+
correction: string;
|
|
3720
|
+
newWording: string;
|
|
3721
|
+
firstDay: string;
|
|
3722
|
+
lastDay: string;
|
|
3723
|
+
lastDayHelp: string;
|
|
3724
|
+
computed: string;
|
|
3725
|
+
computedHint: string;
|
|
3726
|
+
computedRow: string;
|
|
3727
|
+
noComputed: string;
|
|
3728
|
+
carryForward: string;
|
|
3729
|
+
carryForwardHint: string;
|
|
3730
|
+
wording: string;
|
|
3731
|
+
wordingUntil: string;
|
|
3732
|
+
carryYes: string;
|
|
3733
|
+
carryNo: string;
|
|
3734
|
+
unanswered: string;
|
|
3735
|
+
previewFailed: string;
|
|
3736
|
+
covers: string;
|
|
3737
|
+
};
|
|
3738
|
+
effective: {
|
|
3739
|
+
title: string;
|
|
3740
|
+
hint: string;
|
|
3741
|
+
label: string;
|
|
3742
|
+
help: string;
|
|
3743
|
+
required: string;
|
|
3744
|
+
submit: string;
|
|
3745
|
+
};
|
|
3515
3746
|
};
|
|
3516
3747
|
};
|
|
3517
3748
|
};
|
|
@@ -3697,14 +3928,35 @@ export declare interface DirectEditPageProps {
|
|
|
3697
3928
|
onDiscarded?: (changeSetId: string) => void;
|
|
3698
3929
|
}
|
|
3699
3930
|
|
|
3931
|
+
/**
|
|
3932
|
+
* What a Direct Edit's Publish of Dated Content would plan (#270), for its
|
|
3933
|
+
* Publish dialog: nothing of it is written.
|
|
3934
|
+
*/
|
|
3935
|
+
export declare interface DirectEditPublishPreview {
|
|
3936
|
+
/** Its Release's Validity Period; an empty last day is an open end. */
|
|
3937
|
+
validityPeriod?: ValidityPeriod;
|
|
3938
|
+
/** The Release it corrects and Supersedes; "" for a new wording. */
|
|
3939
|
+
correctsReleaseId: string;
|
|
3940
|
+
/** The date-only Releases contenthub derives, read-only. */
|
|
3941
|
+
dateOnlyReleases: PlannedRelease[];
|
|
3942
|
+
/** The later wordings Publish asks about, by first day. */
|
|
3943
|
+
laterWordings: LaterWording[];
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3700
3946
|
/** Why contenthub refused a Direct Edit (`DirectEditRefusedError.reason`). */
|
|
3701
3947
|
export declare type DirectEditRefusal =
|
|
3702
|
-
/** The Content is Dated, which a Direct Edit can't take yet. */
|
|
3703
|
-
"dated_content"
|
|
3704
3948
|
/** A Direct Edit takes no second Chain, Branch, dependency or Source. */
|
|
3705
|
-
|
|
3949
|
+
"one_branch"
|
|
3706
3950
|
/** The Change Set named is not a Direct Edit. */
|
|
3707
3951
|
| "not_a_direct_edit"
|
|
3952
|
+
/** Another editor's Direct Edit holds the Content's Editing Block. */
|
|
3953
|
+
| "editing_blocked"
|
|
3954
|
+
/** The Direct Edit is someone else's: `editorId` names them. */
|
|
3955
|
+
| "not_the_editor"
|
|
3956
|
+
/** Force by a caller who has a Direct Edit of the Content of their own. */
|
|
3957
|
+
| "own_direct_edit"
|
|
3958
|
+
/** Force of a Direct Edit that holds no Editing Block any more. */
|
|
3959
|
+
| "no_editing_block"
|
|
3708
3960
|
/** A reason this build doesn't know. */
|
|
3709
3961
|
| "unknown";
|
|
3710
3962
|
|
|
@@ -3716,7 +3968,12 @@ export declare class DirectEditRefusedError extends Error {
|
|
|
3716
3968
|
readonly reason: DirectEditRefusal;
|
|
3717
3969
|
/** The Content it is about; "" where the refusal names none. */
|
|
3718
3970
|
readonly contentId: string;
|
|
3719
|
-
|
|
3971
|
+
/**
|
|
3972
|
+
* For `editing_blocked`: the editor holding the Editing Block; for
|
|
3973
|
+
* `not_the_editor`: the Direct Edit's editor; "" otherwise.
|
|
3974
|
+
*/
|
|
3975
|
+
readonly editorId: string;
|
|
3976
|
+
constructor(reason: DirectEditRefusal, message: string, contentId?: string, editorId?: string);
|
|
3720
3977
|
}
|
|
3721
3978
|
|
|
3722
3979
|
/** One edge of one Revision. */
|
|
@@ -3737,6 +3994,21 @@ export declare interface Edge {
|
|
|
3737
3994
|
/** What kind of edge of the Content Graph (ADR 0009). */
|
|
3738
3995
|
export declare type EdgeKind = "reference" | "toc" | "include" | "exclude" | "replace" | "annotate" | "link" | "footnote" | "anchor" | "media" | "blueprint" | "unspecified";
|
|
3739
3996
|
|
|
3997
|
+
/**
|
|
3998
|
+
* The Block a Direct Edit sets on its Content (CONTEXT.md, Editing Block):
|
|
3999
|
+
* "being edited by" its editor. It keeps out only other editors' Direct
|
|
4000
|
+
* Edits, ends with its Direct Edit's Publish or Discard, and can't be
|
|
4001
|
+
* lifted. It is independent of `block`: a Content can hold both.
|
|
4002
|
+
*/
|
|
4003
|
+
export declare interface EditingBlock {
|
|
4004
|
+
/** The Direct Edit's editor, an odon user id. */
|
|
4005
|
+
editorId: string;
|
|
4006
|
+
/** The Direct Edit holding it. */
|
|
4007
|
+
changeSetId: string;
|
|
4008
|
+
/** ISO 8601. */
|
|
4009
|
+
blockTime: string;
|
|
4010
|
+
}
|
|
4011
|
+
|
|
3740
4012
|
/**
|
|
3741
4013
|
* Which ways of changing a Blueprint's Content the workspace offers (ADR
|
|
3742
4014
|
* 0022, CONTEXT.md Editing Mode): Direct Edits only, Change Sets only, or
|
|
@@ -3762,6 +4034,12 @@ export declare interface EditingSettings {
|
|
|
3762
4034
|
editingMode: EditingMode;
|
|
3763
4035
|
/** Whether opening a Direct Edit sets an Editing Block on its Content. */
|
|
3764
4036
|
editingBlock: boolean;
|
|
4037
|
+
/**
|
|
4038
|
+
* The Force Group: who may force an Editing Block (ADR 0022). The
|
|
4039
|
+
* workspace's admins always may; these are the people beside them, by
|
|
4040
|
+
* odon user id, sorted. Empty is the admins alone.
|
|
4041
|
+
*/
|
|
4042
|
+
forceGroup: string[];
|
|
3765
4043
|
}
|
|
3766
4044
|
|
|
3767
4045
|
/** The editing settings in effect for one Blueprint, and which its override decides. */
|
|
@@ -3769,6 +4047,13 @@ export declare interface EffectiveEditingSettings {
|
|
|
3769
4047
|
effective: EditingSettings;
|
|
3770
4048
|
editingModeOverridden: boolean;
|
|
3771
4049
|
editingBlockOverridden: boolean;
|
|
4050
|
+
forceGroupOverridden: boolean;
|
|
4051
|
+
/**
|
|
4052
|
+
* Whether the caller is in the effective Force Group: an admin, or named
|
|
4053
|
+
* by it. It is how a screen knows to offer Force (#269); the service
|
|
4054
|
+
* asks the same when it is used.
|
|
4055
|
+
*/
|
|
4056
|
+
callerInForceGroup: boolean;
|
|
3772
4057
|
}
|
|
3773
4058
|
|
|
3774
4059
|
/** One field that differs between two Revisions. */
|
|
@@ -3883,6 +4168,7 @@ export declare const i18nResources: {
|
|
|
3883
4168
|
mode: string;
|
|
3884
4169
|
block: string;
|
|
3885
4170
|
actions: string;
|
|
4171
|
+
force: string;
|
|
3886
4172
|
};
|
|
3887
4173
|
fromWorkspace: string;
|
|
3888
4174
|
createOverride: string;
|
|
@@ -3912,6 +4198,11 @@ export declare const i18nResources: {
|
|
|
3912
4198
|
save: string;
|
|
3913
4199
|
denied: string;
|
|
3914
4200
|
failed: string;
|
|
4201
|
+
force: string;
|
|
4202
|
+
forceHelp: string;
|
|
4203
|
+
forcePeople: string;
|
|
4204
|
+
forceNobody: string;
|
|
4205
|
+
forceOwn: string;
|
|
3915
4206
|
};
|
|
3916
4207
|
removeDialog: {
|
|
3917
4208
|
title: string;
|
|
@@ -3919,6 +4210,10 @@ export declare const i18nResources: {
|
|
|
3919
4210
|
confirm: string;
|
|
3920
4211
|
failed: string;
|
|
3921
4212
|
};
|
|
4213
|
+
force: {
|
|
4214
|
+
adminsOnly: string;
|
|
4215
|
+
adminsAnd: string;
|
|
4216
|
+
};
|
|
3922
4217
|
};
|
|
3923
4218
|
requiredChecks: {
|
|
3924
4219
|
create: string;
|
|
@@ -4840,6 +5135,18 @@ export declare const i18nResources: {
|
|
|
4840
5135
|
message: string;
|
|
4841
5136
|
confirm: string;
|
|
4842
5137
|
};
|
|
5138
|
+
editingBlock: {
|
|
5139
|
+
beingEdited: string;
|
|
5140
|
+
force: string;
|
|
5141
|
+
forceConfirm: {
|
|
5142
|
+
title: string;
|
|
5143
|
+
message: string;
|
|
5144
|
+
confirm: string;
|
|
5145
|
+
failed: string;
|
|
5146
|
+
denied: string;
|
|
5147
|
+
};
|
|
5148
|
+
forced: string;
|
|
5149
|
+
};
|
|
4843
5150
|
directEdit: {
|
|
4844
5151
|
unpublished: string;
|
|
4845
5152
|
continue: string;
|
|
@@ -4884,13 +5191,64 @@ export declare const i18nResources: {
|
|
|
4884
5191
|
refused_one: string;
|
|
4885
5192
|
refused_other: string;
|
|
4886
5193
|
refusedBecause: {
|
|
4887
|
-
dated_content: string;
|
|
4888
5194
|
one_branch: string;
|
|
4889
5195
|
not_a_direct_edit: string;
|
|
5196
|
+
editing_blocked: string;
|
|
5197
|
+
not_the_editor: string;
|
|
5198
|
+
own_direct_edit: string;
|
|
5199
|
+
no_editing_block: string;
|
|
4890
5200
|
unknown: string;
|
|
4891
5201
|
};
|
|
5202
|
+
updateFromMain: string;
|
|
5203
|
+
resolveMerge: string;
|
|
5204
|
+
behind: {
|
|
5205
|
+
title: string;
|
|
5206
|
+
message: string;
|
|
5207
|
+
};
|
|
5208
|
+
pendingMerge: {
|
|
5209
|
+
title: string;
|
|
5210
|
+
message: string;
|
|
5211
|
+
};
|
|
4892
5212
|
saveFirst: string;
|
|
4893
5213
|
changeSetsOnly: string;
|
|
5214
|
+
saveAndPublish: string;
|
|
5215
|
+
publishDialog: {
|
|
5216
|
+
title: string;
|
|
5217
|
+
publishHint: string;
|
|
5218
|
+
saveAndPublishHint: string;
|
|
5219
|
+
specHint: string;
|
|
5220
|
+
refusedValues_one: string;
|
|
5221
|
+
refusedValues_other: string;
|
|
5222
|
+
datedPublishHint: string;
|
|
5223
|
+
datedSaveAndPublishHint: string;
|
|
5224
|
+
period: string;
|
|
5225
|
+
correction: string;
|
|
5226
|
+
newWording: string;
|
|
5227
|
+
firstDay: string;
|
|
5228
|
+
lastDay: string;
|
|
5229
|
+
lastDayHelp: string;
|
|
5230
|
+
computed: string;
|
|
5231
|
+
computedHint: string;
|
|
5232
|
+
computedRow: string;
|
|
5233
|
+
noComputed: string;
|
|
5234
|
+
carryForward: string;
|
|
5235
|
+
carryForwardHint: string;
|
|
5236
|
+
wording: string;
|
|
5237
|
+
wordingUntil: string;
|
|
5238
|
+
carryYes: string;
|
|
5239
|
+
carryNo: string;
|
|
5240
|
+
unanswered: string;
|
|
5241
|
+
previewFailed: string;
|
|
5242
|
+
covers: string;
|
|
5243
|
+
};
|
|
5244
|
+
effective: {
|
|
5245
|
+
title: string;
|
|
5246
|
+
hint: string;
|
|
5247
|
+
label: string;
|
|
5248
|
+
help: string;
|
|
5249
|
+
required: string;
|
|
5250
|
+
submit: string;
|
|
5251
|
+
};
|
|
4894
5252
|
};
|
|
4895
5253
|
};
|
|
4896
5254
|
};
|
|
@@ -4965,6 +5323,7 @@ export declare const i18nResources: {
|
|
|
4965
5323
|
mode: string;
|
|
4966
5324
|
block: string;
|
|
4967
5325
|
actions: string;
|
|
5326
|
+
force: string;
|
|
4968
5327
|
};
|
|
4969
5328
|
fromWorkspace: string;
|
|
4970
5329
|
createOverride: string;
|
|
@@ -4994,6 +5353,11 @@ export declare const i18nResources: {
|
|
|
4994
5353
|
save: string;
|
|
4995
5354
|
denied: string;
|
|
4996
5355
|
failed: string;
|
|
5356
|
+
force: string;
|
|
5357
|
+
forceHelp: string;
|
|
5358
|
+
forcePeople: string;
|
|
5359
|
+
forceNobody: string;
|
|
5360
|
+
forceOwn: string;
|
|
4997
5361
|
};
|
|
4998
5362
|
removeDialog: {
|
|
4999
5363
|
title: string;
|
|
@@ -5001,6 +5365,10 @@ export declare const i18nResources: {
|
|
|
5001
5365
|
confirm: string;
|
|
5002
5366
|
failed: string;
|
|
5003
5367
|
};
|
|
5368
|
+
force: {
|
|
5369
|
+
adminsOnly: string;
|
|
5370
|
+
adminsAnd: string;
|
|
5371
|
+
};
|
|
5004
5372
|
};
|
|
5005
5373
|
requiredChecks: {
|
|
5006
5374
|
create: string;
|
|
@@ -5922,6 +6290,18 @@ export declare const i18nResources: {
|
|
|
5922
6290
|
message: string;
|
|
5923
6291
|
confirm: string;
|
|
5924
6292
|
};
|
|
6293
|
+
editingBlock: {
|
|
6294
|
+
beingEdited: string;
|
|
6295
|
+
force: string;
|
|
6296
|
+
forceConfirm: {
|
|
6297
|
+
title: string;
|
|
6298
|
+
message: string;
|
|
6299
|
+
confirm: string;
|
|
6300
|
+
failed: string;
|
|
6301
|
+
denied: string;
|
|
6302
|
+
};
|
|
6303
|
+
forced: string;
|
|
6304
|
+
};
|
|
5925
6305
|
directEdit: {
|
|
5926
6306
|
unpublished: string;
|
|
5927
6307
|
continue: string;
|
|
@@ -5966,13 +6346,64 @@ export declare const i18nResources: {
|
|
|
5966
6346
|
refused_one: string;
|
|
5967
6347
|
refused_other: string;
|
|
5968
6348
|
refusedBecause: {
|
|
5969
|
-
dated_content: string;
|
|
5970
6349
|
one_branch: string;
|
|
5971
6350
|
not_a_direct_edit: string;
|
|
6351
|
+
editing_blocked: string;
|
|
6352
|
+
not_the_editor: string;
|
|
6353
|
+
own_direct_edit: string;
|
|
6354
|
+
no_editing_block: string;
|
|
5972
6355
|
unknown: string;
|
|
5973
6356
|
};
|
|
6357
|
+
updateFromMain: string;
|
|
6358
|
+
resolveMerge: string;
|
|
6359
|
+
behind: {
|
|
6360
|
+
title: string;
|
|
6361
|
+
message: string;
|
|
6362
|
+
};
|
|
6363
|
+
pendingMerge: {
|
|
6364
|
+
title: string;
|
|
6365
|
+
message: string;
|
|
6366
|
+
};
|
|
5974
6367
|
saveFirst: string;
|
|
5975
6368
|
changeSetsOnly: string;
|
|
6369
|
+
saveAndPublish: string;
|
|
6370
|
+
publishDialog: {
|
|
6371
|
+
title: string;
|
|
6372
|
+
publishHint: string;
|
|
6373
|
+
saveAndPublishHint: string;
|
|
6374
|
+
specHint: string;
|
|
6375
|
+
refusedValues_one: string;
|
|
6376
|
+
refusedValues_other: string;
|
|
6377
|
+
datedPublishHint: string;
|
|
6378
|
+
datedSaveAndPublishHint: string;
|
|
6379
|
+
period: string;
|
|
6380
|
+
correction: string;
|
|
6381
|
+
newWording: string;
|
|
6382
|
+
firstDay: string;
|
|
6383
|
+
lastDay: string;
|
|
6384
|
+
lastDayHelp: string;
|
|
6385
|
+
computed: string;
|
|
6386
|
+
computedHint: string;
|
|
6387
|
+
computedRow: string;
|
|
6388
|
+
noComputed: string;
|
|
6389
|
+
carryForward: string;
|
|
6390
|
+
carryForwardHint: string;
|
|
6391
|
+
wording: string;
|
|
6392
|
+
wordingUntil: string;
|
|
6393
|
+
carryYes: string;
|
|
6394
|
+
carryNo: string;
|
|
6395
|
+
unanswered: string;
|
|
6396
|
+
previewFailed: string;
|
|
6397
|
+
covers: string;
|
|
6398
|
+
};
|
|
6399
|
+
effective: {
|
|
6400
|
+
title: string;
|
|
6401
|
+
hint: string;
|
|
6402
|
+
label: string;
|
|
6403
|
+
help: string;
|
|
6404
|
+
required: string;
|
|
6405
|
+
submit: string;
|
|
6406
|
+
};
|
|
5976
6407
|
};
|
|
5977
6408
|
};
|
|
5978
6409
|
};
|
|
@@ -5983,6 +6414,12 @@ export declare class InvalidInputError extends Error {
|
|
|
5983
6414
|
constructor(message: string);
|
|
5984
6415
|
}
|
|
5985
6416
|
|
|
6417
|
+
/** A later wording a Direct Edit's change may carry into (#270). */
|
|
6418
|
+
export declare interface LaterWording {
|
|
6419
|
+
releaseId: string;
|
|
6420
|
+
validityPeriod?: ValidityPeriod;
|
|
6421
|
+
}
|
|
6422
|
+
|
|
5986
6423
|
/**
|
|
5987
6424
|
* The port a host fills with mediahub (ADR 0020), in fieldkit's
|
|
5988
6425
|
* media-adapter shape: a media field's picker browses and uploads through
|