j-Detach
A komponens elválaszthatja/kapcsolhatja az összes gyermeket (HTML elemek). Például, ha elemeket tartalmaznak egy panelben, akkor az elemeket például a j-Windows-re mozgathatja.
A komponens watch út {Boolean} és ha az érték tartalmazza a true, az elemek eltávolításra kerülnek másképp csatlakoztatva.
konfiguráció:
detach {String}afunction(children, element)címreattach {String}afunction(children, element)címreremove {String}afunction(children)címre
- A
detachakkor fut, amikor a tartalom kikapcsolódik - A
attachakkor fut, amikor a tartalmat vissza kell adni - A
removeelvégezhető, amikor a komponens (vagy egy szülőelem) eltávolításra kerül
Használja a <ui-component name="detach">Amennyiben a készülék még nem tölthető le, jComponent letöltés az első felhasználásra a címről DEF.fallback (Azt a Componentator A szerző: Peter Širka. forrás: a Componentator Az összetevők raktár, MIT licenc.
<style>
body { padding: 0; margin: 0; overflow: hidden; }
</style>
<ui-component name="windows" path="common.windows"></ui-component>
<div class="center padding"><button onclick="togglewindow()">Toggle windowed mode</button></div>
<div style="margin:30px auto;border:1px solid #E0E0E0;max-width:500px;width:100%;min-height:100px;">
<ui-component name="detach" path="common.detach" config="detach:el_detach;attach:el_attach;remove:el_remove">
<div class="padding">
<h2>Your content</h2>
<div><img src="https://cdn.componentator.com/logo.svg" width="200" /></div>
</div>
</ui-component>
</div>
<script>
var common = {};
common.detach = false;
common.windows = [];
function el_detach(children, element) {
var id = 'mywin';
var div = document.createElement('DIV');
var win = {};
win.id = id;
win.cachekey = id;
win.offset = { x: 200, y: 100, width: 840, height: 500, minwidth: 450, minheight: 300 };
win.actions = { move: true, close: true, resize: true, maximize: true, minimize: false, autosave: true };
win.title = 'Example';
win.html = div;
win.close = function(next) {
SET('common.detach', false);
next();
};
for (var m of children)
div.appendChild(m);
PUSH('common.windows', win);
}
function el_attach(children, element) {
var id = 'mywin';
for (var m of children)
element[0].appendChild(m);
common.windows.splice(common.windows.findIndex('id', id), 1);
UPD('common.windows');
}
function el_remove(children) {
var id = 'mywin';
var index = common.windows.findIndex('id', id);
if (index !== -1) {
common.windows.splice(index, 1);
UPD('common.windows');
}
}
function togglewindow() {
var path = 'common.detach';
var val = GET(path);
SET(path, !val);
}
</script>