j-Layout
- Deze component kan een layout voor uw SPA creëren. deze component is een beetje moeilijker te begrijpen, maar het is erg handig.
j-Layoutgebruikt jComponent+v17.
Configuratie:
parent {String}kan eenparent,windowof jQuery selector bevatten voor declosest-methode (default:window)margin {Number}voegt een marge toe voor deheight(default:0)remember {Boolean}kan de laatste instellingen van de layout voor resing herinneren (default:true)space {Number}interne, bevat een ruimte tussen de panelen (default:1)border {Number}interne, bevat een grensgrootte (default:0)resize {String}intern, een route naar de methode die wordt uitgevoerd wanneer de layout is hersteldautoresize {Boolean}maakt auto-resize mogelijk (default:true)
Methoden:
component.refresh()verfrissingencomponent.resize()werkt weercomponent.reset()maakt reset van de resettingcomponent.layout(name)wijzigt een layout (zoals twee manieren van gegevensbinding)component.rebind(code_string)maakt een nieuwe layout configuratiecomponent.lock(type, [boolean])sluit het paneel
Panel Types:
leftlinker panel, hersteldrightrechter panelen, resisabele- Het
right2-panel ligt naast het linker panel en gebruikt deright-key in de configuratie, hersteld toptoppanel, resisabele (het panel is boven alle panelen)top2toppanel, hersteld en gebruikt detopsleutel in de configuratie (het is tussenleftenrightpanel)bottomonderste panelen, resisabele (het paneel is aan de onderkant van alle panelen)bottom2onderste panelen, hersteld en gebruikt debottomsleutel in de configuratie (het is tussenleftenrightpanelen)mainhoofdpanel, kan niet worden hersteld en de grootte wordt automatisch berekend
Layout:
Het maken van de layout is erg eenvoudig en met veel mogelijkheden.Layout moet een eigen HTML-structuur hebben.Kijk naar het voorbeeld.Het voorbeeld hieronder beschrijft alleen de meta-gegevens van het layout.
size {Number/String}kan een hoogte/breedte van het paneel bevatten volgens de paneltype.Nummer120definieert pixels en String100%kan het percentage bepalenminsize {Number/String}is een minimale grootte van het paneel terwijl het panel wordt hersteld (default:sizeDe waarde)maxsize {Number/String}is de maximale grootte van het paneel terwijl het paneil wordt gereserveerd (default: automatisch geteld)resize {Boolean}maakt het mogelijk om het panel te herstellen met uitzondering van hetmain-panel (het wordt automatisch geteld)show {Boolean}zorgt voor zichtbaarheid (default:false)
{
top: { size: 80, resize: true, minsize: 50 }, // top panel
right: { size: 100 },
bottom: { size: 100 }, // bottom panel
left: { size: 100, resize: true }, // left panel
main: {}, // main panel
// Can contain a different template for various display types
// lg = Large display, md = Medium display, sm = Small display, xs = Extra small display
md: {
top: { show: true, size: 80 },
bottom: { show: false },
left: { show: false },
main: { show: true }
},
// Custom layouts
detail: {
// Custom display types in custom layouts
md: {
top: { show: true },
bottom: { show: true },
main: { show: true },
left: { show: false },
right: { show: true, size: 300 }
},
xs: {
top: { show: true },
bottom: { show: true },
main: { show: false },
left: { show: false },
right: { show: true, size: '100%' }
}
}
}Goed om te weten:
- IMPORTANT: deze component moet metadata van de layout in
<script type="text/plain"></script>bevatten - Elk panel is het element
sectionen moet eendata-type="top"-attribuut bevatten met een paneltype. - Bepaal alleen de panelen die u gebruikt
- Het bestellen van alle
section-elementen is niet belangrijk top2maakt gebruik van detopconfiguratie sleutelright2maakt gebruik van derightconfiguratie sleutelbottom2maakt gebruik van debottomconfiguratie sleutel
Gebruik het met <ui-component name="layout">Wanneer de component nog niet is geladen, jComponent Download het op eerste gebruik van het adres in DEF.fallback (De Componentator Schrijver: Peter Širka. bron: de Componentator Componenten repository, MIT licentie.
<style>
.ui-layout-section { font-size: 11px; }
</style>
<div style="width:500px;height:300px">
<ui-component name="layout" path="mylayout" config="parent:parent" class="invisible">
<!-- META DATA OF THE LAYOUT -->
<!-- VERY IMPORTANT -->
<script type="text/plain">
{
top: { size: 80, resize: true },
bottom: { size: 100 },
left: { size: 100, minsize: 50, resize: true },
right: { size: 100 },
main: {},
detail: {
left: { show: false },
right: { show: true, size: '100%' },
bottom: { show: false },
main: { show: false }
}
}
</script>
<!-- PANEL IN LAYOUT -->
<section data-type="top">
TOP
</section>
<!-- PANEL IN LAYOUT -->
<section data-type="main">
MAIN
</section>
<!-- PANEL IN LAYOUT -->
<section data-type="right">
RIGHT
</section>
<!-- PANEL IN LAYOUT -->
<section data-type="left">
LEFT
</section>
<!-- PANEL IN LAYOUT -->
<section data-type="bottom">
BOTTOM
</section>
</ui-component>
</div>
<br />
<div style="width:500px;height:300px">
<ui-component name="layout" config="parent:parent" class="invisible">
<script type="text/plain">
{
top: { size: 80, resize: 1 },
bottom: { size: 100 },
left: { size: 100 },
right: { size: 100 },
main: {}
}
</script>
<section data-type="top2">
TOP2
</section>
<section data-type="main">
MAIN
</section>
<section data-type="right">
RIGHT
</section>
<section data-type="left">
LEFT
</section>
<section data-type="bottom2">
BOTTOM2
</section>
</ui-component>
</div>
<script>
var mylayout = '';
setInterval(function() {
SET('mylayout', mylayout === 'detail' ? '' : 'detail');
}, 5000);
setInterval(function() {
SETTER('layout', 'lock', 'right');
}, 8000);
</script>