SectionGroup Object (JavaScript API for OneNote)
Applies to: OneNote Online
Represents a OneNote section group. Section groups can contain sections and other section groups.
Properties
| Property | Type | Description | Feedback |
|---|---|---|---|
| clientUrl{ | string | The client url of the section group. Read only Read-only. | Go |
| id | string | Gets the ID of the section group. Read-only. | Go |
| name | string | Gets the name of the section group. Read-only. | Go |
See property access examples.
Relationships
| Relationship | Type | Description | Feedback |
|---|---|---|---|
| notebook | Notebook | Gets the notebook that contains the section group. Read-only. | Go |
| parentSectionGroup | SectionGroup | Gets the section group that contains the section group. Throws ItemNotFound if the section group is a direct child of the notebook. Read-only. | Go |
| parentSectionGroupOrNull | SectionGroup | Gets the section group that contains the section group. Returns null if the section group is a direct child of the notebook. Read-only. | Go |
| sectionGroups | SectionGroupCollection | The collection of section groups in the section group. Read only Read-only. | Go |
| sections | SectionCollection | The collection of sections in the section group. Read only Read-only. | Go |
Methods
| Method | Return Type | Description | Feedback |
|---|---|---|---|
| addSection(title: String) | Section | Adds a new section to the end of the section group. | Go |
| addSectionGroup(name: String) | SectionGroup | Adds a new section group to the end of this sectionGroup. | Go |
| getRestApiId() | string | Gets the ID that is compatible with the REST API. | Go |
| load(param: object) | void | Fills the proxy object created in JavaScript layer with property and object values specified in the parameter. | Go |
Method Details
addSection(title: String)
Adds a new section to the end of the section group.
Syntax
sectionGroupObject.addSection(title);
Parameters
| Parameter | Type | Description |
|---|---|---|
| title | String | The name of the new section. |
Returns
Examples
OneNote.run(function (context) {
// Get the section groups that are direct children of the current notebook.
var sectionGroups = context.application.getActiveNotebook().sectionGroups;
// Queue a command to load the section groups.
// For best performance, request specific properties.
sectionGroups.load("id");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function() {
// Add a section to each section group.
$.each(sectionGroups.items, function(index, sectionGroup) {
sectionGroup.addSection("Agenda");
});
// Run the queued commands.
return context.sync();
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
addSectionGroup(name: String)
Adds a new section group to the end of this sectionGroup.
Syntax
sectionGroupObject.addSectionGroup(name);
Parameters
| Parameter | Type | Description |
|---|---|---|
| name | String | The name of the new section. |
Returns
Examples
OneNote.run(function (context) {
var sectionGroup;
var nestedSectionGroup;
// Gets the active notebook.
var notebook = context.application.getActiveNotebook();
// Queue a command to add a new section group.
var sectionGroups = notebook.sectionGroups;
// Queue a command to load the new section group.
sectionGroups.load();
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function(){
sectionGroup = sectionGroups.items[0];
sectionGroup.load();
return context.sync();
})
.then(function(){
nestedSectionGroup = sectionGroup.addSectionGroup("Sample nested section group");
nestedSectionGroup.load();
return context.sync();
})
.then(function() {
console.log("New nested section group name is " + nestedSectionGroup.name);
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
load(param: object)
Fills the proxy object created in JavaScript layer with property and object values specified in the parameter.
Syntax
object.load(param);
Parameters
| Parameter | Type | Description |
|---|---|---|
| param | object | Optional. Accepts parameter and relationship names as delimited string or an array. Or, provide loadOption object. |
Returns
void
Property access examples
id
OneNote.run(function (context) {
// Get the parent section group that contains the current section.
var sectionGroup = context.application.getActiveSection().parentSectionGroup;
// Queue a command to load the section group.
// For best performance, request specific properties.
sectionGroup.load("id,name");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function () {
// Write the properties.
console.log("Section group name: " + sectionGroup.name);
console.log("Section group ID: " + sectionGroup.id);
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
name and notebook
OneNote.run(function (context) {
// Get the parent section group that contains the current section.
var sectionGroup = context.application.getActiveSection().parentSectionGroup;
// Queue a command to load the section group with the specified properties.
sectionGroup.load("name,notebook/name");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function () {
// Write the properties.
console.log("Section group name: " + sectionGroup.name);
console.log("Parent notebook name: " + sectionGroup.notebook.name);
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
sectionGroups
OneNote.run(function (context) {
// Get the section groups that are direct children of the current notebook.
var sectionGroups = context.application.getActiveNotebook().sectionGroups;
// Queue a command to load the section groups.
// For best performance, request specific properties.
sectionGroups.load("name");
// Get the child section groups of the first section group in the notebook.
var nestedSectionGroups = sectionGroups._GetItem(0).sectionGroups;
// Queue a command to load the ID and name properties of the child section groups.
nestedSectionGroups.load("id,name");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function() {
// Write the properties for each child section group.
$.each(nestedSectionGroups.items, function(index, sectionGroup) {
console.log("Section group name: " + sectionGroup.name);
console.log("Section group ID: " + sectionGroup.id);
});
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
sections
OneNote.run(function (context) {
// Get the sections that are siblings of the current section.
var sections = context.application.getActiveSection().parentSectionGroup.sections;
// Queue a command to load the section groups.
// For best performance, request specific properties.
sections.load("id,name");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function() {
// Write the properties for each section.
$.each(sections.items, function(index, section) {
console.log("Section name: " + section.name);
console.log("Section ID: " + section.id);
});
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});