Просмотр исходного кода

:sparkles: 新的选经界面基本能用

visuddhinanda@gmail.com 3 лет назад
Родитель
Сommit
c624b40e3a

+ 265 - 0
public/app/palicanon/category/cscd.json

@@ -0,0 +1,265 @@
+[
+    {
+        "name":"Tipiṭaka(Mūla)",
+        "tag":["mūla"],
+        "children":[
+            {
+                "name":"sutta piṭaka",
+                "tag":["mūla","sutta"],
+                "children":[
+                    {
+                        "name":"dīghanikāya",
+                        "tag":["mūla","sutta","dīghanikāya"],
+                        "children":[
+                            {
+                                "name":"Sīlakkhandhavaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","sīlakkhandhavagga"]
+                            },
+                            {
+                                "name":"Mahāvaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","mahāvagga"]
+                            },
+                            {
+                                "name":"Pāthikavaggapāḷi",
+                                "tag":["mūla","sutta","dīghanikāya","pāthikavagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"Majjhima Nikāya",
+                        "tag":["mūla","sutta","majjhimanikāya"],
+                        "children":[
+                            {
+                                "name":"Mūlapaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","Mūlapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Majjhimapaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","majjhimapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Uparipaṇṇāsapāḷi",
+                                "tag":["mūla","sutta","majjhimanikāya","uparipaṇṇāsa"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"saṃyuttanikāya",
+                        "tag":["mūla","sutta","saṃyuttanikāya"],
+                        "children":[
+                            {
+                                "name":"Sagāthāvagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","sagāthāvagga"]
+                            },
+                            {
+                                "name":"Nidānavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","nidānavagga"]
+                            },
+                            {
+                                "name":"Khandhavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","khandhavagga"]
+                            },
+                            {
+                                "name":"Saḷāyatanavagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","saḷāyatanavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["mūla","sutta","saṃyuttanikāya","mahāvagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"aṅguttaranikāya",
+                        "tag":["mūla","sutta","aṅguttaranikāya"],
+                        "children":[
+                            {
+                                "name":"Ekakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","ekakanipāta"]
+                            },
+                            {
+                                "name":"Dukanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","dukanipāta"]
+                            },
+                            {
+                                "name":"Tikanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","tikanipāta"]
+                            },
+                            {
+                                "name":"Catukkanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","catukkanipāta"]
+                            },
+                            {
+                                "name":"Pañcakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","pañcakanipāta"]
+                            },
+                            {
+                                "name":"Chakkanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","chakkanipāta"]
+                            },
+                            {
+                                "name":"Sattakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","sattakanipāta"]
+                            },
+                            {
+                                "name":"Aṭṭhakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","aṭṭhakanipāta"]
+                            },
+                            {
+                                "name":"Navakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","navakanipāta"]
+                            },
+                            {
+                                "name":"Dasakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","dasakanipāta"]
+                            },
+                            {
+                                "name":"Ekādasakanipātapāḷi",
+                                "tag":["mūla","sutta","aṅguttaranikāya","ekādasakanipāta"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"khuddakanikāya",
+                        "tag":["mūla","sutta","khuddakanikāya"],
+                        "children":[
+                            {
+                                "name":"Khuddakapāṭhapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","khuddakapāṭha"]
+                            },
+                            {
+                                "name":"Dhammapadapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","dhammapada"]
+                            },
+                            {
+                                "name":"Udānapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","udāna"]
+                            },
+                            {
+                                "name":"Itivuttakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","itivuttaka"]
+                            },
+                            {
+                                "name":"Suttanipātapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","suttanipāta"]
+                            },
+                            {
+                                "name":"Vimānavatthupāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","vimānavatthu"]
+                            },
+                            {
+                                "name":"Petavatthupāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","petavatthu"]
+                            },
+                            {
+                                "name":"Theragāthāpāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","theragāthā"]
+                            },
+                            {
+                                "name":"Therāpadānapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","therāpadāna"]
+                            },
+                            {
+                                "name":"Buddhavaṃsapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","buddhavaṃsa"]
+                            },
+                            {
+                                "name":"Cariyāpiṭakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","cariyāpiṭaka"]
+                            },
+                            {
+                                "name":"Jātakapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","jātaka"]
+                            },
+                            {
+                                "name":"Mahāniddesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","mahāniddesa"]
+                            },
+                            {
+                                "name":"Cūḷaniddesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","cūḷaniddesa"]
+                            },
+                            {
+                                "name":"Paṭisambhidāmaggapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","paṭisambhidāmagga"]
+                            },
+                            {
+                                "name":"Nettippakaraṇapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","nettippakaraṇa"]
+                            },
+                            {
+                                "name":"Milindapañhapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","milindapañha"]
+                            },
+                            {
+                                "name":"Peṭakopadesapāḷi",
+                                "tag":["mūla","sutta","khuddakanikāya","peṭakopadesa"]
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "name":"vinaya piṭaka",
+                "tag":["mūla","vinaya"],
+                "children":[
+                    {
+                        "name":"pārājikapāḷi",
+                        "tag":["mūla","vinaya","pārājika"]
+                    },
+                    {
+                        "name":"pācittiyapāḷi",
+                        "tag":["mūla","vinaya","pācittiya"]
+                    },
+                    {
+                        "name":"mahāvaggapāḷi",
+                        "tag":["mūla","vinaya","mahāvagga"]
+                    },
+                    {
+                        "name":"cūḷavaggapāḷi",
+                        "tag":["mūla","vinaya","cūḷavagga"]
+                    },
+                    {
+                        "name":"parivārapāḷi",
+                        "tag":["mūla","vinaya","parivāra"]
+                    }
+                ]
+            },
+            {
+                "name":"abhidhamma piṭaka",
+                "tag":["mūla","abhidhamma"],
+                "children":[
+                    {
+                        "name":"dhammasaṅgaṇī",
+                        "tag":["mūla","abhidhamma","dhammasaṅgaṇī"]
+                    },
+                    {
+                        "name":"vibhaṅga",
+                        "tag":["mūla","abhidhamma","vibhaṅga"]
+                    },
+                    {
+                        "name":"dhātukathā",
+                        "tag":["mūla","abhidhamma","dhātukathā"]
+                    },
+                                {
+                        "name":"puggalapaññatti",
+                        "tag":["mūla","abhidhamma","puggalapaññatti"]
+                    },
+                                {
+                        "name":"kathāvatthu",
+                        "tag":["mūla","abhidhamma","kathāvatthu"]
+                    },
+                    {
+                        "name":"yamaka",
+                        "tag":["mūla","abhidhamma","yamaka"]
+                    },
+                    {
+                        "name":"paṭṭhāna",
+                        "tag":["mūla","abhidhamma","paṭṭhāna"]
+                    }
+                ]
+            }
+
+        ]
+    }
+]

