RangePermissionCollection Class
A collection of RangePermission objects.
Declaration
export class RangePermissionCollection extends Collection<RangePermission>
Remarks
Range permissions are in effect when a document is protected. To protect a document, use the protect(password) method.
Inheritance
Methods
create(interval) Method
Creates a range permission that allows a user/group to edit the specified interval.
Declaration
create(
interval: IInterval,
userName?: string,
group?: string
): RangePermission
Parameters
Name | Type | Description |
---|---|---|
interval | IInterval | An object that specifies the permitted range. |
userName | string | The name of the user with edit permission. |
group | string | The name of the user group with edit permission. |
Returns
Type | Description |
---|---|
RangePermission | The newly created range permission. |
Remarks
Allow a user/group to edit a range.
richEdit.document.rangePermissions.create({ start: 0, length: richEdit.document.paragraphs.getByIndex(5).interval.end}, 'projectmanager@somecompany.com');
richEdit.document.rangePermissions.create(richEdit.document.paragraphs.getByIndex(6).interval, '', 'editors');
Allow a user/group to edit the entire document.
richEdit.document.rangePermissions.create(richEdit.document.interval, 'projectmanager@somecompany.com');
richEdit.document.rangePermissions.create(richEdit.document.interval, '', 'owners');
Allow everyone to edit a range.
Use the everyone
predefined group to allow every user to edit the specified range.
richEdit.document.rangePermissions.create(richEdit.document.paragraphs.getByIndex(10).interval, '', 'everyone');
// or
richEdit.document.rangePermissions.create(richEdit.document.paragraphs.getByIndex(10).interval);
Refer to the following help topic for more information: Document Protection.
find(options) Method
Returns a range permission array that matches the specified options.
Declaration
find(
options: IRangePermissionSearchOptions
): RangePermission[]
Parameters
Name | Type | Description |
---|---|---|
options | IRangePermissionSearchOptions | An object that specifies range permission options. |
Returns
Type | Description |
---|---|
RangePermission[] | An array of range permissions. |
Remarks
var everyoneRangePermissions = richEdit.document.rangePermissions.find({group: 'everyone'});
isAllowEdit(position) Method
Indicates whether the specified range can be edited.
Declaration
isAllowEdit(
position: number | IInterval | IInterval[]
): boolean
Parameters
Name | Type | Description |
---|---|---|
position | number | IInterval | IInterval[] | A document position, an interval, or an array of intervals. |
Returns
Type | Description |
---|---|
boolean | true, if the specified range can be edited; false if the specified range is protected or contains protected intervals. |
Remarks
richEdit.document.rangePermissions.isAllowEdit(richEdit.selection.active);
richEdit.document.rangePermissions.isAllowEdit(richEdit.document.paragraphs.getByIndex(4).interval);
protectRange(intervals) Method
Creates range permissions that protect the specified interval from being edited.
Declaration
protectRange(
intervals: IInterval[],
userName?: string,
group?: string
): RangePermission[]
Parameters
Name | Type | Description |
---|---|---|
intervals | IInterval[] | An object that specifies the protected range. |
userName | string | The name of the user who is prohibited from editing the range. |
group | string | The name of the user group that is prohibited from editing the range. |
Returns
Type | Description |
---|---|
RangePermission[] | An array of newly created range permissions. |
Remarks
The protectRange method creates range permissions (objects of the RangePermission type) that prevent the specified document range from being edited. You can specify the user or a group of users who are prohibited from editing the range.
Call the protect(password) method to enable document protection.
How It Works
A RangePermission object specifies a permissions rule. When you call the protectRange method, RichEdit creates range permissions that allow a user/group to edit a document outside of the specified range.
richEdit.document.rangePermissions.protectRange([{ start: 10, length: 20}]);
// equals
richEdit.document.rangePermissions.create({ start: 0, length: 10});
richEdit.document.rangePermissions.create({ start: 30, length: richEdit.document.interval.end});
Protect multiple ranges
To protect multiple ranges, call the protectRange method once with an array of protected intervals as a parameter. Otherwise, if you call the method several times for one user/group, the allowed intervals can overlap and the range permissions do not work.
// protects fields from being edited
var protectedRanges = [];
var count = document.fields.count;
for (var i = 0; i < count; i++) {
var field = document.fields.getByIndex(i);
protectedRanges.push(field.interval);
}
document.rangePermissions.protectRange(protectedRanges);
Prevent a user/group from editing a range
richEdit.document.rangePermissions.protectRange([{ start: 0, length: 178}, { start: 325, length: 561}], 'lawyer@somecompany.com');
richEdit.document.rangePermissions.protectRange([richEdit.document.paragraphs.getByIndex(6).interval], '', 'editors');
Prevent everyone from editing a range
Use the everyone
predefined group to prevent every user from editing the specified range.
richEdit.document.rangePermissions.protectRange([richEdit.document.paragraphs.getByIndex(10).interval], '', 'everyone');
// or
richEdit.document.rangePermissions.protectRange([richEdit.document.paragraphs.getByIndex(10).interval]);
Refer to the following help topic for more information: Document Protection.