j-Layout
- Questo componente può creare un layout per il tuo SPA.Questo componente è un po 'più difficile da capire, ma è molto utile.
j-Layoututilizza jComponent+v17.
Configurazione:
parent {String}può contenere il selettoreparent,windowo jQuery per il metodoclosest(default:window)margin {Number}aggiunge il margine per ilheight(default:0)remember {Boolean}può ricordare le ultime impostazioni di layout per il ripristino (default:true)space {Number}interno, contiene uno spazio tra i pannelli (default:1)border {Number}interno, contiene una dimensione di confine (default:0)resize {String}interno, un percorso verso il metodo che viene eseguito quando la layout è ristrutturataautoresize {Boolean}consente la resisione automatica (default:true)
Metodi:
component.refresh()Riflessionecomponent.resize()riproducecomponent.reset()ripristina la resetazionecomponent.layout(name)cambia un layout (come due modi di collegamento dei dati)component.rebind(code_string)crea una nuova configurazione di layoutcomponent.lock(type, [boolean])chiude il pannello
Tipi di pannello:
leftpannello di sinistra, risciacquabilerighta destra, ripristinabile- Il pannello di destra
right2sarà vicino al pannello sinistro e utilizza la chiaverightnella configurazione, risciacquabile - Pannello superiore
top, riciclabile (è il pannello in cima a tutti i pannelli) - Il pannello superiore di
top2, riciclabile e utilizza la chiave ditopnella configurazione (è tra il pannello dilefteright) - Il pannello di fondo
bottom, riciclabile (è il pannello a fondo di tutti i pannelli) - Il pannello di fondo
bottom2, riciclabile e utilizza la chiavebottomnella configurazione (è tra il pannellolefteright) - Il pannello principale
mainnon può essere ripristinato e la dimensione viene calcolata automaticamente
Il layout:
La creazione di layout è molto semplice e con molte possibilità.Layout deve avere la propria struttura HTML.Guarda l'esempio.L'esemplare qui sotto descrive solo i metadati del layout.
size {Number/String}può contenere un'altezza / larghezza del pannello in base al tipo di pannello. numero120definisce i pixel e String100%può definire la percentualeminsize {Number/String}è una dimensione minima del pannello mentre il pannello si sta riassumendo (default: valoresize)maxsize {Number/String}è la dimensione massima del pannello mentre il pannello si ripresa (default: auto-conto)resize {Boolean}consente di riprendere il pannello con eccezione del pannellomain(è calcolato automaticamente)show {Boolean}permette la visibilità (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%' }
}
}
}Buono sapere:
- IMPORTANTE: questo componente deve contenere i metadati del layout incollato in
<script type="text/plain"></script> - Ogni pannello è un elemento
sectione deve contenere l'attributodata-type="top"con il tipo di pannello - Definisci solo i pannelli che utilizzerai
- L'ordine di tutti gli elementi
sectionnon è importante top2utilizza la chiave di configurazionetopright2utilizza la chiave di configurazionerightbottom2utilizza la chiave di configurazionebottom
Utilizzare con <ui-component name="layout">Quando il componente non è ancora caricato, jComponent Scarica il codice in prima utilizzazione dall'indirizzo DEF.fallback (Il Componentator La storia di Peter Širka.Fonte: il Componentator Ristorante dei componenti, licenza MIT.
<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>