ENH: ScrollBar Color

Change-Id: Ice87a8ddae0ccadaa63652bb4fa8464c4bee408f
(cherry picked from commit 5db33442578ac72433131229889cc1055527de74)
This commit is contained in:
zorro.zhang 2022-12-05 21:34:23 +08:00 committed by Lane.Wei
parent 7a40310924
commit d965a93673
16 changed files with 74 additions and 1560 deletions

View file

@ -14,6 +14,14 @@ body
color:#efeff0;
}
.ZScrol::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
background-color: #939594;
}
.ZScrol::-webkit-scrollbar-track {/*滚动条里面轨道*/
background: #161817;
}

View file

@ -1,4 +1,3 @@
<<<<<<< HEAD
*
{
padding:0px;
@ -17,614 +16,26 @@ html, body {
font-size: 16px;
}
.RedFont
{
font-size:12px;
color: #F07E4A;
.ZScrol::-webkit-scrollbar {/*滚动条整体样式*/
width: 12px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
padding: 2px;
}
.LinkBtn
{
font-size:12px;
color: #1200FF;
cursor: pointer;
.ZScrol::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
border-radius: 6px;
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
background-color: #AAAAAA;
}
.LinkBtn:hover
{
text-decoration:underline;
.ZScrol::-webkit-scrollbar-track {/*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
border-radius: 10px;
background: #EDEDED;
}
/*------------------*/
#DebugText
{
height:30px;
}
/*------------------*/
body
{
display:flex;
justify-content: flex-start;
}
#LeftBoard
{
border-right-width: 1px;
border-right-style: solid;
width:262px;
height: 100%;
}
#LoginArea
{
height: 180px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex-wrap: nowrap;
position: relative;
width:262px;
}
#Login1
{
height:36px;
line-height: 36px;
display: flex;
justify-content: center;
}
#LoginBtn
{
cursor:pointer;
}
#LoginBtn:hover
{
font-size:17px;
}
#NoPluginTip
{
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
z-index: 1;
display: none;
flex-direction: column;
justify-content: flex-end;
padding: 5px;
}
#DownloadBtn
{
color:#0A00FF;
}
#Icon1
{
margin-right: 10px;
}
#BBLIcon
{
height:36px;
}
#Login2
{
display: none;
flex-direction: column;
align-items: center;
text-align: center;
width: 262px;
}
#UserAvatarIcon
{
height: 85px;
}
#UserName
{
white-space: nowrap;
text-overflow: ellipsis;
text-align: center;
overflow: hidden;
width: 80%;
}
#LogoutBtn
{
font-size: 14px;
height: 24px;
line-height: 24px;
color: #00B731;
border: 1px solid #00AE42;
border-radius: 4px;
cursor: pointer;
margin-top: 5px;
padding: 0px 8px;
}
#LogoutBtn:hover
{
background: #00B731;
color: #fff;
}
/*------------------*/
#BtnArea
{
}
.BtnItem
{
padding-left:40px;
height:50px;
line-height: 50px;
display: flex;
justify-content:flex-start;
cursor: pointer;
}
.BtnItem:hover
{
background-color: #E0FCEB;
}
.BtnItemSelected
{
background-color: #E0FCEB;
}
.BtnIcon
{
margin-right:6px;
display: flex;
flex-direction: column;
justify-content: center;
}
.LeftIcon
{
width:20px;
height: 20px;
}
/*--------------------*/
#RightBoard
{
width: 100%;
height: 100%;
min-width: 835px;
overflow-y:auto;
}
#ContentBoard
{
overflow-y:auto;
padding: 0px 40px;
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
#MenuArea
{
height: 140px;
display: flex;
align-items: center;
flex: 0 0 140px;
}
.MenuItem
{
border-width: 1px;
border-style: solid;
border-radius: 12px;
height: 101px;
width: 253px;
padding-left: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
margin-right: 16px;
cursor: pointer;
}
.MenuItem:hover
{
border-color: #4CAA50;
background-color: #E0FCEB;
}
.MenuIcon
{
margin-right: 1em;
}
.MenuIcon img
{
width:56px;
height: 56px;
}
.MenuDesc
{
color: #A8A8A8;
}
.Content-Title
{
line-height: 30px;
font-weight: 700;
}
#HotspotWEB
{
width:100%;
height: 420px;
}
#RecentFileArea
{
margin-top: 10px;
flex: 1;
display: flex;
flex-direction: column;
}
#RecentTitleBlock
{
display:flex;
align-items: center;
padding: 6px;
border-bottom-width: 1px;
border-bottom-style: solid;
}
#RecentClearAllBtn
{
border-width: 1px;
border-style: solid;
padding: 0px 10px;
border-radius: 6px;
line-height: 26px;
height: 26px;
margin-left: 20px;
cursor: pointer;
display: none;
}
#RecentClearAllBtn:hover
{
background-color:#CDCECE;
}
#RecentTitle
{
}
#FileList
{
flex: 1;
display: flex;
flex-wrap: wrap;
align-content: flex-start;
overflow-y: auto;
}
.FileItem
{
width: 184px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
position: relative;
cursor: pointer;
margin: 8px;
}
.FileTip
{
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
}
.FileImg
{
text-align: center;
background-color: #E4E4E4;
border-radius: 8px;
width: 184px;
height: 184px;
}
.FileItem img
{
width: 184px;
height: 184px;
border-radius: 8px;
display: inline-block;
}
.FileName
{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
}
.FileDate
{
color: #A8A8A8;
}
#recnet_context_menu
{
position: absolute;
margin: 0px;
padding: 10px;
border: 0px;
min-width: 100px;
border: 1px solid #D7D7D7;
top: 100px;
border-radius: 5px;
color: #323A3D;
background-color: #fff;
display: none;
z-index: 1;
}
.CT_Item
{
padding: 4px 12px;
display: flex;
flex-direction: row;
align-items: center;
}
.CT_Item:hover
{
cursor: pointer;
background-color: #0078D4;
border-radius: 4px;
color: #fff;
}
.CT_Icon
{
margin-right: 6px;
width: 16px;
height: 16px;
}
#CT_Delete_Bar:hover .CT_Delete
{
background: url("../img/remove2.svg");
background-repeat: no-repeat;
background-size: contain;
}
.CT_Delete
{
background: url("../img/remove.svg");
background-repeat: no-repeat;
background-size: contain;
}
#CT_Folder_Bar:hover .CT_Explore
{
background: url("../img/open_folder2.svg");
background-repeat: no-repeat;
background-size: contain;
}
.CT_Explore
{
background: url("../img/open_folder.svg");
background-repeat: no-repeat;
background-size: contain;
}
.CT_Seperate
{
border-bottom:1px solid #C5C5C5;
}
.CT_Text
{
line-height: 20px;
height: 20px;
display: block;
}
/*--------Mall------*/
#MallBoard
{
height: 100%;
max-width: 1600px;
overflow-y: hidden;
padding: 0px 40px;
display: none;
}
#MallWeb
{
width: 100%;
height: 95%;
border: 1px solid #D9D9D9;
}
/*------Manual------*/
#ManualBoard
{
height: 100%;
max-width: 1600px;
overflow-y: hidden;
padding: 0px 40px;
display: none;
}
#ManualWeb
{
width: 100%;
height: 95%;
border: 1px solid #D9D9D9;
}
/*---------Wiki----------*/
#WikiGuideBigBoard
{
display:none;
}
#WikiGuideBoard
{
display: flex;
flex-wrap: wrap;
align-content: flex-start;
overflow-y: auto;
margin: 30px 40px;
position: relative;
top: 0px;
bottom: 0px;
right: 0px;
left: 0px;
}
@media screen and (max-width: 1100px) {
.GuideBlock
{
width: calc(50% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
@media screen and ( min-width:1101px) and ( max-width:1680px )
{
.GuideBlock
{
width: calc(33% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
@media screen and ( min-width:1681px) and (max-width:2120px ) {
.GuideBlock
{
width: calc(25% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
@media screen and ( min-width:2121px) and (max-width:2620px ) {
.GuideBlock
{
width: calc(20% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
@media screen and (min-width:2621px ) and (max-width:3120px ) {
.GuideBlock
{
width: calc(16.6% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
@media screen and (min-width:3121px ) {
.GuideBlock
{
width: calc(14.2% - 20px);
margin: 0px 10px 40px 10px;
cursor: pointer;
}
}
.UG_IMG
{
width: 100%;
}
.UG_IMG img
{
width: 100%;
border-radius: 5px 5px 0px 0px;
}
.UG_TITLE
{
font-size: 18px;
font-weight: 700;
line-height: 20px;
width: 100%;
margin-top: 20px;
margin-bottom: 4px;
}
.UG_DESC
{
width: 100%;
line-height: 18px;
color: #4E5454;
font-size: 14px;
}
=======
*
{
padding:0px;
border: 0px;
margin: 0px;
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
border-color: #D7D7D7;
}
html, body {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
line-height: 20px;
font-size: 16px;
}
.RedFont
{
@ -1239,5 +650,4 @@ body
align-content: flex-start;
overflow-y: auto;
}
>>>>>>> cac2633db (NEW: Christmas Cabin)
}

View file

@ -1,4 +1,3 @@
<<<<<<< HEAD
<!doctype html>
<html>
<head>
@ -14,7 +13,7 @@
<script type="text/javascript" src="js/globalapi.js"></script>
<script type="text/javascript" src="js/home.js"></script>
</head>
<body onLoad="OnInit()">
<body class="ZScrol" onLoad="OnInit()">
<div id="LeftBoard">
<div id="LoginArea">
<div id="Login1">
@ -49,277 +48,7 @@
</div>
<div id="RightBoard">
<div id="ContentBoard" board="recent">
<div style="height: 14px;"></div>
<div id="MenuArea">
<!-- <div class="MenuItem" onClick="OnClickModelDepot()">
<div class="MenuIcon"><img src="img/i6.png"></div>
<div>
<div class="trans TextS1" tid="t90">3D Model</div>
<div class="MenuDesc trans" tid="t91">Download 3D Models</div>
</div>
</div> -->
<div class="MenuItem" onClick="OnClickNewProject()">
<div class="MenuIcon"><img src="img/i4.png"></div>
<div>
<div class="trans TextS1" tid="t31">new project</div>
<div class="MenuDesc trans" tid="t32">create new project</div>
</div>
</div>
<div class="MenuItem" onClick="OnClickOpenProject()">
<div class="MenuIcon"><img src="img/i5.png"></div>
<div>
<div class="trans TextS1" tid="t33">open project</div>
<div class="MenuDesc">3mf</div>
</div>
</div>
</div>
<div id="DebugText"></div>
<div id="RecentFileArea">
<div id="RecentTitleBlock">
<div id="RecentTitle" class="Content-Title trans TextS1" tid="t35">recent open</div>
<div id="RecentClearAllBtn" class="trans TextS1" tid="t12" onClick="OnDeleteAllRecentFiles()">Clear all</div>
</div>
<div id="FileList">
<!-- <div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div>
<div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
<a class="FileTip" title="d:\model\11.3mf"></a>
<div class="FileImg"><img src="img/d.png"/></div>
<div class="FileName TextS1">abcd12334abcd12334abcd12334.3mf</div>
<div class="FileDate">2021/12/27 09:22</div>
</div> -->
</div>
</div>
<div style="height: 14px;"></div>
<div id="recnet_context_menu">
<div id="CT_Delete_Bar" class="CT_Item" onClick="OnDeleteRecentFile()">
<div class="CT_Icon CT_Delete"></div>
<div class="CT_Text trans" tid="t88">clear</div>
</div>
<div id="CT_Folder_Bar" class="CT_Item " onClick="OnExploreRecentFile()" >
<div class="CT_Icon CT_Explore"></div>
<div class="CT_Text trans" tid="t89">open in explorer </div>
</div>
</div>
</div>
<div id="WikiGuideBigBoard" board="wikiguide">
<div id="WikiGuideBoard" >
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/studio-quick-start')">
<div class="UG_IMG"><img src="img/quick_start.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk1">Quick Start</div>
<div class="UG_DESC trans" tid="wk2">This article introduces the most basic usage of Bambu Studio. It guides users to configure software, create projects, and complete the first printing task step by step. </div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/project-based-workflow')">
<div class="UG_IMG"><img src="img/project_based_workflow.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk3">Project Based Workflow</div>
<div class="UG_DESC trans" tid="wk4">Bambu Studio has put forward a leading workflow to truly achieve an “all in one” project. Based on the mainstream 3MF project format, it provides a series of revolutionary new features, such as Multi-Plate Support, a Project Resource Manager, and Assembly/Part View. It greatly improves the efficiency of both creators and regular users.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/high-speed-print-at-quality')">
<div class="UG_IMG"><img src="img/high_speed_print_at_quality.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk5">High Speed Print at Quality</div>
<div class="UG_DESC trans" tid="wk6">It is challenging to print at high speed while maintaining high quality. Bambu Studio makes this happen.
"Arch Move" makes the toolhead move smoothly and reduces the machine's vibration. The smart cooling is based on fine-tuned cooling parameters for each filament type.
"Auto slow down" for overhang walls works to prevent deformation at high speeds.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/multi-color-printing')">
<div class="UG_IMG"><img src="img/multi_color_printing.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk7">Multi-Color Printing</div>
<div class="UG_DESC trans" tid="wk8">Bambu Studio provides versatile colorizing tools to make a colorful model. You can freely add/remove filaments in a project and colorize your model with different brushes. Before printing, each filament will be auto-mapped to an AMS slot, not needing to manually change the spool placement in the AMS.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/how-to-set-slicing-parameters')">
<div class="UG_IMG"><img src="img/setting_guide_of_slicing_parameters.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk9">Setting Guide of Slicing Parameters</div>
<div class="UG_DESC trans" tid="wk10">The parameter management features in Bambu Studio provide very flexible and powerful control over the slicing process. This article introduces the organization of parameters and provides some skills on taking full advantage of these capabilities.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/remote-control')">
<div class="UG_IMG"><img src="img/remote_control_and_monitoring.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk11">Remote Control & Monitoring</div>
<div class="UG_DESC trans" tid="wk12">Bambu Studio support sending print job to your printer over WAN/LAN network, controlling & monitoring every aspect of your 3D printer and printing jobs. If you have more than one printer, you can easily switch between them in the device list.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/step')">
<div class="UG_IMG"><img src="img/step.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk13">STEP Format</div>
<div class="UG_DESC trans" tid="wk14">Compared with STL, STEP brings more effective information. Thanks to the high accuracy of STEP, a lot of extrusion paths can be generated as arcs. STEP also includes the assembly relationship of each part of a model, which can be used to restore the assembly view after a model is split.</div>
</div>
<div class="GuideBlock" onClick="OpenWikiUrl('https://wiki.bambulab.com/en/software/bambu-studio/3d-text')">
<div class="UG_IMG"><img src="img/3d_text.png" /></div>
<div class="UG_TITLE trans TextS1" tid="wk15">3D Text</div>
<div class="UG_DESC trans" tid="wk16">With 3D Text tool, users can easily create various 3D text shapes in the project, making the model more personalized. Bambu Studio provides dozens of fonts and supports bold and italic styles to give text greater flexibility.</div>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//HandleStudio(TestData);
document.onkeydown = function (event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
if (e.ctrlKey && e.metaKey)
OutputKey(e.keyCode, true, false, true);
else if (e.ctrlKey)
OutputKey(e.keyCode, true, false, false);
else if (e.metaKey)
OutputKey(e.keyCode, false, false, true);
if (e.shiftKey && e.ctrlKey)
OutputKey(e.keyCode, true, true, false);
if (e.shiftKey && e.metaKey)
OutputKey(e.keyCode, false, true, true);
if (window.event) {
try { e.keyCode = 0; } catch (e) { }
e.returnValue = false;
}
};
window.addEventListener('mousewheel', function (event) {
if (event.ctrlKey === true || event.metaKey) {
event.preventDefault();
}
}, { passive: false });
</script>
</html>
=======
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<title>homepage</title>
<link rel="stylesheet" type="text/css" href="css/home.css" />
<link rel="stylesheet" type="text/css" href="css/dark.css" />
<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../data/text.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/globalapi.js"></script>
<script type="text/javascript" src="js/home.js"></script>
</head>
<body onLoad="OnInit()">
<div id="LeftBoard">
<div id="LoginArea">
<div id="Login1">
<div id="Icon1"><img id="BBLIcon" src="../image/logo2.png" /></div>
<div id="LoginBtn" class="TextS1" style="font-weight: 700;" onClick="OnLoginOrRegister()"><span class="trans" tid="t26">login</span>/<span class="trans" tid="t27">register</span></div>
</div>
<div id="Login2">
<div>
<img id="UserAvatarIcon" src="img/c.jpg" onerror="this.onerror=null;this.src='img/c.jpg';" />
</div>
<div id="UserName" class="TextS1"></div>
<div id="LogoutBtn" class="Btn trans" tid="t50" onClick="OnLogOut()">log out</div>
</div>
<div id="NoPluginTip">
<div id="NoPluginText"><a class="RedFont trans" tid="t76">Network plugin not detected. Click </a><a Class="LinkBtn trans" onClick="BeginDownloadNetworkPlugin()" tid="t77">here</a><a class="RedFont trans" tid="t78"> to install it.</a></div>
</div>
</div>
<div id="BtnArea">
<div menu="recent" class="BtnItem BtnItemSelected" onClick="GotoMenu('recent')">
<div class="BtnIcon "><img class="LeftIcon" src="img/i2.png" /></div>
<div class="trans" tid="t28">recent</div>
</div>
<div menu="wikiguide" class="BtnItem" onClick="GotoMenu('wikiguide')">
<div class="BtnIcon "><img class="LeftIcon" src="img/i1.png" /></div>
<div class="trans" tid="t87">UserGuide</div>
</div>
</div>
</div>
<div id="RightBoard">
<div id="ContentBoard" board="recent">
<div id="ContentBoard" class="ZScrol" board="recent">
<div style="height: 14px;"></div>
<div id="MenuArea">
<div class="MenuItem" onClick="OnClickModelDepot()">
@ -574,4 +303,3 @@
>>>>>>> cac2633db (NEW: Christmas Cabin)

View file

@ -1,408 +1,3 @@
<<<<<<< HEAD
/*var TestData={"sequence_id":"0","command":"studio_send_recentfile","data":[{"path":"D:\\work\\Models\\Toy\\3d-puzzle-cube-model_files\\3d-puzzle-cube.3mf","time":"2022\/3\/24 20:33:10"},{"path":"D:\\work\\Models\\Art\\Carved Stone Vase - remeshed+drainage\\Carved Stone Vase.3mf","time":"2022\/3\/24 17:11:51"},{"path":"D:\\work\\Models\\Art\\Kity & Cat\\Cat.3mf","time":"2022\/3\/24 17:07:55"},{"path":"D:\\work\\Models\\Toy\\鐩村墤.3mf","time":"2022\/3\/24 17:06:02"},{"path":"D:\\work\\Models\\Toy\\minimalistic-dual-tone-whistle-model_files\\minimalistic-dual-tone-whistle.3mf","time":"2022\/3\/22 21:12:22"},{"path":"D:\\work\\Models\\Toy\\spiral-city-model_files\\spiral-city.3mf","time":"2022\/3\/22 18:58:37"},{"path":"D:\\work\\Models\\Toy\\impossible-dovetail-puzzle-box-model_files\\impossible-dovetail-puzzle-box.3mf","time":"2022\/3\/22 20:08:40"}]};*/
function OnInit()
{
//-----Test-----
//Set_RecentFile_MouseRightBtn_Event();
//-----Official-----
TranslatePage();
SendMsg_GetLoginInfo();
SendMsg_GetRecentFile();
}
//------最佳打开文件的右键菜单功能----------
var RightBtnFilePath='';
var MousePosX=0;
var MousePosY=0;
function Set_RecentFile_MouseRightBtn_Event()
{
$(".FileItem").mousedown(
function(e)
{
//FilePath
RightBtnFilePath=$(this).attr('fpath');
if(e.which == 3){
//鼠标点击了右键+$(this).attr('ff') );
ShowRecnetFileContextMenu();
}else if(e.which == 2){
//鼠标点击了中键
}else if(e.which == 1){
//鼠标点击了左键
OnOpenRecentFile( encodeURI(RightBtnFilePath) );
}
});
$(document).bind("contextmenu",function(e){
//在这里书写代码,构建个性右键化菜单
return false;
});
$(document).mousemove( function(e){
MousePosX=e.pageX;
MousePosY=e.pageY;
let ContextMenuWidth=$('#recnet_context_menu').width();
let ContextMenuHeight=$('#recnet_context_menu').height();
let DocumentWidth=$(document).width();
let DocumentHeight=$(document).height();
//$("#DebugText").text( ContextMenuWidth+' - '+ContextMenuHeight+'<br/>'+
// DocumentWidth+' - '+DocumentHeight+'<br/>'+
// MousePosX+' - '+MousePosY +'<br/>' );
} );
$(document).click( function(){
var e = e || window.event;
        var elem = e.target || e.srcElement;
        while (elem) {
if (elem.id && elem.id == 'recnet_context_menu') {
                    return;
}
elem = elem.parentNode;
}
$("#recnet_context_menu").hide();
} );
}
function HandleStudio( pVal )
{
let strCmd = pVal['command'];
//alert(strCmd);
if(strCmd=='get_recent_projects')
{
ShowRecentFileList(pVal['response']);
}
else if(strCmd=='studio_userlogin')
{
SetLoginInfo(pVal['data']['avatar'],pVal['data']['name']);
}
else if(strCmd=='studio_useroffline')
{
SetUserOffline();
}
else if( strCmd=="studio_set_mallurl" )
{
SetMallUrl( pVal['data']['url'] );
}
else if( strCmd=="studio_clickmenu" )
{
let strName=pVal['data']['menu'];
GotoMenu(strName);
}
else if( strCmd=="network_plugin_installtip" )
{
let nShow=pVal["show"]*1;
if(nShow==1)
{
$("#NoPluginTip").show();
$("#NoPluginTip").css("display","flex");
}
else
{
$("#NoPluginTip").hide();
}
}
}
function GotoMenu( strMenu )
{
let MenuList=$(".BtnItem");
let nAll=MenuList.length;
for(let n=0;n<nAll;n++)
{
let OneBtn=MenuList[n];
if( $(OneBtn).attr("menu")==strMenu )
{
$(".BtnItem").removeClass("BtnItemSelected");
$(OneBtn).addClass("BtnItemSelected");
$("div[board]").hide();
$("div[board=\'"+strMenu+"\']").show();
}
}
}
function SetLoginInfo( strAvatar, strName )
{
$("#Login1").hide();
$("#UserAvatarIcon").prop("src",strAvatar);
$("#UserName").text(strName);
$("#Login2").show();
$("#Login2").css("display","flex");
}
function SetUserOffline()
{
$("#UserAvatarIcon").prop("src","img/c.jpg");
$("#UserName").text('');
$("#Login2").hide();
$("#Login1").show();
$("#Login1").css("display","flex");
}
function SetMallUrl( strUrl )
{
$("#MallWeb").prop("src",strUrl);
}
function ShowRecentFileList( pList )
{
let nTotal=pList.length;
let strHtml='';
for(let n=0;n<nTotal;n++)
{
let OneFile=pList[n];
let sImg=OneFile["image"];
let sPath=OneFile['path'];
let sTime=OneFile['time'];
let sName=OneFile['project_name'];
//let index=sPath.lastIndexOf('\\')>0?sPath.lastIndexOf('\\'):sPath.lastIndexOf('\/');
//let sShortName=sPath.substring(index+1,sPath.length);
let TmpHtml='<div class="FileItem" fpath="'+sPath+'" >'+
'<a class="FileTip" title="'+sPath+'"></a>'+
'<div class="FileImg" ><img src="'+sImg+'" onerror="this.onerror=null;this.src=\'img/d.png\';" alt="No Image" /></div>'+
'<div class="FileName TextS1">'+sName+'</div>'+
'<div class="FileDate">'+sTime+'</div>'+
'</div>';
strHtml+=TmpHtml;
}
$("#FileList").html(strHtml);
Set_RecentFile_MouseRightBtn_Event();
UpdateRecentClearBtnDisplay();
}
function ShowRecnetFileContextMenu()
{
$("#recnet_context_menu").offset({top: 10000, left:-10000});
$('#recnet_context_menu').show();
let ContextMenuWidth=$('#recnet_context_menu').width();
let ContextMenuHeight=$('#recnet_context_menu').height();
let DocumentWidth=$(document).width();
let DocumentHeight=$(document).height();
let RealX=MousePosX;
let RealY=MousePosY;
if( MousePosX + ContextMenuWidth + 24 >DocumentWidth )
RealX=DocumentWidth-ContextMenuWidth-24;
if( MousePosY+ContextMenuHeight+24>DocumentHeight )
RealY=DocumentHeight-ContextMenuHeight-24;
$("#recnet_context_menu").offset({top: RealY, left:RealX});
}
/*-------RecentFile MX Message------*/
function SendMsg_GetLoginInfo()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="get_login_info";
SendWXMessage( JSON.stringify(tSend) );
}
function SendMsg_GetRecentFile()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="get_recent_projects";
SendWXMessage( JSON.stringify(tSend) );
}
function OnLoginOrRegister()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_login_or_register";
SendWXMessage( JSON.stringify(tSend) );
}
function OnClickModelDepot()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_modeldepot";
SendWXMessage( JSON.stringify(tSend) );
}
function OnClickNewProject()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_newproject";
SendWXMessage( JSON.stringify(tSend) );
}
function OnClickOpenProject()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_openproject";
SendWXMessage( JSON.stringify(tSend) );
}
function OnOpenRecentFile( strPath )
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_open_recentfile";
tSend['data']={};
tSend['data']['path']=decodeURI(strPath);
SendWXMessage( JSON.stringify(tSend) );
}
function OnDeleteRecentFile( )
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_delete_recentfile";
tSend['data']={};
tSend['data']['path']=decodeURI(RightBtnFilePath);
SendWXMessage( JSON.stringify(tSend) );
$("#recnet_context_menu").hide();
let AllFile=$(".FileItem");
let nFile=AllFile.length;
for(let p=0;p<nFile;p++)
{
let pp=AllFile[p].getAttribute("fpath");
if(pp==RightBtnFilePath)
$(AllFile[p]).remove();
}
UpdateRecentClearBtnDisplay();
}
function OnDeleteAllRecentFiles()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_delete_all_recentfile";
SendWXMessage( JSON.stringify(tSend) );
$('#FileList').html('');
UpdateRecentClearBtnDisplay();
}
function UpdateRecentClearBtnDisplay()
{
let AllFile=$(".FileItem");
let nFile=AllFile.length;
if( nFile>0 )
$("#RecentClearAllBtn").show();
else
$("#RecentClearAllBtn").hide();
}
function OnExploreRecentFile( )
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_explore_recentfile";
tSend['data']={};
tSend['data']['path']=decodeURI(RightBtnFilePath);
SendWXMessage( JSON.stringify(tSend) );
$("#recnet_context_menu").hide();
}
function OnLogOut()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="homepage_logout";
SendWXMessage( JSON.stringify(tSend) );
}
function BeginDownloadNetworkPlugin()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="begin_network_plugin_download";
SendWXMessage( JSON.stringify(tSend) );
}
function OutputKey(keyCode, isCtrlDown, isShiftDown, isCmdDown) {
var tSend = {};
tSend['sequence_id'] = Math.round(new Date() / 1000);
tSend['command'] = "get_web_shortcut";
tSend['key_event'] = {};
tSend['key_event']['key'] = keyCode;
tSend['key_event']['ctrl'] = isCtrlDown;
tSend['key_event']['shift'] = isShiftDown;
tSend['key_event']['cmd'] = isCmdDown;
SendWXMessage(JSON.stringify(tSend));
}
//-------------User Manual------------
function OpenWikiUrl( strUrl )
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="userguide_wiki_open";
tSend['data']={};
tSend['data']['url']=strUrl;
SendWXMessage( JSON.stringify(tSend) );
}
//---------------Global-----------------
window.postMessage = HandleStudio;
=======
/*var TestData={"sequence_id":"0","command":"studio_send_recentfile","data":[{"path":"D:\\work\\Models\\Toy\\3d-puzzle-cube-model_files\\3d-puzzle-cube.3mf","time":"2022\/3\/24 20:33:10"},{"path":"D:\\work\\Models\\Art\\Carved Stone Vase - remeshed+drainage\\Carved Stone Vase.3mf","time":"2022\/3\/24 17:11:51"},{"path":"D:\\work\\Models\\Art\\Kity & Cat\\Cat.3mf","time":"2022\/3\/24 17:07:55"},{"path":"D:\\work\\Models\\Toy\\鐩村墤.3mf","time":"2022\/3\/24 17:06:02"},{"path":"D:\\work\\Models\\Toy\\minimalistic-dual-tone-whistle-model_files\\minimalistic-dual-tone-whistle.3mf","time":"2022\/3\/22 21:12:22"},{"path":"D:\\work\\Models\\Toy\\spiral-city-model_files\\spiral-city.3mf","time":"2022\/3\/22 18:58:37"},{"path":"D:\\work\\Models\\Toy\\impossible-dovetail-puzzle-box-model_files\\impossible-dovetail-puzzle-box.3mf","time":"2022\/3\/22 20:08:40"}]};*/
@ -877,4 +472,3 @@ function OnOpenCabin( cabinfile )
}
>>>>>>> cac2633db (NEW: Christmas Cabin)