Support note list view and sorter

This commit is contained in:
lealife committed 2017-02-18 20:01:43 +08:00
1 parent ae29119664
commit d5d853ffd3
21 files changed
+1514 -242

No files matched your search

+46 -35
View File
@@ -345,63 +345,74 @@ function log(o) {
</div> </div>
<div id="noteList"> <div id="noteList">
<div class="clearfix" id="notesAndSort" style="position: relative"> <div class="clearfix" id="notesAndSort" style="position: relative">
<div class="pull-left"> <div class="pull-left">
<!-- 我的笔记本 --> <!-- 我的笔记本 -->
<div class="dropdown" id="myNotebookNavForListNav"> <div class="dropdown" id="myNotebookNavForListNav">
<a class="ios7-a dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown"> <a class="ios7-a">
<span id="curNotebookForListNote">{{msg . "all"}}</span> <span id="curNotebookForListNote">{{msg . "all"}}</span>
<!--
<i class="fa fa-angle-down"></i>
-->
</a> </a>
<!-- 如果notebook过多, 则会产生滚动 弃用
<div class="dropdown-menu dropdown-list" style="left: 5px;">
<ul role="menu" aria-labelledby="dropdownMenu1" id="notebookNavForListNote"></ul>
</div>
-->
</div> </div>
<!-- 共享的笔记本 --> <!-- 共享的笔记本 -->
<div class="dropdown" id="sharedNotebookNavForListNav" style="display: none"> <div class="dropdown" id="sharedNotebookNavForListNav" style="display: none">
<a class="ios7-a dropdown-toggle" id="dropdownMenu2" data-toggle="dropdown"> <a class="ios7-a">
<span id="curSharedNotebookForListNote">{{msg . "all"}}</span> <span id="curSharedNotebookForListNote">{{msg . "all"}}</span>
<!--
<i class="fa fa-angle-down"></i>
-->
</a> </a>
<ul class="dropdown-menu" role="menu"
aria-labelledby="dropdownMenu2" style="left: 5px;" id="sharedNotebookNavForListNote">
</ul>
</div> </div>
</div> </div>
<div class="pull-left" id="tagSearch" style="line-height: 38px"> <!-- tag search -->
</div> <div class="pull-left" id="tagSearch"></div>
<!-- sort type -->
<div id="sortType"> <div id="sortType">
<div class="dropdown"> <div class="dropdown">
<a class="ios7-a dropdown-toggle" id="dropdownMenu1" <a class="ios7-a dropdown-toggle" id="dropdownMenu1"
data-toggle="dropdown"> data-toggle="dropdown">
<!-- </i><i class="fa fa-th-list"></i>
<i class="fa fa-sort-alpha-asc">
</i>Sort <i class="fa fa-angle-down"></i>
-->
</a> </a>
<!--
<ul class="dropdown-menu" role="menu" <ul class="dropdown-menu" role="menu"
aria-labelledby="dropdownMenu1" aria-labelledby="dropdownMenu1"
style="right: 3px; ! important; left: -100px; min-width: 100px;"> >
<li role="presentation"><a role="menuitem" tabindex="-1"
href="#">创建日期</a></li> <li role="presentation"><a data-view="snippet" class="view-style view-snippet" role="menuitem">
<li role="presentation"><a role="menuitem" tabindex="-1" <i class="fa fa-check"></i>
href="#">修改日期</a></li> {{leaMsg . "Snippet View"}}
<li role="presentation"><a role="menuitem" tabindex="-1" </a></li>
href="#">标题</a></li> <li role="presentation"><a data-view="list" class="view-style view-list" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "List View"}}
</a></li>
<li role="presentation" class="divider"></li> <li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" <li role="presentation"><a data-sorter="dateCreatedASC" class="sorter-style sorter-dateCreatedASC" role="menuitem">
href="#">Separated </a></li> <i class="fa fa-check"></i>
{{leaMsg . "Date Created"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="dateCreatedDESC" class="sorter-style sorter-dateCreatedDESC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Created"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a data-sorter="dateUpdatedASC" class="sorter-style sorter-dateUpdatedASC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Updated"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="dateUpdatedDESC" class="sorter-style sorter-dateUpdatedDESC checked" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Updated"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a data-sorter="titleASC" class="sorter-style sorter-titleASC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Title"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="titleDESC" class="sorter-style sorter-titleDESC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Title"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
</ul> </ul>
-->
</div> </div>
</div> </div>
</div> </div>
@@ -856,7 +867,7 @@ function log(o) {
</div> </div>
<script> <script>
var LEA = {}; var LEA = {sPath: ''};
LEA.locale = "{{.locale}}"; LEA.locale = "{{.locale}}";
var UrlPrefix = '{{.siteUrl}}'; var UrlPrefix = '{{.siteUrl}}';
var UserInfo = {{.userInfo|jsonJs}}; var UserInfo = {{.userInfo|jsonJs}};
+43 -34
View File
@@ -333,58 +333,67 @@ function log(o) {
<div class="pull-left"> <div class="pull-left">
<!-- 我的笔记本 --> <!-- 我的笔记本 -->
<div class="dropdown" id="myNotebookNavForListNav"> <div class="dropdown" id="myNotebookNavForListNav">
<a class="ios7-a dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown"> <a class="ios7-a">
<span id="curNotebookForListNote">{{msg . "all"}}</span> <span id="curNotebookForListNote">{{msg . "all"}}</span>
<!--
<i class="fa fa-angle-down"></i>
-->
</a> </a>
<!-- 如果notebook过多, 则会产生滚动 弃用
<div class="dropdown-menu dropdown-list" style="left: 5px;">
<ul role="menu" aria-labelledby="dropdownMenu1" id="notebookNavForListNote"></ul>
</div>
-->
</div> </div>
<!-- 共享的笔记本 --> <!-- 共享的笔记本 -->
<div class="dropdown" id="sharedNotebookNavForListNav" style="display: none"> <div class="dropdown" id="sharedNotebookNavForListNav" style="display: none">
<a class="ios7-a dropdown-toggle" id="dropdownMenu2" data-toggle="dropdown"> <a class="ios7-a">
<span id="curSharedNotebookForListNote">{{msg . "all"}}</span> <span id="curSharedNotebookForListNote">{{msg . "all"}}</span>
<!--
<i class="fa fa-angle-down"></i>
-->
</a> </a>
<ul class="dropdown-menu" role="menu"
aria-labelledby="dropdownMenu2" style="left: 5px;" id="sharedNotebookNavForListNote">
</ul>
</div> </div>
</div> </div>
<div class="pull-left" id="tagSearch" style="line-height: 38px"> <!-- tag search -->
</div> <div class="pull-left" id="tagSearch"></div>
<!-- sort type -->
<div id="sortType"> <div id="sortType">
<div class="dropdown"> <div class="dropdown">
<a class="ios7-a dropdown-toggle" id="dropdownMenu1" <a class="ios7-a dropdown-toggle" id="dropdownMenu1"
data-toggle="dropdown"> data-toggle="dropdown">
<!-- </i><i class="fa fa-th-list"></i>
<i class="fa fa-sort-alpha-asc">
</i>Sort <i class="fa fa-angle-down"></i>
-->
</a> </a>
<!--
<ul class="dropdown-menu" role="menu" <ul class="dropdown-menu" role="menu"
aria-labelledby="dropdownMenu1" aria-labelledby="dropdownMenu1"
style="right: 3px; ! important; left: -100px; min-width: 100px;"> >
<li role="presentation"><a role="menuitem" tabindex="-1" <li role="presentation"><a data-view="snippet" class="view-style view-snippet" role="menuitem">
href="#">创建日期</a></li> <i class="fa fa-check"></i>
<li role="presentation"><a role="menuitem" tabindex="-1" {{leaMsg . "Snippet View"}}
href="#">修改日期</a></li> </a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" <li role="presentation"><a data-view="list" class="view-style view-list" role="menuitem">
href="#">标题</a></li> <i class="fa fa-check"></i>
{{leaMsg . "List View"}}
</a></li>
<li role="presentation" class="divider"></li> <li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" <li role="presentation"><a data-sorter="dateCreatedASC" class="sorter-style sorter-dateCreatedASC" role="menuitem">
href="#">Separated </a></li> <i class="fa fa-check"></i>
{{leaMsg . "Date Created"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="dateCreatedDESC" class="sorter-style sorter-dateCreatedDESC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Created"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a data-sorter="dateUpdatedASC" class="sorter-style sorter-dateUpdatedASC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Updated"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="dateUpdatedDESC" class="sorter-style sorter-dateUpdatedDESC checked" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Date Updated"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a data-sorter="titleASC" class="sorter-style sorter-titleASC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Title"}} <i class="fa fa-sort-alpha-asc"></i>
</a></li>
<li role="presentation"><a data-sorter="titleDESC" class="sorter-style sorter-titleDESC" role="menuitem">
<i class="fa fa-check"></i>
{{leaMsg . "Title"}} <i class="fa fa-sort-alpha-desc"></i>
</a></li>
</ul> </ul>
-->
</div> </div>
</div> </div>
</div> </div>
@@ -828,7 +837,7 @@ function log(o) {
</div> </div>
</div> </div>
<script> <script>
var LEA = {}; var LEA = {sPath: ''};
LEA.locale = "{{.locale}}"; LEA.locale = "{{.locale}}";
var UrlPrefix = '{{.siteUrl}}'; var UrlPrefix = '{{.siteUrl}}';
var UserInfo = {{.userInfo|jsonJs}}; var UserInfo = {{.userInfo|jsonJs}};
+5
View File
@@ -0,0 +1,5 @@
Snippet View=摘要视图
List View=列表视图
Date Created=创建时间
Date Updated=更新时间
+5
View File
@@ -0,0 +1,5 @@
Snippet View=摘要視圖
List View=列表視圖
Date Created=創建時間
Date Updated=更新時間
+600 -1
View File
@@ -1 +1,600 @@
@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}*,body{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:300;font-size:14px}h1,h2,h3{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;font-weight:300!important}ul,ol{list-style:none}a{color:#000;cursor:pointer}a:hover{text-decoration:none!important}.navbar-brand{display:block;line-height:50px;padding:0;padding-left:10px}.navbar-brand span{float:left}#logo{font-family:leanote;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:24px}#logo:before{content:"\e601"}#navbar{width:650px;margin:auto;padding:0}.navbar,.navbar-default{margin:0;border-bottom:1px solid #DEDDDF;box-shadow:0 1px 2px rgba(0,0,0,.04),inset 0 1px 0 #fff;background-color:#fafbfc}.navbar a,.navbar-default a{font-size:16px}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{background:0 0;border-bottom:2px solid #65bd77}.navbar-form{padding:0}#keywords{font-size:12px;padding:7px 20px;border-radius:30px;box-shadow:inset 0 0 4px 0 rgba(0,0,0,.1);-webkit-transform:translate3d(0,0,0);-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;background-clip:padding-box;width:65%;height:auto;margin-top:3px;border-color:#ccc;float:right}#keywords:focus{outline:0;width:100%}#content{width:650px;margin:auto;margin-top:60px}.sort-nav{list-style:none;margin:0;padding:0}.sort-nav li{float:left;margin:10px 15px 5px 0}.sort-nav li a{padding:5px 10px;border:1px solid #ccc;font-size:12px;font-weight:400;line-height:25px;border-radius:14px}.sort-nav li.active a{color:#fff;background:#65bd77;border-color:#65bd77}.thumbnails{padding:0;padding-top:25px}.thumbnails>li{position:relative;width:100%;margin:0 0 10px;padding-bottom:15px;border-bottom:1px dashed #d9d9d9}a:hover{color:#2a6496}.article .title{display:inline-block;margin-right:40px;color:#3b3b3b;font-size:24px;font-weight:700;line-height:36px}.article .title:hover{color:#2a6496}.article .content{color:#717171;font-size:14px;font-weight:100;line-height:24px;word-wrap:break-word}.article .article-info{margin-top:5px;color:#999}.article .article-info a{color:#999}.article .article-info>a{margin-right:10px}.user-card{position:absolute;top:1px;padding-right:50px;right:-50px}.user-card .dropdown-menu{width:310px;left:-140px}.user-card .dropdown-menu:before{content:"";width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #eaedef;background:0 0;background-image:none;top:-7px;left:145px;right:auto}.user-card-content{width:310px;padding:0;background:#eaedef;top:35px;border-radius:6px;word-break:break-all}.user-card-content .loading{display:none}.user-card-content.loading .loading{display:block}.user-card-content.loading .header,.user-card-content.loading .content{display:none}.user-card-content .loading{text-align:center;padding:10px 0}.user-card-content .loading:before{content:"";width:17px;height:11px;background:url(http://7xj51o.com1.z0.glb.clouddn.com/bar-loading.gif);background-size:17px 11px;display:inline-block}.user-card-content .header,.relation-btn{padding:10px;overflow:hidden;border-bottom:1px solid #d9d9d9;border-radius:6px 6px 0 0}.user-card-content .header .btn,.relation-btn .btn{box-sizing:border-box;width:95px}.user-card-content .header .follow-btn,.relation-btn .follow-btn{display:none}.user-card-content .header.not-followed .follow-btn,.relation-btn.not-followed .follow-btn{display:block}.user-card-content .header.not-followed .following-btn,.relation-btn.not-followed .following-btn{display:none}.following-btn .unfollow{display:none}.following-btn:hover .following{display:none}.following-btn:hover .unfollow{display:block}.user-card-content .header .follow-btn,.user-card-content .header .following-btn{float:right;padding:4px 10px 2px;margin:0}.user-card-content .header .avatar{float:left}.user-card-content .username{line-height:32px;padding-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:100px;display:block}.user-card-content .header>span{position:relative;top:6px;font-weight:700}.user-card-content .content{padding:0 10px 10px;font-size:12px}.user-card-content .content p{margin-bottom:0}.usLine truncated @font-face {
font-family: 'leanote';
src: url('../../fonts/leanote-font3/leanote.eot?-vcf23i');
src: url('../../fonts/leanote-font3/leanote.eot?#iefix-vcf23i') format('embedded-opentype'), url('../../fonts/leanote-font3/leanote.ttf?-vcf23i') format('truetype'), url('../../fonts/leanote-font3/leanote.woff?-vcf23i') format('woff'), url('../../fonts/leanote-font3/leanote.svg?-vcf23i#leanote') format('svg');
font-weight: normal;
font-style: normal;
}
#logo,
.mce-i-mind,
.mce-i-ace-pre,
.lea-icon {
font-family: 'leanote' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-markdown:before {
content: "\e604";
}
.mce-i-mind:before {
content: "\e602";
}
.mce-i-ace-pre:before {
content: "\e603";
}
#logo:before {
content: "\e901";
line-height: 1;
margin-top: 5px;
display: inline-block;
vertical-align: top;
}
#logo.icon-only:before {
content: "\e902";
}
.lang-zh-cn #logo:before {
content: "\e900";
}
#logo {
font-size: 24px;
}
#logo:before {
line-height: 40px;
}
#subTitle {
padding: 0 0 0 5px;
}
::selection {
background: #000000;
color: #ffffff;
}
::-moz-selection {
background: #000000;
color: #ffffff;
}
::-webkit-selection {
background: #000000;
color: #ffffff;
}
*,
body {
font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
font-weight: 300;
font-size: 14px;
}
h1,
h2,
h3 {
font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
font-weight: 300 !important;
}
ul,
ol {
list-style: none;
}
a {
color: #000;
cursor: pointer;
}
a:hover {
text-decoration: none !important;
}
.navbar-brand {
display: block;
line-height: 50px;
padding: 0;
padding-left: 10px;
}
.navbar-brand span {
float: left;
}
#navbar {
width: 650px;
margin: auto;
padding: 0;
}
.navbar,
.navbar-default {
margin: 0;
border-bottom: 1px solid #DEDDDF;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), inset 0 1px 0 #ffffff;
background-color: #fafbfc;
}
.navbar a,
.navbar-default a {
font-size: 16px;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
background: none;
border-bottom: 2px solid #65bd77;
}
.navbar-form {
padding: 0;
}
#keywords {
font-size: 12px;
padding: 7px 20px;
border-radius: 30px;
box-shadow: inset 0 0 4px 0 rgba(0, 0, 0, 0.1);
-webkit-transform: translate3d(0, 0, 0);
-webkit-transition: 0.3s ease;
-moz-transition: 0.3s ease;
transition: 0.3s ease;
background-clip: padding-box;
width: 65%;
height: auto;
margin-top: 3px;
border-color: #ccc;
float: right;
}
#keywords:focus {
outline: none;
width: 100%;
}
#content {
width: 650px;
margin: auto;
margin-top: 60px;
}
.sort-nav {
list-style: none;
margin: 0;
padding: 0;
}
.sort-nav li {
float: left;
margin: 10px 15px 5px 0;
}
.sort-nav li a {
padding: 5px 10px;
border: 1px solid #cccccc;
font-size: 12px;
font-weight: normal;
line-height: 25px;
border-radius: 14px;
}
.sort-nav li.active a {
color: white;
background: #65bd77;
border-color: #65bd77;
}
.thumbnails {
padding: 0;
padding-top: 25px;
}
.thumbnails > li {
position: relative;
width: 100%;
margin: 0 0 10px;
padding-bottom: 15px;
border-bottom: 1px dashed #d9d9d9;
}
a:hover {
color: #2a6496;
}
.article .title {
display: inline-block;
margin-right: 40px;
color: #3b3b3b;
font-size: 24px;
font-weight: bold;
line-height: 36px;
}
.article .title:hover {
color: #2a6496;
}
.article .content {
color: #717171;
font-size: 14px;
font-weight: 100;
line-height: 24px;
word-wrap: break-word;
}
.article .article-info {
margin-top: 5px;
color: #999999;
}
.article .article-info a {
color: #999999;
}
.article .article-info > a {
margin-right: 10px;
}
.user-card {
position: absolute;
top: 1px;
padding-right: 50px;
right: -50px;
}
.user-card .dropdown-menu {
width: 310px;
left: -140px;
}
.user-card .dropdown-menu:before {
content: "";
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #eaedef;
background: none;
background-image: none;
top: -7px;
left: 145px;
right: auto;
}
.user-card-content {
width: 310px;
padding: 0;
background: #eaedef;
top: 35px;
border-radius: 6px;
word-break: break-all;
}
.user-card-content .loading {
display: none;
}
.user-card-content.loading .loading {
display: block;
}
.user-card-content.loading .header,
.user-card-content.loading .content {
display: none;
}
.user-card-content .loading {
text-align: center;
padding: 10px 0;
}
.user-card-content .loading:before {
content: "";
width: 17px;
height: 11px;
background: url(http://7xj51o.com1.z0.glb.clouddn.com/bar-loading.gif);
background-size: 17px 11px;
display: inline-block;
}
.user-card-content .header,
.relation-btn {
padding: 10px;
overflow: hidden;
border-bottom: 1px solid #d9d9d9;
border-radius: 6px 6px 0 0;
}
.user-card-content .header .btn,
.relation-btn .btn {
box-sizing: border-box;
width: 95px;
}
.user-card-content .header .follow-btn,
.relation-btn .follow-btn {
display: none;
}
.user-card-content .header.not-followed .follow-btn,
.relation-btn.not-followed .follow-btn {
display: block;
}
.user-card-content .header.not-followed .following-btn,
.relation-btn.not-followed .following-btn {
display: none;
}
.following-btn .unfollow {
display: none;
}
.following-btn:hover .following {
display: none;
}
.following-btn:hover .unfollow {
display: block;
}
.user-card-content .header .follow-btn,
.user-card-content .header .following-btn {
float: right;
padding: 4px 10px 2px;
margin: 0;
}
.user-card-content .header .avatar {
float: left;
}
.user-card-content .username {
line-height: 32px;
padding-left: 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 100px;
display: block;
}
.user-card-content .header > span {
position: relative;
top: 6px;
font-weight: bold;
}
.user-card-content .content {
padding: 0 10px 10px;
font-size: 12px;
}
.user-card-content .content p {
margin-bottom: 0;
}
.user-card-content .content .intro {
padding: 10px 12px 7px;
margin: 0 -10px 0;
background: white;
border-bottom: 1px solid #d9d9d9;
}
.user-card-content .content ul {
padding: 1px 10px 2px 10px;
margin: 0 -10px 10px;
background: #ffffff;
}
.user-card-content .content ul li {
border-bottom: 1px dashed #d9d9d9;
}
.user-card-content .content ul li a {
margin: 5px 0;
line-height: 20px;
display: block;
}
.user-card-content .content ul li.no-post {
border: none;
color: #ccc;
}
.user-card-content .content ul time {
position: absolute;
right: 10px;
color: #999999;
font-size: 12px;
}
.user-card-content .content h5 {
margin: 0;
padding-top: 3px;
margin-right: 63px;
font-size: 12px;
font-weight: normal;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.user-card-content .content a {
color: #999999;
}
.avatar {
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
overflow: hidden;
display: inline-block;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
.avatar img {
width: 30px;
/*
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
*/
}
#pagination {
text-align: center;
}
#pagination ul {
margin: 0;
margin-top: 10px;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
background-color: #65bd77;
border-color: #65bd77;
}
#footer {
text-align: center;
margin: 20px 0;
margin-top: 20px;
color: #ccc;
}
#footer a {
color: #ccc;
}
#navbarUser {
float: right;
line-height: 50px;
margin-right: 10px;
}
#navbarUser a {
color: #666;
}
#navbarUser .my-logo {
max-height: 32px;
border: 2px solid white;
max-width: 100px;
border-radius: 50%;
margin-top: -3px;
}
.dropdown-menu:before {
content: "";
width: 20px;
height: 12px;
position: absolute;
top: -12px;
right: 20px;
background-image: url("../../images/triangle_2x.png");
background-size: 20px 12px;
}
.open > .dropdown-menu,
.dropdown-submenu:hover > .dropdown-menu {
opacity: 1;
transform: scale(1, 1);
-webkit-transform: scale(1, 1);
-moz-transform: scale(1, 1);
-o-transform: scale(1, 1);
}
.dropdown-menu {
opacity: 0;
display: block;
-webkit-transform: scale(0, 0);
-webkit-transform-origin: top;
-webkit-animation-fill-mode: forwards;
-webkit-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1);
-o-transform: scale(0, 0);
-o-transform-origin: top;
-o-animation-fill-mode: forwards;
-o-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1);
-moz-transform: scale(0, 0);
-moz-transform-origin: top;
-moz-animation-fill-mode: forwards;
-moz-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1);
transform: scale(0, 0);
transform-origin: top;
animation-fill-mode: forwards;
transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1);
}
a:focus {
text-decoration: none;
}
@media screen and (max-width: 780px) {
#navbarUser {
display: none;
}
#keywords {
float: none;
width: 100%;
}
#navbar {
padding: 0 10px;
width: 100%;
}
}
@media screen and (max-width: 600px) {
#content {
width: 100%;
padding: 0 10px;
}
.user-card {
padding-right: 0;
right: 0;
}
}
#searchInfo {
margin-top: 20px;
}
#searchInfo .keywords-info,
#searchInfo .keywords-title {
display: inline-block;
margin-right: 10px;
font-size: 18px;
}
#searchInfo .keywords-title {
font-weight: bold;
}
#searchInfo .clear-search {
display: inline-block;
color: #a94442;
}
.article .article-info .label-post {
background: #fff;
margin: 0;
font-size: 14px;
padding: 0 2px;
}
.article .article-info .label-post:hover {
background: #000;
}
.article .article-info .label-yellow:hover {
background: #f0ad4e;
}
.article .article-info .label-green:hover {
background: #5cb85c;
}
.article .article-info .label-blue:hover {
background: #428bca;
}
.article .article-info .label-red:hover {
background: #d9534f;
}
.no-author {
border: 2px dashed #ccc;
border-radius: 20px;
padding: 20px;
height: 450px;
margin-top: 80px;
text-align: center;
font-size: 16px;
color: #666;
padding-top: 100px;
}
.followers {
margin-top: 70px !important;
}
.followers .followers-nav {
margin-bottom: 20px;
}
.followers .user-list {
margin: 0;
padding: 0;
}
.followers .each-user {
width: 215px;
float: left;
margin-bottom: 30px;
}
.followers .avatar-wrap {
position: relative;
}
.followers .avatar-wrap .user-card {
right: 0;
left: 0;
top: 0;
}
.followers .avatar-outer {
width: 60px;
height: 60px;
line-height: 56px;
border: 1px solid #eee;
margin-right: 10px;
}
.followers .avatar-outer img {
width: 60px;
}
.followers .username-btn {
margin-left: 70px;
}
.followers .username-btn button {
padding: 3px 4px;
width: 85px;
margin-top: 1px;
}
.followers .username {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
max-width: 140px;
}
.followers .relation-btn {
padding: 0;
border: 0;
margin-top: 3px;
}
.followers .user-card .dropdown-menu {
left: -125px;
top: 60px;
}
.followers .no-author {
margin-top: 30px;
}
+10 -26
View File
@@ -16,16 +16,16 @@
@green: #65bd77; @green: #65bd77;
@gray: #ccc; @gray: #ccc;
/* leanote */ @import "../theme/includes/icon.less";
@font-face {
font-family: 'leanote'; #logo {
src:url('../../fonts/leanote-font2/leanote.eot?-vcf23i'); font-size: 24px;
src:url('../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i') format('embedded-opentype'), &:before {
url('../../fonts/leanote-font2/leanote.ttf?-vcf23i') format('truetype'), line-height: 40px;
url('../../fonts/leanote-font2/leanote.woff?-vcf23i') format('woff'), }
url('../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote') format('svg'); }
font-weight: normal; #subTitle {
font-style: normal; padding: 0 0 0 5px;
} }
@selectionBg: @aBlackColor; @selectionBg: @aBlackColor;
@@ -65,22 +65,6 @@ a:hover {
float: left; float: left;
} }
} }
#logo {
font-family: 'leanote';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 24px;
}
#logo:before {
content: "\e601";
}
#navbar { #navbar {
width: @pwidth; width: @pwidth;
View File
Whitespace-only changes.
+59 -2
View File
@@ -808,10 +808,12 @@ a:hover {
vertical-align: middle; vertical-align: middle;
visibility: hidden; visibility: hidden;
} }
#inviteFriends { #inviteFriends,
#upgradeAccount {
position: relative; position: relative;
} }
#inviteFriends .dot { #inviteFriends .dot,
#upgradeAccount .dot {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: -8px; right: -8px;
@@ -821,6 +823,12 @@ a:hover {
border-radius: 50%; border-radius: 50%;
background: #FF9263; background: #FF9263;
} }
#upgradeAccountModal .label {
font-size: 12px;
}
#upgradeAccountModal .a {
color: #428bca;
}
#inviteUrl { #inviteUrl {
width: 400px; width: 400px;
padding: 3px; padding: 3px;
@@ -1884,6 +1892,37 @@ textarea#wmd-input {
margin-top: 5px; margin-top: 5px;
background-color: #fff; background-color: #fff;
} }
#noteItemList.list .item {
height: 30px !important;
border: none;
border-radius: 0;
border-bottom: 1px solid #ebeff2;
margin: 0 -5px;
}
#noteItemList.list .item.item-b .item-blog {
display: none;
}
#noteItemList.list .item.item-b:hover .item-blog {
display: block;
}
#noteItemList.list .item-thumb {
display: none;
}
#noteItemList.list .item-blog {
display: none;
top: auto;
bottom: 5px;
right: 25px;
}
#noteItemList.list .item-setting {
bottom: 5px;
}
#noteItemList.list .item-title {
border: none;
}
#noteItemList.list .item-desc {
right: 0 !important;
}
#noteItemList .item:hover, #noteItemList .item:hover,
#noteItemList .contextmenu-hover { #noteItemList .contextmenu-hover {
background-color: #ddd !important; background-color: #ddd !important;
@@ -1979,6 +2018,10 @@ textarea#wmd-input {
} }
#noteItemList .item-blog { #noteItemList .item-blog {
top: 1px; top: 1px;
display: none;
}
#noteItemList .item-b .item-blog {
display: block;
} }
#noteItemList .item-setting { #noteItemList .item-setting {
bottom: 0; bottom: 0;
@@ -1987,6 +2030,20 @@ textarea#wmd-input {
#noteItemList .item:hover .item-setting { #noteItemList .item:hover .item-setting {
display: block; display: block;
} }
.sorter-style .fa-check:before,
.view-style .fa-check:before {
content: "";
}
.sorter-style.checked .fa-check:before,
.view-style.checked .fa-check:before {
content: "\f00c";
}
#sortType .dropdown-menu {
right: -1px !important;
}
#tagSearch {
line-height: 34px;
}
/** /**
* 工具栏 * 工具栏
* 附件 * 附件
+9 -1
View File
@@ -268,7 +268,7 @@ a:hover {
visibility: hidden; visibility: hidden;
} }
#inviteFriends { #inviteFriends, #upgradeAccount {
position: relative; position: relative;
.dot { .dot {
display: inline-block; display: inline-block;
@@ -281,6 +281,14 @@ a:hover {
background: #FF9263; background: #FF9263;
} }
} }
#upgradeAccountModal {
.label {
font-size: 12px;
}
.a {
color:#428bca;
}
}
#inviteUrl { #inviteUrl {
width: 400px; width: 400px;
+76 -7
View File
@@ -75,15 +75,55 @@
overflow-y: hidden; overflow-y: hidden;
padding: 0 5px; padding: 0 5px;
} }
#noteItemList .item { #noteItemList {
position: relative; .item {
height: 110px; position: relative;
overflow: hidden; height: 110px;
cursor: pointer; overflow: hidden;
cursor: pointer;
border: 1px solid @borderColor; border: 1px solid @borderColor;
border-radius: 3px; border-radius: 3px;
margin-top: 5px; margin-top: 5px;
background-color: #fff; background-color: #fff;
}
// 列表模式
&.list {
.item {
height: 30px !important;
border: none;
border-radius: 0;
border-bottom: 1px solid #ebeff2;
margin: 0 -5px;
&.item-b {
.item-blog {
display: none;
}
}
&.item-b:hover {
.item-blog {
display: block;
}
}
}
.item-thumb {
display: none;
}
.item-blog {
display: none;
top: auto;
bottom: 5px;
right: 25px;
}
.item-setting {
bottom: 5px;
}
.item-title {
border: none;
}
.item-desc {
right: 0 !important;
}
}
} }
#noteItemList .item:hover, #noteItemList .item:hover,
@@ -189,6 +229,13 @@ top: 4px;
.item-blog { .item-blog {
top: 1px; top: 1px;
display: none;
}
.item-b {
.item-blog {
display: block;
}
} }
.item-setting { .item-setting {
@@ -202,3 +249,25 @@ top: 4px;
display: block; display: block;
} }
} }
// 视图
.sorter-style, .view-style {
.fa-check:before {
content: "";
}
&.checked {
.fa-check:before {
content: "\f00c";
}
}
}
#sortType {
.dropdown-menu {
right: -1px !important;
}
}
#tagSearch {
line-height: 34px
}
+1
View File
@@ -171,3 +171,4 @@
.mce-text { .mce-text {
vertical-align: middle; vertical-align: middle;
} }
+59 -2
View File
@@ -808,10 +808,12 @@ a:hover {
vertical-align: middle; vertical-align: middle;
visibility: hidden; visibility: hidden;
} }
#inviteFriends { #inviteFriends,
#upgradeAccount {
position: relative; position: relative;
} }
#inviteFriends .dot { #inviteFriends .dot,
#upgradeAccount .dot {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: -8px; right: -8px;
@@ -821,6 +823,12 @@ a:hover {
border-radius: 50%; border-radius: 50%;
background: #FF9263; background: #FF9263;
} }
#upgradeAccountModal .label {
font-size: 12px;
}
#upgradeAccountModal .a {
color: #428bca;
}
#inviteUrl { #inviteUrl {
width: 400px; width: 400px;
padding: 3px; padding: 3px;
@@ -1884,6 +1892,37 @@ textarea#wmd-input {
margin-top: 5px; margin-top: 5px;
background-color: #fff; background-color: #fff;
} }
#noteItemList.list .item {
height: 30px !important;
border: none;
border-radius: 0;
border-bottom: 1px solid #ebeff2;
margin: 0 -5px;
}
#noteItemList.list .item.item-b .item-blog {
display: none;
}
#noteItemList.list .item.item-b:hover .item-blog {
display: block;
}
#noteItemList.list .item-thumb {
display: none;
}
#noteItemList.list .item-blog {
display: none;
top: auto;
bottom: 5px;
right: 25px;
}
#noteItemList.list .item-setting {
bottom: 5px;
}
#noteItemList.list .item-title {
border: none;
}
#noteItemList.list .item-desc {
right: 0 !important;
}
#noteItemList .item:hover, #noteItemList .item:hover,
#noteItemList .contextmenu-hover { #noteItemList .contextmenu-hover {
background-color: #ddd !important; background-color: #ddd !important;
@@ -1979,6 +2018,10 @@ textarea#wmd-input {
} }
#noteItemList .item-blog { #noteItemList .item-blog {
top: 1px; top: 1px;
display: none;
}
#noteItemList .item-b .item-blog {
display: block;
} }
#noteItemList .item-setting { #noteItemList .item-setting {
bottom: 0; bottom: 0;
@@ -1987,6 +2030,20 @@ textarea#wmd-input {
#noteItemList .item:hover .item-setting { #noteItemList .item:hover .item-setting {
display: block; display: block;
} }
.sorter-style .fa-check:before,
.view-style .fa-check:before {
content: "";
}
.sorter-style.checked .fa-check:before,
.view-style.checked .fa-check:before {
content: "\f00c";
}
#sortType .dropdown-menu {
right: -1px !important;
}
#tagSearch {
line-height: 34px;
}
/** /**
* 工具栏 * 工具栏
* 附件 * 附件
+59 -2
View File
@@ -808,10 +808,12 @@ a:hover {
vertical-align: middle; vertical-align: middle;
visibility: hidden; visibility: hidden;
} }
#inviteFriends { #inviteFriends,
#upgradeAccount {
position: relative; position: relative;
} }
#inviteFriends .dot { #inviteFriends .dot,
#upgradeAccount .dot {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: -8px; right: -8px;
@@ -821,6 +823,12 @@ a:hover {
border-radius: 50%; border-radius: 50%;
background: #FF9263; background: #FF9263;
} }
#upgradeAccountModal .label {
font-size: 12px;
}
#upgradeAccountModal .a {
color: #428bca;
}
#inviteUrl { #inviteUrl {
width: 400px; width: 400px;
padding: 3px; padding: 3px;
@@ -1884,6 +1892,37 @@ textarea#wmd-input {
margin-top: 5px; margin-top: 5px;
background-color: #fff; background-color: #fff;
} }
#noteItemList.list .item {
height: 30px !important;
border: none;
border-radius: 0;
border-bottom: 1px solid #ebeff2;
margin: 0 -5px;
}
#noteItemList.list .item.item-b .item-blog {
display: none;
}
#noteItemList.list .item.item-b:hover .item-blog {
display: block;
}
#noteItemList.list .item-thumb {
display: none;
}
#noteItemList.list .item-blog {
display: none;
top: auto;
bottom: 5px;
right: 25px;
}
#noteItemList.list .item-setting {
bottom: 5px;
}
#noteItemList.list .item-title {
border: none;
}
#noteItemList.list .item-desc {
right: 0 !important;
}
#noteItemList .item:hover, #noteItemList .item:hover,
#noteItemList .contextmenu-hover { #noteItemList .contextmenu-hover {
background-color: #ddd !important; background-color: #ddd !important;
@@ -1979,6 +2018,10 @@ textarea#wmd-input {
} }
#noteItemList .item-blog { #noteItemList .item-blog {
top: 1px; top: 1px;
display: none;
}
#noteItemList .item-b .item-blog {
display: block;
} }
#noteItemList .item-setting { #noteItemList .item-setting {
bottom: 0; bottom: 0;
@@ -1987,6 +2030,20 @@ textarea#wmd-input {
#noteItemList .item:hover .item-setting { #noteItemList .item:hover .item-setting {
display: block; display: block;
} }
.sorter-style .fa-check:before,
.view-style .fa-check:before {
content: "";
}
.sorter-style.checked .fa-check:before,
.view-style.checked .fa-check:before {
content: "\f00c";
}
#sortType .dropdown-menu {
right: -1px !important;
}
#tagSearch {
line-height: 34px;
}
/** /**
* 工具栏 * 工具栏
* 附件 * 附件
+59 -2
View File
@@ -808,10 +808,12 @@ a:hover {
vertical-align: middle; vertical-align: middle;
visibility: hidden; visibility: hidden;
} }
#inviteFriends { #inviteFriends,
#upgradeAccount {
position: relative; position: relative;
} }
#inviteFriends .dot { #inviteFriends .dot,
#upgradeAccount .dot {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: -8px; right: -8px;
@@ -821,6 +823,12 @@ a:hover {
border-radius: 50%; border-radius: 50%;
background: #FF9263; background: #FF9263;
} }
#upgradeAccountModal .label {
font-size: 12px;
}
#upgradeAccountModal .a {
color: #428bca;
}
#inviteUrl { #inviteUrl {
width: 400px; width: 400px;
padding: 3px; padding: 3px;
@@ -1884,6 +1892,37 @@ textarea#wmd-input {
margin-top: 5px; margin-top: 5px;
background-color: #fff; background-color: #fff;
} }
#noteItemList.list .item {
height: 30px !important;
border: none;
border-radius: 0;
border-bottom: 1px solid #ebeff2;
margin: 0 -5px;
}
#noteItemList.list .item.item-b .item-blog {
display: none;
}
#noteItemList.list .item.item-b:hover .item-blog {
display: block;
}
#noteItemList.list .item-thumb {
display: none;
}
#noteItemList.list .item-blog {
display: none;
top: auto;
bottom: 5px;
right: 25px;
}
#noteItemList.list .item-setting {
bottom: 5px;
}
#noteItemList.list .item-title {
border: none;
}
#noteItemList.list .item-desc {
right: 0 !important;
}
#noteItemList .item:hover, #noteItemList .item:hover,
#noteItemList .contextmenu-hover { #noteItemList .contextmenu-hover {
background-color: #ddd !important; background-color: #ddd !important;
@@ -1979,6 +2018,10 @@ textarea#wmd-input {
} }
#noteItemList .item-blog { #noteItemList .item-blog {
top: 1px; top: 1px;
display: none;
}
#noteItemList .item-b .item-blog {
display: block;
} }
#noteItemList .item-setting { #noteItemList .item-setting {
bottom: 0; bottom: 0;
@@ -1987,6 +2030,20 @@ textarea#wmd-input {
#noteItemList .item:hover .item-setting { #noteItemList .item:hover .item-setting {
display: block; display: block;
} }
.sorter-style .fa-check:before,
.view-style .fa-check:before {
content: "";
}
.sorter-style.checked .fa-check:before,
.view-style.checked .fa-check:before {
content: "\f00c";
}
#sortType .dropdown-menu {
right: -1px !important;
}
#tagSearch {
line-height: 34px;
}
/** /**
* 工具栏 * 工具栏
* 附件 * 附件
+6 -5
View File
@@ -1,6 +1,7 @@
function trimLeft(t,e){if(!e||" "==e)return $.trim(t);for(;0==t.indexOf(e);)t=t.substring(e.length);return t}function json(str){return eval("("+str+")")}function t(){var t=arguments;if(t.length<=1)return t[0];var e=t[0];if(!e)return e;var n="LEAAEL";e=e.replace(/\?/g,n);for(var o=1;o<=t.length;++o)e=e.replace(n,t[o]);return e}function arrayEqual(t,e){return t=t||[],e=e||[],t.join(",")==e.join(",")}function isArray(t){return"[object Array]"===Object.prototype.toString.call(t)}function isEmpty(t){return t?isArray(t)&&0==t.length?!0:!1:!0}function getFormJsonData(t){var e=formArrDataToJson($("#"+t).serializeArray());return e}function formArrDataToJson(t){var e={},n={};for(var o in t){var r=t[o].name,i=t[o].value;"[]"!=r.substring(r.length-2,r.length)?e[r]=i:(r=r.substring(0,r.length-2),void 0==n[r]?n[r]=[i]:n[r].push(i))}return $.extend(e,n)}function formSerializeDataToJson(t){for(var e=t.split("&"),n={},o={},r=0;r<e.length;++r){var i=e[r].split("="),a=decodeURI(i[0]),s=decodeURI(i[1]);"[]"!=a.substring(a.length-2,a.length)?n[a]=s:(a=a.substring(0,a.length-2),void 0==o[a]?o[a]=[s]:o[a].push(s))}return $.extend(n,o)}function _ajaxCallback(t,e,n){if(t===!0||"true"==t||"object"==typeof t){if(t&&"object"==typeof t&&"NOTLOGIN"==t.Msg)return void alert(getMsg("Please sign in firstly!"));"function"==typeof e&&e(t)}else"function"==typeof n?n(t):alert("error!")}function _ajax(t,e,n,o,r,i){return i="undefined"==typeof i?!0:!1,$.ajax({type:t,url:e,data:n,async:i,success:function(t){_ajaxCallback(t,o,r)},error:function(t){_ajaxCallback(t,o,r)}})}function ajaxGet(t,e,n,o,r){return _ajax("GET",t,e,n,o,r)}function ajaxPost(t,e,n,o,r){_ajax("POST",t,e,n,o,r)}function ajaxPostJson(t,e,n,o,r){r="undefined"==typeof r?!0:!1,$.ajax({url:t,type:"POST",contentType:"application/json; charset=utf-8",datatype:"json",async:r,data:JSON.stringify(e),success:function(t,e){_ajaxCallback(t,n,o)},error:function(t){_ajaxCallback(t,n,o)}})}function findParents(t,e){if($(t).is(e))return $(t);for(var n=$(t).parents(),o=0;o<n.length;++o)if(log(n.eq(o)),n.eq(o).is(e))return n.seq(o);return null}function getVendorPrefix(){for(var t=document.body||document.documentElement,e=t.style,n=["webkit","khtml","moz","ms","o"],o=0;o<n.length;){if("string"==typeof e[n[o]+"Transition"])return n[o];o++}}function switchEditor(t){LEA.isM=t,t?($("#mdEditor").css("z-index",3).show(),$("#leanoteNav").hide()):($("#editor").show(),$("#mdEditor").css("z-index",1).hide(),$("#leanoteNav").show())}function setEditorContent(t,e,n,o){if(t||(t=""),clearIntervalForSetContent&&clearInterval(clearIntervalForSetContent),e)MD?(MD.setContent(t),MD.clearUndo&&MD.clearUndo(),o&&o()):clearIntervalForSetContent=setTimeout(function(){setEditorContent(t,!0,!1,o)},100);else if("undefined"!=typeof tinymce&&tinymce.activeEditor){var r=tinymce.activeEditor;r.setContent(t),o&&o(),r.undoManager.clear()}else clearIntervalForSetContent=setTimeout(function(){setEditorContent(t,!1,!1,o)},100)}function previewIsEmpty(t){return t&&t.substr(0,previewToken.length)!=previewToken?!1:!0}function isAceError(t){return t?-1!=t.indexOf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"):!1}function getEditorContent(t){var e=_getEditorContent(t);return'<p><br data-mce-bogus="1"></p>'===e?"<p><br></p>":e}function _getEditorContent(t){if(t)return[MD.getContent(),"<div>"+$("#preview-contents").html()+"</div>"];var e=tinymce.activeEditor;if(e){var n=$(e.getBody()).clone();if(n.find(".toggle-raw").remove(),window.LeaAce&&LeaAce.getAce)for(var o=n.find("pre"),r=0;r<o.length;++r){var i=o.eq(r),a=i.attr("id"),s=LeaAce.getAce(a);if(s){var l=s.getValue();isAceError(l)&&(l=i.html()),l=l.replace(/</g,"&lt").replace(/>/g,"&gt"),i.removeAttr("style","").removeAttr("contenteditable").removeClass("ace_editor"),i.html(l)}}if(n.find("pinit").remove(),n.find(".thunderpin").remove(),n.find(".pin").parent().remove(),n=$(n).html())for(;;){var c=n.lastIndexOf("</script>");if(-1==c)return n;var u=n.length;if(u-9!=c)return n;var f=n.lastIndexOf("<script ");if(-1==f&&(f=n.lastIndexOf("<script>")),-1==f)return n;n=n.substring(0,f)}return n}}function disableEditor(){var t=tinymce.activeEditor;t&&(t.hide(),LEA.editorStatus=!1,$("#mceTollbarMark").show().css("z-index",1e3))}function enableEditor(){if(!LEA.editorStatus){$("#mceTollbarMark").css("z-index",-1).hide();var t=tinymce.activeEditor;t&&t.show()}}function showDialog(t,e){$("#leanoteDialog #modalTitle").html(e.title),$("#leanoteDialog .modal-body").html($("#"+t+" .modal-body").html()),$("#leanoteDialog .modal-footer").html($("#"+t+" .modal-footer").html()),delete e.title,e.show=!0,$("#leanoteDialog").modal(e)}function hideDialog(t){t||(t=0),setTimeout(function(){$("#leanoteDialog").modal("hide")},t)}function closeDialog(){$(".modal").modal("hide")}function showDialog2(t,e){e=e||{},e.show=!0,$(t).modal(e)}function hideDialog2(t,e){e||(e=0),setTimeout(function(){$(t).modal("hide")},e)}function showDialogRemote(t,e){e=e||{},t+="?";for(var n in e)t+=n+"="+e[n]+"&";$("#leanoteDialogRemLine truncated function trimLeft(t,e){if(!e||" "==e)return $.trim(t);for(;0==t.indexOf(e);)t=t.substring(e.length);return t}function json(str){return eval("("+str+")")}function t(){var t=arguments;if(t.length<=1)return t[0];var e=t[0];if(!e)return e;var n="LEAAEL";e=e.replace(/\?/g,n);for(var o=1;o<=t.length;++o)e=e.replace(n,t[o]);return e}function arrayEqual(t,e){return t=t||[],e=e||[],t.join(",")==e.join(",")}function isArray(t){return"[object Array]"===Object.prototype.toString.call(t)}function isEmpty(t){return t?isArray(t)&&0==t.length?!0:!1:!0}function getFormJsonData(t){var e=formArrDataToJson($("#"+t).serializeArray());return e}function formArrDataToJson(t){var e={},n={};for(var o in t){var r=t[o].name,i=t[o].value;"[]"!=r.substring(r.length-2,r.length)?e[r]=i:(r=r.substring(0,r.length-2),void 0==n[r]?n[r]=[i]:n[r].push(i))}return $.extend(e,n)}function formSerializeDataToJson(t){for(var e=t.split("&"),n={},o={},r=0;r<e.length;++r){var i=e[r].split("="),a=decodeURI(i[0]),s=decodeURI(i[1]);"[]"!=a.substring(a.length-2,a.length)?n[a]=s:(a=a.substring(0,a.length-2),void 0==o[a]?o[a]=[s]:o[a].push(s))}return $.extend(n,o)}function _ajaxCallback(t,e,n){if(t===!0||"true"==t||"object"==typeof t){if(t&&"object"==typeof t&&"NOTLOGIN"==t.Msg)return void alert(getMsg("Please sign in firstly!"));"function"==typeof e&&e(t)}else"function"==typeof n?n(t):alert("error!")}function _ajax(t,e,n,o,r,i){return i="undefined"==typeof i?!0:!1,$.ajax({type:t,url:e,data:n,async:i,success:function(t){_ajaxCallback(t,o,r)},error:function(t){_ajaxCallback(t,o,r)}})}function ajaxGet(t,e,n,o,r){return _ajax("GET",t,e,n,o,r)}function ajaxPost(t,e,n,o,r){_ajax("POST",t,e,n,o,r)}function ajaxPostJson(t,e,n,o,r){r="undefined"==typeof r?!0:!1,$.ajax({url:t,type:"POST",contentType:"application/json; charset=utf-8",datatype:"json",async:r,data:JSON.stringify(e),success:function(t,e){_ajaxCallback(t,n,o)},error:function(t){_ajaxCallback(t,n,o)}})}function findParents(t,e){if($(t).is(e))return $(t);for(var n=$(t).parents(),o=0;o<n.length;++o)if(log(n.eq(o)),n.eq(o).is(e))return n.seq(o);return null}function getVendorPrefix(){for(var t=document.body||document.documentElement,e=t.style,n=["webkit","khtml","moz","ms","o"],o=0;o<n.length;){if("string"==typeof e[n[o]+"Transition"])return n[o];o++}}function switchEditor(t){LEA.isM=t,t?($("#mdEditor").css("z-index",3).show(),$("#leanoteNav").hide()):($("#editor").show(),$("#mdEditor").css("z-index",1).hide(),$("#leanoteNav").show())}function setEditorContent(t,e,n,o){if(t||(t=""),clearIntervalForSetContent&&clearInterval(clearIntervalForSetContent),e)MD?(MD.setContent(t),MD.clearUndo&&MD.clearUndo(),o&&o()):clearIntervalForSetContent=setTimeout(function(){setEditorContent(t,!0,!1,o)},100);else if("undefined"!=typeof tinymce&&tinymce.activeEditor){var r=tinymce.activeEditor;r.setContent(t),o&&o(),r.undoManager.clear()}else clearIntervalForSetContent=setTimeout(function(){setEditorContent(t,!1,!1,o)},100)}function previewIsEmpty(t){return t&&t.substr(0,previewToken.length)!=previewToken?!1:!0}function isAceError(t){return t?-1!=t.indexOf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"):!1}function getEditorContent(t){var e=_getEditorContent(t);return'<p><br data-mce-bogus="1"></p>'===e?"<p><br></p>":e}function _getEditorContent(t){if(t)return[MD.getContent(),"<div>"+$("#preview-contents").html()+"</div>"];var e=tinymce.activeEditor;if(e){var n=$(e.getBody()).clone();if(n.find(".toggle-raw").remove(),window.LeaAce&&LeaAce.getAce)for(var o=n.find("pre"),r=0;r<o.length;++r){var i=o.eq(r),a=i.attr("id"),s=LeaAce.getAce(a);if(s){var l=s.getValue();isAceError(l)&&(l=i.html()),l=l.replace(/</g,"&lt").replace(/>/g,"&gt"),i.removeAttr("style","").removeAttr("contenteditable").removeClass("ace_editor"),i.html(l)}}if(n.find("pinit").remove(),n.find(".thunderpin").remove(),n.find(".pin").parent().remove(),n=$(n).html())for(;;){var c=n.lastIndexOf("</script>");if(-1==c)return n;var u=n.length;if(u-9!=c)return n;var f=n.lastIndexOf("<script ");if(-1==f&&(f=n.lastIndexOf("<script>")),-1==f)return n;n=n.substring(0,f)}return n}}function disableEditor(){var t=tinymce.activeEditor;t&&(t.hide(),LEA.editorStatus=!1,$("#mceTollbarMark").show().css("z-index",1e3))}function enableEditor(){if(!LEA.editorStatus){$("#mceTollbarMark").css("z-index",-1).hide();var t=tinymce.activeEditor;t&&t.show()}}function showDialog(t,e){$("#leanoteDialog #modalTitle").html(e.title),$("#leanoteDialog .modal-body").html($("#"+t+" .modal-body").html()),$("#leanoteDialog .modal-footer").html($("#"+t+" .modal-footer").html()),delete e.title,e.show=!0,$("#leanoteDialog").modal(e)}function hideDialog(t){t||(t=0),setTimeout(function(){$("#leanoteDialog").modal("hide")},t)}function closeDialog(){$(".modal").modal("hide")}function showDialog2(t,e){e=e||{},e.show=!0,$(t).modal(e)}function hideDialog2(t,e){e||(e=0),setTimeout(function(){$(t).modal("hide")},e)}function showDialogRemote(t,e){e=e||{},t+="?";for(var n in e)t+=n+"="+e[n]+"&";$("#leanoteDialogRemLine truncated
Note.curNoteId="",Note.interval="",Note.itemIsBlog='<div class="item-blog"><i class="fa fa-bold" title="blog"></i></div><div class="item-setting"><i class="fa fa-cog" title="setting"></i></div>',Note.itemTplNoImg='<li href="#" class="item ?" data-seq="?" noteId="?">',Note.itemTplNoImg+=Note.itemIsBlog+'<div class="item-desc"><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.itemTpl='<li href="#" class="item ? item-image" data-seq="?" noteId="?"><div class="item-thumb" style=""><img src="?"/></div>',Note.itemTpl+=Note.itemIsBlog+'<div class="item-desc" style=""><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.newItemTpl='<li href="#" class="item item-active ?" data-seq="?" fromUserId="?" noteId="?">',Note.newItemTpl+=Note.itemIsBlog+'<div class="item-desc" style="right: 0px;"><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.noteItemListO=$("#noteItemList"),Note.cacheByNotebookId={all:{}},Note.notebookIds={},Note.isReadOnly=!1,Note.intervalTime=0,Note.intervalTime=1e4,Note.startInterval=function(){clearInterval(Note.interval),Note.interval=setInterval(function(){log("自动保存开始..."),Note.curChangedSaveIt()},Note.intervalTime)},Note.stopInterval=function(){clearInterval(Note.interval),setTimeout(function(){Note.startInterval()},Note.intervalTime)},Note.addNoteCache=function(t){Note.cache[t.NoteId]=t,Note.clearCacheByNotebookId(t.NotebookId)},Note.setNoteCache=function(t,e){Note.cache[t.NoteId]?$.extend(Note.cache[t.NoteId],t):Note.cache[t.NoteId]=t,void 0==e&&(e=!0),e&&Note.clearCacheByNotebookId(t.NotebookId)},Note.setCurNoteId=function(t){this.curNoteId=t},Note.clearCurNoteId=function(){this.curNoteId=null},Note.getCurNote=function(){var t=this;return""==t.curNoteId?null:t.cache[t.curNoteId]},Note.getNote=function(t){var e=this;return e.cache[t]},Note.clearCacheByNotebookId=function(t){t&&(Note.cacheByNotebookId[t]={},Note.cacheByNotebookId.all={},Note.notebookIds[t]=!0)},Note.notebookHasNotes=function(t){var e=Note.getNotesByNotebookId(t);return!isEmpty(e)},Note.getNotesByNotebookId=function(t,e,o){if(e||(e="UpdatedTime"),"undefined"==o&&(o=!1),t||(t="all"),!Note.cacheByNotebookId[t])return[];if(Note.cacheByNotebookId[t][e])return Note.cacheByNotebookId[t][e];var a=[];for(var n in Note.cache)if(n){var i=Note.cache[n];i.IsTrash||i.IsShared||("all"==t||i.NotebookId==t)&&a.push(i)}return a.sort(function(t,a){var n=t[e],i=a[e];if(o){if(i>n)return-1;if(n>i)return 1}else{if(i>n)return 1;if(n>i)return-1}return 0}),Note.cacheByNotebookId[t][e]=a,a},Note.renderNotesAndFirstOneContent=function(t){isArray(t)&&(Note.renderNotes(t),isEmpty(t[0])||Note.changeNoteForPjax(t[0].NoteId,!0,!1))},Note.curHasChanged=function(t){var e=Note.getCurNote();if(!e)return!1;var o=$("#noteTitle").val(),a=Tag.getTags(),n={hasChanged:!1,IsNew:e.IsNew,IsMarkdown:e.IsMarkdown,FromUserId:e.FromUserId,NoteId:e.NoteId,NotebookId:e.NotebookId};e.IsNew&&(n.hasChanged=!0),e.Title!=o&&(n.hasChanged=!0,n.Title=o),arrayEqual(e.Tags,a)||(n.hasChanged=!0,n.Tags=a.join(","));var i=!1;if((e.IsNew||t||!Note.readOnly)&&(i=!0),!n.hasChanged&&!i)return!1;if(!i)return n;var r,s,c=getEditorContent(e.IsMarkdown);if(isArray(c)?(r=c[0],s=c[1],r&&previewIsEmpty(s)&&Converter&&(s=Converter.makeHtml(r)),r||(s=""),e.Preview=s):r=c,e.Content!=r){n.hasChanged=!0,n.Content=r;var l=s||r;e.HasSelfDefined&&e.IsBlog||(n.Desc=Note.genDesc(l),n.ImgSrc=Note.getImgSrc(l),n.Abstract=Note.genAbstract(l))}else log("text相同");return n.hasChanged?n:!1},Note.genDesc=function(t){return t?(t=t.replace(/<br \/>/g," "),t=t.replace(/<\/p>/g," "),t=t.replace(/<\/div>/g," "),t=t.replace(/<\/?[^>]+(>|$)/g,""),t=$.trim(t),t=t.replace(/</g,"&lt;"),t=t.replace(/>/g,"&gt;"),t.length<300?t:t.substring(0,300)):""},Note.genAbstract=function(t,e){if(!t)return"";if(void 0==e&&(e=1e3),t.length<e)return t;for(var o=!1,a=!1,n=0,i="",r=e,s=0;s<t.length;++s){var c=t[s];if("<"==c?o=!0:"&"==c?a=!0:">"==c&&o?(n-=1,o=!1):";"==c&&a&&(a=!1),o||a||(n+=1),i+=c,n>=r)break}var l=document.createElement("div");return l.innerHTML=i,l.innerHTML},Note.getImgSrc=function(t){if(!t)return"";var e=$(t).find("img");for(var o in e){var a=e.eq(o).attr("src");if(a)return a}return""},Note.saveInProcess={},Note.savePool={},Note.curChangedSaveIt=function(t,e){var o=this;if(Note.curNoteId&&!Note.isReadOnly){var a;try{a=Note.curHasChanged(t)}catch(n){return void(e&&e(!1))}return a&&a.hasChanged?(log("需要保存..."),Note.renderChangedNote(a),delete a.hasChanged,showMsg(getMsg("saving")),o.saveInProcess[a.NoteId]=!0,Line truncated Note.curNoteId="",Note.interval="",Note.itemIsBlog='<div class="item-blog"><i class="fa fa-bold" title="blog"></i></div><div class="item-setting"><i class="fa fa-cog" title="setting"></i></div>',Note.itemTplNoImg='<li href="#" class="item ?" data-seq="?" noteId="?">',Note.itemTplNoImg+=Note.itemIsBlog+'<div class="item-desc"><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.itemTpl='<li href="#" class="item ? item-image" data-seq="?" noteId="?"><div class="item-thumb" style=""><img src="?"/></div>',Note.itemTpl+=Note.itemIsBlog+'<div class="item-desc" style=""><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.newItemTpl='<li href="#" class="item item-active ?" data-seq="?" fromUserId="?" noteId="?">',Note.newItemTpl+=Note.itemIsBlog+'<div class="item-desc" style="right: 0px;"><p class="item-title">?</p><p class="item-info"><i class="fa fa-book"></i> <span class="note-notebook">?</span> <i class="fa fa-clock-o"></i> <span class="updated-time">?</span></p><p class="desc">?</p></div></li>',Note.noteItemListO=$("#noteItemList"),Note.cacheByNotebookId={all:{}},Note.notebookIds={},Note.isReadOnly=!1,Note.intervalTime=0,Note.intervalTime=1e4,Note.startInterval=function(){clearInterval(Note.interval),Note.interval=setInterval(function(){log("自动保存开始..."),Note.curChangedSaveIt()},Note.intervalTime)},Note.stopInterval=function(){clearInterval(Note.interval),setTimeout(function(){Note.startInterval()},Note.intervalTime)},Note.addNoteCache=function(t){Note.cache[t.NoteId]=t,Note.clearCacheByNotebookId(t.NotebookId)},Note.setNoteCache=function(t,e){Note.cache[t.NoteId]?$.extend(Note.cache[t.NoteId],t):Note.cache[t.NoteId]=t,void 0==e&&(e=!0),e&&Note.clearCacheByNotebookId(t.NotebookId)},Note.setCurNoteId=function(t){this.curNoteId=t},Note.clearCurNoteId=function(){this.curNoteId=null},Note.getCurNote=function(){var t=this;return""==t.curNoteId?null:t.cache[t.curNoteId]},Note.getNote=function(t){var e=this;return e.cache[t]},Note.clearCacheByNotebookId=function(t){t&&(Note.cacheByNotebookId[t]={},Note.cacheByNotebookId.all={},Note.notebookIds[t]=!0)},Note.notebookHasNotes=function(t){var e=Note.getNotesByNotebookId(t);return!isEmpty(e)},Note.getNotesByNotebookId=function(t){var e=Note.getSorterAndOrder(),o=e.sortBy,a=e.isAsc;if(Note.listIsIn(),t||(t="all"),!Note.cacheByNotebookId[t])return[];if(Note.cacheByNotebookId[t][o]){if(Note.cacheByNotebookId[t][o][a])return Note.cacheByNotebookId[t][o][a];Note.cacheByNotebookId[t][o][!a].reverse();var n=Note.cacheByNotebookId[t][o][!a];return Note.cacheByNotebookId[t][o][!a]=null,Note.cacheByNotebookId[t][o][a]=n,n}var n=[];for(var i in Note.cache)if(i){var r=Note.cache[i];r&&(r.IsTrash||r.IsShared||("all"==t||r.NotebookId==t)&&n.push(r))}return Note.sortNotes(n),Note.cacheByNotebookId[t][o]={},Note.cacheByNotebookId[t][o][a]=n,n},Note.renderNotesAndFirstOneContent=function(t,e){isArray(t)&&(Note.renderNotes(t,!1,!1,e),isEmpty(t[0])||Note.changeNoteForPjax(t[0].NoteId,!0,!1))},Note.curHasChanged=function(t,e){var o=Note.getCurNote();if(!o)return!1;var a=$("#noteTitle").val(),n=Tag.getTags(),i={hasChanged:!1,IsNew:o.IsNew,IsMarkdown:o.IsMarkdown,FromUserId:o.FromUserId,NoteId:o.NoteId,NotebookId:o.NotebookId};o.IsNew&&(i.hasChanged=!0,i.title=a,LEA.topInfo&&(i.Src=LEA.topInfo.src)),o.Title!=a&&(i.hasChanged=!0,i.Title=a),arrayEqual(o.Tags,n)||(i.hasChanged=!0,i.Tags=n.join(","));var r=!1;if((o.IsNew||t||!Note.readOnly)&&(r=!0),!i.hasChanged&&!r)return!1;if(!r)return i;var s,c,l=getEditorContent(o.IsMarkdown);if(isArray(l)?(s=l[0],c=l[1],s&&previewIsEmpty(c)&&Converter&&(c=Converter.makeHtml(s)),s||(c=""),o.Preview=c):s=l,i.Src&&LEA.topInfo&&a===LEA.topInfo.title&&!i.Tags&&(!s||"<p><br></p>"==s)&&(!e||!e.ctrls))return!1;if(o.Content!=s){i.hasChanged=!0,i.Content=s;var d=c||s;o.HasSelfDefined&&o.IsBlog||(i.Desc=Note.genDesc(d),i.ImgSrc=Note.getImgSrc(d),i.Abstract=Note.genAbstract(d))}else log("text相同");return i.hasChanged?i:!1},Note.genDesc=function(t){return t?(t=t.replace(/<br \/>/g," "),t=t.replace(/<\/p>/g," "),t=t.replace(/<\/div>/g," "),t=t.replace(/<\/?[^>]+(>|$)/g,""),t=$.trim(t),t=t.replace(/</g,"&lt;"),t=t.replace(/>/g,"&gt;"),t.length<300?t:t.substring(0,300)):""},Note.genAbstract=function(t,e){if(!t)return"";if(void 0==e&&(e=1e3),t.length<e)return t;for(var o=!1,a=!1,n=0,i="",r=e,s=0;s<t.length;++s){var c=t[s];if("<"==c?o=!0:"&"==c?a=!0:">"==c&&o?(n-=1,o=!1):";"==c&&a&&(a=!1),o||a||(n+=1),i+=c,n>=r)break}var l=document.createElement("div");return l.innerHTML=i,l.innerHTML},Note.getImgSrc=function(t){if(!t)return"";var e=$(t).find("img");for(var o in e){var a=e.eq(o).attr("src");if(a)return a}return""},Note.saveInProcess=Line truncated
function editorMode(){this.writingHash="writing",this.normalHash="normal",this.isWritingMode=location.hash.indexOf(this.writingHash)>=0,this.toggleA=null}function initSlimScroll(){Mobile.isMobile()||($("#notebook").slimScroll({height:"100%"}),$("#noteItemList").slimScroll({height:"100%"}),$("#wmd-panel-preview").slimScroll({height:"100%"}),$("#wmd-panel-preview").css("width","100%"))}function initEditor(){$("#moreBtn").click(function(){saveBookmark();var e=$("#editor");e.hasClass("all-tool")?e.removeClass("all-tool"):e.addClass("all-tool"),restoreBookmark()}),tinymce.init({inline:!0,theme:"leanote",valid_children:"+pre[div|#text|p|span|textarea|i|b|strong]",setup:function(e){e.on("keydown",function(e){var t=e.which?e.which:e.keyCode;return!Note.readOnly||(e.ctrlKey||e.metaKey)&&67==t?void LeaAce.removeCurToggleRaw():void e.preventDefault()}),e.on("cut",function(e){return $(e.target).hasClass("ace_text-input")?void e.preventDefault():void 0})},convert_urls:!1,relative_urls:!0,remove_script_host:!1,selector:"#editorContent",skin:"custom",language:LEA.locale,plugins:["autolink link leaui_image leaui_mindmap lists hr","paste","searchreplace leanote_nav leanote_code tabfocus","table textcolor"],toolbar1:"formatselect | forecolor backcolor | bold italic underline strikethrough | leaui_image leaui_mindmap | leanote_code leanote_inline_code | bullist numlist | alignleft aligncenter alignright alignjustify",toolbar2:"outdent indent blockquote | link unlink | table | hr removeformat | subscript superscript |searchreplace | pastetext | leanote_ace_pre | fontselect fontsizeselect",menubar:!1,toolbar_items_size:"small",statusbar:!1,url_converter:!1,font_formats:"Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Times New Roman=times new roman,times;Courier New=courier new,courier;Tahoma=tahoma,arial,helvetica,sans-serif;Verdana=verdana,geneva;宋体=SimSun;新宋体=NSimSun;黑体=SimHei;微软雅黑=Microsoft YaHei",block_formats:"Header 1=h1;Header 2=h2;Header 3=h3;Header 4=h4;Paragraph=p",paste_data_images:!0}),window.onbeforeunload=function(e){LEA.isLogout||Note.curChangedSaveIt(!0)},$("body").on("keydown",function(e){var t=e.which?e.which:e.keyCode,o=e.ctrlKey||e.metaKey;if(o){if(83==t)return Note.curChangedSaveIt(),e.preventDefault(),!1;if(69==t)return Note.toggleWriteableAndReadOnly(),e.preventDefault(),!1}})}function scrollTo(e,t,o){var i=$("#editorContent"),n=i.find(t+":contains("+o+")");random++;for(var r=$('#leanoteNavContent [data-a="'+t+"-"+encodeURI(o)+'"]'),s=r.size(),a=0;s>a&&r[a]!=e;++a);if(n.size()>=a+1){n=n.eq(a);var l=i.scrollTop()-i.offset().top+n.offset().top;return void i.animate({scrollTop:l},300)}}function updateLeftIsMin(e){ajaxGet("/user/updateLeftIsMin",{leftIsMin:e})}function minLeft(e){$page.addClass("mini-left"),e&&updateLeftIsMin(!0)}function maxLeft(e){$page.removeClass("mini-left"),$("#noteAndEditor").css("left",UserInfo.NotebookWidth),$("#leftNotebook").width(UserInfo.NotebookWidth),e&&updateLeftIsMin(!1)}function getMaxDropdownHeight(e){var t=$(e).offset(),o=$(document).height()-t.top;o-=70,0>o&&(o=0);var i=$(e).find("ul").height();return o>i?i:o}function initPage(){if(Notebook.renderNotebooks(notebooks),Share.renderShareNotebooks(sharedUserInfos,shareNotebooks),curSharedNoteNotebookId?Share.firstRenderShareNote(curSharedUserId,curSharedNoteNotebookId,curNoteId):(Note.setNoteCache(noteContentJson),Note.renderNotes(notes),curNoteId&&(setTimeout(function(){Note.changeNoteForPjax(curNoteId,!0,curNotebookId)}),curNotebookId||Notebook.selectNotebook($(tt('#notebook [notebookId="?"]',Notebook.allNotebookId))))),latestNotes.length>0)for(var e=0;e<latestNotes.length;++e)Note.addNoteCache(latestNotes[e]);Tag.renderTagNav(tagsJson),initSlimScroll(),LeaAce.handleEvent()}editorMode.prototype.toggleAText=function(e){var t=this;setTimeout(function(){var o=$(".toggle-editor-mode a"),i=$(".toggle-editor-mode span");e?(o.attr("href","#"+t.normalHash),i.text(getMsg("normalMode"))):(o.attr("href","#"+t.writingHash),i.text(getMsg("writingMode")))},0)},editorMode.prototype.isWriting=function(e){return e||(e=location.hash),e.indexOf(this.writingHash)>=0},editorMode.prototype.init=function(){this.$themeLink=$("#themeLink"),this.changeMode(this.isWritingMode);var e=this;$(".toggle-editor-mode").click(function(t){t.preventDefault(),saveBookmark();var o=$(this).find("a"),i=e.isWriting(o.attr("href"));e.changeMode(i),i?setHash("m",e.writingHash):setHash("m",e.normalHash),restoreBookmark()})},editorMode.prototype.changeMode=function(e){this.toggleAText(e),e?this.writtingMode():this.normalMode()},editorMode.prototype.resizeEditor=function(){setTimeout(function(){resizeEditor()},10),setTimeout(function(){resizeEditor()},20),setTimeout(function(){resizeEditor()},500)},editorMode.prototype.normalMode=function(){$("#noteItemListWrap, #notesAndSort").show(),$("#noteList").unbind("mouseenter").unbind("mouseleave");var e=UserInfo.Theme||"default";e+=".css";$("#themeLink");-1!=this.$themeLink.attr("hrLine truncated }),$("#searchNoteInput").on("keydown",function(t){var e=t.keyCode||t.witch;return 13==e||108==e?(t.preventDefault(),Note.searchNote(),!1):void 0}),$("#saveBtn").click(function(){Note.curChangedSaveIt(!0)}),Note.$itemList.on("click",".item-blog",function(t){t.preventDefault(),t.stopPropagation(),$(document).click();var e=$(this).parent().attr("noteId"),o=Note.getNote(e);o&&window.open(Note.getPostUrl(o))}),Note.$itemList.on("click",".item-my .item-setting",function(t){t.preventDefault(),t.stopPropagation(),$(document).click();var e=$(this).parent();Note.contextmenu.showMenu(t,e)}),$(".toolbar-update").click(function(){Note.toggleWriteable()}),$("#editBtn").click(function(){Note.toggleWriteableAndReadOnly()}),$("#editorContent").on("click","a",function(t){if(Note.readOnly){var e=$(this).attr("href");if(e&&"#"==e[0])return;t.preventDefault(),window.open(e)}}),$("#preview-contents").on("click","a",function(t){var e=$(this).attr("href");e&&"#"==e[0]||(t.preventDefault(),window.open(e))});var t=localStorage.getItem("viewStyle");Note.toggleView(t),$(".view-style").click(function(t){Note.toggleView(t)}),$(".sorter-style").click(function(t){Note.setNotesSorter(t)})}),Note.startInterval();
function revertTagStatus(){$("#addTagTrigger").show(),$("#addTagInput").hide()}function hideTagList(a){$("#tagDropdown").removeClass("open"),a&&a.stopPropagation()}function showTagList(a){$("#tagDropdown").addClass("open"),a&&a.stopPropagation()}function reRenderTags(){var a=["label label-default","label label-info"],e=0;$("#tags").children().each(function(){var t=$(this).attr("class");("label label-default"==t||"label label-info"==t)&&($(this).removeClass(t).addClass(a[e%2]),e++)})}Tag.classes={"蓝色":"label label-blue","红色":"label label-red","绿色":"label label-green","黄色":"label label-yellow",blue:"label label-blue",red:"label label-red",green:"label label-green",yellow:"label label-yellow"},Tag.mapCn2En={"蓝色":"blue","红色":"red","绿色":"green","黄色":"yellow"},Tag.mapEn2Cn={blue:"蓝色",red:"红色",green:"绿色",yellow:"黄色"},Tag.t=$("#tags"),Tag.getTags=function(){var a=[];return Tag.t.children().each(function(){var e=$(this).data("tag");e=Tag.mapCn2En[e]||e,a.push(e)}),a},Tag.clearTags=function(){Tag.t.html("")},Tag.renderTags=function(a){if(Tag.t.html(""),!isEmpty(a))for(var e=0;e<a.length;++e){var t=a[e];Tag.appendTag(t)}},Tag.renderReadOnlyTags=function(a){function e(){return t?"label label-default":(t=!0,"label label-info")}$("#noteReadTags").html(""),(isEmpty(a)||1==a.length&&""==a[0])&&$("#noteReadTags").html(getMsg("noTag"));var t=!0;for(var t in a){var l=a[t];l=Tag.mapEn2Cn[l]||l;var n=Tag.classes[l];n||(n=e()),tag=tt('<span class="?">?</span>',n,trimTitle(l)),$("#noteReadTags").append(tag)}},Tag.appendTag=function(a,e){var t,l,n=!1;if("object"==typeof a){if(t=a.classes,l=a.text,!l)return}else{if(a=$.trim(a),l=a,!l)return;var t=Tag.classes[l];t?n=!0:t="label label-default"}var g=l;"zh"==LEA.locale&&(l=Tag.mapEn2Cn[l]||l,g=Tag.mapCn2En[g]||g),a=tt('<span class="?" data-tag="?">?<i title="'+getMsg("delete")+'">X</i></span>',t,l,l);var s=!1;$("#tags").children().each(function(){if(n){var e=$("<div></div>").append($(this).clone()).html();e==a&&($(this).remove(),s=!0)}else l+"X"==$(this).text()&&($(this).remove(),s=!0)}),$("#tags").append(a),hideTagList(),n||reRenderTags(),e&&(s||Note.curChangedSaveIt(!0,function(){ajaxPost("/tag/updateTag",{tag:g},function(a){reIsOk(a)&&Tag.addTagNav(a.Item)})}))},Tag.removeTag=function(a){var e=a.data("tag");a.remove(),reRenderTags(),"zh"==LEA.locale&&(e=Tag.mapCn2En[e]||e),Note.curChangedSaveIt(!0,function(){})},Tag.tags=[],Tag.renderTagNav=function(a){a=a||[],Tag.tags=a,$("#tagNav").html("");for(var e in a){var t=a[e],l=t.Tag,n=l;if("zh"==LEA.locale)var n=Tag.mapEn2Cn[l]||n;n=trimTitle(n);var g=Tag.classes[l]||"label label-default";$("#tagNav").append(tt('<li data-tag="?"><a> <span class="?">?</span> <span class="tag-delete">X</span></li>',l,g,n))}},Tag.deleteTag=function(a){for(var e=0;e<this.tags.length;++e){var t=this.tags[e];if(t.Tag==a){this.tags.splice(e,1);break}}},Tag.addTagNav=function(a){var e=this;for(var t in e.tags){var l=e.tags[t];if(l.Tag==a.Tag){e.tags.splice(t,1);break}}e.tags.unshift(a),e.renderTagNav(e.tags)},$(function(){function a(){$li=$(this).closest("li");var a=$.trim($li.data("tag"));confirm("Are you sure ?")&&ajaxPost("/tag/deleteTag",{tag:a},function(e){if(reIsOk(e)){var t=e.Item;Note.deleteNoteTag(t,a),$li.remove(),Tag.deleteTag(a)}})}function e(){var a=$(this).closest("li"),e=$.trim(a.data("tag"));Note.curChangedSaveIt(),Note.clearAll(),$("#tagSearch").html(a.html()).show(),$("#tagSearch .tag-delete").remove(),showLoading(),ajaxGet("/note/searchNoteByTags",{tags:[e]},function(a){hideLoading(),a&&(Note.renderNotes(a),isEmpty(a)||Note.changeNote(a[0].NoteId))})}$("#addTagTrigger").click(function(){$(this).hide(),$("#addTagInput").show().focus().val("")}),$("#addTagInput").click(function(a){showTagList(a)}),$("#addTagInput").blur(function(){var a=$(this).val();a&&Tag.appendTag(a,!0)}),$("#addTagInput").keydown(function(a){13==a.keyCode&&(hideTagList(),$("#addTagInput").val()?($(this).trigger("blur"),$("#addTagTrigger").trigger("click")):$(this).trigger("blur"))}),$("#tagColor li").click(function(a){var e;e=$(this).attr("role")?$(this).find("span"):$(this),Tag.appendTag({classes:e.attr("class"),text:e.text()},!0)}),$("#tags").on("click","i",function(){Tag.removeTag($(this).parent())}),$("#myTag .folderBody").on("click","li .label",e),$("#myTag .folderBody").on("click","li .tag-delete",a)}); function sendLog(e,t){e&&(t||(t=""),ajaxGet("/index/log",{key:e,value:t}))}function editorMode(){this.writingHash="writing",this.normalHash="normal",this.isWritingMode=location.hash.indexOf(this.writingHash)>=0,this.toggleA=null}function initSlimScroll(){Mobile.isMobile()||($("#notebook").slimScroll({height:"100%"}),$("#noteItemList").slimScroll({height:"100%"}),$("#wmd-panel-preview").slimScroll({height:"100%"}),$("#wmd-panel-preview").css("width","100%"))}function initEditor(){$("#moreBtn").click(function(){saveBookmark();var e=$("#editor");e.hasClass("all-tool")?e.removeClass("all-tool"):e.addClass("all-tool"),restoreBookmark()}),tinymce.init({inline:!0,theme:"leanote",valid_children:"+pre[div|#text|p|span|textarea|i|b|strong]",setup:function(e){e.on("keydown",function(e){var t=e.which?e.which:e.keyCode;return!Note.readOnly||(e.ctrlKey||e.metaKey)&&67==t?void LeaAce.removeCurToggleRaw():void e.preventDefault()}),e.on("cut",function(e){return $(e.target).hasClass("ace_text-input")?void e.preventDefault():void 0})},convert_urls:!1,relative_urls:!0,remove_script_host:!1,selector:"#editorContent",skin:"custom",language:LEA.locale,plugins:["autolink link leaui_image leaui_mindmap lists hr","paste","searchreplace leanote_nav leanote_code tabfocus","table textcolor"],toolbar1:"formatselect | forecolor backcolor | bold italic underline strikethrough | leaui_image leaui_mindmap | leanote_code leanote_inline_code | bullist numlist | alignleft aligncenter alignright alignjustify",toolbar2:"outdent indent blockquote | link unlink | table | hr removeformat | subscript superscript |searchreplace | pastetext | leanote_ace_pre | fontselect fontsizeselect",menubar:!1,toolbar_items_size:"small",statusbar:!1,url_converter:!1,font_formats:"Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Times New Roman=times new roman,times;Courier New=courier new,courier;Tahoma=tahoma,arial,helvetica,sans-serif;Verdana=verdana,geneva;宋体=SimSun;新宋体=NSimSun;黑体=SimHei;微软雅黑=Microsoft YaHei",block_formats:"Header 1=h1;Header 2=h2;Header 3=h3;Header 4=h4;Paragraph=p",paste_data_images:!0}),window.onbeforeunload=function(e){LEA.isLogout||Note.curChangedSaveIt(!0,null,{refresh:!0})},$("body").on("keydown",function(e){var t=e.which?e.which:e.keyCode,o=e.ctrlKey||e.metaKey;if(o){if(83==t)return Note.curChangedSaveIt(!0,null,{ctrls:!0}),e.preventDefault(),!1;if(69==t)return Note.toggleWriteableAndReadOnly(),e.preventDefault(),!1}})}function scrollTo(e,t,o){var i=$("#editorContent"),n=i.find(t+":contains("+o+")");random++;for(var r=$('#leanoteNavContent [data-a="'+t+"-"+encodeURI(o)+'"]'),a=r.size(),s=0;a>s&&r[s]!=e;++s);if(n.size()>=s+1){n=n.eq(s);var l=i.scrollTop()-i.offset().top+n.offset().top;return void i.animate({scrollTop:l},300)}}function hideMask(){$("#mainMask").html(""),$("#mainMask").hide(100)}function updateLeftIsMin(e){ajaxGet("/user/updateLeftIsMin",{leftIsMin:e})}function minLeft(e){$page.addClass("mini-left"),e&&updateLeftIsMin(!0)}function maxLeft(e){$page.removeClass("mini-left"),$("#noteAndEditor").css("left",UserInfo.NotebookWidth),$("#leftNotebook").width(UserInfo.NotebookWidth),e&&updateLeftIsMin(!1)}function getMaxDropdownHeight(e){var t=$(e).offset(),o=$(document).height()-t.top;o-=70,0>o&&(o=0);var i=$(e).find("ul").height();return o>i?i:o}function initLeanoteIfrPlugin(){self!=window.parent&&(LEA.topInfo={},window.addEventListener("message",function(e){console.log("child 收到消息: "),console.log(e.data),LEA.topInfo=e.data||{},LEA.topInfo.got=!0},!1),window.parent.postMessage&&window.parent.postMessage("leanote","*"))}function getNoteBySrc(e,t){ajaxGet("/note/getNoteAndContentBySrc",{src:e},function(e){if(e&&e.Ok){var o=e.Item;if(o){var i=o.NoteInfo,n=o.NoteContentInfo;for(var r in n)i[r]=n[r];t(i)}else t()}else t()})}function getTopInfoSrc(e){return LEA.topInfo.got?e(LEA.topInfo.src):(new Date).getTime()-_topInfoStart>2e3?e():void setTimeout(function(){getTopInfoSrc(e)},10)}function initPage(){initLeanoteIfrPlugin(),LEA.topInfo?getTopInfoSrc(function(e){e?getNoteBySrc(e,function(e){_initPage(e,!0)}):_initPage(!1,!0)}):_initPage()}function _initPage(e,t){if(e?(curNoteId=e.NoteId,curNotebookId=e.NotebookId,noteContentJson=e):t&&(curNoteId=null),Notebook.renderNotebooks(notebooks),Share.renderShareNotebooks(sharedUserInfos,shareNotebooks),curSharedNoteNotebookId)Share.firstRenderShareNote(curSharedUserId,curSharedNoteNotebookId,curNoteId);else{Note.setNoteCache(noteContentJson);var o=!1;if(t&&e&&notes){for(var i=0;i<notes.length;++i){var n=notes[i];if(n.NoteId===e.NoteId){o=!0,notes.splice(i,1),notes.unshift(e);break}}o||notes.unshift(e)}Note.renderNotes(notes),curNoteId&&(setTimeout(function(){Note.changeNoteForPjax(curNoteId,!0,curNotebookId),t&&(Note.toggleWriteable(),setTimeout(function(){Note.toggleWriteable()},100),setTimeout(function(){Note.toggleWriteable()},1e3))}),curNotebookId||Notebook.selectNotebook($(tt('#notebook [notebookId="?"]',Notebook.allNotebookId))))}if(latesLine truncated
Notebook.curNotebookId="",Notebook.cache={},Notebook.notebooks=[],Notebook.notebookNavForListNote="",Notebook.notebookNavForNewNote="",Notebook.setCache=function(o){var e=o.NotebookId;e&&(Notebook.cache[e]||(Notebook.cache[e]={}),$.extend(Notebook.cache[e],o))},Notebook.getCurNotebookId=function(){return Notebook.curNotebookId},Notebook.getCurNotebook=function(){return Notebook.cache[Notebook.curNotebookId]},Notebook._updateNotebookNumberNotes=function(o,e){var t=this,N=t.getNotebook(o);N&&(N.NumberNotes+=e,N.NumberNotes<0&&(N.NumberNotes=0),$("#numberNotes_"+o).html(N.NumberNotes))},Notebook.incrNotebookNumberNotes=function(o){var e=this;e._updateNotebookNumberNotes(o,1)},Notebook.minusNotebookNumberNotes=function(o){var e=this;e._updateNotebookNumberNotes(o,-1)},Notebook.getNotebook=function(o){return Notebook.cache[o]},Notebook.getNotebookTitle=function(o){var e=Notebook.cache[o];return e?e.Title:"未知"},Notebook.getTreeSetting=function(o,e){function t(o,t){var N=5,n=$("#"+o+" #"+t.tId+"_switch"),a=$("#"+o+" #"+t.tId+"_ico");if(n.remove(),a.before(n),e?Share.isDefaultNotebookId(t.NotebookId)||a.after($('<span class="fa notebook-setting" title="setting"></span>')):Notebook.isAllNotebookId(t.NotebookId)||Notebook.isTrashNotebookId(t.NotebookId)||(a.after($('<span class="notebook-number-notes" id="numberNotes_'+t.NotebookId+'">'+(t.NumberNotes||0)+"</span>")),a.after($('<span class="fa notebook-setting" title="setting"></span>'))),t.level>1){var r="<span style='display: inline-block;width:"+N*t.level+"px'></span>";n.before(r)}}function N(o,e){for(var t=0,N=e.length;N>t;t++)if(e[t].drag===!1)return!1;return!0}function n(o,e,t,N){return t?t.drop!==!1:!0}function a(o,e,t,N,n){function a(o){return o.level==d}var r=t[0];if(N){var i,k=b.tree,s={curNotebookId:r.NotebookId};if(i="inner"==n?N:N.getParentNode()){s.parentNotebookId=i.NotebookId;var d=i.level+1,c=k.getNodesByFilter(a,!1,i)}else var c=k.getNodes();s.siblings=[];for(var l in c){var h=c[l].NotebookId;Notebook.isAllNotebookId(h)||Notebook.isTrashNotebookId(h)||s.siblings.push(h)}ajaxPost("/notebook/dragNotebooks",{data:JSON.stringify(s)}),setTimeout(function(){Notebook.changeNav()},100)}}var r=!o,b=this;if(e)var i=function(o,e,t){var N=t.NotebookId,n=$(o.target).closest(".friend-notebooks").attr("fromUserId");Share.changeNotebook(n,N)},k=null;else var i=function(o,e,t){var N=t.NotebookId;Notebook.changeNotebook(N)},k=function(o){var e=$(o.target).attr("notebookId");Notebook.isAllNotebookId(e)||Notebook.isTrashNotebookId(e)||b.updateNotebookTitle(o.target)};var s={view:{showLine:!1,showIcon:!1,selectedMulti:!1,dblClickExpand:!1,addDiyDom:t},data:{key:{name:"Title",children:"Subs"}},edit:{enable:!0,showRemoveBtn:!1,showRenameBtn:!1,drag:{isMove:r,prev:r,inner:r,next:r}},callback:{beforeDrag:N,beforeDrop:n,onDrop:a,onClick:i,onDblClick:k,beforeRename:function(o,e,t,N){if(""==t)return e.IsNew?(b.tree.removeNode(e),!0):!1;if(e.Title==t)return!0;if(e.IsNew){var n=e.getParentNode(),a=n?n.NotebookId:"";b.doAddNotebook(e.NotebookId,t,a)}else b.doUpdateNotebookTitle(e.NotebookId,t);return!0}}};return s},Notebook.allNotebookId="0",Notebook.trashNotebookId="-1",Notebook.curNotebookIsTrashOrAll=function(){return Notebook.curNotebookId==Notebook.trashNotebookId||Notebook.curNotebookId==Notebook.allNotebookId},Notebook.renderNotebooks=function(o){var e=this;(!o||"object"!=typeof o||o.length<0)&&(o=[]);for(var t=0,N=o.length;N>t;++t){var n=o[t];n.Title=trimTitle(n.Title)}o=[{NotebookId:Notebook.allNotebookId,Title:getMsg("all"),drop:!1,drag:!1}].concat(o),o.push({NotebookId:Notebook.trashNotebookId,Title:getMsg("trash"),drop:!1,drag:!1}),Notebook.notebooks=o,e.tree=$.fn.zTree.init($("#notebookList"),e.getTreeSetting(),o);var a=$("#notebookList");a.hover(function(){$(this).hasClass("showIcon")||$(this).addClass("showIcon")},function(){$(this).removeClass("showIcon")}),isEmpty(o)||(Notebook.curNotebookId=o[0].NotebookId,e.cacheAllNotebooks(o)),Notebook.renderNav(),Notebook.changeNotebookNavForNewNote(o[0].NotebookId)},Notebook.cacheAllNotebooks=function(o){var e=this;for(var t in o){var N=o[t];Notebook.cache[N.NotebookId]=N,isEmpty(N.Subs)||e.cacheAllNotebooks(N.Subs)}},Notebook.expandNotebookTo=function(o,e){var t=this,N=!1,n=t.tree;if(e&&(n=Share.trees[e]),n){var a=n.getNodeByTId(o);if(a)for(;;){var r=a.getParentNode();if(!r){N||Notebook.changeNotebookNav(o);break}n.expandNode(r,!0),N||(Notebook.changeNotebookNav(o),N=!0),a=r}}},Notebook.renderNav=function(o){var e=this;e.changeNav()},Notebook.searchNotebookForAddNote=function(o){var e=this;if(o){var t=e.tree.getNodesByParamFuzzy("Title",o);t=t||[];var N=[];for(var n in t){var a=t[n].NotebookId;e.isAllNotebookId(a)||e.isTrashNotebookId(a)||N.push(t[n])}isEmpty(N)?$("#notebookNavForNewNote").html(""):$("#notebookNavForNewNote").html(e.getChangedNotebooks(N))}else $("#notebookNavForNewNote").html(e.everNavForNewNote)},Notebook.searchNotebookForList=function(o){var e=this,t=$("#notebookListForSearch"),N=$("#notebookList")Line truncated function revertTagStatus(){$("#addTagTrigger").show(),$("#addTagInput").hide()}function hideTagList(a){$("#tagDropdown").removeClass("open"),a&&a.stopPropagation()}function showTagList(a){$("#tagDropdown").addClass("open"),a&&a.stopPropagation()}function reRenderTags(){var a=["label label-default","label label-info"],e=0;$("#tags").children().each(function(){var t=$(this).attr("class");("label label-default"==t||"label label-info"==t)&&($(this).removeClass(t).addClass(a[e%2]),e++)})}Tag.classes={"蓝色":"label label-blue","红色":"label label-red","绿色":"label label-green","黄色":"label label-yellow",blue:"label label-blue",red:"label label-red",green:"label label-green",yellow:"label label-yellow"},Tag.mapCn2En={"蓝色":"blue","红色":"red","绿色":"green","黄色":"yellow"},Tag.mapEn2Cn={blue:"蓝色",red:"红色",green:"绿色",yellow:"黄色"},Tag.t=$("#tags"),Tag.getTags=function(){var a=[];return Tag.t.children().each(function(){var e=$(this).data("tag");e=Tag.mapCn2En[e]||e,a.push(e)}),a},Tag.clearTags=function(){Tag.t.html("")},Tag.renderTags=function(a){if(Tag.t.html(""),!isEmpty(a))for(var e=0;e<a.length;++e){var t=a[e];Tag.appendTag(t)}},Tag.renderReadOnlyTags=function(a){function e(){return t?"label label-default":(t=!0,"label label-info")}$("#noteReadTags").html(""),(isEmpty(a)||1==a.length&&""==a[0])&&$("#noteReadTags").html(getMsg("noTag"));var t=!0;for(var t in a){var l=a[t];l=Tag.mapEn2Cn[l]||l;var n=Tag.classes[l];n||(n=e()),tag=tt('<span class="?">?</span>',n,trimTitle(l)),$("#noteReadTags").append(tag)}},Tag.appendTag=function(a,e){var t,l,n=!1;if("object"==typeof a){if(t=a.classes,l=a.text,!l)return}else{if(a=$.trim(a),l=a,!l)return;var t=Tag.classes[l];t?n=!0:t="label label-default"}var g=l;"zh"==LEA.locale&&(l=Tag.mapEn2Cn[l]||l,g=Tag.mapCn2En[g]||g),a=tt('<span class="?" data-tag="?">?<i title="'+getMsg("delete")+'">X</i></span>',t,l,l);var s=!1;$("#tags").children().each(function(){if(n){var e=$("<div></div>").append($(this).clone()).html();e==a&&($(this).remove(),s=!0)}else l+"X"==$(this).text()&&($(this).remove(),s=!0)}),$("#tags").append(a),hideTagList(),n||reRenderTags(),e&&(s||Note.curChangedSaveIt(!0,function(){ajaxPost("/tag/updateTag",{tag:g},function(a){reIsOk(a)&&Tag.addTagNav(a.Item)})}))},Tag.removeTag=function(a){var e=a.data("tag");a.remove(),reRenderTags(),"zh"==LEA.locale&&(e=Tag.mapCn2En[e]||e),Note.curChangedSaveIt(!0,function(){})},Tag.tags=[],Tag.renderTagNav=function(a){a=a||[],Tag.tags=a,$("#tagNav").html("");for(var e in a){var t=a[e],l=t.Tag,n=l;if("zh"==LEA.locale)var n=Tag.mapEn2Cn[l]||n;if(n=trimTitle(n)){var g=Tag.classes[l]||"label label-default";$("#tagNav").append(tt('<li data-tag="?"><a> <span class="?">?</span> <span class="tag-delete">X</span></li>',l,g,n))}}},Tag.deleteTag=function(a){for(var e=0;e<this.tags.length;++e){var t=this.tags[e];if(t.Tag==a){this.tags.splice(e,1);break}}},Tag.addTagNav=function(a){var e=this;for(var t in e.tags){var l=e.tags[t];if(l.Tag==a.Tag){e.tags.splice(t,1);break}}e.tags.unshift(a),e.renderTagNav(e.tags)},$(function(){function a(){$li=$(this).closest("li");var a=$.trim($li.data("tag"));confirm("Are you sure ?")&&ajaxPost("/tag/deleteTag",{tag:a},function(e){if(reIsOk(e)){var t=e.Item;Note.deleteNoteTag(t,a),$li.remove(),Tag.deleteTag(a)}})}function e(){var a=$(this).closest("li"),e=$.trim(a.data("tag"));Note.curChangedSaveIt(),Note.clearAll(),$("#tagSearch").html(a.html()).show(),$("#tagSearch .tag-delete").remove(),Note.listIsIn(!0,!1),showLoading(),ajaxGet("/note/searchNoteByTags",{tags:[e]},function(a){hideLoading(),a&&(Note.renderNotes(a),isEmpty(a)||Note.changeNote(a[0].NoteId))})}$("#addTagTrigger").click(function(){$(this).hide(),$("#addTagInput").show().focus().val("")}),$("#addTagInput").click(function(a){showTagList(a)}),$("#addTagInput").blur(function(){var a=$(this).val();a&&Tag.appendTag(a,!0)}),$("#addTagInput").keydown(function(a){13==a.keyCode&&(hideTagList(),$("#addTagInput").val()?($(this).trigger("blur"),$("#addTagTrigger").trigger("click")):$(this).trigger("blur"))}),$("#tagColor li").click(function(a){var e;e=$(this).attr("role")?$(this).find("span"):$(this),Tag.appendTag({classes:e.attr("class"),text:e.text()},!0)}),$("#tags").on("click","i",function(){Tag.removeTag($(this).parent())}),$("#myTag .folderBody").on("click","li .label",e),$("#myTag .folderBody").on("click","li .tag-delete",a)});
function addShareNoteOrNotebook(e){var t="#tr"+e,o=Share.dialogNoteOrNotebookId,r=isEmailFromInput(t+" #friendsEmail","#shareMsg",getMsg("inputFriendEmail"));if(r){var a=$(t+' input[name="perm'+e+'"]:checked').val()||0,n=a,s="/share/addShareNote",i={noteId:o,emails:[r],perm:a};Share.dialogIsNote||(s="/share/addShareNotebook",i={notebookId:o,emails:[r],perm:a}),hideAlert("#shareMsg"),post(s,i,function(e){var e=e[r];if(e)if(e.Ok){var a=tt("<td>?</td>","#");a+=tt("<td>?</td>",r),a+=tt('<td><a href="#" noteOrNotebookId="?" perm="?" toUserId="?" title="'+getMsg("clickToChangePermission")+'" class="btn btn-default change-perm">?</a></td>',o,n,e.Id,n&&"0"!=n?getMsg("writable"):getMsg("readOnly")),a+=tt('<td><a href="#" noteOrNotebookId="?" toUserId="?" class="btn btn-warning delete-share">'+getMsg("delete")+"</a></td>",o,e.Id),$(t).html(a)}else{var s=UrlPrefix+"/register?iu="+UserInfo.Username;showAlert("#shareMsg",getMsg("friendNotExits",[getMsg("app"),'<input style="background: none;border: 1px solid #ccc;width: 300px;padding: 3px;border-radius: 3px;outline: none;" onclick="$(this).focus().select()" type="text" value="'+s+'" />'])+"</a> <br /> "+getMsg("sendInviteEmailToYourFriend")+', <a href="#" onclick="sendRegisterEmail(\''+r+"')\">"+getMsg("send"),"warning")}},t+" .btn-success")}}function sendRegisterEmail(e){showDialog2("#sendRegisterEmailDialog",{postShow:function(){$("#emailContent").val(getMsg("inviteEmailBody",[UserInfo.Username,getMsg("app")])),setTimeout(function(){$("#emailContent").focus()},500),$("#toEmail").val(e)}})}function deleteShareNoteOrNotebook(e){$("#tr"+e).remove()}Share.defaultNotebookId="share0",Share.defaultNotebookTitle=getMsg("defaultShare"),Share.sharedUserInfos={},Share.userNavs={},Share.notebookCache={},Share.cache={},Share.dialogIsNote=!0,Share.setCache=function(e){e&&e.NoteId&&(Share.cache[e.NoteId]=e)},Share.getNotebooksForNew=function(e,t){for(var o=this,r="",a=t.length,n=0;a>n;++n){var s=t[n];s.IsShared=!0,s.UserId=e,o.notebookCache[s.NotebookId]=s,Notebook.cache[s.NotebookId]=s;var i="",d=!1;if(!isEmpty(s.Subs)){log(11),log(s.Subs);var d=o.getNotebooksForNew(e,s.Subs);d&&(i="dropdown-submenu")}var h="";if(s.Perm){var h=tt('<li role="presentation" class="clearfix ?" userId="?" notebookId="?"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left">M</div>',i,e,s.NotebookId,s.Title);d&&(h+="<ul class='dropdown-menu'>",h+=d,h+="</ul>"),h+="</li>"}r+=h}return r},Share.trees={},Share.renderShareNotebooks=function(e,t){function o(e){}function r(){var e=$(this).attr("notebookId");return!Share.isDefaultNotebookId(e)}var a=Share;if(!isEmpty(e)){(!t||"object"!=typeof t||t.length<0)&&(t={});var n=$("#shareNotebooks");for(var s in e){var i=e[s],d=t[i.UserId]||[];userNotebooks=[{NotebookId:a.defaultNotebookId,Title:Share.defaultNotebookTitle}].concat(d),a.notebookCache[a.defaultNotebookId]=userNotebooks[0];var h=i.Username||i.Email;i.Username=h,Share.sharedUserInfos[i.UserId]=i;var l=i.UserId,c=tt('<li class="each-user"><div class="friend-header" fromUserId="?"><i class="fa fa-angle-down"></i><span>?</span> <span class="fa notebook-setting" title="setting"></span> </div>',i.UserId,h),N="friendContainer_"+l,u='<ul class="friend-notebooks ztree" id="'+N+'" fromUserId="'+l+'"></ul>';n.append(c+u+"</li>"),a.trees[l]=$.fn.zTree.init($("#"+N),Notebook.getTreeSetting(!0,!0),userNotebooks),a.userNavs[l]={forNew:a.getNotebooksForNew(l,d)},log(a.userNavs)}$(".friend-notebooks").hover(function(){$(this).hasClass("showIcon")||$(this).addClass("showIcon")},function(){$(this).removeClass("showIcon")}),$(".friend-header i").click(function(){var e=$(this),t=$(this).parent().next();t.is(":hidden")?(t.slideDown("fast"),e.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-down")):(t.slideUp("fast"),e.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-right"))});var f={width:180,items:[{text:getMsg("deleteSharedNotebook"),icon:"",faIcon:"fa-trash-o",action:Share.deleteShareNotebook}],onShow:o,onContextMenu:r,parent:"#shareNotebooks",children:".notebook-item"},b=$("#shareNotebooks").contextmenu(f),k={width:180,items:[{text:getMsg("deleteAllShared"),icon:"",faIcon:"fa-trash-o",action:Share.deleteUserShareNoteAndNotebook}],parent:"#shareNotebooks",children:".friend-header"},g=$("#shareNotebooks").contextmenu(k);$(".friend-header").on("click",".notebook-setting",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).parent();g.showMenu(e,t)}),$("#shareNotebooks .notebook-item").on("click",".notebook-setting",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).parent();b.showMenu(e,t)})}},Share.isDefaultNotebookId=function(e){return Share.defaultNotebookId==e},Share.toggleToSharedNav=function(e,t){$("#curNotebookForListNote").html(Share.notebookCache[t].Title+"("+Share.sharedUserInfos[e].Username+")");var o=Share.userNavs[e].forNew;if(o){$("#notebookNaLine truncated Notebook.curNotebookId="",Notebook.cache={},Notebook.notebooks=[],Notebook.notebookNavForListNote="",Notebook.notebookNavForNewNote="",Notebook.setCache=function(o){var e=o.NotebookId;e&&(Notebook.cache[e]||(Notebook.cache[e]={}),$.extend(Notebook.cache[e],o))},Notebook.getCurNotebookId=function(){return Notebook.curNotebookId},Notebook.getCurNotebook=function(){return Notebook.cache[Notebook.curNotebookId]},Notebook._updateNotebookNumberNotes=function(o,e){var t=this,N=t.getNotebook(o);N&&(N.NumberNotes+=e,N.NumberNotes<0&&(N.NumberNotes=0),$("#numberNotes_"+o).html(N.NumberNotes))},Notebook.incrNotebookNumberNotes=function(o){var e=this;e._updateNotebookNumberNotes(o,1)},Notebook.minusNotebookNumberNotes=function(o){var e=this;e._updateNotebookNumberNotes(o,-1)},Notebook.getNotebook=function(o){return Notebook.cache[o]},Notebook.getNotebookTitle=function(o){var e=Notebook.cache[o];return e?e.Title:"未知"},Notebook.getTreeSetting=function(o,e){function t(o,t){var N=5,a=$("#"+o+" #"+t.tId+"_switch"),n=$("#"+o+" #"+t.tId+"_ico");if(a.remove(),n.before(a),e?Share.isDefaultNotebookId(t.NotebookId)||n.after($('<span class="fa notebook-setting" title="setting"></span>')):Notebook.isAllNotebookId(t.NotebookId)||Notebook.isTrashNotebookId(t.NotebookId)||(n.after($('<span class="notebook-number-notes" id="numberNotes_'+t.NotebookId+'">'+(t.NumberNotes||0)+"</span>")),n.after($('<span class="fa notebook-setting" title="setting"></span>'))),t.level>1){var r="<span style='display: inline-block;width:"+N*t.level+"px'></span>";a.before(r)}}function N(o,e){for(var t=0,N=e.length;N>t;t++)if(e[t].drag===!1)return!1;return!0}function a(o,e,t,N){return t?t.drop!==!1:!0}function n(o,e,t,N,a){function n(o){return o.level==d}var r=t[0];if(N){var k,i=b.tree,s={curNotebookId:r.NotebookId};if(k="inner"==a?N:N.getParentNode()){s.parentNotebookId=k.NotebookId;var d=k.level+1,c=i.getNodesByFilter(n,!1,k)}else var c=i.getNodes();s.siblings=[];for(var l in c){var h=c[l].NotebookId;Notebook.isAllNotebookId(h)||Notebook.isTrashNotebookId(h)||s.siblings.push(h)}ajaxPost("/notebook/dragNotebooks",{data:JSON.stringify(s)}),setTimeout(function(){Notebook.changeNav()},100)}}var r=!o,b=this;if(e)var k=function(o,e,t){var N=t.NotebookId,a=$(o.target).closest(".friend-notebooks").attr("fromUserId");Share.changeNotebook(a,N)},i=null;else var k=function(o,e,t){var N=t.NotebookId;Notebook.changeNotebook(N)},i=function(o){var e=$(o.target).attr("notebookId");Notebook.isAllNotebookId(e)||Notebook.isTrashNotebookId(e)||b.updateNotebookTitle(o.target)};var s={view:{showLine:!1,showIcon:!1,selectedMulti:!1,dblClickExpand:!1,addDiyDom:t},data:{key:{name:"Title",children:"Subs"}},edit:{enable:!0,showRemoveBtn:!1,showRenameBtn:!1,drag:{isMove:r,prev:r,inner:r,next:r}},callback:{beforeDrag:N,beforeDrop:a,onDrop:n,onClick:k,onDblClick:i,beforeRename:function(o,e,t,N){if(""==t)return e.IsNew?(b.tree.removeNode(e),!0):!1;if(e.Title==t)return!0;if(e.IsNew){var a=e.getParentNode(),n=a?a.NotebookId:"";b.doAddNotebook(e.NotebookId,t,n)}else b.doUpdateNotebookTitle(e.NotebookId,t);return!0}}};return s},Notebook.allNotebookId="0",Notebook.trashNotebookId="-1",Notebook.curNotebookIsTrashOrAll=function(){return Notebook.curNotebookId==Notebook.trashNotebookId||Notebook.curNotebookId==Notebook.allNotebookId},Notebook.renderNotebooks=function(o){var e=this;(!o||"object"!=typeof o||o.length<0)&&(o=[]);for(var t=0,N=o.length;N>t;++t){var a=o[t];a.Title=trimTitle(a.Title)}o=[{NotebookId:Notebook.allNotebookId,Title:getMsg("all"),drop:!1,drag:!1}].concat(o),o.push({NotebookId:Notebook.trashNotebookId,Title:getMsg("trash"),drop:!1,drag:!1}),Notebook.notebooks=o,e.tree=$.fn.zTree.init($("#notebookList"),e.getTreeSetting(),o);var n=$("#notebookList");n.hover(function(){$(this).hasClass("showIcon")||$(this).addClass("showIcon")},function(){$(this).removeClass("showIcon")}),isEmpty(o)||(Notebook.curNotebookId=o[0].NotebookId,e.cacheAllNotebooks(o)),Notebook.renderNav(),Notebook.changeNotebookNavForNewNote(o[0].NotebookId)},Notebook.cacheAllNotebooks=function(o){var e=this;for(var t in o){var N=o[t];Notebook.cache[N.NotebookId]=N,isEmpty(N.Subs)||e.cacheAllNotebooks(N.Subs)}},Notebook.expandNotebookTo=function(o,e){var t=this,N=!1,a=t.tree;if(e&&(a=Share.trees[e]),a){var n=a.getNodeByTId(o);if(n)for(;;){var r=n.getParentNode();if(!r){N||Notebook.changeNotebookNav(o);break}a.expandNode(r,!0),N||(Notebook.changeNotebookNav(o),N=!0),n=r}}},Notebook.renderNav=function(o){var e=this;e.changeNav()},Notebook.searchNotebookForAddNote=function(o){var e=this;if(o){var t=e.tree.getNodesByParamFuzzy("Title",o);t=t||[];var N=[];for(var a in t){var n=t[a].NotebookId;e.isAllNotebookId(n)||e.isTrashNotebookId(n)||N.push(t[a])}isEmpty(N)?$("#notebookNavForNewNote").html(""):$("#notebookNavForNewNote").html(e.getChangedNotebooks(N))}else $("#notebookNavForNewNote").html(e.everNavForNewNote)},Notebook.searchNotebookForList=function(o){var e=this,t=$("#notebookListForSearch"),N=$("#notebookList")Line truncated
function addShareNoteOrNotebook(e){var t="#tr"+e,o=Share.dialogNoteOrNotebookId,r=isEmailFromInput(t+" #friendsEmail","#shareMsg",getMsg("inputFriendEmail"));if(r){var a=$(t+' input[name="perm'+e+'"]:checked').val()||0,n=a,s="/share/addShareNote",i={noteId:o,emails:[r],perm:a};Share.dialogIsNote||(s="/share/addShareNotebook",i={notebookId:o,emails:[r],perm:a}),hideAlert("#shareMsg"),post(s,i,function(e){var e=e[r];if(e)if(e.Ok){var a=tt("<td>?</td>","#");a+=tt("<td>?</td>",r),a+=tt('<td><a href="#" noteOrNotebookId="?" perm="?" toUserId="?" title="'+getMsg("clickToChangePermission")+'" class="btn btn-default change-perm">?</a></td>',o,n,e.Id,n&&"0"!=n?getMsg("writable"):getMsg("readOnly")),a+=tt('<td><a href="#" noteOrNotebookId="?" toUserId="?" class="btn btn-warning delete-share">'+getMsg("delete")+"</a></td>",o,e.Id),$(t).html(a)}else{var s=UrlPrefix+"/register?iu="+UserInfo.Username;showAlert("#shareMsg",getMsg("friendNotExits",[getMsg("app"),'<input style="background: none;border: 1px solid #ccc;width: 300px;padding: 3px;border-radius: 3px;outline: none;" onclick="$(this).focus().select()" type="text" value="'+s+'" />'])+"</a> <br /> "+getMsg("sendInviteEmailToYourFriend")+', <a href="#" onclick="sendRegisterEmail(\''+r+"')\">"+getMsg("send"),"warning")}},t+" .btn-success")}}function sendRegisterEmail(e){showDialog2("#sendRegisterEmailDialog",{postShow:function(){$("#emailContent").val(getMsg("inviteEmailBody",[UserInfo.Username,getMsg("app")])),setTimeout(function(){$("#emailContent").focus()},500),$("#toEmail").val(e)}})}function deleteShareNoteOrNotebook(e){$("#tr"+e).remove()}Share.defaultNotebookId="share0",Share.defaultNotebookTitle=getMsg("defaultShare"),Share.sharedUserInfos={},Share.userNavs={},Share.notebookCache={},Share.cache={},Share.dialogIsNote=!0,Share.setCache=function(e){e&&e.NoteId&&(Share.cache[e.NoteId]=e)},Share.getNotebooksForNew=function(e,t){for(var o=this,r="",a=t.length,n=0;a>n;++n){var s=t[n];s.IsShared=!0,s.UserId=e,o.notebookCache[s.NotebookId]=s,Notebook.cache[s.NotebookId]=s;var i="",d=!1;if(!isEmpty(s.Subs)){log(11),log(s.Subs);var d=o.getNotebooksForNew(e,s.Subs);d&&(i="dropdown-submenu")}var h="";if(s.Perm){var h=tt('<li role="presentation" class="clearfix ?" userId="?" notebookId="?"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left">M</div>',i,e,s.NotebookId,s.Title);d&&(h+="<ul class='dropdown-menu'>",h+=d,h+="</ul>"),h+="</li>"}r+=h}return r},Share.trees={},Share.renderShareNotebooks=function(e,t){function o(e){}function r(){var e=$(this).attr("notebookId");return!Share.isDefaultNotebookId(e)}var a=Share;if(!isEmpty(e)){(!t||"object"!=typeof t||t.length<0)&&(t={});var n=$("#shareNotebooks");for(var s in e){var i=e[s],d=t[i.UserId]||[];userNotebooks=[{NotebookId:a.defaultNotebookId,Title:Share.defaultNotebookTitle}].concat(d),a.notebookCache[a.defaultNotebookId]=userNotebooks[0];var h=i.Username||i.Email;i.Username=h,Share.sharedUserInfos[i.UserId]=i;var l=i.UserId,c=tt('<li class="each-user"><div class="friend-header" fromUserId="?"><i class="fa fa-angle-down"></i><span>?</span> <span class="fa notebook-setting" title="setting"></span> </div>',i.UserId,h),N="friendContainer_"+l,u='<ul class="friend-notebooks ztree" id="'+N+'" fromUserId="'+l+'"></ul>';n.append(c+u+"</li>"),a.trees[l]=$.fn.zTree.init($("#"+N),Notebook.getTreeSetting(!0,!0),userNotebooks),a.userNavs[l]={forNew:a.getNotebooksForNew(l,d)},log(a.userNavs)}$(".friend-notebooks").hover(function(){$(this).hasClass("showIcon")||$(this).addClass("showIcon")},function(){$(this).removeClass("showIcon")}),$(".friend-header i").click(function(){var e=$(this),t=$(this).parent().next();t.is(":hidden")?(t.slideDown("fast"),e.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-down")):(t.slideUp("fast"),e.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-right"))});var f={width:180,items:[{text:getMsg("deleteSharedNotebook"),icon:"",faIcon:"fa-trash-o",action:Share.deleteShareNotebook}],onShow:o,onContextMenu:r,parent:"#shareNotebooks",children:".notebook-item"},b=$("#shareNotebooks").contextmenu(f),k={width:180,items:[{text:getMsg("deleteAllShared"),icon:"",faIcon:"fa-trash-o",action:Share.deleteUserShareNoteAndNotebook}],parent:"#shareNotebooks",children:".friend-header"},g=$("#shareNotebooks").contextmenu(k);$(".friend-header").on("click",".notebook-setting",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).parent();g.showMenu(e,t)}),$("#shareNotebooks .notebook-item").on("click",".notebook-setting",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).parent();b.showMenu(e,t)})}},Share.isDefaultNotebookId=function(e){return Share.defaultNotebookId==e},Share.toggleToSharedNav=function(e,t){$("#curNotebookForListNote").html(Share.notebookCache[t].Title+"("+Share.sharedUserInfos[e].Username+")"),Note.listIsIn(!1,!1,!0);var o=Share.userNavs[e].forLine truncated
+267 -69
View File
@@ -74,7 +74,7 @@ Note.setNoteCache = function(content, clear) {
if(clear) { if(clear) {
Note.clearCacheByNotebookId(content.NotebookId); Note.clearCacheByNotebookId(content.NotebookId);
} }
} };
Note.setCurNoteId = function (noteId) { Note.setCurNoteId = function (noteId) {
this.curNoteId = noteId; this.curNoteId = noteId;
@@ -90,7 +90,7 @@ Note.getCurNote = function() {
return null; return null;
} }
return self.cache[self.curNoteId]; return self.cache[self.curNoteId];
} };
Note.getNote = function(noteId) { Note.getNote = function(noteId) {
var self = this; var self = this;
return self.cache[noteId]; return self.cache[noteId];
@@ -114,35 +114,43 @@ Note.notebookHasNotes = function(notebookId) {
}; };
// 得到notebook下的notes, 按什么排序 updatedTime? // 得到notebook下的notes, 按什么排序 updatedTime?
Note.getNotesByNotebookId = function(notebookId, sortBy, isAsc) { Note.getNotesByNotebookId = function(notebookId) {
if(!sortBy) { var sorterAndOrder = Note.getSorterAndOrder();
sortBy = "UpdatedTime"; var sortBy = sorterAndOrder.sortBy;
} var isAsc = sorterAndOrder.isAsc;
if(isAsc == "undefined") {
isAsc = false; // 默认是降序
}
if(!notebookId) { Note.listIsIn();
notebookId = "all";
}
if(!Note.cacheByNotebookId[notebookId]) { if (!notebookId) {
return []; notebookId = "all";
} }
if(Note.cacheByNotebookId[notebookId][sortBy]) { if (!Note.cacheByNotebookId[notebookId]) {
return Note.cacheByNotebookId[notebookId][sortBy]; return [];
} else { }
}
// 从所有的notes中找到notebookId的, 并排序之 if (Note.cacheByNotebookId[notebookId][sortBy]) {
var notes = []; if (Note.cacheByNotebookId[notebookId][sortBy][isAsc]) {
var sortBys = []; return Note.cacheByNotebookId[notebookId][sortBy][isAsc];
for(var i in Note.cache) { }
if(!i) { // 逆序
continue; Note.cacheByNotebookId[notebookId][sortBy][!isAsc].reverse();
} var notes = Note.cacheByNotebookId[notebookId][sortBy][!isAsc];
var note = Note.cache[i]; Note.cacheByNotebookId[notebookId][sortBy][!isAsc] = null;
Note.cacheByNotebookId[notebookId][sortBy][isAsc] = notes;
return notes;
}
// 从所有的notes中找到notebookId的, 并排序之
var notes = [];
for (var i in Note.cache) {
if (!i) {
continue;
}
var note = Note.cache[i];
if (!note) {
continue;
}
// 不要trash的not, 共享的也不要 // 不要trash的not, 共享的也不要
if(note.IsTrash || note.IsShared) { if(note.IsTrash || note.IsShared) {
continue; continue;
@@ -150,43 +158,27 @@ Note.getNotesByNotebookId = function(notebookId, sortBy, isAsc) {
if(notebookId == "all" || note.NotebookId == notebookId) { if(notebookId == "all" || note.NotebookId == notebookId) {
notes.push(note); notes.push(note);
} }
} }
// 排序之
notes.sort(function(a, b) {
var t1 = a[sortBy];
var t2 = b[sortBy];
if(isAsc) { Note.sortNotes(notes);
if(t1 < t2) {
return -1;
} else if (t1 > t2) {
return 1;
}
} else {
if(t1 < t2) {
return 1;
} else if (t1 > t2) {
return -1;
}
}
return 0;
});
// 缓存之 // 缓存之
Note.cacheByNotebookId[notebookId][sortBy] = notes; Note.cacheByNotebookId[notebookId][sortBy] = {};
return notes; Note.cacheByNotebookId[notebookId][sortBy][isAsc] = notes;
return notes;
}; };
// called by Notebook // called by Notebook
// render 所有notes, 和第一个note的content // render 所有notes, 和第一个note的content
Note.renderNotesAndFirstOneContent = function(ret) { Note.renderNotesAndFirstOneContent = function(ret, hasSorted) {
// 错误的ret是一个Object // 错误的ret是一个Object
if(!isArray(ret)) { if(!isArray(ret)) {
return; return;
} }
// note 导航 // note 导航
Note.renderNotes(ret); Note.renderNotes(ret, false, false, hasSorted);
// 渲染第一个 // 渲染第一个
if(!isEmpty(ret[0])) { if(!isEmpty(ret[0])) {
Note.changeNoteForPjax(ret[0].NoteId, true, false); Note.changeNoteForPjax(ret[0].NoteId, true, false);
@@ -201,7 +193,7 @@ Note.renderNotesAndFirstOneContent = function(ret) {
// 所以不用isDirty() // 所以不用isDirty()
// 只用Note.readOnly, 如果Note.readOnly, 那么不判断内容 // 只用Note.readOnly, 如果Note.readOnly, 那么不判断内容
// //
Note.curHasChanged = function(force) { Note.curHasChanged = function(force, isRefreshOrCtrls) {
var cacheNote = Note.getCurNote(); var cacheNote = Note.getCurNote();
if (!cacheNote) { if (!cacheNote) {
return false; return false;
@@ -222,6 +214,11 @@ Note.curHasChanged = function(force) {
if (cacheNote.IsNew) { if (cacheNote.IsNew) {
hasChanged.hasChanged = true; hasChanged.hasChanged = true;
hasChanged.title = title;
// 来源
if (LEA.topInfo) {
hasChanged.Src = LEA.topInfo.src;
}
} }
if(cacheNote.Title != title) { if(cacheNote.Title != title) {
@@ -271,6 +268,15 @@ Note.curHasChanged = function(force) {
content = contents; content = contents;
} }
// 如果是插件, 且没有改动任何地方
if ( hasChanged.Src && LEA.topInfo && title === LEA.topInfo.title && !hasChanged.Tags &&
(!content || content == '<p><br></p>')) {
// 如果不是手动ctrl+s, 则不保存
if (!(isRefreshOrCtrls && isRefreshOrCtrls.ctrls)) {
return false;
}
}
// 比较text, 因为note Nav会添加dom会导致content改变 // 比较text, 因为note Nav会添加dom会导致content改变
/* /*
if((force && cacheNote.Content != content) if((force && cacheNote.Content != content)
@@ -369,7 +375,7 @@ Note.genAbstract = function(content, len) {
var d = document.createElement("div"); var d = document.createElement("div");
d.innerHTML = result d.innerHTML = result
return d.innerHTML; return d.innerHTML;
} };
Note.getImgSrc = function(content) { Note.getImgSrc = function(content) {
if(!content) { if(!content) {
@@ -383,7 +389,7 @@ Note.getImgSrc = function(content) {
} }
} }
return ""; return "";
} };
// 如果当前的改变了, 就保存它 // 如果当前的改变了, 就保存它
// 以后要定时调用 // 以后要定时调用
@@ -391,7 +397,7 @@ Note.getImgSrc = function(content) {
// 定时保存传false // 定时保存传false
Note.saveInProcess = {}; // noteId => bool, true表示该note正在保存到服务器, 服务器未响应 Note.saveInProcess = {}; // noteId => bool, true表示该note正在保存到服务器, 服务器未响应
Note.savePool = {}; // 保存池, 以后的保存先放在pool中, id => note Note.savePool = {}; // 保存池, 以后的保存先放在pool中, id => note
Note.curChangedSaveIt = function(force, callback) { Note.curChangedSaveIt = function(force, callback, isRefreshOrCtrls) {
var me = this; var me = this;
// 如果当前没有笔记, 不保存 // 如果当前没有笔记, 不保存
// 或者是共享的只读笔记 // 或者是共享的只读笔记
@@ -401,7 +407,7 @@ Note.curChangedSaveIt = function(force, callback) {
} }
var hasChanged; var hasChanged;
try { try {
hasChanged = Note.curHasChanged(force); hasChanged = Note.curHasChanged(force, isRefreshOrCtrls);
} catch(e) { } catch(e) {
// console.error('获取当前改变的笔记错误!'); // console.error('获取当前改变的笔记错误!');
callback && callback(false); callback && callback(false);
@@ -450,6 +456,7 @@ Note.curChangedSaveIt = function(force, callback) {
Note.setNoteCache(hasChanged, false); Note.setNoteCache(hasChanged, false);
// 设置更新时间 // 设置更新时间
Note.setNoteCache({"NoteId": hasChanged.NoteId, "UpdatedTime": (new Date()).format("yyyy-MM-ddThh:mm:ss.S")}, false); Note.setNoteCache({"NoteId": hasChanged.NoteId, "UpdatedTime": (new Date()).format("yyyy-MM-ddThh:mm:ss.S")}, false);
Note.clearCacheByNotebookId(hasChanged.NotebookId);
return hasChanged; return hasChanged;
} }
@@ -493,13 +500,13 @@ Note.startUpdatePoolNoteInterval = function() {
// 样式 // 样式
Note.clearSelect = function(target) { Note.clearSelect = function(target) {
$(".item").removeClass("item-active"); $(".item").removeClass("item-active");
} };
Note.selectTarget = function(target) { Note.selectTarget = function(target) {
this.clearSelect(); this.clearSelect();
$(target).addClass("item-active"); $(target).addClass("item-active");
// this.batch.reset(); // this.batch.reset();
} };
// 改变note // 改变note
// 可能改变的是share note // 可能改变的是share note
@@ -516,7 +523,12 @@ Note.directToNote = function(noteId) {
var $p = $("#noteItemList"); var $p = $("#noteItemList");
var pHeight = $p.height(); var pHeight = $p.height();
// 相对于父亲的位置 // 相对于父亲的位置
var pTop = $("[noteId='" + noteId + "']").position().top; var position = $("[noteId='" + noteId + "']").position();
if (!position) {
console.error('no position: ' + noteId);
return;
}
var pTop = position.top;
var scrollTop = $p.scrollTop(); var scrollTop = $p.scrollTop();
pTop += scrollTop; pTop += scrollTop;
/* /*
@@ -816,14 +828,162 @@ Note.hideEditorMask = function() {
$("#editorMask").css("z-index", -10).hide(); $("#editorMask").css("z-index", -10).hide();
}; };
/**
* 切换视图
* @param {[type]} e [description]
* @return {[type]} [description]
*/
Note.toggleView = function (e) {
var view;
if (typeof e == 'object' && e) {
view = $(e.target).data('view');
}
else {
view = e;
}
if (!view) {
view = 'snippet';
}
if (view == 'list') {
$('#noteItemList').addClass('list');
}
else {
$('#noteItemList').removeClass('list');
}
localStorage.setItem('viewStyle', view);
$('.view-style').removeClass('checked');
$('.view-' + view).addClass('checked');
};
// 重新设置sorter, 此时要重新render
// sortType = dateCreatedASC dateCreatedDESC
Note.setNotesSorter = function (e) {
var sorterType = $(e.currentTarget).data('sorter');
if (!sorterType) {
sorterType = 'dateUpdatedDESC';
}
localStorage.setItem("sorterType", sorterType);
// alert(localStorage.getItem("sorterType"));
Note.checkSorter(sorterType);
// 如果当前是tagSearch, search, star 怎么办?
// 重新Render
if (Note._isTag || Note._isSearch || Note._isShare) {
Note.renderNotesAndFirstOneContent(Note._everNotes, false);
} else {
// 其实这里也可以用Note._everNotes, 主要是为了缓存数据
Notebook.changeNotebook(Notebook.curNotebookId);
}
// Note.renderNotesAndTargetNote(Note._everNotes, false, false);
// Api.writeConfig(Config);
};
var $sorterStyles = $('.sorter-style');
Note.checkSorter = function (sorterType) {
// UC无痕浏览
if (!sorterType) {
sorterType = 'dateUpdatedDESC';
}
var $selected = $('.sorter-' + sorterType);
if ($selected.is('.checked')) {
return;
}
$sorterStyles.removeClass('checked');
$selected.addClass('checked');
};
// render前先排序
Note.sortNotesToRender = function (notes) {
Note.sortNotes(notes);
};
Note.sortNotes = function (notes) {
if (isEmpty(notes)) {
return;
}
var sorterAndOrder = Note.getSorterAndOrder();
var sortBy = sorterAndOrder.sortBy;
var isAsc = sorterAndOrder.isAsc;
// 排序之
notes.sort(function(a, b) {
var t1 = a[sortBy];
var t2 = b[sortBy];
if (isAsc) {
if (t1 < t2) {
return -1;
} else if (t1 > t2) {
return 1;
}
} else {
if (t1 < t2) {
return 1;
} else if (t1 > t2) {
return -1;
}
}
return 0;
});
};
Note.getSorterAndOrder = function () {
var sortBy = "UpdatedTime";
var isAsc = false; // 默认是降序
var sorterType = localStorage.getItem('sorterType');
// console.log(sorterType);
Note.checkSorter(sorterType);
if (sorterType) {
switch(sorterType) {
case 'dateCreatedASC':
sortBy = 'CreatedTime';
isAsc = true;
break;
case 'dateCreatedDESC':
sortBy = 'CreatedTime';
isAsc = false;
break;
case 'dateUpdatedASC':
sortBy = 'UpdatedTime';
isAsc = true;
break;
case 'dateUpdatedDESC':
sortBy = 'UpdatedTime';
isAsc = false;
break;
case 'titleASC':
sortBy = 'Title';
isAsc = true;
break;
case 'titleDESC':
sortBy = 'Title';
isAsc = false;
break;
}
}
console.log({sortBy: sortBy, isAsc: isAsc});
return {sortBy: sortBy, isAsc: isAsc};
};
// 列表是
Note.listIsIn = function (isTag, isSearch, isShare) {
this._isTag = isTag;
this._isSearch = isSearch;
this._isShare = isShare;
};
// 这里如果notes过多>100个将会很慢!!, 使用setTimeout来分解 // 这里如果notes过多>100个将会很慢!!, 使用setTimeout来分解
Note.renderNotesC = 0; Note.renderNotesC = 0;
Note.renderNotes = function(notes, forNewNote, isShared) { Note.renderNotes = function(notes, forNewNote, isShared, hasSorted) {
var renderNotesC = ++Note.renderNotesC; var renderNotesC = ++Note.renderNotesC;
this.clearSeqForNew(); this.clearSeqForNew();
this.batch.reset(); this.batch.reset();
// 为了切换排序方式用
Note._everNotes = notes;
// 手机端不用 // 手机端不用
// slimScroll使得手机端滚动不流畅 // slimScroll使得手机端滚动不流畅
if(!LEA.isMobile && !Mobile.isMobile()) { if(!LEA.isMobile && !Mobile.isMobile()) {
@@ -850,6 +1010,11 @@ Note.renderNotes = function(notes, forNewNote, isShared) {
var len = notes.length; var len = notes.length;
var c = Math.ceil(len/20); var c = Math.ceil(len/20);
// 重新排序
if (!hasSorted) {
Note.sortNotes(notes);
}
Note._renderNotes(notes, forNewNote, isShared, 1); Note._renderNotes(notes, forNewNote, isShared, 1);
// 先设置缓存 // 先设置缓存
@@ -900,9 +1065,11 @@ Note._renderNotes = function(notes, forNewNote, isShared, tang) { // 第几趟
} else { } else {
tmp = tt(Note.itemTplNoImg, classes, i, note.NoteId, note.Title, Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc); tmp = tt(Note.itemTplNoImg, classes, i, note.NoteId, note.Title, Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc);
} }
tmp = $(tmp);
if(!note.IsBlog) { if(!note.IsBlog) {
tmp = $(tmp); tmp.removeClass('item-b');
tmp.find(".item-blog").hide(); } else {
tmp.addClass('item-b');
} }
Note.noteItemListO.append(tmp); Note.noteItemListO.append(tmp);
@@ -937,6 +1104,10 @@ Note.newNoteSeq = function () {
// isShare时fromUserId才有用 // isShare时fromUserId才有用
// 3.8 add isMarkdown // 3.8 add isMarkdown
Note.newNote = function(notebookId, isShare, fromUserId, isMarkdown) { Note.newNote = function(notebookId, isShare, fromUserId, isMarkdown) {
if (!notebookId) {
notebookId = $("#curNotebookForNewNote").attr('notebookId');
}
// 切换编辑器 // 切换编辑器
switchEditor(isMarkdown); switchEditor(isMarkdown);
Note.hideEditorMask(); Note.hideEditorMask();
@@ -950,9 +1121,19 @@ Note.newNote = function(notebookId, isShare, fromUserId, isMarkdown) {
Note.batch.reset(); Note.batch.reset();
var note = {NoteId: getObjectId(), Title: "", Tags:[], Content:"", NotebookId: notebookId, IsNew: true, FromUserId: fromUserId, IsMarkdown: isMarkdown}; // 是新的 var note = {NoteId: getObjectId(),
Title: "", Tags:[], Content:"",
NotebookId: notebookId, IsNew: true, FromUserId: fromUserId,
IsMarkdown: isMarkdown,
UpdatedTime: new Date(),
CreatedTime: new Date()}; // 是新的
if (LEA.topInfo && LEA.topInfo.title) {
note.Title = LEA.topInfo.title;
}
// 添加到缓存中 // 添加到缓存中
Note.addNoteCache(note); Note.addNoteCache(note);
Note.clearCacheByNotebookId(notebookId);
// 清空附件数 // 清空附件数
Attach.clearNoteAttachNum(); Attach.clearNoteAttachNum();
@@ -975,9 +1156,12 @@ Note.newNote = function(notebookId, isShare, fromUserId, isMarkdown) {
} }
// notebook是否是Blog // notebook是否是Blog
newItem = $(newItem);
if(!notebook.IsBlog) { if(!notebook.IsBlog) {
newItem = $(newItem); newItem.removeClass('item-b');
newItem.find(".item-blog").hide(); }
else {
newItem.addClass('item-b');
} }
// 是否在当前notebook下, 不是则切换过去, 并得到该notebook下所有的notes, 追加到后面! // 是否在当前notebook下, 不是则切换过去, 并得到该notebook下所有的notes, 追加到后面!
@@ -1261,6 +1445,10 @@ Note.searchNote = function() {
// 先取消上一个 // 先取消上一个
showLoading(); showLoading();
Notebook.showNoteAndEditorLoading(); Notebook.showNoteAndEditorLoading();
Note.listIsIn(false, true);
$("#tagSearch").hide();
Note.lastSearch = $.post("/note/searchNote", {key: val}, function(notes) { Note.lastSearch = $.post("/note/searchNote", {key: val}, function(notes) {
hideLoading(); hideLoading();
Notebook.hideNoteAndEditorLoading(); Notebook.hideNoteAndEditorLoading();
@@ -1317,9 +1505,9 @@ Note._setBlog = function(target, isBlog) {
var noteId = noteIds[i]; var noteId = noteIds[i];
var $t = me.getTargetById(noteId); var $t = me.getTargetById(noteId);
if(isBlog) { if(isBlog) {
$t.find(".item-blog").show(); $t.addClass('item-b');
} else { } else {
$t.find(".item-blog").hide(); $t.removeClass('item-b');
} }
me.setNoteCache({NoteId: noteId, IsBlog: isBlog}, false); // 不清空NotesByNotebookId缓存 me.setNoteCache({NoteId: noteId, IsBlog: isBlog}, false); // 不清空NotesByNotebookId缓存
} }
@@ -1742,6 +1930,7 @@ Note.initContextmenu = function() {
items.push("copy." + notebookTitle); items.push("copy." + notebookTitle);
} }
} }
// console.log(items);
// diable 这里 // diable 这里
menu.applyrule({ menu.applyrule({
@@ -2450,7 +2639,6 @@ $(function() {
Note.curChangedSaveIt(true); Note.curChangedSaveIt(true);
}); });
// blog // blog
Note.$itemList.on("click", ".item-blog", function(e) { Note.$itemList.on("click", ".item-blog", function(e) {
e.preventDefault(); e.preventDefault();
@@ -2511,6 +2699,16 @@ $(function() {
e.preventDefault(); e.preventDefault();
window.open(href); window.open(href);
}); });
var view = localStorage.getItem('viewStyle');
Note.toggleView(view);
// view 切换
$('.view-style').click(function (e) {
Note.toggleView(e);
});
$('.sorter-style').click(function (e) {
Note.setNotesSorter(e);
});
}); });
// 定时器启动 // 定时器启动
+13 -10
View File
@@ -527,7 +527,7 @@ Notebook.changeNotebookNavForNewNote = function(notebookId, title) {
Notebook.changeNotebookNavForNewNote(notebookId, title); Notebook.changeNotebookNavForNewNote(notebookId, title);
} }
} }
} };
// 改变导航, 两处 // 改变导航, 两处
// 单击左侧, 单击新建下拉时调用 // 单击左侧, 单击新建下拉时调用
@@ -544,7 +544,7 @@ Notebook.toggleToMyNav = function(userId, notebookId) {
// 搜索tag隐藏 // 搜索tag隐藏
$("#tagSearch").hide(); $("#tagSearch").hide();
} };
Notebook.changeNotebookNav = function(notebookId) { Notebook.changeNotebookNav = function(notebookId) {
Notebook.curNotebookId = notebookId; Notebook.curNotebookId = notebookId;
Notebook.toggleToMyNav(); Notebook.toggleToMyNav();
@@ -615,7 +615,7 @@ Notebook.changeNotebook = function(notebookId, callback) {
if(callback) { if(callback) {
callback(cacheNotes); callback(cacheNotes);
} else { } else {
Note.renderNotesAndFirstOneContent(cacheNotes); Note.renderNotesAndFirstOneContent(cacheNotes, true);
} }
return; return;
} }
@@ -628,7 +628,7 @@ Notebook.changeNotebook = function(notebookId, callback) {
if(callback) { if(callback) {
callback(cacheNotes); callback(cacheNotes);
} else { } else {
Note.renderNotesAndFirstOneContent(cacheNotes); Note.renderNotesAndFirstOneContent(cacheNotes, true);
} }
return; return;
} else { } else {
@@ -653,7 +653,7 @@ Notebook.changeNotebook = function(notebookId, callback) {
if(callback) { if(callback) {
callback(cacheNotes); callback(cacheNotes);
} else { } else {
Note.renderNotesAndFirstOneContent(cacheNotes); Note.renderNotesAndFirstOneContent(cacheNotes, false);
} }
me.hideNoteAndEditorLoading(); me.hideNoteAndEditorLoading();
}); });
@@ -728,19 +728,22 @@ Notebook.setNotebook2Blog = function(target) {
// 那么, 如果当前是该notebook下, 重新渲染之 // 那么, 如果当前是该notebook下, 重新渲染之
if(Notebook.curNotebookId == notebookId) { if(Notebook.curNotebookId == notebookId) {
if(isBlog) { if(isBlog) {
$("#noteList .item-blog").show(); $('.item').addClass('item-b');
} else { } else {
$("#noteList .item-blog").hide(); $('.item').removeClass('item-b');
} }
// 如果当前在所有笔记本下 // 如果当前在所有笔记本下
} else if(Notebook.curNotebookId == Notebook.allNotebookId){ } else if(Notebook.curNotebookId == Notebook.allNotebookId){
$("#noteItemList .item").each(function(){ $("#noteItemList .item").each(function(){
var noteId = $(this).attr("noteId"); var noteId = $(this).attr("noteId");
var note = Note.cache[noteId]; var note = Note.cache[noteId];
if(note.NotebookId == notebookId) { if(note.NotebookId == notebookId) {
if(isBlog) $(this).find(".item-blog").show(); if (isBlog) {
else $(this).find(".item-blog").hide(); $(this).addClass('item-b');
}
else {
$(this).removeClass('item-b');
}
} }
}); });
} }
+188 -40
View File
@@ -1,6 +1,16 @@
// 主页渲染 // 主页渲染
//------------- //-------------
function sendLog (key, value) {
if (!key) {
return;
}
if (!value) {
value = '';
}
ajaxGet('/index/log', {key: key, value: value});
}
//---------------------- //----------------------
// 编辑器模式 // 编辑器模式
function editorMode() { function editorMode() {
@@ -88,7 +98,7 @@ editorMode.prototype.normalMode = function() {
var $themeLink = $("#themeLink"); var $themeLink = $("#themeLink");
// 如果之前不是normal才换 // 如果之前不是normal才换
if(this.$themeLink.attr('href').indexOf('writting-overwrite.css') != -1) { if(this.$themeLink.attr('href').indexOf('writting-overwrite.css') != -1) {
this.$themeLink.attr("href", "/css/theme/" + theme); this.$themeLink.attr("href", LEA.sPath + "/css/theme/" + theme);
} }
$("#noteList").width(UserInfo.NoteListWidth); $("#noteList").width(UserInfo.NoteListWidth);
@@ -103,7 +113,7 @@ editorMode.prototype.writtingMode = function() {
return; return;
} }
if(this.$themeLink.attr('href').indexOf('writting-overwrite.css') == -1) { if(this.$themeLink.attr('href').indexOf('writting-overwrite.css') == -1) {
this.$themeLink.attr("href", "/css/theme/writting-overwrite.css"); this.$themeLink.attr("href", LEA.sPath + "/css/theme/writting-overwrite.css");
} }
/* /*
@@ -582,7 +592,7 @@ function initEditor() {
if (LEA.isLogout) { if (LEA.isLogout) {
return; return;
} }
Note.curChangedSaveIt(true); Note.curChangedSaveIt(true, null, {refresh: true});
} }
// 全局快捷键 // 全局快捷键
@@ -594,7 +604,7 @@ function initEditor() {
if(ctrlOrMetaKey) { if(ctrlOrMetaKey) {
// 保存 // 保存
if (num == 83 ) { // ctrl + s or command + s if (num == 83 ) { // ctrl + s or command + s
Note.curChangedSaveIt(); Note.curChangedSaveIt(true, null, {ctrls: true});
e.preventDefault(); e.preventDefault();
return false; return false;
} }
@@ -656,6 +666,11 @@ function scrollTo(self, tagName, text) {
} }
} }
function hideMask () {
$("#mainMask").html("");
$("#mainMask").hide(100);
}
//-------------- //--------------
// 调用之 // 调用之
// $(function() { // $(function() {
@@ -722,7 +737,7 @@ function scrollTo(self, tagName, text) {
if (arr.length == 2) { if (arr.length == 2) {
id = arr[1]; id = arr[1];
} }
$("#themeLink").attr("href", "/css/theme/" + val + ".css?id=" + id); $("#themeLink").attr("href", LEA.sPath + "/css/theme/" + val + ".css?id=" + id);
ajaxPost("/user/updateTheme", {theme: val}, function(re) { ajaxPost("/user/updateTheme", {theme: val}, function(re) {
if(reIsOk(re)) { if(reIsOk(re)) {
UserInfo.Theme = val UserInfo.Theme = val
@@ -812,8 +827,13 @@ function scrollTo(self, tagName, text) {
Resize.set3ColumnsWidth(UserInfo.NotebookWidth, UserInfo.NoteListWidth); Resize.set3ColumnsWidth(UserInfo.NotebookWidth, UserInfo.NoteListWidth);
Resize.setMdColumnWidth(UserInfo.MdEditorWidth); Resize.setMdColumnWidth(UserInfo.MdEditorWidth);
if (UserInfo.LeftIsMin) { if (!Mobile.isMobile()) {
minLeft(false); if (UserInfo.LeftIsMin) {
minLeft(false);
}
else {
maxLeft(false);
}
} }
else { else {
maxLeft(false); maxLeft(false);
@@ -822,8 +842,7 @@ function scrollTo(self, tagName, text) {
// end // end
// 开始时显示loading...... // 开始时显示loading......
// 隐藏mask // 隐藏mask
$("#mainMask").html(""); // hideMask();
$("#mainMask").hide(100);
// 4/25 防止dropdown太高 // 4/25 防止dropdown太高
// dropdown // dropdown
@@ -1438,45 +1457,174 @@ LeaAce = {
} }
}; };
function initLeanoteIfrPlugin () {
// 如果在iframe下, 很可能是嵌入了leanote
if (self != window.parent) {
LEA.topInfo = {};
// 收到消息
window.addEventListener('message', function(e) {
console.log('child 收到消息: ')
console.log(e.data);
LEA.topInfo = e.data || {};
LEA.topInfo.got = true;
}, false);
if (window.parent.postMessage) {
window.parent.postMessage('leanote', '*');
}
}
}
// 通过src得到note
function getNoteBySrc(src, callback) {
ajaxGet('/note/getNoteAndContentBySrc', {src: src}, function (ret) {
if (ret && ret.Ok) {
var data = ret.Item;
if (data) {
var noteInfo = data.NoteInfo;
var contentInfo = data.NoteContentInfo;
for (var i in contentInfo) {
noteInfo[i] = contentInfo[i];
}
callback(noteInfo);
}
else {
callback();
}
}
else {
callback();
}
});
}
// 得到top的info's src
var _topInfoStart = (new Date()).getTime();
function getTopInfoSrc (callback) {
if (LEA.topInfo.got) {
return callback(LEA.topInfo.src);
}
else {
// 超过1000ms, 不行
if ((new Date()).getTime() - _topInfoStart > 2000) {
return callback();
}
setTimeout(function () {
getTopInfoSrc(callback);
}, 10);
}
}
// note.html调用 // note.html调用
// 实始化页面 // 实始化页面
function initPage() { function initPage() {
// 不要用$(function() {}) 因为要等到<script>都加载了才执行 initLeanoteIfrPlugin();
// $(function() { if (LEA.topInfo) {
Notebook.renderNotebooks(notebooks); getTopInfoSrc(function (src) {
Share.renderShareNotebooks(sharedUserInfos, shareNotebooks); if (src) {
getNoteBySrc (src, function (srcNote) {
// 如果初始打开的是共享的笔记 _initPage(srcNote, true);
// 那么定位到我的笔记
if(curSharedNoteNotebookId) {
Share.firstRenderShareNote(curSharedUserId, curSharedNoteNotebookId, curNoteId);
// 初始打开的是我的笔记
} else {
Note.setNoteCache(noteContentJson);
Note.renderNotes(notes);
if(curNoteId) {
// 指定某个note时才target notebook, /note定位到最新
// ie10&+要setTimeout
setTimeout(function() {
Note.changeNoteForPjax(curNoteId, true, curNotebookId);
}); });
if(!curNotebookId) { } else {
Notebook.selectNotebook($(tt('#notebook [notebookId="?"]', Notebook.allNotebookId))); _initPage(false, true);
}
});
}
else {
_initPage();
}
}
function _initPage(srcNote, isTop) {
if (srcNote) {
curNoteId = srcNote.NoteId;
curNotebookId = srcNote.NotebookId;
noteContentJson = srcNote; // 当前笔记变成我的
}
else if(isTop) {
curNoteId = null;
}
Notebook.renderNotebooks(notebooks);
Share.renderShareNotebooks(sharedUserInfos, shareNotebooks);
// 如果初始打开的是共享的笔记
// 那么定位到我的笔记
if(curSharedNoteNotebookId) {
Share.firstRenderShareNote(curSharedUserId, curSharedNoteNotebookId, curNoteId);
// 初始打开的是我的笔记
} else {
Note.setNoteCache(noteContentJson);
// 判断srcNote是否在notes中
var isExists = false;
if (isTop && srcNote && notes) {
for (var i = 0; i < notes.length; ++i) {
var note = notes[i];
if (note.NoteId === srcNote.NoteId) {
isExists = true;
notes.splice(i, 1);
notes.unshift(srcNote);
break;
} }
} }
} if (!isExists) {
notes.unshift(srcNote);
// 指定笔记, 也要保存最新笔记
if(latestNotes.length > 0) {
for(var i = 0; i < latestNotes.length; ++i) {
Note.addNoteCache(latestNotes[i]);
} }
} }
Tag.renderTagNav(tagsJson); Note.renderNotes(notes);
// init notebook后才调用
initSlimScroll();
LeaAce.handleEvent(); if(curNoteId) {
// }); // 指定某个note时才target notebook, /note定位到最新
// ie10&+要setTimeout
setTimeout(function() {
Note.changeNoteForPjax(curNoteId, true, curNotebookId);
if (isTop) {
Note.toggleWriteable();
setTimeout(function () {
Note.toggleWriteable();
}, 100);
// 如果是markdown
setTimeout(function () {
Note.toggleWriteable();
}, 1000);
}
});
if(!curNotebookId) {
Notebook.selectNotebook($(tt('#notebook [notebookId="?"]', Notebook.allNotebookId)));
}
}
}
// 指定笔记, 也要保存最新笔记
if(latestNotes.length > 0) {
for(var i = 0; i < latestNotes.length; ++i) {
Note.addNoteCache(latestNotes[i]);
}
}
Tag.renderTagNav(tagsJson);
// init notebook后才调用
initSlimScroll();
LeaAce.handleEvent();
// 如果是插件, 则切换到编辑页, 并切换到写作模式
if (isTop) {
Mobile.toEditor();
// 如果没有, 则新建之
if (!srcNote) {
Note.newNote();
Note.toggleWriteable(true);
setTimeout(function () {
Note.toggleWriteable(true);
}, 100);
// 如果是markdown
setTimeout(function () {
Note.toggleWriteable(true);
}, 1000);
}
}
hideMask();
} }
+1 -1
View File
@@ -208,7 +208,7 @@ Share.toggleToSharedNav = function(userId, notebookId) {
var self = this; var self = this;
// for list // for list
$("#curNotebookForListNote").html(Share.notebookCache[notebookId].Title + '(' + Share.sharedUserInfos[userId].Username + ")"); $("#curNotebookForListNote").html(Share.notebookCache[notebookId].Title + '(' + Share.sharedUserInfos[userId].Username + ")");
Note.listIsIn(false, false, true);
// for new // for new
// 如果该用户下有新建的note, 那么列出, 如果没有, 则列出我的笔记 // 如果该用户下有新建的note, 那么列出, 如果没有, 则列出我的笔记
var forNew = Share.userNavs[userId].forNew; var forNew = Share.userNavs[userId].forNew;
+5 -2
View File
@@ -236,8 +236,10 @@ Tag.renderTagNav = function(tags) {
var text = Tag.mapEn2Cn[tag] || text; var text = Tag.mapEn2Cn[tag] || text;
} }
text = trimTitle(text); text = trimTitle(text);
var classes = Tag.classes[tag] || "label label-default"; if (text) {
$("#tagNav").append(tt('<li data-tag="?"><a> <span class="?">?</span> <span class="tag-delete">X</span></li>', tag, classes, text)); var classes = Tag.classes[tag] || "label label-default";
$("#tagNav").append(tt('<li data-tag="?"><a> <span class="?">?</span> <span class="tag-delete">X</span></li>', tag, classes, text));
}
} }
}; };
@@ -367,6 +369,7 @@ $(function() {
$("#tagSearch").html($li.html()).show(); $("#tagSearch").html($li.html()).show();
$("#tagSearch .tag-delete").remove(); $("#tagSearch .tag-delete").remove();
Note.listIsIn(true, false);
showLoading(); showLoading();
ajaxGet("/note/searchNoteByTags", {tags: [tag]}, function(notes) { ajaxGet("/note/searchNoteByTags", {tags: [tag]}, function(notes) {
+3 -3
View File
@@ -2,7 +2,7 @@ var requirejs,require,define;!function(ba){function G(e){return"[object Function
(function(){var e=this,n=e._,t={},r=Array.prototype,a=Object.prototype,i=Function.prototype,o=r.push,s=r.slice,l=r.concat,c=a.toString,u=a.hasOwnProperty,d=r.forEach,p=r.map,f=r.reduce,m=r.reduceRight,g=r.filter,h=r.every,v=r.some,b=r.indexOf,w=r.lastIndexOf,x=Array.isArray,y=Object.keys,C=i.bind,k=function(e){return e instanceof k?e:this instanceof k?void(this._wrapped=e):new k(e)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=k),exports._=k):e._=k,k.VERSION="1.5.1";var S=k.each=k.forEach=function(e,n,r){if(null!=e)if(d&&e.forEach===d)e.forEach(n,r);else if(e.length===+e.length){for(var a=0,i=e.length;i>a;a++)if(n.call(r,e[a],a,e)===t)return}else for(var o in e)if(k.has(e,o)&&n.call(r,e[o],o,e)===t)return};k.map=k.collect=function(e,n,t){var r=[];return null==e?r:p&&e.map===p?e.map(n,t):(S(e,function(e,a,i){r.push(n.call(t,e,a,i))}),r)};var _="Reduce of empty array with no initial value";k.reduce=k.foldl=k.inject=function(e,n,t,r){var a=arguments.length>2;if(null==e&&(e=[]),f&&e.reduce===f)return r&&(n=k.bind(n,r)),a?e.reduce(n,t):e.reduce(n);if(S(e,function(e,i,o){a?t=n.call(r,t,e,i,o):(t=e,a=!0)}),!a)throw new TypeError(_);return t},k.reduceRight=k.foldr=function(e,n,t,r){var a=arguments.length>2;if(null==e&&(e=[]),m&&e.reduceRight===m)return r&&(n=k.bind(n,r)),a?e.reduceRight(n,t):e.reduceRight(n);var i=e.length;if(i!==+i){var o=k.keys(e);i=o.length}if(S(e,function(s,l,c){l=o?o[--i]:--i,a?t=n.call(r,t,e[l],l,c):(t=e[l],a=!0)}),!a)throw new TypeError(_);return t},k.find=k.detect=function(e,n,t){var r;return E(e,function(e,a,i){return n.call(t,e,a,i)?(r=e,!0):void 0}),r},k.filter=k.select=function(e,n,t){var r=[];return null==e?r:g&&e.filter===g?e.filter(n,t):(S(e,function(e,a,i){n.call(t,e,a,i)&&r.push(e)}),r)},k.reject=function(e,n,t){return k.filter(e,function(e,r,a){return!n.call(t,e,r,a)},t)},k.every=k.all=function(e,n,r){n||(n=k.identity);var a=!0;return null==e?a:h&&e.every===h?e.every(n,r):(S(e,function(e,i,o){return(a=a&&n.call(r,e,i,o))?void 0:t}),!!a)};var E=k.some=k.any=function(e,n,r){n||(n=k.identity);var a=!1;return null==e?a:v&&e.some===v?e.some(n,r):(S(e,function(e,i,o){return a||(a=n.call(r,e,i,o))?t:void 0}),!!a)};k.contains=k.include=function(e,n){return null==e?!1:b&&e.indexOf===b?-1!=e.indexOf(n):E(e,function(e){return e===n})},k.invoke=function(e,n){var t=s.call(arguments,2),r=k.isFunction(n);return k.map(e,function(e){return(r?n:e[n]).apply(e,t)})},k.pluck=function(e,n){return k.map(e,function(e){return e[n]})},k.where=function(e,n,t){return k.isEmpty(n)?t?void 0:[]:k[t?"find":"filter"](e,function(e){for(var t in n)if(n[t]!==e[t])return!1;return!0})},k.findWhere=function(e,n){return k.where(e,n,!0)},k.max=function(e,n,t){if(!n&&k.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!n&&k.isEmpty(e))return-1/0;var r={computed:-1/0,value:-1/0};return S(e,function(e,a,i){var o=n?n.call(t,e,a,i):e;o>r.computed&&(r={value:e,computed:o})}),r.value},k.min=function(e,n,t){if(!n&&k.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!n&&k.isEmpty(e))return 1/0;var r={computed:1/0,value:1/0};return S(e,function(e,a,i){var o=n?n.call(t,e,a,i):e;o<r.computed&&(r={value:e,computed:o})}),r.value},k.shuffle=function(e){var n,t=0,r=[];return S(e,function(e){n=k.random(t++),r[t-1]=r[n],r[n]=e}),r};var T=function(e){return k.isFunction(e)?e:function(n){return n[e]}};k.sortBy=function(e,n,t){var r=T(n);return k.pluck(k.map(e,function(e,n,a){return{value:e,index:n,criteria:r.call(t,e,n,a)}}).sort(function(e,n){var t=e.criteria,r=n.criteria;if(t!==r){if(t>r||void 0===t)return 1;if(r>t||void 0===r)return-1}return e.index<n.index?-1:1}),"value")};var I=function(e,n,t,r){var a={},i=T(null==n?k.identity:n);return S(e,function(n,o){var s=i.call(t,n,o,e);r(a,s,n)}),a};k.groupBy=function(e,n,t){return I(e,n,t,function(e,n,t){(k.has(e,n)?e[n]:e[n]=[]).push(t)})},k.countBy=function(e,n,t){return I(e,n,t,function(e,n){k.has(e,n)||(e[n]=0),e[n]++})},k.sortedIndex=function(e,n,t,r){t=null==t?k.identity:T(t);for(var a=t.call(r,n),i=0,o=e.length;o>i;){var s=i+o>>>1;t.call(r,e[s])<a?i=s+1:o=s}return i},k.toArray=function(e){return e?k.isArray(e)?s.call(e):e.length===+e.length?k.map(e,k.identity):k.values(e):[]},k.size=function(e){return null==e?0:e.length===+e.length?e.length:k.keys(e).length},k.first=k.head=k.take=function(e,n,t){return null==e?void 0:null==n||t?e[0]:s.call(e,0,n)},k.initial=function(e,n,t){return s.call(e,0,e.length-(null==n||t?1:n))},k.last=function(e,n,t){return null==e?void 0:null==n||t?e[e.length-1]:s.call(e,Math.max(e.length-n,0))},k.rest=k.tail=k.drop=function(e,n,t){return s.call(e,null==n||t?1:n)},k.compact=function(e){return k.filter(e,k.identity)};var M=function(e,n,t){return n&&k.every(e,k.isArray)?l.apply(t,e):(S(e,function(e){k.isArray(e)||k.isArguments(e)?n?o.apply(t,e):M(e,n,t):t.push(e)}),t)};k.flatten=function(e,n){return M(e,n,[])},k.without=function(e){return k.difference(e,s.call(argumLine truncated (function(){var e=this,n=e._,t={},r=Array.prototype,a=Object.prototype,i=Function.prototype,o=r.push,s=r.slice,l=r.concat,c=a.toString,u=a.hasOwnProperty,d=r.forEach,p=r.map,f=r.reduce,m=r.reduceRight,g=r.filter,h=r.every,v=r.some,b=r.indexOf,w=r.lastIndexOf,x=Array.isArray,y=Object.keys,C=i.bind,k=function(e){return e instanceof k?e:this instanceof k?void(this._wrapped=e):new k(e)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=k),exports._=k):e._=k,k.VERSION="1.5.1";var S=k.each=k.forEach=function(e,n,r){if(null!=e)if(d&&e.forEach===d)e.forEach(n,r);else if(e.length===+e.length){for(var a=0,i=e.length;i>a;a++)if(n.call(r,e[a],a,e)===t)return}else for(var o in e)if(k.has(e,o)&&n.call(r,e[o],o,e)===t)return};k.map=k.collect=function(e,n,t){var r=[];return null==e?r:p&&e.map===p?e.map(n,t):(S(e,function(e,a,i){r.push(n.call(t,e,a,i))}),r)};var _="Reduce of empty array with no initial value";k.reduce=k.foldl=k.inject=function(e,n,t,r){var a=arguments.length>2;if(null==e&&(e=[]),f&&e.reduce===f)return r&&(n=k.bind(n,r)),a?e.reduce(n,t):e.reduce(n);if(S(e,function(e,i,o){a?t=n.call(r,t,e,i,o):(t=e,a=!0)}),!a)throw new TypeError(_);return t},k.reduceRight=k.foldr=function(e,n,t,r){var a=arguments.length>2;if(null==e&&(e=[]),m&&e.reduceRight===m)return r&&(n=k.bind(n,r)),a?e.reduceRight(n,t):e.reduceRight(n);var i=e.length;if(i!==+i){var o=k.keys(e);i=o.length}if(S(e,function(s,l,c){l=o?o[--i]:--i,a?t=n.call(r,t,e[l],l,c):(t=e[l],a=!0)}),!a)throw new TypeError(_);return t},k.find=k.detect=function(e,n,t){var r;return E(e,function(e,a,i){return n.call(t,e,a,i)?(r=e,!0):void 0}),r},k.filter=k.select=function(e,n,t){var r=[];return null==e?r:g&&e.filter===g?e.filter(n,t):(S(e,function(e,a,i){n.call(t,e,a,i)&&r.push(e)}),r)},k.reject=function(e,n,t){return k.filter(e,function(e,r,a){return!n.call(t,e,r,a)},t)},k.every=k.all=function(e,n,r){n||(n=k.identity);var a=!0;return null==e?a:h&&e.every===h?e.every(n,r):(S(e,function(e,i,o){return(a=a&&n.call(r,e,i,o))?void 0:t}),!!a)};var E=k.some=k.any=function(e,n,r){n||(n=k.identity);var a=!1;return null==e?a:v&&e.some===v?e.some(n,r):(S(e,function(e,i,o){return a||(a=n.call(r,e,i,o))?t:void 0}),!!a)};k.contains=k.include=function(e,n){return null==e?!1:b&&e.indexOf===b?-1!=e.indexOf(n):E(e,function(e){return e===n})},k.invoke=function(e,n){var t=s.call(arguments,2),r=k.isFunction(n);return k.map(e,function(e){return(r?n:e[n]).apply(e,t)})},k.pluck=function(e,n){return k.map(e,function(e){return e[n]})},k.where=function(e,n,t){return k.isEmpty(n)?t?void 0:[]:k[t?"find":"filter"](e,function(e){for(var t in n)if(n[t]!==e[t])return!1;return!0})},k.findWhere=function(e,n){return k.where(e,n,!0)},k.max=function(e,n,t){if(!n&&k.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!n&&k.isEmpty(e))return-1/0;var r={computed:-1/0,value:-1/0};return S(e,function(e,a,i){var o=n?n.call(t,e,a,i):e;o>r.computed&&(r={value:e,computed:o})}),r.value},k.min=function(e,n,t){if(!n&&k.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!n&&k.isEmpty(e))return 1/0;var r={computed:1/0,value:1/0};return S(e,function(e,a,i){var o=n?n.call(t,e,a,i):e;o<r.computed&&(r={value:e,computed:o})}),r.value},k.shuffle=function(e){var n,t=0,r=[];return S(e,function(e){n=k.random(t++),r[t-1]=r[n],r[n]=e}),r};var T=function(e){return k.isFunction(e)?e:function(n){return n[e]}};k.sortBy=function(e,n,t){var r=T(n);return k.pluck(k.map(e,function(e,n,a){return{value:e,index:n,criteria:r.call(t,e,n,a)}}).sort(function(e,n){var t=e.criteria,r=n.criteria;if(t!==r){if(t>r||void 0===t)return 1;if(r>t||void 0===r)return-1}return e.index<n.index?-1:1}),"value")};var I=function(e,n,t,r){var a={},i=T(null==n?k.identity:n);return S(e,function(n,o){var s=i.call(t,n,o,e);r(a,s,n)}),a};k.groupBy=function(e,n,t){return I(e,n,t,function(e,n,t){(k.has(e,n)?e[n]:e[n]=[]).push(t)})},k.countBy=function(e,n,t){return I(e,n,t,function(e,n){k.has(e,n)||(e[n]=0),e[n]++})},k.sortedIndex=function(e,n,t,r){t=null==t?k.identity:T(t);for(var a=t.call(r,n),i=0,o=e.length;o>i;){var s=i+o>>>1;t.call(r,e[s])<a?i=s+1:o=s}return i},k.toArray=function(e){return e?k.isArray(e)?s.call(e):e.length===+e.length?k.map(e,k.identity):k.values(e):[]},k.size=function(e){return null==e?0:e.length===+e.length?e.length:k.keys(e).length},k.first=k.head=k.take=function(e,n,t){return null==e?void 0:null==n||t?e[0]:s.call(e,0,n)},k.initial=function(e,n,t){return s.call(e,0,e.length-(null==n||t?1:n))},k.last=function(e,n,t){return null==e?void 0:null==n||t?e[e.length-1]:s.call(e,Math.max(e.length-n,0))},k.rest=k.tail=k.drop=function(e,n,t){return s.call(e,null==n||t?1:n)},k.compact=function(e){return k.filter(e,k.identity)};var M=function(e,n,t){return n&&k.every(e,k.isArray)?l.apply(t,e):(S(e,function(e){k.isArray(e)||k.isArguments(e)?n?o.apply(t,e):M(e,n,t):t.push(e)}),t)};k.flatten=function(e,n){return M(e,n,[])},k.without=function(e){return k.difference(e,s.call(argumLine truncated
},{name:"InByzantine_Musical_Symbols",astral:"�[�-�]"},{name:"InCJK_Compatibility",bmp:"㌀-㏿"},{name:"InCJK_Compatibility_Forms",bmp:"︰-﹏"},{name:"InCJK_Compatibility_Ideographs",bmp:"豈-﫿"},{name:"InCJK_Compatibility_Ideographs_Supplement",astral:"�[�-�]"},{name:"InCJK_Radicals_Supplement",bmp:"⺀-⻿"},{name:"InCJK_Strokes",bmp:"㇀-㇯"},{name:"InCJK_Symbols_and_Punctuation",bmp:" -〿"},{name:"InCJK_Unified_Ideographs",bmp:"一-鿿"},{name:"InCJK_Unified_Ideographs_Extension_A",bmp:"㐀-䶿"},{name:"InCJK_Unified_Ideographs_Extension_B",astral:"[�-�][�-�]|�[�-�]"},{name:"InCJK_Unified_Ideographs_Extension_C",astral:"�[�-�]|[�-�][�-�]|�[�-�]"},{name:"InCJK_Unified_Ideographs_Extension_D",astral:"�[�-�]|�[�-�]"},{name:"InCarian",astral:"�[�-�]"},{name:"InChakma",astral:"�[�-�]"},{name:"InCham",bmp:"ꨀ-꩟"},{name:"InCherokee",bmp:"Ꭰ-᏿"},{name:"InCombining_Diacritical_Marks",bmp:"̀-ͯ"},{name:"InCombining_Diacritical_Marks_Supplement",bmp:"᷀-᷿"},{name:"InCombining_Diacritical_Marks_for_Symbols",bmp:"⃐-⃿"},{name:"InCombining_Half_Marks",bmp:"︠-︯"},{name:"InCommon_Indic_Number_Forms",bmp:"꠰-꠿"},{name:"InControl_Pictures",bmp:"␀-␿"},{name:"InCoptic",bmp:"Ⲁ-⳿"},{name:"InCounting_Rod_Numerals",astral:"�[�-�]"},{name:"InCuneiform",astral:"�[�-�]"},{name:"InCuneiform_Numbers_and_Punctuation",astral:"�[�-�]"},{name:"InCurrency_Symbols",bmp:"₠-⃏"},{name:"InCypriot_Syllabary",astral:"�[�-�]"},{name:"InCyrillic",bmp:"Ѐ-ӿ"},{name:"InCyrillic_Extended_A",bmp:"ⷠ-ⷿ"},{name:"InCyrillic_Extended_B",bmp:"Ꙁ-ꚟ"},{name:"InCyrillic_Supplement",bmp:"Ԁ-ԯ"},{name:"InDeseret",astral:"�[�-�]"},{name:"InDevanagari",bmp:"ऀ-ॿ"},{name:"InDevanagari_Extended",bmp:"꣠-ꣿ"},{name:"InDingbats",bmp:"✀-➿"},{name:"InDomino_Tiles",astral:"�[�-�]"},{name:"InEgyptian_Hieroglyphs",astral:"�[�-�]|�[�-�]"},{name:"InEmoticons",astral:"�[�-�]"},{name:"InEnclosed_Alphanumeric_Supplement",astral:"�[�-�]"},{name:"InEnclosed_Alphanumerics",bmp:"①-⓿"},{name:"InEnclosed_CJK_Letters_and_Months",bmp:"㈀-㋿"},{name:"InEnclosed_Ideographic_Supplement",astral:"�[�-�]"},{name:"InEthiopic",bmp:"ሀ-፿"},{name:"InEthiopic_Extended",bmp:"ⶀ-⷟"},{name:"InEthiopic_Extended_A",bmp:"꬀-꬯"},{name:"InEthiopic_Supplement",bmp:"ᎀ-᎟"},{name:"InGeneral_Punctuation",bmp:" -"},{name:"InGeometric_Shapes",bmp:"■-◿"},{name:"InGeorgian",bmp:"Ⴀ-ჿ"},{name:"InGeorgian_Supplement",bmp:"ⴀ-⴯"},{name:"InGlagolitic",bmp:"Ⰰ-ⱟ"},{name:"InGothic",astral:"�[�-�]"},{name:"InGreek_Extended",bmp:"ἀ-῿"},{name:"InGreek_and_Coptic",bmp:"Ͱ-Ͽ"},{name:"InGujarati",bmp:"઀-૿"},{name:"InGurmukhi",bmp:"਀-੿"},{name:"InHalfwidth_and_Fullwidth_Forms",bmp:"＀-￯"},{name:"InHangul_Compatibility_Jamo",bmp:"㄰-㆏"},{name:"InHangul_Jamo",bmp:"ᄀ-ᇿ"},{name:"InHangul_Jamo_Extended_A",bmp:"ꥠ-꥿"},{name:"InHangul_Jamo_Extended_B",bmp:"ힰ-퟿"},{name:"InHangul_Syllables",bmp:"가-힯"},{name:"InHanunoo",bmp:"ᜠ-᜿"},{name:"InHebrew",bmp:"֐-׿"},{name:"InHigh_Private_Use_Surrogates",bmp:"�-�"},{name:"InHigh_Surrogates",bmp:"�-�"},{name:"InHiragana",bmp:"぀-ゟ"},{name:"InIPA_Extensions",bmp:"ɐ-ʯ"},{name:"InIdeographic_Description_Characters",bmp:"⿰-⿿"},{name:"InImperial_Aramaic",astral:"�[�-�]"},{name:"InInscriptional_Pahlavi",astral:"�[�-�]"},{name:"InInscriptional_Parthian",astral:"�[�-�]"},{name:"InJavanese",bmp:"ꦀ-꧟"},{name:"InKaithi",astral:"�[�-�]"},{name:"InKana_Supplement",astral:"�[�-�]"},{name:"InKanbun",bmp:"㆐-㆟"},{name:"InKangxi_Radicals",bmp:"⼀-⿟"},{name:"InKannada",bmp:"ಀ-೿"},{name:"InKatakana",bmp:"゠-ヿ"},{name:"InKatakana_Phonetic_Extensions",bmp:"ㇰ-ㇿ"},{name:"InKayah_Li",bmp:"꤀-꤯"},{name:"InKharoshthi",astral:"�[�-�]"},{name:"InKhmer",bmp:"ក-៿"},{name:"InKhmer_Symbols",bmp:"᧠-᧿"},{name:"InLao",bmp:"຀-໿"},{name:"InLatin_Extended_Additional",bmp:"Ḁ-ỿ"},{name:"InLatin_Extended_A",bmp:"Ā-ſ"},{name:"InLatin_Extended_B",bmp:"ƀ-ɏ"},{name:"InLatin_Extended_C",bmp:"Ⱡ-Ɀ"},{name:"InLatin_Extended_D",bmp:"꜠-ꟿ"},{name:"InLatin_1_Supplement",bmp:"€-ÿ"},{name:"InLepcha",bmp:"ᰀ-ᱏ"},{name:"InLetterlike_Symbols",bmp:"℀-⅏"},{name:"InLimbu",bmp:"ᤀ-᥏"},{name:"InLinear_B_Ideograms",astral:"�[�-�]"},{name:"InLinear_B_Syllabary",astral:"�[�-�]"},{name:"InLisu",bmp:"ꓐ-꓿"},{name:"InLow_Surrogates",bmp:"�-�"},{name:"InLycian",astral:"�[�-�]"},{name:"InLydian",astral:"�[�-�]"},{name:"InMahjong_Tiles",astral:"�[�-�]"},{name:"InMalayalam",bmp:"ഀ-ൿ"},{name:"InMandaic",bmp:"ࡀ-࡟"},{name:"InMathematical_Alphanumeric_Symbols",astral:"�[�-�]"},{name:"InMathematical_Operators",bmp:"∀-⋿"},{name:"InMeetei_Mayek",bmp:"ꯀ-꯿"},{name:"InMeetei_Mayek_Extensions",bmp:"ꫠ-꫿"},{name:"InMeroitic_CurLine truncated },{name:"InByzantine_Musical_Symbols",astral:"�[�-�]"},{name:"InCJK_Compatibility",bmp:"㌀-㏿"},{name:"InCJK_Compatibility_Forms",bmp:"︰-﹏"},{name:"InCJK_Compatibility_Ideographs",bmp:"豈-﫿"},{name:"InCJK_Compatibility_Ideographs_Supplement",astral:"�[�-�]"},{name:"InCJK_Radicals_Supplement",bmp:"⺀-⻿"},{name:"InCJK_Strokes",bmp:"㇀-㇯"},{name:"InCJK_Symbols_and_Punctuation",bmp:" -〿"},{name:"InCJK_Unified_Ideographs",bmp:"一-鿿"},{name:"InCJK_Unified_Ideographs_Extension_A",bmp:"㐀-䶿"},{name:"InCJK_Unified_Ideographs_Extension_B",astral:"[�-�][�-�]|�[�-�]"},{name:"InCJK_Unified_Ideographs_Extension_C",astral:"�[�-�]|[�-�][�-�]|�[�-�]"},{name:"InCJK_Unified_Ideographs_Extension_D",astral:"�[�-�]|�[�-�]"},{name:"InCarian",astral:"�[�-�]"},{name:"InChakma",astral:"�[�-�]"},{name:"InCham",bmp:"ꨀ-꩟"},{name:"InCherokee",bmp:"Ꭰ-᏿"},{name:"InCombining_Diacritical_Marks",bmp:"̀-ͯ"},{name:"InCombining_Diacritical_Marks_Supplement",bmp:"᷀-᷿"},{name:"InCombining_Diacritical_Marks_for_Symbols",bmp:"⃐-⃿"},{name:"InCombining_Half_Marks",bmp:"︠-︯"},{name:"InCommon_Indic_Number_Forms",bmp:"꠰-꠿"},{name:"InControl_Pictures",bmp:"␀-␿"},{name:"InCoptic",bmp:"Ⲁ-⳿"},{name:"InCounting_Rod_Numerals",astral:"�[�-�]"},{name:"InCuneiform",astral:"�[�-�]"},{name:"InCuneiform_Numbers_and_Punctuation",astral:"�[�-�]"},{name:"InCurrency_Symbols",bmp:"₠-⃏"},{name:"InCypriot_Syllabary",astral:"�[�-�]"},{name:"InCyrillic",bmp:"Ѐ-ӿ"},{name:"InCyrillic_Extended_A",bmp:"ⷠ-ⷿ"},{name:"InCyrillic_Extended_B",bmp:"Ꙁ-ꚟ"},{name:"InCyrillic_Supplement",bmp:"Ԁ-ԯ"},{name:"InDeseret",astral:"�[�-�]"},{name:"InDevanagari",bmp:"ऀ-ॿ"},{name:"InDevanagari_Extended",bmp:"꣠-ꣿ"},{name:"InDingbats",bmp:"✀-➿"},{name:"InDomino_Tiles",astral:"�[�-�]"},{name:"InEgyptian_Hieroglyphs",astral:"�[�-�]|�[�-�]"},{name:"InEmoticons",astral:"�[�-�]"},{name:"InEnclosed_Alphanumeric_Supplement",astral:"�[�-�]"},{name:"InEnclosed_Alphanumerics",bmp:"①-⓿"},{name:"InEnclosed_CJK_Letters_and_Months",bmp:"㈀-㋿"},{name:"InEnclosed_Ideographic_Supplement",astral:"�[�-�]"},{name:"InEthiopic",bmp:"ሀ-፿"},{name:"InEthiopic_Extended",bmp:"ⶀ-⷟"},{name:"InEthiopic_Extended_A",bmp:"꬀-꬯"},{name:"InEthiopic_Supplement",bmp:"ᎀ-᎟"},{name:"InGeneral_Punctuation",bmp:" -"},{name:"InGeometric_Shapes",bmp:"■-◿"},{name:"InGeorgian",bmp:"Ⴀ-ჿ"},{name:"InGeorgian_Supplement",bmp:"ⴀ-⴯"},{name:"InGlagolitic",bmp:"Ⰰ-ⱟ"},{name:"InGothic",astral:"�[�-�]"},{name:"InGreek_Extended",bmp:"ἀ-῿"},{name:"InGreek_and_Coptic",bmp:"Ͱ-Ͽ"},{name:"InGujarati",bmp:"઀-૿"},{name:"InGurmukhi",bmp:"਀-੿"},{name:"InHalfwidth_and_Fullwidth_Forms",bmp:"＀-￯"},{name:"InHangul_Compatibility_Jamo",bmp:"㄰-㆏"},{name:"InHangul_Jamo",bmp:"ᄀ-ᇿ"},{name:"InHangul_Jamo_Extended_A",bmp:"ꥠ-꥿"},{name:"InHangul_Jamo_Extended_B",bmp:"ힰ-퟿"},{name:"InHangul_Syllables",bmp:"가-힯"},{name:"InHanunoo",bmp:"ᜠ-᜿"},{name:"InHebrew",bmp:"֐-׿"},{name:"InHigh_Private_Use_Surrogates",bmp:"�-�"},{name:"InHigh_Surrogates",bmp:"�-�"},{name:"InHiragana",bmp:"぀-ゟ"},{name:"InIPA_Extensions",bmp:"ɐ-ʯ"},{name:"InIdeographic_Description_Characters",bmp:"⿰-⿿"},{name:"InImperial_Aramaic",astral:"�[�-�]"},{name:"InInscriptional_Pahlavi",astral:"�[�-�]"},{name:"InInscriptional_Parthian",astral:"�[�-�]"},{name:"InJavanese",bmp:"ꦀ-꧟"},{name:"InKaithi",astral:"�[�-�]"},{name:"InKana_Supplement",astral:"�[�-�]"},{name:"InKanbun",bmp:"㆐-㆟"},{name:"InKangxi_Radicals",bmp:"⼀-⿟"},{name:"InKannada",bmp:"ಀ-೿"},{name:"InKatakana",bmp:"゠-ヿ"},{name:"InKatakana_Phonetic_Extensions",bmp:"ㇰ-ㇿ"},{name:"InKayah_Li",bmp:"꤀-꤯"},{name:"InKharoshthi",astral:"�[�-�]"},{name:"InKhmer",bmp:"ក-៿"},{name:"InKhmer_Symbols",bmp:"᧠-᧿"},{name:"InLao",bmp:"຀-໿"},{name:"InLatin_Extended_Additional",bmp:"Ḁ-ỿ"},{name:"InLatin_Extended_A",bmp:"Ā-ſ"},{name:"InLatin_Extended_B",bmp:"ƀ-ɏ"},{name:"InLatin_Extended_C",bmp:"Ⱡ-Ɀ"},{name:"InLatin_Extended_D",bmp:"꜠-ꟿ"},{name:"InLatin_1_Supplement",bmp:"€-ÿ"},{name:"InLepcha",bmp:"ᰀ-ᱏ"},{name:"InLetterlike_Symbols",bmp:"℀-⅏"},{name:"InLimbu",bmp:"ᤀ-᥏"},{name:"InLinear_B_Ideograms",astral:"�[�-�]"},{name:"InLinear_B_Syllabary",astral:"�[�-�]"},{name:"InLisu",bmp:"ꓐ-꓿"},{name:"InLow_Surrogates",bmp:"�-�"},{name:"InLycian",astral:"�[�-�]"},{name:"InLydian",astral:"�[�-�]"},{name:"InMahjong_Tiles",astral:"�[�-�]"},{name:"InMalayalam",bmp:"ഀ-ൿ"},{name:"InMandaic",bmp:"ࡀ-࡟"},{name:"InMathematical_Alphanumeric_Symbols",astral:"�[�-�]"},{name:"InMathematical_Operators",bmp:"∀-⋿"},{name:"InMeetei_Mayek",bmp:"ꯀ-꯿"},{name:"InMeetei_Mayek_Extensions",bmp:"ꫠ-꫿"},{name:"InMeroitic_CurLine truncated
if("("===u)++c;else if("\\"===u.charAt(0)){var d=+u.substring(1);d&&(c>=d?s[d]=-1:n[l]=t(d))}}for(var l=1;l<s.length;++l)-1===s[l]&&(s[l]=++i);for(var l=0,c=0;a>l;++l){var u=n[l];if("("===u)++c,s[c]||(n[l]="(?:");else if("\\"===u.charAt(0)){var d=+u.substring(1);d&&c>=d&&(n[l]="\\"+s[d])}}for(var l=0;a>l;++l)"^"===n[l]&&"^"!==n[l+1]&&(n[l]="");if(e.ignoreCase&&o)for(var l=0;a>l;++l){var u=n[l],p=u.charAt(0);u.length>=2&&"["===p?n[l]=r(u):"\\"!==p&&(n[l]=u.replace(/[a-zA-Z]/g,function(e){var n=e.charCodeAt(0);return"["+String.fromCharCode(-33&n,32|n)+"]"}))}return n.join("")}for(var i=0,o=!1,s=!1,l=0,c=e.length;c>l;++l){var u=e[l];if(u.ignoreCase)s=!0;else if(/[a-z]/i.test(u.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){o=!0,s=!1;break}}for(var d={b:8,t:9,n:10,v:11,f:12,r:13},p=[],l=0,c=e.length;c>l;++l){var u=e[l];if(u.global||u.multiline)throw new Error(""+u);p.push("(?:"+a(u)+")")}return new RegExp(p.join("|"),s?"gi":"g")}function n(e,n){function t(e){var l=e.nodeType;if(1==l){if(r.test(e.className))return;for(var c=e.firstChild;c;c=c.nextSibling)t(c);var u=e.nodeName.toLowerCase();("br"===u||"li"===u)&&(a[s]="\n",o[s<<1]=i++,o[s++<<1|1]=e)}else if(3==l||4==l){var d=e.nodeValue;d.length&&(d=n?d.replace(/\r\n?/g,"\n"):d.replace(/[ \t\r\n]+/g," "),a[s]=d,o[s<<1]=i,i+=d.length,o[s++<<1|1]=e)}}var r=/(?:^|\s)nocode(?:\s|$)/,a=[],i=0,o=[],s=0;return t(e),{sourceCode:a.join("").replace(/\n$/,""),spans:o}}function t(e,n,t,r){if(n){var a={sourceCode:n,basePos:e};t(a),r.push.apply(r,a.decorations)}}function r(e){for(var n=void 0,t=e.firstChild;t;t=t.nextSibling){var r=t.nodeType;n=1===r?n?e:t:3===r&&U.test(t.nodeValue)?e:n}return n===e?void 0:n}function a(n,r){var a,i={};!function(){for(var t=n.concat(r),o=[],s={},l=0,c=t.length;c>l;++l){var u=t[l],d=u[3];if(d)for(var p=d.length;--p>=0;)i[d.charAt(p)]=u;var f=u[1],m=""+f;s.hasOwnProperty(m)||(o.push(f),s[m]=null)}o.push(/[\0-\uffff]/),a=e(o)}();var o=r.length,s=function(e){for(var n=e.sourceCode,l=e.basePos,u=[l,P],d=0,p=n.match(a)||[],f={},m=0,g=p.length;g>m;++m){var h,v=p[m],b=f[v],w=void 0;if("string"==typeof b)h=!1;else{var x=i[v.charAt(0)];if(x)w=v.match(x[1]),b=x[0];else{for(var y=0;o>y;++y)if(x=r[y],w=v.match(x[1])){b=x[0];break}w||(b=P)}h=b.length>=5&&"lang-"===b.substring(0,5),!h||w&&"string"==typeof w[1]||(h=!1,b=O),h||(f[v]=b)}var C=d;if(d+=v.length,h){var k=w[1],S=v.indexOf(k),_=S+k.length;w[2]&&(_=v.length-w[2].length,S=_-k.length);var E=b.substring(5);t(l+C,v.substring(0,S),s,u),t(l+C+S,k,c(E,k),u),t(l+C+_,v.substring(_),s,u)}else u.push(l+C,b)}e.decorations=u};return s}function i(e){var n=[],t=[];n.push(e.tripleQuotedStrings?[M,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]:e.multiLineStrings?[M,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]:[M,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&t.push([M,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(n.push(r>1?[L,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]:[L,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),t.push([M,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):n.push([L,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(t.push([L,/^\/\/[^\r\n]*/,null]),t.push([L,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var i=e.regexLiterals;if(i){var o=i>1?"":"\n\r",s=o?".":"[\\S\\s]",l="/(?=[^/*"+o+"])(?:[^/\\x5B\\x5C"+o+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+o+"]|\\x5C"+s+")*(?:\\x5D|$))+/";t.push(["lang-regex",RegExp("^"+q+"("+l+")")])}var c=e.types;c&&t.push([A,c]);var u=(""+e.keywords).replace(/^ | $/g,"");u.length&&t.push([$,new RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),null]),n.push([P,/^\s+/,null," \r\n  "]);var d="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(d+="(?!s*/)"),t.push([R,/^@[a-z_$][a-z_$@0-9]*/i,null],[A,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[P,/^[a-z_$][a-z_$@0-9]*/i,null],[R,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[P,/^\\[\s\S]?/,null],[N,new RegExp(d),null]),a(n,t)}function o(e,n,t){function r(e){var n=e.nodeType;if(1!=n||i.test(e.className)){if((3==n||4==n)&&t){var l=e.nodeValue,c=l.match(o);if(c){var u=l.substring(0,c.index);e.nodeValue=u;var d=l.substring(c.index+c[0].length);if(d){var p=e.parentNode;p.insertBefore(s.createTextNode(d),e.nextSibling)}a(e),u||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName)a(e),e.parentNode&&e.parentNode.removeChild(e);else for(var f=e.firstChild;f;f=f.nextSibling)r(f)}function a(e){function n(e,t){var r=t?e.cloneNode(!1):e,a=e.parentNode;if(a){var i=n(a,1),o=e.nextSibling;i.appendChild(r);for(var s=o;s;s=o)o=s.nextSibling,i.appendChild(Line truncated if("("===u)++c;else if("\\"===u.charAt(0)){var d=+u.substring(1);d&&(c>=d?s[d]=-1:n[l]=t(d))}}for(var l=1;l<s.length;++l)-1===s[l]&&(s[l]=++i);for(var l=0,c=0;a>l;++l){var u=n[l];if("("===u)++c,s[c]||(n[l]="(?:");else if("\\"===u.charAt(0)){var d=+u.substring(1);d&&c>=d&&(n[l]="\\"+s[d])}}for(var l=0;a>l;++l)"^"===n[l]&&"^"!==n[l+1]&&(n[l]="");if(e.ignoreCase&&o)for(var l=0;a>l;++l){var u=n[l],p=u.charAt(0);u.length>=2&&"["===p?n[l]=r(u):"\\"!==p&&(n[l]=u.replace(/[a-zA-Z]/g,function(e){var n=e.charCodeAt(0);return"["+String.fromCharCode(-33&n,32|n)+"]"}))}return n.join("")}for(var i=0,o=!1,s=!1,l=0,c=e.length;c>l;++l){var u=e[l];if(u.ignoreCase)s=!0;else if(/[a-z]/i.test(u.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){o=!0,s=!1;break}}for(var d={b:8,t:9,n:10,v:11,f:12,r:13},p=[],l=0,c=e.length;c>l;++l){var u=e[l];if(u.global||u.multiline)throw new Error(""+u);p.push("(?:"+a(u)+")")}return new RegExp(p.join("|"),s?"gi":"g")}function n(e,n){function t(e){var l=e.nodeType;if(1==l){if(r.test(e.className))return;for(var c=e.firstChild;c;c=c.nextSibling)t(c);var u=e.nodeName.toLowerCase();("br"===u||"li"===u)&&(a[s]="\n",o[s<<1]=i++,o[s++<<1|1]=e)}else if(3==l||4==l){var d=e.nodeValue;d.length&&(d=n?d.replace(/\r\n?/g,"\n"):d.replace(/[ \t\r\n]+/g," "),a[s]=d,o[s<<1]=i,i+=d.length,o[s++<<1|1]=e)}}var r=/(?:^|\s)nocode(?:\s|$)/,a=[],i=0,o=[],s=0;return t(e),{sourceCode:a.join("").replace(/\n$/,""),spans:o}}function t(e,n,t,r){if(n){var a={sourceCode:n,basePos:e};t(a),r.push.apply(r,a.decorations)}}function r(e){for(var n=void 0,t=e.firstChild;t;t=t.nextSibling){var r=t.nodeType;n=1===r?n?e:t:3===r&&U.test(t.nodeValue)?e:n}return n===e?void 0:n}function a(n,r){var a,i={};!function(){for(var t=n.concat(r),o=[],s={},l=0,c=t.length;c>l;++l){var u=t[l],d=u[3];if(d)for(var p=d.length;--p>=0;)i[d.charAt(p)]=u;var f=u[1],m=""+f;s.hasOwnProperty(m)||(o.push(f),s[m]=null)}o.push(/[\0-\uffff]/),a=e(o)}();var o=r.length,s=function(e){for(var n=e.sourceCode,l=e.basePos,u=[l,P],d=0,p=n.match(a)||[],f={},m=0,g=p.length;g>m;++m){var h,v=p[m],b=f[v],w=void 0;if("string"==typeof b)h=!1;else{var x=i[v.charAt(0)];if(x)w=v.match(x[1]),b=x[0];else{for(var y=0;o>y;++y)if(x=r[y],w=v.match(x[1])){b=x[0];break}w||(b=P)}h=b.length>=5&&"lang-"===b.substring(0,5),!h||w&&"string"==typeof w[1]||(h=!1,b=O),h||(f[v]=b)}var C=d;if(d+=v.length,h){var k=w[1],S=v.indexOf(k),_=S+k.length;w[2]&&(_=v.length-w[2].length,S=_-k.length);var E=b.substring(5);t(l+C,v.substring(0,S),s,u),t(l+C+S,k,c(E,k),u),t(l+C+_,v.substring(_),s,u)}else u.push(l+C,b)}e.decorations=u};return s}function i(e){var n=[],t=[];n.push(e.tripleQuotedStrings?[M,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]:e.multiLineStrings?[M,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]:[M,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&t.push([M,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(n.push(r>1?[L,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]:[L,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),t.push([M,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):n.push([L,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(t.push([L,/^\/\/[^\r\n]*/,null]),t.push([L,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var i=e.regexLiterals;if(i){var o=i>1?"":"\n\r",s=o?".":"[\\S\\s]",l="/(?=[^/*"+o+"])(?:[^/\\x5B\\x5C"+o+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+o+"]|\\x5C"+s+")*(?:\\x5D|$))+/";t.push(["lang-regex",RegExp("^"+q+"("+l+")")])}var c=e.types;c&&t.push([A,c]);var u=(""+e.keywords).replace(/^ | $/g,"");u.length&&t.push([$,new RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),null]),n.push([P,/^\s+/,null," \r\n  "]);var d="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(d+="(?!s*/)"),t.push([R,/^@[a-z_$][a-z_$@0-9]*/i,null],[A,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[P,/^[a-z_$][a-z_$@0-9]*/i,null],[R,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[P,/^\\[\s\S]?/,null],[N,new RegExp(d),null]),a(n,t)}function o(e,n,t){function r(e){var n=e.nodeType;if(1!=n||i.test(e.className)){if((3==n||4==n)&&t){var l=e.nodeValue,c=l.match(o);if(c){var u=l.substring(0,c.index);e.nodeValue=u;var d=l.substring(c.index+c[0].length);if(d){var p=e.parentNode;p.insertBefore(s.createTextNode(d),e.nextSibling)}a(e),u||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName)a(e),e.parentNode&&e.parentNode.removeChild(e);else for(var f=e.firstChild;f;f=f.nextSibling)r(f)}function a(e){function n(e,t){var r=t?e.cloneNode(!1):e,a=e.parentNode;if(a){var i=n(a,1),o=e.nextSibling;i.appendChild(r);for(var s=o;s;s=o)o=s.nextSibling,i.appendChild(Line truncated
var l=function(e){return o.strings[e]||g[e]};t=t||"";var c=this.hooks=new Markdown.HookCollection;c.addNoop("onPreviewRefresh"),c.addNoop("postBlockquoteCreation"),c.addFalse("insertImageDialog"),c.addFalse("insertLinkDialog"),this.getConverter=function(){return e};var u,d,p=this;this.run=function(s,f){if(!u){u=new n(t,s);var m,g=new i(c,l),v=new r(e,u,function(){c.onPreviewRefresh()},f),b=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),w="mac"==b,x=function(e){var n=h[e][w?"mac":"win"],t=n.indexOf("|");return n.substring(0,t>0?t:n.length)};m=new a(t,u,d,v,g,o.helpButton,l,x),m.setUndoRedoButtonStates();var y=p.refreshPreview=function(){v.refresh(!0)};y(),p.uiManager=m}}},e.prototype.findTags=function(e,n){var t,r=this;e&&(t=s.extendRegExp(e,"","$"),this.before=this.before.replace(t,function(e){return r.startTag=r.startTag+e,""}),t=s.extendRegExp(e,"^",""),this.selection=this.selection.replace(t,function(e){return r.startTag=r.startTag+e,""})),n&&(t=s.extendRegExp(n,"","$"),this.selection=this.selection.replace(t,function(e){return r.endTag=e+r.endTag,""}),t=s.extendRegExp(n,"^",""),this.after=this.after.replace(t,function(e){return r.endTag=e+r.endTag,""}))},e.prototype.trimWhitespace=function(e){var n,t,r=this;e?n=t="":(n=function(e){return r.before+=e,""},t=function(e){return r.after=e+r.after,""}),this.selection=this.selection.replace(/^(\s*)/,n).replace(/(\s*)$/,t)},e.prototype.skipLines=function(e,n,t){void 0===e&&(e=1),void 0===n&&(n=1),e++,n++;var r,a;if(navigator.userAgent.match(/Chrome/)&&"X".match(/()./),this.selection=this.selection.replace(/(^\n*)/,""),this.startTag=this.startTag+d.$1,this.selection=this.selection.replace(/(\n*$)/,""),this.endTag=this.endTag+d.$1,this.startTag=this.startTag.replace(/(^\n*)/,""),this.before=this.before+d.$1,this.endTag=this.endTag.replace(/(\n*$)/,""),this.after=this.after+d.$1,this.before){for(r=a="";e--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.before=this.before.replace(new d(r+"$",""),a)}if(this.after){for(r=a="";n--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.after=this.after.replace(new d(r,""),a)}},s.isVisible=function(e){return window.getComputedStyle?"none"!==window.getComputedStyle(e,null).getPropertyValue("display"):e.currentStyle?"none"!==e.currentStyle.display:void 0},s.addEvent=function(e,n,t){e.attachEvent?e.attachEvent("on"+n,t):e.addEventListener(n,t,!1)},s.removeEvent=function(e,n,t){e.detachEvent?e.detachEvent("on"+n,t):e.removeEventListener(n,t,!1)},s.fixEolChars=function(e){return e=e.replace(/\r\n/g,"\n"),e=e.replace(/\r/g,"\n")},s.extendRegExp=function(e,n,t){(null===n||void 0===n)&&(n=""),(null===t||void 0===t)&&(t="");var r,a=e.toString();return a=a.replace(/\/([gim]*)$/,function(e,n){return r=n,""}),a=a.replace(/(^\/|\/$)/g,""),a=n+a+t,new d(a,r)},l.getTop=function(e,n){var t=e.offsetTop;if(!n)for(;e=e.offsetParent;)t+=e.offsetTop;return t},l.getHeight=function(e){return e.offsetHeight||e.scrollHeight},l.getWidth=function(e){return e.offsetWidth||e.scrollWidth},l.getPageSize=function(){var e,n,t,r;self.innerHeight&&self.scrollMaxY?(e=u.body.scrollWidth,n=self.innerHeight+self.scrollMaxY):u.body.scrollHeight>u.body.offsetHeight?(e=u.body.scrollWidth,n=u.body.scrollHeight):(e=u.body.offsetWidth,n=u.body.offsetHeight),self.innerHeight?(t=self.innerWidth,r=self.innerHeight):u.documentElement&&u.documentElement.clientHeight?(t=u.documentElement.clientWidth,r=u.documentElement.clientHeight):u.body&&(t=u.body.clientWidth,r=u.body.clientHeight);var a=Math.max(e,t),i=Math.max(n,r);return[a,i,t,r]},c.createBackground=function(){var e=u.createElement("div"),n=e.style;e.className="wmd-prompt-background",n.position="absolute",n.top="0",n.zIndex="1000",m.isIE?n.filter="alpha(opacity=50)":n.opacity="0.5";var t=l.getPageSize();return n.height=t[1]+"px",m.isIE?(n.left=u.documentElement.scrollLeft,n.width=u.documentElement.clientWidth):(n.left="0",n.width="100%"),u.body.appendChild(e),e},c.prompt=function(e,n,t){var r,a;void 0===n&&(n="");var i=function(e){var n=e.charCode||e.keyCode;27===n&&o(!0)},o=function(e){s.removeEvent(u.body,"keydown",i);var n=a.value;return e?n=null:(n=n.replace(/^http:\/\/(https?|ftp):\/\//,"$1://"),/^(?:https?|ftp):\/\//.test(n)||(n="http://"+n)),r.parentNode.removeChild(r),t(n),!1},c=function(){r=u.createElement("div"),r.className="wmd-prompt-dialog",r.style.padding="10px;",r.style.position="fixed",r.style.width="400px",r.style.zIndex="1001";var t=u.createElement("div");t.innerHTML=e,t.style.padding="5px",r.appendChild(t);var c=u.createElement("form"),d=c.style;c.onsubmit=function(){return o(!1)},d.padding="0",d.margin="0",d.cssFloat="left",d.width="100%",d.textAlign="center",d.position="relative",r.appendChild(c),a=u.createElement("input"),a.type="text",a.value=n,d=a.style,d.display="block",d.width="80%",d.marginLeft=d.marginRight="auto",c.appendChild(a);var p=u.createElement("input");p.type="button",p.onclick=function(){return o(!1)},p.value="OK",d=p.style,d.margin="10px",d.display="inline",d.width="7em";varLine truncated var l=function(e){return o.strings[e]||g[e]};t=t||"";var c=this.hooks=new Markdown.HookCollection;c.addNoop("onPreviewRefresh"),c.addNoop("postBlockquoteCreation"),c.addFalse("insertImageDialog"),c.addFalse("insertLinkDialog"),this.getConverter=function(){return e};var u,d,p=this;this.run=function(s,f){if(!u){u=new n(t,s);var m,g=new i(c,l),v=new r(e,u,function(){c.onPreviewRefresh()},f),b=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),w="mac"==b,x=function(e){var n=h[e][w?"mac":"win"],t=n.indexOf("|");return n.substring(0,t>0?t:n.length)};m=new a(t,u,d,v,g,o.helpButton,l,x),m.setUndoRedoButtonStates();var y=p.refreshPreview=function(){v.refresh(!0)};y(),p.uiManager=m}}},e.prototype.findTags=function(e,n){var t,r=this;e&&(t=s.extendRegExp(e,"","$"),this.before=this.before.replace(t,function(e){return r.startTag=r.startTag+e,""}),t=s.extendRegExp(e,"^",""),this.selection=this.selection.replace(t,function(e){return r.startTag=r.startTag+e,""})),n&&(t=s.extendRegExp(n,"","$"),this.selection=this.selection.replace(t,function(e){return r.endTag=e+r.endTag,""}),t=s.extendRegExp(n,"^",""),this.after=this.after.replace(t,function(e){return r.endTag=e+r.endTag,""}))},e.prototype.trimWhitespace=function(e){var n,t,r=this;e?n=t="":(n=function(e){return r.before+=e,""},t=function(e){return r.after=e+r.after,""}),this.selection=this.selection.replace(/^(\s*)/,n).replace(/(\s*)$/,t)},e.prototype.skipLines=function(e,n,t){void 0===e&&(e=1),void 0===n&&(n=1),e++,n++;var r,a;if(navigator.userAgent.match(/Chrome/)&&"X".match(/()./),this.selection=this.selection.replace(/(^\n*)/,""),this.startTag=this.startTag+d.$1,this.selection=this.selection.replace(/(\n*$)/,""),this.endTag=this.endTag+d.$1,this.startTag=this.startTag.replace(/(^\n*)/,""),this.before=this.before+d.$1,this.endTag=this.endTag.replace(/(\n*$)/,""),this.after=this.after+d.$1,this.before){for(r=a="";e--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.before=this.before.replace(new d(r+"$",""),a)}if(this.after){for(r=a="";n--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.after=this.after.replace(new d(r,""),a)}},s.isVisible=function(e){return window.getComputedStyle?"none"!==window.getComputedStyle(e,null).getPropertyValue("display"):e.currentStyle?"none"!==e.currentStyle.display:void 0},s.addEvent=function(e,n,t){e.attachEvent?e.attachEvent("on"+n,t):e.addEventListener(n,t,!1)},s.removeEvent=function(e,n,t){e.detachEvent?e.detachEvent("on"+n,t):e.removeEventListener(n,t,!1)},s.fixEolChars=function(e){return e=e.replace(/\r\n/g,"\n"),e=e.replace(/\r/g,"\n")},s.extendRegExp=function(e,n,t){(null===n||void 0===n)&&(n=""),(null===t||void 0===t)&&(t="");var r,a=e.toString();return a=a.replace(/\/([gim]*)$/,function(e,n){return r=n,""}),a=a.replace(/(^\/|\/$)/g,""),a=n+a+t,new d(a,r)},l.getTop=function(e,n){var t=e.offsetTop;if(!n)for(;e=e.offsetParent;)t+=e.offsetTop;return t},l.getHeight=function(e){return e.offsetHeight||e.scrollHeight},l.getWidth=function(e){return e.offsetWidth||e.scrollWidth},l.getPageSize=function(){var e,n,t,r;self.innerHeight&&self.scrollMaxY?(e=u.body.scrollWidth,n=self.innerHeight+self.scrollMaxY):u.body.scrollHeight>u.body.offsetHeight?(e=u.body.scrollWidth,n=u.body.scrollHeight):(e=u.body.offsetWidth,n=u.body.offsetHeight),self.innerHeight?(t=self.innerWidth,r=self.innerHeight):u.documentElement&&u.documentElement.clientHeight?(t=u.documentElement.clientWidth,r=u.documentElement.clientHeight):u.body&&(t=u.body.clientWidth,r=u.body.clientHeight);var a=Math.max(e,t),i=Math.max(n,r);return[a,i,t,r]},c.createBackground=function(){var e=u.createElement("div"),n=e.style;e.className="wmd-prompt-background",n.position="absolute",n.top="0",n.zIndex="1000",m.isIE?n.filter="alpha(opacity=50)":n.opacity="0.5";var t=l.getPageSize();return n.height=t[1]+"px",m.isIE?(n.left=u.documentElement.scrollLeft,n.width=u.documentElement.clientWidth):(n.left="0",n.width="100%"),u.body.appendChild(e),e},c.prompt=function(e,n,t){var r,a;void 0===n&&(n="");var i=function(e){var n=e.charCode||e.keyCode;27===n&&o(!0)},o=function(e){s.removeEvent(u.body,"keydown",i);var n=a.value;return e?n=null:(n=n.replace(/^http:\/\/(https?|ftp):\/\//,"$1://"),/^(?:https?|ftp):\/\//.test(n)||(n="http://"+n)),r.parentNode.removeChild(r),t(n),!1},c=function(){r=u.createElement("div"),r.className="wmd-prompt-dialog",r.style.padding="10px;",r.style.position="fixed",r.style.width="400px",r.style.zIndex="1001";var t=u.createElement("div");t.innerHTML=e,t.style.padding="5px",r.appendChild(t);var c=u.createElement("form"),d=c.style;c.onsubmit=function(){return o(!1)},d.padding="0",d.margin="0",d.cssFloat="left",d.width="100%",d.textAlign="center",d.position="relative",r.appendChild(c),a=u.createElement("input"),a.type="text",a.value=n,d=a.style,d.display="block",d.width="80%",d.marginLeft=d.marginRight="auto",c.appendChild(a);var p=u.createElement("input");p.type="button",p.onclick=function(){return o(!1)},p.value="OK",d=p.style,d.margin="10px",d.display="inline",d.width="7em";varLine truncated
var i="^.+[ \\t]*\\n=+[ \\t]*\\n+|^.+[ \\t]*\\n-+[ \\t]*\\n+|^\\#{1,6}[ \\t]*.+?[ \\t]*\\#*\\n+";n.enabled&&e.some(n.config.extensions,function(e){return"fenced_code_gfm"==e})&&(i="^```.*\\n[\\s\\S]*?\\n```|"+i),t.enabled&&(i="^[ \\t]*\\n\\$\\$[\\s\\S]*?\\$\\$|"+i,i="^[ \\t]*\\n\\\\\\\\[[\\s\\S]*?\\\\\\\\]|"+i,i="^[ \\t]*\\n\\\\?\\\\begin\\{[a-z]*\\*?\\}[\\s\\S]*?\\\\end\\{[a-z]*\\*?\\}|"+i),i=new RegExp(i,"gm");var o=r.getConverter();o.hooks.chain("preConversion",function(n){function t(e,n){var t=r.substring(s,n);o.push({text:t,textWithDelimiter:'\n<div class="se-section-delimiter"></div>\n\n'+t+"\n"})}a.previewStartTime=new Date;var r=n+"\n\n",o=[],s=0;return r.replace(i,function(e,n){t(s,n),s=n}),t(s,n.length),a.onSectionsCreated(o),e.reduce(o,function(e,n){return e+n.textWithDelimiter},"")})},i}),define("extensions/partialRendering",["underscore","crel","extensions/markdownExtra","classes/Extension"],function(e,n,t,r){function a(n,t){if(g=[],m=[],u=void 0,h===!0||c!=t)return h=!1,c=t,m=f,f=n,void(g=n);var r=f.length;e.some(f,function(e,t){return t>=n.length||e.text!=n[t].text?(r=t,!0):void 0});var a=-f.length;e.some(f.slice().reverse(),function(e,t){return t>=n.length||e.text!=n[n.length-t-1].text?(a=-t,!0):void 0}),r-a>f.length&&(a=r-f.length);var i=f.slice(0,r);g=n.slice(r,n.length+a);var o=f.slice(f.length+a,f.length);u=e.first(o),m=f.slice(r,f.length+a),f=i.concat(g).concat(o)}function i(e){var n=e.id.substring(3);y[n]=e}function o(){function t(t){for(var r=n("div",{id:"wmd-preview-section-"+t.id,"class":"wmd-preview-section preview-content"}),o=!1;a;){var s=a.nextSibling;if(o===!0&&"DIV"==a.tagName&&"se-section-delimiter"==a.className)break;o=!0,"DIV"==a.tagName&&"footnotes"==a.className?e.each(a.querySelectorAll("ol > li"),i):r.appendChild(a),a=s}return r}e.each(m,function(e){var n=document.getElementById("wmd-preview-section-"+e.id);x.removeChild(n)});var r=document.getElementById("wmd-preview"),a=r.firstChild,o=document.createDocumentFragment();e.each(g,function(e){o.appendChild(t(e))}),r.innerHTML="";var s=w;void 0!==u&&(s=document.getElementById("wmd-preview-section-"+u.id)),x.insertBefore(o,s),w.innerHTML="";var l=[];if(b===!0){var c=n("ol");e.each(x.querySelectorAll("a.footnote"),function(e,n){e.textContent=n+1;var t=e.id.substring(6);l.push(t),c.appendChild(y[t].cloneNode(!0))}),l.length>0&&w.appendChild(n("div",{"class":"footnotes"},n("hr"),c)),y=e.pick(y,l)}}function s(n){l=n.getConverter(),l.hooks.chain("preConversion",function(){var n=e.map(g,function(e){return e.text});return n.push(c+"\n\n"),n.join("")}),n.hooks.chain("onPreviewRefresh",function(){o()})}var l,c,u,d=new r("partialRendering","Partial Rendering",!0),p=0,f=[],m=[],g=[],h=!1,v=!1,b=!1;d.onSectionsCreated=function(n){var t=[],r="\n";b=!1,e.each(n,function(e){var n=e.textWithDelimiter+"\n";v&&(n=n.replace(/^```.*\n[\s\S]*?\n```|\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/gm,function(e,n){return n?(b=!0,r+=e.replace(/^\s*\n/gm,"")+"\n",""):e})),n=n.replace(/^```.*\n[\s\S]*?\n```|^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm,function(e,n){return n?(r+=e.replace(/^\s*\n/gm,"")+"\n",""):e}),t.push({id:++p,text:n+"\n"})}),a(t,r)};var w,x,y={};return d.onPagedownConfigure=s,d.onToggleMode=s,d.onInit=function(){t.enabled&&e.some(t.config.extensions,function(e){return"footnotes"==e})&&(v=!0)},d.onReady=function(){w=n("div",{id:"wmd-preview-section-footnotes","class":"preview-content"}),x=document.getElementById("preview-contents"),x.appendChild(w)},d.onFileSelected=function(){h=!0},d}),define("extensions/umlDiagrams",["require","underscore","utils","classes/Extension","crel"],function(e,n,t,r,a){function i(){var t=c.querySelectorAll(".prettyprint > .language-flow");t&&0!=t.length&&e(["flow-chart"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"flow-chart"});r.parentNode.replaceChild(i,r),t.drawSVG(i,JSON.parse(l.config.flowchartOptions))}catch(o){console.error(o)}})})}function o(){var t=c.querySelectorAll(".prettyprint > .language-sequence");t&&0!=t.length&&e(["Diagram"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"sequence-diagram"});r.parentNode.replaceChild(i,r),t.drawSVG(i,{theme:"simple"})}catch(o){console.error(o)}})})}function i(){var t=c.querySelectorAll(".prettyprint > .language-flow");t&&0!=t.length&&e(["flow-chart"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"flow-chart"});r.parentNode.replaceChild(i,r),t.drawSVG(i,JSON.parse(l.config.flowchartOptions))}catch(o){console.error(o)}})})}function s(e){e.hooks.chain("onPreviewRefresh",function(){o(),i()})}var l=new r("umlDiagrams","UML Diagrams",!0);l.defaultConfig={flowchartOptions:["{",' "line-width": 2,',' "font-family": "sans-serif",',' "font-weight": "normal"',"}"].join("\n")};var c=document.getElementById("preview-conLine truncated n.enabled&&e.some(n.config.extensions,function(e){return"fenced_code_gfm"==e})&&(i="^```.*\\n[\\s\\S]*?\\n```|"+i),t.enabled&&(i="^[ \\t]*\\n\\$\\$[\\s\\S]*?\\$\\$|"+i,i="^[ \\t]*\\n\\\\\\\\[[\\s\\S]*?\\\\\\\\]|"+i,i="^[ \\t]*\\n\\\\?\\\\begin\\{[a-z]*\\*?\\}[\\s\\S]*?\\\\end\\{[a-z]*\\*?\\}|"+i),i=new RegExp(i,"gm");var o=r.getConverter();o.hooks.chain("preConversion",function(n){function t(e,n){var t=r.substring(s,n);o.push({text:t,textWithDelimiter:'\n<div class="se-section-delimiter"></div>\n\n'+t+"\n"})}a.previewStartTime=new Date;var r=n+"\n\n",o=[],s=0;return r.replace(i,function(e,n){t(s,n),s=n}),t(s,n.length),a.onSectionsCreated(o),e.reduce(o,function(e,n){return e+n.textWithDelimiter},"")})},i}),define("extensions/partialRendering",["underscore","crel","extensions/markdownExtra","classes/Extension"],function(e,n,t,r){function a(n,t){if(g=[],m=[],u=void 0,h===!0||c!=t)return h=!1,c=t,m=f,f=n,void(g=n);var r=f.length;e.some(f,function(e,t){return t>=n.length||e.text!=n[t].text?(r=t,!0):void 0});var a=-f.length;e.some(f.slice().reverse(),function(e,t){return t>=n.length||e.text!=n[n.length-t-1].text?(a=-t,!0):void 0}),r-a>f.length&&(a=r-f.length);var i=f.slice(0,r);g=n.slice(r,n.length+a);var o=f.slice(f.length+a,f.length);u=e.first(o),m=f.slice(r,f.length+a),f=i.concat(g).concat(o)}function i(e){var n=e.id.substring(3);y[n]=e}function o(){function t(t){for(var r=n("div",{id:"wmd-preview-section-"+t.id,"class":"wmd-preview-section preview-content"}),o=!1;a;){var s=a.nextSibling;if(o===!0&&"DIV"==a.tagName&&"se-section-delimiter"==a.className)break;o=!0,"DIV"==a.tagName&&"footnotes"==a.className?e.each(a.querySelectorAll("ol > li"),i):r.appendChild(a),a=s}return r}e.each(m,function(e){var n=document.getElementById("wmd-preview-section-"+e.id);x.removeChild(n)});var r=document.getElementById("wmd-preview"),a=r.firstChild,o=document.createDocumentFragment();e.each(g,function(e){o.appendChild(t(e))}),r.innerHTML="";var s=w;void 0!==u&&(s=document.getElementById("wmd-preview-section-"+u.id)),x.insertBefore(o,s),w.innerHTML="";var l=[];if(b===!0){var c=n("ol");e.each(x.querySelectorAll("a.footnote"),function(e,n){e.textContent=n+1;var t=e.id.substring(6);l.push(t),c.appendChild(y[t].cloneNode(!0))}),l.length>0&&w.appendChild(n("div",{"class":"footnotes"},n("hr"),c)),y=e.pick(y,l)}}function s(n){l=n.getConverter(),l.hooks.chain("preConversion",function(){var n=e.map(g,function(e){return e.text});return n.push(c+"\n\n"),n.join("")}),n.hooks.chain("onPreviewRefresh",function(){o()})}var l,c,u,d=new r("partialRendering","Partial Rendering",!0),p=0,f=[],m=[],g=[],h=!1,v=!1,b=!1;d.onSectionsCreated=function(n){var t=[],r="\n";b=!1,e.each(n,function(e){var n=e.textWithDelimiter+"\n";v&&(n=n.replace(/^```.*\n[\s\S]*?\n```|\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/gm,function(e,n){return n?(b=!0,r+=e.replace(/^\s*\n/gm,"")+"\n",""):e})),n=n.replace(/^```.*\n[\s\S]*?\n```|^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm,function(e,n){return n?(r+=e.replace(/^\s*\n/gm,"")+"\n",""):e}),t.push({id:++p,text:n+"\n"})}),a(t,r)};var w,x,y={};return d.onPagedownConfigure=s,d.onToggleMode=s,d.onInit=function(){t.enabled&&e.some(t.config.extensions,function(e){return"footnotes"==e})&&(v=!0)},d.onReady=function(){w=n("div",{id:"wmd-preview-section-footnotes","class":"preview-content"}),x=document.getElementById("preview-contents"),x.appendChild(w)},d.onFileSelected=function(){h=!0},d}),define("extensions/umlDiagrams",["require","underscore","utils","classes/Extension","crel"],function(e,n,t,r,a){function i(){var t=c.querySelectorAll(".prettyprint > .language-flow");t&&0!=t.length&&e(["flow-chart"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"flow-chart"});r.parentNode.replaceChild(i,r),t.drawSVG(i,JSON.parse(l.config.flowchartOptions))}catch(o){console.error(o)}})})}function o(){var t=c.querySelectorAll(".prettyprint > .language-sequence");t&&0!=t.length&&e(["Diagram"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"sequence-diagram"});r.parentNode.replaceChild(i,r),t.drawSVG(i,{theme:"simple"})}catch(o){console.error(o)}})})}function i(){var t=c.querySelectorAll(".prettyprint > .language-flow");t&&0!=t.length&&e(["flow-chart"],function(e){n.each(t,function(n){try{var t=e.parse(n.textContent),r=n.parentNode,i=a("div",{"class":"flow-chart"});r.parentNode.replaceChild(i,r),t.drawSVG(i,JSON.parse(l.config.flowchartOptions))}catch(o){console.error(o)}})})}function s(e){e.hooks.chain("onPreviewRefresh",function(){o(),i()})}var l=new r("umlDiagrams","UML Diagrams",!0);l.defaultConfig={flowchartOptions:["{",' "line-width": 2,',' "font-family": "sans-serif",',' "font-weight": "normal"',"}"].join("\n")};var c=document.getElementById("preview-contents");return l.onPagedownConfigure=s,l.onToggleMode=s,l}),define("extensions/toc",["underscore"Line truncated
u(x.code);break;case"g":u(x.image);break;case"o":u(x.olist);break;case"u":u(x.ulist);break;case"h":u(x.heading);break;case"r":u(x.hr);break;case"y":u(x.redo);break;case"z":u(e.shiftKey?x.redo:x.undo);break;case"v":return void t.setMode("typing");case"x":return void t.setMode("deleting");default:return}e.preventDefault&&e.preventDefault(),window.event&&(window.event.returnValue=!1)}}),l.addEvent(b,"keyup",function(e){if(e.shiftKey&&!e.ctrlKey&&!e.metaKey){var n=e.charCode||e.keyCode;if(13===n){var t={};t.textOp=m("doAutoindent"),u(t)}}}),g.isIE&&l.addEvent(b,"keydown",function(e){var n=e.keyCode;return 27===n?!1:void 0}),MD.insertLink=c,MD.insertLink2=c,this.setUndoRedoButtonStates=v,this.buttons=x,this.setButtonState=p}function o(e,n){this.hooks=e,this.getString=n}function s(e){return e.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/,function(e,n,t){return n=n.replace(/\?.*$/,function(e){return e.replace(/\+/g," ")}),n=decodeURIComponent(n),n=encodeURI(n).replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29"),n=n.replace(/\?.*$/,function(e){return e.replace(/\+/g,"%2b")}),t&&(t=t.trim?t.trim():t.replace(/^\s*/,"").replace(/\s*$/,""),t=t.replace(/"/g,"quot;").replace(/\(/g,"&#40;").replace(/\)/g,"&#41;").replace(/</g,"&lt;").replace(/>/g,"&gt;")),t?n+' "'+t+'"':n})}var l={},c={},u={},d=window.document,p=window.RegExp,f=window.navigator,m={lineLength:72},g={isIE:/msie/.test(f.userAgent.toLowerCase()),isIE_5or6:/msie 6/.test(f.userAgent.toLowerCase())||/msie 5/.test(f.userAgent.toLowerCase()),isOpera:/opera/.test(f.userAgent.toLowerCase())},h={bold:getMsg("Strong")+" <strong> Ctrl/Cmd+B",boldexample:getMsg("strong text"),italic:getMsg("Emphasis")+" <em> Ctrl/Cmd+I",italicexample:getMsg("emphasized text"),link:getMsg("Hyperlink")+" <a> Ctrl/Cmd+L",linkdescription:getMsg("enter link description here"),linkdialog:'<p><b>Insert Hyperlink</b></p><p>http://example.com/ "optional title"</p>',quote:getMsg("Blockquote")+" <blockquote> Ctrl/Cmd+Q",quoteexample:getMsg("Blockquote"),code:getMsg("Code Sample")+" <pre><code> Ctrl/Cmd+K",codeexample:getMsg("enter code here"),image:getMsg("Image")+"<img> Ctrl/Cmd+G",imagedescription:getMsg("enter image description here"),imagedialog:"<p><b>Insert Image</b></p><p>http://example.com/images/diagram.jpg \"optional title\"<br><br>Need <a href='http://www.google.com/search?q=free+image+hosting' target='_blank'>free image hosting?</a></p>",olist:getMsg("Numbered List")+" <ol> Ctrl/Cmd+O",ulist:getMsg("Bulleted List")+" <ul> Ctrl/Cmd+U",litem:getMsg("List item"),heading:getMsg("Heading")+" <h1>/<h2> Ctrl/Cmd+H",headingexample:getMsg("Heading"),hr:getMsg("Horizontal Rule")+" <hr> Ctrl/Cmd+R",undo:getMsg("Undo")+" - Ctrl/Cmd+Z",redo:getMsg("Redo")+" - Ctrl/Cmd+Y",redomac:getMsg("Redo")+" - Ctrl+Shift+Z",help:"Markdown Editing Help"},v="http://",b="http://";Markdown.EditorLight=function(e,r,s){s=s||{},"function"==typeof s.handler&&(s={helpButton:s}),s.strings=s.strings||{},s.helpButton&&(s.strings.help=s.strings.help||s.helpButton.title);var l=function(e){return s.strings[e]||h[e]};r=r||"";var c=this.hooks=new Markdown.HookCollection;c.addNoop("onPreviewRefresh"),c.addNoop("postBlockquoteCreation"),c.addFalse("insertImageDialog"),c.addFalse("insertLinkDialog"),this.getConverter=function(){return e};var u,p,f=this;this.run=function(m){if(!u){u=new n(r);var g,h=new o(c,l),v=new a(e,u,function(){c.onPreviewRefresh()},m);/\?noundo/.test(d.location.href)||(p=new t(function(){v.refresh(),g&&g.setUndoRedoButtonStates()},u),this.textOperation=function(e){p.setCommandMode(),e(),f.refreshPreview()}),g=new i(r,u,p,v,h,s.helpButton,l),g.setUndoRedoButtonStates(),f.refreshPreview=function(){v.refresh(!0)},f.undoManager=p,f.uiManager=g}}},e.prototype.findTags=function(e,n){var t,r=this;e&&(t=l.extendRegExp(e,"","$"),this.before=this.before.replace(t,function(e){return r.startTag=r.startTag+e,""}),t=l.extendRegExp(e,"^",""),this.selection=this.selection.replace(t,function(e){return r.startTag=r.startTag+e,""})),n&&(t=l.extendRegExp(n,"","$"),this.selection=this.selection.replace(t,function(e){return r.endTag=e+r.endTag,""}),t=l.extendRegExp(n,"^",""),this.after=this.after.replace(t,function(e){return r.endTag=e+r.endTag,""}))},e.prototype.trimWhitespace=function(e){var n,t,r=this;e?n=t="":(n=function(e){return r.before+=e,""},t=function(e){return r.after=e+r.after,""}),this.selection=this.selection.replace(/^(\s*)/,n).replace(/(\s*)$/,t)},e.prototype.skipLines=function(e,n,t){void 0===e&&(e=1),void 0===n&&(n=1),e++,n++;var r,a;if(navigator.userAgent.match(/Chrome/)&&"X".match(/()./),this.selection=this.selection.replace(/(^\n*)/,""),this.startTag=this.startTag+p.$1,this.selection=this.selection.replace(/(\n*$)/,""),this.endTag=this.endTag+p.$1,this.startTag=this.startTag.replace(/(^\n*)/,""),this.before=this.before+p.$1,this.endTag=this.endTag.replace(/(\n*$)/,""),this.after=this.after+p.$1,this.before){for(r=a="";e--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.before=this.before.replace(new p(r+"$",""),a)}ifLine truncated u(x.heading);break;case"r":u(x.hr);break;case"y":u(x.redo);break;case"z":u(e.shiftKey?x.redo:x.undo);break;case"v":return void t.setMode("typing");case"x":return void t.setMode("deleting");default:return}e.preventDefault&&e.preventDefault(),window.event&&(window.event.returnValue=!1)}}),l.addEvent(b,"keyup",function(e){if(e.shiftKey&&!e.ctrlKey&&!e.metaKey){var n=e.charCode||e.keyCode;if(13===n){var t={};t.textOp=m("doAutoindent"),u(t)}}}),g.isIE&&l.addEvent(b,"keydown",function(e){var n=e.keyCode;return 27===n?!1:void 0}),MD.insertLink=c,MD.insertLink2=c,this.setUndoRedoButtonStates=v,this.buttons=x,this.setButtonState=p}function o(e,n){this.hooks=e,this.getString=n}function s(e){return e.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/,function(e,n,t){return n=n.replace(/\?.*$/,function(e){return e.replace(/\+/g," ")}),n=decodeURIComponent(n),n=encodeURI(n).replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29"),n=n.replace(/\?.*$/,function(e){return e.replace(/\+/g,"%2b")}),t&&(t=t.trim?t.trim():t.replace(/^\s*/,"").replace(/\s*$/,""),t=t.replace(/"/g,"quot;").replace(/\(/g,"&#40;").replace(/\)/g,"&#41;").replace(/</g,"&lt;").replace(/>/g,"&gt;")),t?n+' "'+t+'"':n})}var l={},c={},u={},d=window.document,p=window.RegExp,f=window.navigator,m={lineLength:72},g={isIE:/msie/.test(f.userAgent.toLowerCase()),isIE_5or6:/msie 6/.test(f.userAgent.toLowerCase())||/msie 5/.test(f.userAgent.toLowerCase()),isOpera:/opera/.test(f.userAgent.toLowerCase())},h={bold:getMsg("Strong")+" <strong> Ctrl/Cmd+B",boldexample:getMsg("strong text"),italic:getMsg("Emphasis")+" <em> Ctrl/Cmd+I",italicexample:getMsg("emphasized text"),link:getMsg("Hyperlink")+" <a> Ctrl/Cmd+L",linkdescription:getMsg("enter link description here"),linkdialog:'<p><b>Insert Hyperlink</b></p><p>http://example.com/ "optional title"</p>',quote:getMsg("Blockquote")+" <blockquote> Ctrl/Cmd+Q",quoteexample:getMsg("Blockquote"),code:getMsg("Code Sample")+" <pre><code> Ctrl/Cmd+K",codeexample:getMsg("enter code here"),image:getMsg("Image")+"<img> Ctrl/Cmd+G",imagedescription:getMsg("enter image description here"),imagedialog:"<p><b>Insert Image</b></p><p>http://example.com/images/diagram.jpg \"optional title\"<br><br>Need <a href='http://www.google.com/search?q=free+image+hosting' target='_blank'>free image hosting?</a></p>",olist:getMsg("Numbered List")+" <ol> Ctrl/Cmd+O",ulist:getMsg("Bulleted List")+" <ul> Ctrl/Cmd+U",litem:getMsg("List item"),heading:getMsg("Heading")+" <h1>/<h2> Ctrl/Cmd+H",headingexample:getMsg("Heading"),hr:getMsg("Horizontal Rule")+" <hr> Ctrl/Cmd+R",undo:getMsg("Undo")+" - Ctrl/Cmd+Z",redo:getMsg("Redo")+" - Ctrl/Cmd+Y",redomac:getMsg("Redo")+" - Ctrl+Shift+Z",help:"Markdown Editing Help"},v="http://",b="http://";Markdown.EditorLight=function(e,r,s){s=s||{},"function"==typeof s.handler&&(s={helpButton:s}),s.strings=s.strings||{},s.helpButton&&(s.strings.help=s.strings.help||s.helpButton.title);var l=function(e){return s.strings[e]||h[e]};r=r||"";var c=this.hooks=new Markdown.HookCollection;c.addNoop("onPreviewRefresh"),c.addNoop("postBlockquoteCreation"),c.addFalse("insertImageDialog"),c.addFalse("insertLinkDialog"),this.getConverter=function(){return e};var u,p,f=this;this.run=function(m){if(!u){u=new n(r);var g,h=new o(c,l),v=new a(e,u,function(){c.onPreviewRefresh()},m);/\?noundo/.test(d.location.href)||(p=new t(function(){v.refresh(),g&&g.setUndoRedoButtonStates()},u),this.textOperation=function(e){p.setCommandMode(),e(),f.refreshPreview()}),g=new i(r,u,p,v,h,s.helpButton,l),g.setUndoRedoButtonStates(),f.refreshPreview=function(){v.refresh(!0)},f.undoManager=p,f.uiManager=g}}},e.prototype.findTags=function(e,n){var t,r=this;e&&(t=l.extendRegExp(e,"","$"),this.before=this.before.replace(t,function(e){return r.startTag=r.startTag+e,""}),t=l.extendRegExp(e,"^",""),this.selection=this.selection.replace(t,function(e){return r.startTag=r.startTag+e,""})),n&&(t=l.extendRegExp(n,"","$"),this.selection=this.selection.replace(t,function(e){return r.endTag=e+r.endTag,""}),t=l.extendRegExp(n,"^",""),this.after=this.after.replace(t,function(e){return r.endTag=e+r.endTag,""}))},e.prototype.trimWhitespace=function(e){var n,t,r=this;e?n=t="":(n=function(e){return r.before+=e,""},t=function(e){return r.after=e+r.after,""}),this.selection=this.selection.replace(/^(\s*)/,n).replace(/(\s*)$/,t)},e.prototype.skipLines=function(e,n,t){void 0===e&&(e=1),void 0===n&&(n=1),e++,n++;var r,a;if(navigator.userAgent.match(/Chrome/)&&"X".match(/()./),this.selection=this.selection.replace(/(^\n*)/,""),this.startTag=this.startTag+p.$1,this.selection=this.selection.replace(/(\n*$)/,""),this.endTag=this.endTag+p.$1,this.startTag=this.startTag.replace(/(^\n*)/,""),this.before=this.before+p.$1,this.endTag=this.endTag.replace(/(\n*$)/,""),this.after=this.after+p.$1,this.before){for(r=a="";e--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.before=this.before.replace(new p(r+"$",""),a)}if(this.after){for(r=a="";n--;)r+="\\n?",a+="\n";t&&(r="\\n*"),this.after=this.after.replace(new p(r,Line truncated
}(navigator.userAgent||navigator.vendor||window.opera),window.lightModeForce)window.lightMode=!0;else{var mode=localS.get(localSModeKey);"light"===mode&&(window.lightMode=!0)}window.theme=localStorage.themeV3||"default";var themeModule="less!themes/default";require(["core","eventMgr"],function(e){$(function(){e.onReady()})}),define("main",function(){}); }(navigator.userAgent||navigator.vendor||window.opera),window.lightModeForce)window.lightMode=!0;else{var mode=localS.get(localSModeKey);"light"===mode&&(window.lightMode=!0)}window.theme=localStorage.themeV3||"default";var themeModule="less!themes/default";require(["core","eventMgr"],function(e){$(function(){e.onReady()})}),define("main",function(){});