PageContentCollection Object (JavaScript API for OneNote)

Applies to: OneNote Online

Represents the contents of a page, as a collection of PageContent objects.

To provide feedback on this API, you can file an issue in GitHub.

Properties

Property Type Description
count int Returns the number of page contents in the collection. Read-only.
items PageContent[] A collection of pageContent objects. Read-only.

See property access examples.

Relationships

None

Methods

Method Return Type Description
getItem(index: number or string) PageContent Gets a PageContent object by ID or by its index in the collection. Read-only.
getItemAt(index: number) PageContent Gets a page content on its position in the collection.
load(param: object) void Fills the proxy object created in the JavaScript layer with property and object values specified in the parameter.

Method details

getItem(index: number or string)

Gets a PageContent object by ID or by its index in the collection. Read-only.

Syntax

pageContentCollectionObject.getItem(index);

Parameters

Parameter Type Description
index number or string The ID of the PageContent object, or the index location of the PageContent object in the collection.

Returns

PageContent


getItemAt(index: number)

Gets a page content on its position in the collection.

Syntax

pageContentCollectionObject.getItemAt(index);

Parameters

Parameter Type Description
index number Index value of the object to be retrieved. Zero-indexed.

Returns

PageContent

Examples

OneNote.run(function (context) {

    var page = context.application.getActivePage();
    var pageContents = page.contents;
    var firstPageContent = pageContents.getItemAt(0);
    firstPageContent.load('type');

    // Run the queued commands, and return a promise to indicate task completion.
    return context.sync()
        .then(function () {
            console.log("The first page content item is of type: " + firstPageContent.type);
            return context.sync();
        });
})
.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 the 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 a delimited string or an array. Or, provide loadOption object.

Returns

Void


Property access examples

items

OneNote.run(function (context) {

    // Get the collection of pageContent items from the page.
    var pageContents = context.application.getActivePage().contents;

    // Queue a command to load the type of each pageContent.
    pageContents.load("type");

    // Run the queued commands, and return a promise to indicate task completion.
    return context.sync()
        .then(function () {

            $.each(pageContents.items, function(index, pageContent) {
                console.log("PageContent type: " + pageContent.type);
            });
        });
})                
.catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});


traverse for outlines

OneNote.run(function (context) {
   var page = context.application.getActivePage();
   var pageContents = page.contents;
   pageContents.load('type');
   var outlines = [];
   return context.sync()
       .then(function () {    
              $.each(pageContents.items, function (index, pageContent) {
                     console.log(pageContent.type);
                     if (pageContent.type === 'Outline') {
                           outlines.push(pageContent);
                     }
              });
              $.each(outlines, function (index, outline) {
                     outline.load("id,paragraphs,paragraphs/type");
              });
              return context.sync();
       })
       .then(function () {
              $.each(outlines, function (index, outline) {
                     console.log("An outline was found with id : " + outline.id);
              });
              return Promise.resolve(outlines);
       });
});


utlines, function (index, outline) { outline.load("id,paragraphs,paragraphs/type"); }); return context.sync(); }) .then(function () { $.each(outlines, function (index, outline) { console.log("An outline was found with id : " + outline.id); }); return Promise.resolve(outlines); }); });
TML Page Content End -->