+ 258 - 0
public/app/palicanon/category/defualt.json

@@ -0,0 +1,258 @@
+[
+           {
+                "name":"sutta",
+                "tag":["sutta"],
+                "children":[
+                    {
+                        "name":"dīghanikāya",
+                        "tag":["sutta","dīghanikāya"],
+                        "children":[
+                            {
+                                "name":"Sīlakkhandhavagga",
+                                "tag":["sutta","dīghanikāya","sīlakkhandhavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["sutta","dīghanikāya","mahāvagga"]
+                            },
+                            {
+                                "name":"Pāthikavagga",
+                                "tag":["sutta","dīghanikāya","pāthikavagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"Majjhima Nikāya",
+                        "tag":["sutta","majjhimanikāya"],
+                        "children":[
+                            {
+                                "name":"Mūlapaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","mūlapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Majjhimapaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","majjhimapaṇṇāsa"]
+                            },
+                            {
+                                "name":"Uparipaṇṇāsa",
+                                "tag":["sutta","majjhimanikāya","uparipaṇṇāsa"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"saṃyuttanikāya",
+                        "tag":["sutta","saṃyuttanikāya"],
+                        "children":[
+                            {
+                                "name":"Sagāthāvagga",
+                                "tag":["sutta","saṃyuttanikāya","sagāthāvagga"]
+                            },
+                            {
+                                "name":"Nidānavagga",
+                                "tag":["sutta","saṃyuttanikāya","nidānavagga"]
+                            },
+                            {
+                                "name":"Khandhavagga",
+                                "tag":["sutta","saṃyuttanikāya","khandhavagga"]
+                            },
+                            {
+                                "name":"Saḷāyatanavagga",
+                                "tag":["sutta","saṃyuttanikāya","saḷāyatanavagga"]
+                            },
+                            {
+                                "name":"Mahāvagga",
+                                "tag":["sutta","saṃyuttanikāya","mahāvagga"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"aṅguttaranikāya",
+                        "tag":["sutta","aṅguttaranikāya"],
+                        "children":[
+                            {
+                                "name":"Ekakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","ekakanipāta"]
+                            },
+                            {
+                                "name":"Dukanipāta",
+                                "tag":["sutta","aṅguttaranikāya","dukanipāta"]
+                            },
+                            {
+                                "name":"Tikanipāta",
+                                "tag":["sutta","aṅguttaranikāya","tikanipāta"]
+                            },
+                            {
+                                "name":"Catukkanipāta",
+                                "tag":["sutta","aṅguttaranikāya","catukkanipāta"]
+                            },
+                            {
+                                "name":"Pañcakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","pañcakanipāta"]
+                            },
+                            {
+                                "name":"Chakkanipāta",
+                                "tag":["sutta","aṅguttaranikāya","chakkanipāta"]
+                            },
+                            {
+                                "name":"Sattakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","sattakanipāta"]
+                            },
+                            {
+                                "name":"Aṭṭhakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","aṭṭhakanipāta"]
+                            },
+                            {
+                                "name":"Navakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","navakanipāta"]
+                            },
+                            {
+                                "name":"Dasakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","dasakanipāta"]
+                            },
+                            {
+                                "name":"Ekādasakanipāta",
+                                "tag":["sutta","aṅguttaranikāya","ekādasakanipāta"]
+                            }
+                        ]
+                    },
+                    {
+                        "name":"khuddakanikāya",
+                        "tag":["sutta","khuddakanikāya"],
+                        "children":[
+                            {
+                                "name":"Khuddakapāṭha",
+                                "tag":["sutta","khuddakanikāya","khuddakapāṭha"]
+                            },
+                            {
+                                "name":"Dhammapada",
+                                "tag":["sutta","khuddakanikāya","dhammapada"]
+                            },
+                            {
+                                "name":"Udāna",
+                                "tag":["sutta","khuddakanikāya","udāna"]
+                            },
+                            {
+                                "name":"Itivuttaka",
+                                "tag":["sutta","khuddakanikāya","itivuttaka"]
+                            },
+                            {
+                                "name":"Suttanipāta",
+                                "tag":["sutta","khuddakanikāya","suttanipāta"]
+                            },
+                            {
+                                "name":"Vimānavatthu",
+                                "tag":["sutta","khuddakanikāya","vimānavatthu"]
+                            },
+                            {
+                                "name":"Petavatthu",
+                                "tag":["sutta","khuddakanikāya","petavatthu"]
+                            },
+                            {
+                                "name":"Theragāthā",
+                                "tag":["sutta","khuddakanikāya","theragāthā"]
+                            },
+                            {
+                                "name":"Therāpadāna",
+                                "tag":["sutta","khuddakanikāya","therāpadāna"]
+                            },
+                            {
+                                "name":"Buddhavaṃsa",
+                                "tag":["sutta","khuddakanikāya","buddhavaṃsa"]
+                            },
+                            {
+                                "name":"Cariyāpiṭaka",
+                                "tag":["sutta","khuddakanikāya","cariyāpiṭaka"]
+                            },
+                            {
+                                "name":"Jātaka",
+                                "tag":["sutta","khuddakanikāya","jātaka"]
+                            },
+                            {
+                                "name":"Mahāniddesa",
+                                "tag":["sutta","khuddakanikāya","mahāniddesa"]
+                            },
+                            {
+                                "name":"Cūḷaniddesa",
+                                "tag":["sutta","khuddakanikāya","cūḷaniddesa"]
+                            },
+                            {
+                                "name":"Paṭisambhidāmagga",
+                                "tag":["sutta","khuddakanikāya","paṭisambhidāmagga"]
+                            },
+                            {
+                                "name":"Nettippakaraṇa",
+                                "tag":["sutta","khuddakanikāya","nettippakaraṇa"]
+                            },
+                            {
+                                "name":"Milindapañha",
+                                "tag":["sutta","khuddakanikāya","milindapañha"]
+                            },
+                            {
+                                "name":"Peṭakopadesa",
+                                "tag":["sutta","khuddakanikāya","peṭakopadesa"]
+                            }
+                        ]
+                    }
+                ]
+            },
+            {
+                "name":"vinaya piṭaka",
+                "tag":["vinaya"],
+                "children":[
+                    {
+                        "name":"Mahāvibhaṅga",
+                        "tag":["vinaya","mahāvibhaṅga"]
+                    },
+                    {
+                        "name":"Bhikkhunīvibhaṅga",
+                        "tag":["vinaya","bhikkhunīvibhaṅga"]
+                    },
+                    {
+                        "name":"mahāvagga",
+                        "tag":["vinaya","mahāvagga"]
+                    },
+                    {
+                        "name":"cūḷavagga",
+                        "tag":["vinaya","cūḷavagga"]
+                    },
+                    {
+                        "name":"parivāra",
+                        "tag":["vinaya","parivāra"]
+                    }
+                ]
+            },
+            {
+                "name":"abhidhamma piṭaka",
+                "tag":["abhidhamma"],
+                "children":[
+                    {
+                        "name":"dhammasaṅgaṇī",
+                        "tag":["abhidhamma","dhammasaṅgaṇī"]
+                    },
+                    {
+                        "name":"vibhaṅga",
+                        "tag":["abhidhamma","vibhaṅga"]
+                    },
+                    {
+                        "name":"dhātukathā",
+                        "tag":["abhidhamma","dhātukathā"]
+                    },
+                                {
+                        "name":"puggalapaññatti",
+                        "tag":["abhidhamma","puggalapaññatti"]
+                    },
+                                {
+                        "name":"kathāvatthu",
+                        "tag":["abhidhamma","kathāvatthu"]
+                    },
+                    {
+                        "name":"yamaka",
+                        "tag":["abhidhamma","yamaka"]
+                    },
+                    {
+                        "name":"paṭṭhāna",
+                        "tag":["abhidhamma","paṭṭhāna"]
+                    }
+                ]
+            }
+]

+ 10 - 0
public/app/palicanon/category/index.json

@@ -0,0 +1,10 @@
+[
+    {
+        "name":"defualt",
+        "file":"defualt"
+    },    
+    {
+        "name":"cscd",
+        "file":"cscd"
+    }
+]

+ 211 - 0
public/app/palicanon/index1.php

@@ -0,0 +1,211 @@
+<?PHP
+require_once "../pcdl/html_head.php";
+?>
+
+<body>
+    <script src="../palicanon/palicanon.js"></script>
+    <script src="../term/term.js"></script>
+
+<?php
+    require_once "../pcdl/head_bar.php";
+?>
+
+	<link type="text/css" rel="stylesheet" href="../palicanon/style.css" />
+	<link type="text/css" rel="stylesheet" href="../palicanon/style_mobile.css" media="screen and (max-width:800px)">
+
+
+    <script>
+        var tag_level = <?php echo file_get_contents("../public/book_tag/tag_list.json"); ?>;
+    </script>
+<?php
+//
+
+require_once "../config.php";
+require_once "../public/_pdo.php";
+require_once '../media/function.php';
+require_once '../public/function.php';
+?>
+
+<link href="../../node_modules/jquery.fancytree/dist/skin-win7/ui.fancytree.css" rel="stylesheet" type="text/css" class="skinswitcher">
+<script src="../tree/jquery.fancytree.js" type="text/javascript"></script>
+
+<style>
+.head_bar{
+    display:flex;
+}
+.more_info{
+    font-size:80%;
+    color: var(--main-color1);
+}
+.more_info>.item{
+    margin-right:1em;
+}
+.chapter_list ul li{
+    display:flex;
+}
+.book_view  ul li{
+    display:block;
+}
+.book_view .level_1{
+    background:unset;
+}
+
+.book_view ul li{
+    border:unset;
+    width: 30%;
+    height:90px;
+}
+.chapter_list .list {
+    width: 0;
+}
+.chapter_list .show {
+    display: block;
+    width: 100%;
+}
+.chapter_list .grid {
+    width: 100%;
+}
+</style>
+
+<div style="display:flex;">
+    <div id='left-bar' style="flex:2;">
+        <div id='left-bar-inner'>
+            <div style="width:100%">
+                <select id="tag_category_index" onchange="TagCategoryIndexchange(this)">
+                </select>
+            </div>
+            <div id='tag-category' >
+            
+            </div>
+        </div>
+    </div>
+    <div id='course_head_bar' style='flex:6;background-color:var(--tool-bg-color1);padding:1em 10px 10px 10px;'>
+        <div class='index_inner '>
+            <div style='display:flex;justify-content: space-between;'>
+                <div style=''>
+                    <a href='index1.php?view=community'>社区</a>
+                    <a href='index1.php?view=category'>分类</a>
+                    <a href='index1.php?view=my'>我的</a>
+                </div>
+                <div style=''>
+                    <select onchange='viewChanged(this)'>
+                        <option value='card'>卡片</option>
+                        <option value='list'>列表</option>
+                    </select>
+                </div>
+            </div>
+            <div id="main_tag"  style="display:none;">
+                <span tag="sutta" title="sutta"></span>
+                <span tag="vinaya"  title="vinaya"></span>
+                <span tag="abhidhamma" title="abhidhamma"></span>
+                <span tag="mūla" title="mūla"></span>
+                <span tag="aṭṭhakathā" title="aṭṭhakathā"></span>
+                <span tag="ṭīkā" title="ṭīkā"></span>
+                <span tag="añña" title="añña"></span>
+            </div>
+
+            <div id="select_bar" >
+                <div id="tag_selected"></div>
+                <div>
+                    <button onclick="tag_list_slide_toggle(this)">
+                        ⮝
+                    </button>
+                </div>
+            </div>
+            <div>
+                <div id="tag_list">
+                    <div level="0" class="tag_others"></div>
+                    <div level="1" class="tag_others"></div>
+                    <div level="2" class="tag_others"></div>
+                    <div level="3" class="tag_others"></div>
+                    <div level="4" class="tag_others"></div>
+                    <div level="5" class="tag_others"></div>
+                    <div level="100" class="tag_others"></div>
+                    <div level="8" class="tag_others"></div>
+                </div>
+            </div>
+            <div id='bread-crumbs'></div>
+            <div class='index_inner'>
+                <div id="chapter_shell" class="chapter_list" >
+                    <div id="list_shell_1" class="show book_view" level="1">
+                        <ul id="list-1" class="grid" level="1" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_2" level="2">
+                        <ul id="list-2" class="hidden" level="2"  >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_3" level="3">
+                        <ul id="list-3" class="hidden" level="3" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_4" level="4">
+                        <ul id="list-4" class="hidden" level="4" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_5" level="5">
+                        <ul id="list-5" class="hidden" level="5" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_6" level="6">
+                        <ul id="list-6" class="hidden" level="6" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_7" level="7">
+                        <ul id="list-7" class="hidden" level="7" >
+                        </ul>
+                    </div>
+
+                    <div id="list_shell_8" level="8">
+                        <ul id="list-8" class="hidden" level="8" >
+                        </ul>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+    </div>
+    <div style="flex:2;">
+    right pannal
+    </div>
+</div>
+
+
+
+    <script>
+        $(document).ready(function() {
+            let indexFilename = localStorage.getItem('palicanon_tag_category');
+            if(!indexFilename){
+                indexFilename = "defualt";
+            }
+            loadTagCategory(indexFilename);
+            loadTagCategoryIndex();
+            <?php
+            if(isset($_GET["view"])){
+                $_view = $_GET["view"];
+            }else{
+                $_view = "category";
+            }
+            switch ($_view) {
+                case 'category':
+                    echo "palicanon_onload();";
+                    break;
+                
+                default:
+                    # code...
+                    break;
+            }
+            ?>
+            
+            updateFirstListView();
+        });
+    </script>
+    <?php
+include "../pcdl/html_foot.php";
+?>

+ 173 - 13
public/app/palicanon/palicanon.js

@@ -3,6 +3,8 @@ var list_tag = new Array();
 var currTagLevel0 = new Array();
 var allTags = new Array();
 var arrMyTerm = new Array();
+var _listView="card";
+var gBreadCrumbs=['','','','','','','','',''];
 
 palicanon_load_term();
 
@@ -118,7 +120,7 @@ function tag_changed() {
 					}
 				}
 
-				if (arrBookList.length < 50 || (arrBookList.length > 50 && iterator.level == 1)) {
+				if (arrBookList.length < 20 || (arrBookList.length > 20 && iterator.level == 1)) {
 					arrChapter.push(iterator);
 				}
 			}
@@ -134,14 +136,25 @@ function tag_changed() {
 			tag_render_others();
 			palicanon_chapter_list_apply(0);
 			$("#list-1").html(render_chapter_list(arrChapter));
-			if (arrBookList.length < 50) {
-				$("#list_shell_1").removeClass("book_view");
-			} else {
-				$("#list_shell_1").addClass("book_view");
-			}
+
 		}
 	);
 }
