j-Layout
- Този компонент е малко по-трудно за разбиране, но е много полезно.
j-Layoutизползва jComponent+v17.
Конфигуриране:
parent {String}може да съдържаparent,windowили jQuery селектор за метода наclosest(предварително:window)margin {Number}добавя марж заheight(предварително:0)remember {Boolean}може да си спомня последните настройки за рециклиране (предварително:true)space {Number}вътрешно, съдържа пространство между панелите (предварително:1)- Външен
border {Number}, съдържащ граничен размер (предварително:0) resize {String}вътрешен, пътят към метода, който се изпълнява, когато се преразпределяautoresize {Boolean}позволява автоматично резиз (предварително:true)
Методи:
component.refresh()Рефресиранеcomponent.resize()се изпълняваcomponent.reset()презарежда рецидивитеcomponent.layout(name)променя расположението (като два начина за свързване на данни)component.rebind(code_string)създава нова конфигурацияcomponent.lock(type, [boolean])затваря панела
Типове панели:
leftлеви панел, рециклиранrightПрава панел, рециклираща- Планът
right2ще бъде вляво от панела и ще използва ключа наrightв конфигурацията. topтоп панел, рециклиран (то е на върха на всички панели)top2топ панел, рециклиран и използваtopключ в конфигурацията (то е междуleftиrightпанела)bottomдъно панел, рециклиран (то е на дъното на всички панели)bottom2дъно панел, рециклиран и използваbottomключ в конфигурацията (то е междуleftиrightпанела)- Главен панел
main, не може да бъде рециклиран и размерът се брои автоматично
Лайоут:
Създаването на оформление е много лесно и с много възможности. Разпоредбата трябва да има собствена HTML структура. Погледнете примера. Примерът по-долу описва само мета данните на оформлението.
size {Number/String}може да съдържа височина/ширина на панела според типа на панел. номерът120определя пикселите и String100%може да определи процентаminsize {Number/String}е минимален размер на панела, докато панелът се рецидира (предварително: стойностsize)maxsize {Number/String}е максималният размер на панела, докато панелът се рецидира (предварително: автоматично)resize {Boolean}позволява рециклиране на панела с изключение на панелmain(то се брои автоматично)show {Boolean}позволява видимост (предварително: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%' }
}
}
}Добре е да се знае:
- __Важен: Този компонент трябва да съдържа мета-данни на раздела, вграден в
<script type="text/plain"></script> - Всеки панел е елемент
sectionи трябва да съдържа атрибутdata-type="top"с тип панел - Определяйте само панелите, които ще използвате
- Поръчането на всички елементи на
sectionне е важно top2използва ключ за конфигурация наtopright2използва ключ за конфигурация наrightbottom2използва ключ за конфигурация наbottom
Използвайте го с <ui-component name="layout">Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в DEF.fallback (След това Componentator Източник: Питър Шерка Componentator Съставни съставки, лиценз на 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>