jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
189 lines (180 loc) • 8.53 kB
HTML
<html lang="en">
<head>
<title id="Description">This demo shows how to save/load the current layout.</title>
<link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
<style type="text/css">
.jqx-layout-group-auto-hide-content-vertical
{
width: 200px;
}
</style>
<script type="text/javascript" src="../../../scripts/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxribbon.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxmenu.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxlayout.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxtree.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../../../scripts/demos.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// the 'layout' JSON array defines the internal structure of the layout
var layout = [{
type: 'layoutGroup',
orientation: 'horizontal',
items: [{
type: 'autoHideGroup',
alignment: 'left',
width: '10%',
unpinnedWidth: 200,
items: [{
type: 'layoutPanel',
title: 'Toolbox',
contentContainer: 'ToolboxPanel'
}, {
type: 'layoutPanel',
title: 'Help',
contentContainer: 'HelpPanel'
}]
}, {
type: 'layoutGroup',
orientation: 'vertical',
width: '60%',
items: [{
type: 'documentGroup',
height: '50%',
minHeight: 200,
items: [{
type: 'documentPanel',
title: 'Document 1',
contentContainer: 'Document1Panel'
}, {
type: 'documentPanel',
title: 'Document 2',
contentContainer: 'Document2Panel'
}]
}, {
type: 'tabbedGroup',
height: '50%',
pinnedHeight: 30,
items: [{
type: 'layoutPanel',
title: 'Error List',
contentContainer: 'ErrorListPanel'
}, {
type: 'layoutPanel',
title: 'Output',
contentContainer: 'OutputPanel',
selected: true
}]
}]
}, {
type: 'tabbedGroup',
width: '30%',
minWidth: 200,
items: [{
type: 'layoutPanel',
title: 'Solution Explorer',
contentContainer: 'SolutionExplorerPanel',
initContent: function () {
// initialize a jqxTree inside the Solution Explorer Panel
var source = [{
icon: '../../../images/earth.png',
label: 'Project',
expanded: true,
items: [{
icon: '../../../images/folder.png',
label: 'css',
expanded: true,
items: [{
icon: '../../../images/nav1.png',
label: 'jqx.base.css'
}, {
icon: '../../../images/nav1.png',
label: 'jqx.energyblue.css'
}, {
icon: '../../../images/nav1.png',
label: 'jqx.orange.css'
}]
}, {
icon: '../../../images/folder.png',
label: 'scripts',
items: [{
icon: '../../../images/nav1.png',
label: 'jqxcore.js'
}, {
icon: '../../../images/nav1.png',
label: 'jqxdata.js'
}, {
icon: '../../../images/nav1.png',
label: 'jqxgrid.js'
}]
}, {
icon: '../../../images/nav1.png',
label: 'index.htm'
}]
}];
$('#solutionExplorerTree').jqxTree({ source: source, width: 190 });
}
}, {
type: 'layoutPanel',
title: 'Properties',
contentContainer: 'PropertiesPanel'
}]
}]
}];
$('#jqxLayout').jqxLayout({ width: getWidth('layout'), height: 600, layout: layout, contextMenu: true });
$('#saveLayoutButton').jqxButton();
$('#loadLayoutButton').jqxButton({ disabled: true });
var savedLayout;
$('#saveLayoutButton').click(function () {
savedLayout = $('#jqxLayout').jqxLayout('saveLayout');
$('#loadLayoutButton').jqxButton({ disabled: false });
});
$('#loadLayoutButton').click(function () {
$('#jqxLayout').jqxLayout('loadLayout', savedLayout);
$('#loadLayoutButton').jqxButton({ disabled: true });
});
});
</script>
</head>
<body>
<div id="jqxLayout">
<!--The panel content divs can have a flat structure-->
<!--autoHideGroup-->
<div data-container="ToolboxPanel">
List of tools</div>
<div data-container="HelpPanel">
Help topics</div>
<!--documentGroup-->
<div data-container="Document1Panel">
Document 1 content</div>
<div data-container="Document2Panel">
Document 2 content</div>
<!--bottom tabbedGroup-->
<div data-container="ErrorListPanel">
List of errors</div>
<div data-container="OutputPanel">
Output</div>
<!--right tabbedGroup-->
<div data-container="SolutionExplorerPanel">
<div id="solutionExplorerTree" style="border: none;">
</div>
</div>
<div data-container="PropertiesPanel">
List of properties</div>
</div>
<div style="margin-top: 25px;">
<button id="saveLayoutButton" style="float: left; margin-right: 10px;">
Save layout</button>
<button id="loadLayoutButton" style="float: left;">
Load layout</button>
</div>
<div style="position: absolute; bottom: 5px; right: 5px;">
<a href="https://www.jqwidgets.com/" alt="https://www.jqwidgets.com/"><img alt="https://www.jqwidgets.com/" title="https://www.jqwidgets.com/" src="https://www.jqwidgets.com/wp-content/design/i/logo-jqwidgets.png"/></a>
</div>
</body>
</html>