+function viewChanged(obj){
+
+    _listView = $(obj).val();
+    updateFirstListView();
+}
+
+function updateFirstListView(){
+    if(_listView == "list"){
+        $("#list_shell_1").removeClass("book_view");
+        $("#list_shell_1").addClass("list_view");
+    }else{
+        $("#list_shell_1").addClass("book_view");
+        $("#list_shell_1").removeClass("list_view");
+    }
+}
 
 function palicanon_load_chapter(book, para, div_index = 1) {
 	let lang = getCookie("language");
@@ -294,6 +307,8 @@ function palicanon_chapter_list_apply(div_index) {
 	$("#list_shell_" + (iDiv + 1)).html(html);
 	$("#list_shell_" + (iDiv + 1)).removeClass();
 	$("#list_shell_" + (iDiv + 1)).addClass("show");
+	
+
 	//隐藏之后的列表
 	for (let index = iDiv + 2; index <= 8; index++) {
 		$("#list_shell_" + index).removeClass();
@@ -305,12 +320,17 @@ function palicanon_chapter_list_apply(div_index) {
 
 	$("#list_shell_" + iDiv).removeClass();
 	$("#list_shell_" + iDiv).addClass("list");
+
+    updateFirstListView();
 }
 
 function chapter_onclick(obj) {
 	let book = $(obj).attr("book");
 	let para = $(obj).attr("para");
-	let level = $(obj).parent().attr("level");
+	let level =  parseInt($(obj).parent().attr("level"));
+    let title1 = $(obj).find(".title_1").first().text();
+    gBreadCrumbs[level] = {title1:title1,book:book,para:para,level:level};
+    RenderBreadCrumbs();
 	$(obj).siblings().removeClass("selected");
 	$(obj).addClass("selected");
 	$("#tag_list").slideUp();
@@ -321,7 +341,7 @@ function palicanon_render_chapter_row(chapter) {
 	let html = "";
 	let levelClass = "";
 	if (chapter.level == 1) {
-		levelClass = " level_1";
+		//levelClass = " level_1";
 	}
 	html +=
 		'<li class="' +
@@ -331,7 +351,21 @@ function palicanon_render_chapter_row(chapter) {
 		'" para="' +
 		chapter.para +
 		'" onclick="chapter_onclick(this)">';
+    
+	html += '<div class="head_bar">';
+
+    html += '<span class="" style="margin-right: 1em;padding: 4px 0;">';
+    html += "<svg class='icon' style='fill: var(--box-bg-color1)'>";
+    if (chapter.level == 1) {
+	    html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#journal'>";
+    }else{
+        html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#folder2-open'>";
+    }
+	html += "</svg>" ;
+	html += "</span>";   
+
 	html += '<div class="title">';
+
     
     let sPaliTitle = chapter.title;
     if(chapter.title==""){
@@ -359,6 +393,8 @@ function palicanon_render_chapter_row(chapter) {
 	html += '	<div class="title_2" lang="pali">' + sPaliTitle + "</div>";
 	html += "</div>";
 	html += '<div class="resource">';
+    //绘制进度圈
+    /*
 	if (chapter.progress) {
 		let r = 12;
 		let perimeter = 2 * Math.PI * r;
@@ -374,9 +410,41 @@ function palicanon_render_chapter_row(chapter) {
 			'"></circle>';
 		html += "</svg>";
 	}
-	html += '<div class="res_more">';
-	html += " ";
-	html += "	</div>";
+    */
+	html += "</div>";
+	html += "</div>";//end of head bar
+
+
+    html += '<div class="more_info">';
+
+    html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#journals'>";
+	html += "</svg>" ;
+    html += "Saratadipani";
+    html += "</span>"
+    
+	html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#translate'>";
+	html += "</svg>" ;
+    if(chapter.progress){
+        html += parseInt(chapter.progress.all_trans*100+1)+"%";
+    }else{
+         html += "无";
+    }
+    
+    html += "</span>";
+
+	html += "<span class='item'>";
+    html += "<svg class='small_icon' style='fill: var(--box-bg-color1)'>";
+	html += "<use xlink:href='../../node_modules/bootstrap-icons/bootstrap-icons.svg#person'>";
+	html += "</svg>" ;
+    html += "简体中文(3)";
+    html += "</span>";
+
+
+
 	html += "</div>";
 	html += "</li>";
 	return html;
@@ -443,6 +511,12 @@ function tag_click(tag) {
 	tag_changed();
 }
 
+function tag_set(tag) {
+	list_tag = tag;
+	render_tag_list();
+	tag_changed();
+}
+
 function render_tag_list() {
 	$("#tag_list").slideDown();
 
@@ -484,8 +558,11 @@ function chapter_back(parent) {
 	let curr = parseInt(parent) + 1;
 	let prt = parseInt(parent);
 	//隐藏当前的
-	$("#list_shell_" + curr).removeClass();
-	$("#list_shell_" + curr).addClass("hidden");
+    for (let index = curr; index < 8; index++) {
+	    $("#list_shell_" + index).removeClass();
+	    $("#list_shell_" + index).addClass("hidden");        
+        gBreadCrumbs[index-1]='';
+    }
 
 	//展开上一个
 	$("#list-" + prt).removeClass();
@@ -493,4 +570,87 @@ function chapter_back(parent) {
 
 	$("#list_shell_" + prt).removeClass();
 	$("#list_shell_" + prt).addClass("show");
+
+    RenderBreadCrumbs();
+}
+
+
+function loadTagCategory(name="defualt"){
+    $.getJSON("./category/"+name+".json",function(result){
+        console.log(tocGetTagCategory(result));
+        $("#tag-category").html("");
+        $("#tag-category").fancytree({
+            autoScroll: true,
+            selectMode: 1, // 1:single, 2:multi, 3:multi-hier
+            checkbox: false, // Show checkboxes.
+            source: tocGetTagCategory(result),
+            click: function(e, data) {
+                    //tag_set([data.node.title]);
+                },
+            activate: function(e, data) {
+//				alert("activate " + );
+                //currSelectNode = data.node;
+                tag_set(arrTagCategory[data.node.key]);
+            },
+            select: function(e, data) {
+                // Display list of selected nodes
+                currSelectNode = data.tree.getSelectedNodes();
+                }
+        });
+
+  });
+
+}
+
+var arrTagCategory = new Array();
+function tocGetTagCategory(data){
+    let output = new Array();
+    for (const iterator of data) {
+        let item = {key:com_uuid(),title:iterator.name,tag:iterator.tag};
+        arrTagCategory[item.key] = iterator.tag;
+        if(typeof iterator.children !== "undefined"){
+            item.children = tocGetTagCategory(iterator.children);
+        }
+        output.push(item);
+    }
+    return output;
+}
+
+function loadTagCategoryIndex(){
+    $.getJSON("./category/index.json",function(result){
+            let indexFilename = localStorage.getItem('palicanon_tag_category');
+            if(!indexFilename){
+                indexFilename = "defualt";
+            }
+        let html="";
+        for (const iterator of result) {
+            html += "<option ";
+            if(indexFilename==iterator.file){
+                html += " selected ";
+            }
+            html += " value='"+iterator.file+"'>"+iterator.name+"</option>";
+        }
+        $("#tag_category_index").html(html);
+    });
 }
+
+function TagCategoryIndexchange(obj){
+    localStorage.setItem('palicanon_tag_category',$(obj).val());
+    //loadTagCategory($(obj).val());
+     location.reload();
+}
+
+function RenderBreadCrumbs(){
+    let html = "";
+    html += '<a onclick="chapter_back(1)">home</a>';
+    for (const iterator of gBreadCrumbs) {
+        if(iterator.title1){
+            html += " > ";
+            html += '<a onclick="chapter_back('+(iterator.level+1)+')">';
+            html += iterator.title1;
+            html += '</a>';
+        }
+    }
+
+    $("#bread-crumbs").html(html);
+}