8761d781fcaf750a5c0838b1364c64be65397ae6
[platform/core/csapi/tizenfx.git] / docs / template / tizen / toc.html.js
1 // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.
2 var extension = require('./toc.extension.js')
3
4 exports.transform = function (model) {
5
6   if (extension && extension.preTransform) {
7     model = extension.preTransform(model);
8   }
9
10   transformItem(model, 1);
11   if (model.items && model.items.length > 0) model.leaf = false;
12   model.title = "Table of Content";
13   model._disableToc = true;
14
15   if (extension && extension.postTransform) {
16     model = extension.postTransform(model);
17   }
18
19   return model;
20
21   function transformItem(item, level) {
22     // set to null incase mustache looks up
23     item.topicHref = item.topicHref || null;
24     item.tocHref = item.tocHref || null;
25     item.name = item.name || null;
26
27     item.level = level;
28     if (item.items && item.items.length > 0) {
29       var length = item.items.length;
30       for (var i = 0; i < length; i++) {
31         transformItem(item.items[i], level + 1);
32       };
33     } else {
34       item.items = [];
35       item.leaf = true;
36     }
37   }
38 }