Separate needed lib files for website and embedded page.

This commit is contained in:
kovacsv 2021-11-28 17:20:42 +01:00
parent 7b3fda03d4
commit dddd7a22e0
7 changed files with 35 additions and 21 deletions

View File

@ -64,7 +64,8 @@ def CreateDestinationDir (config, rootDir, websiteDir, version, testBuild):
shutil.copytree (os.path.join (rootDir, 'website', 'o3dv', 'css', 'O3DVIcons'), os.path.join (websiteDir, 'o3dv', 'O3DVIcons'))
shutil.copytree (os.path.join (rootDir, 'website', 'info'), os.path.join (websiteDir, 'info'))
libFiles = config['lib_files']
websiteLibFiles = config['website_lib_files']
embedLibFiles = config['embed_lib_files']
importerFiles = ['o3dv/o3dv.min.js']
websiteFiles = [
'o3dv/o3dv.website.min.css',
@ -80,7 +81,8 @@ def CreateDestinationDir (config, rootDir, websiteDir, version, testBuild):
for htmlFileName in htmlFileNames:
htmlFilePath = os.path.join (websiteDir, htmlFileName)
replacer = Tools.TokenReplacer (htmlFilePath, False)
replacer.ReplaceTokenFileLinks ('<!-- libs start -->', '<!-- libs end -->', libFiles, None)
replacer.ReplaceTokenFileLinks ('<!-- website libs start -->', '<!-- website libs end -->', websiteLibFiles, version)
replacer.ReplaceTokenFileLinks ('<!-- embed libs start -->', '<!-- embed libs end -->', embedLibFiles, version)
replacer.ReplaceTokenFileLinks ('<!-- engine start -->', '<!-- engine end -->', importerFiles, version)
replacer.ReplaceTokenFileLinks ('<!-- website start -->', '<!-- website end -->', websiteFiles, version)
externalScriptContent = ''

View File

@ -1,9 +1,4 @@
{
"lib_files" : [
"libs/pickr.monolith.min.css",
"libs/pickr.es5.min.js",
"libs/three.min.js"
],
"engine_files" : [
"source/core/core.js",
"source/core/taskrunner.js",
@ -107,5 +102,13 @@
"website/o3dv/css/sidebar.css",
"website/o3dv/css/website.css",
"website/o3dv/css/embed.css"
],
"website_lib_files" : [
"libs/pickr.monolith.min.css",
"libs/pickr.es5.min.js",
"libs/three.min.js"
],
"embed_lib_files" : [
"libs/three.min.js"
]
}

View File

@ -14,7 +14,7 @@ def Main (argv):
toolsDir = os.path.dirname (os.path.abspath (__file__))
rootDir = os.path.dirname (toolsDir)
os.chdir (rootDir)
config = None
with open (os.path.join (toolsDir, 'config.json')) as configJson:
config = json.load (configJson)
@ -26,12 +26,14 @@ def Main (argv):
for htmlFileName in websiteFiles:
htmlFilePath = os.path.join (rootDir, htmlFileName)
replacer = Tools.TokenReplacer (htmlFilePath, True)
libFiles = Tools.CreateFileList (config['lib_files'], 'libs/', '../libs/')
websiteLibFiles = Tools.CreateFileList (config['website_lib_files'], 'libs/', '../libs/')
embedLibFiles = Tools.CreateFileList (config['embed_lib_files'], 'libs/', '../libs/')
importerFiles = Tools.CreateFileList (config['engine_files'], 'source/', '../source/')
websiteCssFiles = Tools.CreateFileList (config['website_files_css'], 'website/', '')
websiteJsFiles = Tools.CreateFileList (config['website_files_js'], 'website/', '')
websiteFiles = websiteCssFiles + websiteJsFiles
replacer.ReplaceTokenFileLinks ('<!-- libs start -->', '<!-- libs end -->', libFiles, None)
replacer.ReplaceTokenFileLinks ('<!-- website libs start -->', '<!-- website libs end -->', websiteLibFiles, None)
replacer.ReplaceTokenFileLinks ('<!-- embed libs start -->', '<!-- embed libs end -->', embedLibFiles, None)
replacer.ReplaceTokenFileLinks ('<!-- engine start -->', '<!-- engine end -->', importerFiles, None)
replacer.ReplaceTokenFileLinks ('<!-- website start -->', '<!-- website end -->', websiteFiles, None)
replacer.WriteToFile (htmlFilePath)
@ -45,7 +47,7 @@ def Main (argv):
importerFiles = Tools.CreateFileList (config['engine_files'], 'source/', '../source/')
replacer.ReplaceTokenFileLinks ('<!-- engine start -->', '<!-- engine end -->', importerFiles, None)
replacer.WriteToFile (htmlFilePath)
return 0
sys.exit (Main (sys.argv))

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -11,11 +11,9 @@
<!-- meta start -->
<!-- meta end -->
<!-- libs start -->
<link rel="stylesheet" type="text/css" href="../libs/pickr.monolith.min.css">
<script type="text/javascript" src="../libs/pickr.es5.min.js"></script>
<!-- embed libs start -->
<script type="text/javascript" src="../libs/three.min.js"></script>
<!-- libs end -->
<!-- embed libs end -->
<!-- engine start -->
<script type="text/javascript" src="../source/core/core.js"></script>

View File

@ -8,11 +8,11 @@
<title>Online 3D Viewer</title>
<!-- libs start -->
<!-- website libs start -->
<link rel="stylesheet" type="text/css" href="../libs/pickr.monolith.min.css">
<script type="text/javascript" src="../libs/pickr.es5.min.js"></script>
<script type="text/javascript" src="../libs/three.min.js"></script>
<!-- libs end -->
<!-- website libs end -->
<!-- meta start -->
<!-- meta end -->

View File

@ -1,5 +1,6 @@
OV.WebsiteUIState =
{
Undefined : 0,
Intro : 1,
Model : 2,
Loading : 3
@ -21,6 +22,7 @@ OV.Website = class
this.modelLoader = new OV.ThreeModelLoader ();
this.themeHandler = new OV.ThemeHandler ();
this.highlightColor = new THREE.Color (0x8ec9f0);
this.uiState = OV.WebsiteUIState.Undefined;
this.model = null;
this.dialog = null;
}
@ -85,7 +87,9 @@ OV.Website = class
OnSmallWidthChanged ()
{
this.UpdatePanelsVisibility ();
if (this.uiState === OV.WebsiteUIState.Model) {
this.UpdatePanelsVisibility ();
}
}
HasLoadedModel ()
@ -101,16 +105,21 @@ OV.Website = class
root.style.setProperty ('--ov_only_on_model_display', show ? 'inherit' : 'none');
}
if (uiState === OV.WebsiteUIState.Intro) {
if (this.uiState === uiState) {
return;
}
this.uiState = uiState;
if (this.uiState === OV.WebsiteUIState.Intro) {
OV.ShowDomElement (this.parameters.introDiv);
OV.HideDomElement (this.parameters.mainDiv);
ShowOnlyOnModelElements (false);
} else if (uiState === OV.WebsiteUIState.Model) {
} else if (this.uiState === OV.WebsiteUIState.Model) {
OV.HideDomElement (this.parameters.introDiv);
OV.ShowDomElement (this.parameters.mainDiv);
ShowOnlyOnModelElements (true);
this.UpdatePanelsVisibility ();
} else if (uiState === OV.WebsiteUIState.Loading) {
} else if (this.uiState === OV.WebsiteUIState.Loading) {
OV.HideDomElement (this.parameters.introDiv);
OV.HideDomElement (this.parameters.mainDiv);
ShowOnlyOnModelElements (false);