j-Windows
Configuration :
menuicon {String}un icône de menu dans la barre de titre de fenêtre (defautti ti-navicon)reoffsetresize {Boolean}toutes les fenêtres seront re-offs selon la dimension de la fenêtremain(defaut:true)zindex {Number}: positionnement de l’index d’origine (defaut :5)- NEW:
maximizemargin {String}une marge pour l'état maximisé dans le formulaireleft_px top_px width_px height_px(défaut:0 0 0 0)
Le composant windows attend un Array d'objets.
// Component declaration
var win = {
// Component ID
id: 'WINDOW_ID',
// NEW: cachekey for similar windows
// Optional, default: window ID
cachekey: 'WINDOW_ID',
// Positioning
// You can define a specific display size and if the display size is not specified then the window tries to find a size for a larger display
html: 'THE CONTENT OF WINDOW', // or can be raw HTMLElement
offset: { x: 200, y: 100, width: 600, height: 400, minwidth: 200, minheight: 200, maxwidth: 1000, maxheight: 1000, maximized: false }, // minwidth, maxwidth, maxheight, minheight and maximized are optional
// Prevents hidden state for "hide: true" option
// hidden: false,
// Default settings
actions: { move: true, close: true, hide: true, resize: true, menu: false, minimize: true, maximize: true, autosave: false },
// GOOD TO KNOW:
// "undefined" close or "close:false" and "hide:true" don't destroy the instance of window (it will be hidden only)
// A window title
title: 'Title for the window',
// Handlers (optional):
destroy: function() {
// @el {jQuery} a content of the window
// @this {Instance}
// is executed when the window is destroyed
},
make: function(el) {
// @el {jQuery} a content of the window
// @this {Instance}
// this.meta {Object} a reference to the window object
// this.element {jQuery} a content element of the window
// this.container {jQuery} a main content element of the window
// this.main {Object} a reference to the "Windows" component
// this.width {Number} a width of the window
// this.height {Number} a height of the content of the window
// this.x {Number} offset X
// this.y {Number} offset Y
// Methods:
// this.setsize(width, height);
// this.setcommand(cmd); Allowed commands: "close", "maximize", "resetmaximize", "togglemaximize", "minimize", "resetminimize", "toggleminimize", "resize", "move", "focus"
// this.setoffset(x, y);
// is executed when the window is making
},
menu: function(el) {
// @el {jQuery} a content element of the window
// is executed when the user clicks on the menu icon in the window title bar
},
data: function(type, data, el) {
// @type {String}
// @data {Object}
// @el {jQuery} a content element of the window
// @this {Instance}
// is executed when data are sent via SETTER('windows', 'send', 'TYPE', 'DATA')
},
resize: function(width, height, el, x, y) {
// @width {Number}
// @height {Number}
// @el {jQuery} a content of the window
// @this {Instance}
// is executed when the window is resized
},
move: function(x, y, el) {
// @x {Number}
// @y {Number}
// @el {jQuery} a content of the window
// @this {Instance}
// is executed when the window is moved
},
service: function(counter, el) {
// @counter {Number} count of calls
// @el {jQuery} a content of the window
// @this {Instance}
// the component will execute this handler each 5 seconds
},
// Optional, this delegate rewrites built-in functionality
minimize: function(type) {
// @type {String} optional, "reset", "toggle" or undefined (it means minimize right now)
},
// Optional, this delegate rewrites built-in functionality
maximize: function(type) {
// @type {String} optional, "reset", "toggle" or undefined (it means maximize right now)
},
focus: function() {
// window is focused
}
};
PUSH('windows', win);Méthodes :
component.finditem(window_id)trouve la fenêtre spécifique selonIDcomponent.show(window_id)affiche une fenêtrecomponent.hide(window_id)cache une fenêtrecomponent.toggle(window_id)bascule une fenêtrecomponent.focus(window_id)concentre une fenêtrecomponent.hide(window_id)ferme une fenêtre- Titre :
component.title(window_id, title)
Utilisez-le avec <ui-component name="windows">. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans DEF.fallback (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.
<style>
body{padding:0;margin:0;overflow:hidden;}
</style>
<ui-component name="windows" path="mywindows"></ui-component>
<script>
var mywindows = [];
mywindows.push({
id: 'A',
offset: { x: 200, y: 100, width: 600, height: 400, minwidth: 200, minheight: 200 },
title: 'A',
html: '<div class="padding">Lorem ipsum dolor sit amet.</div>',
actions: { minimize: true, maximize: true, move: true, resize: true, close: true, menu: true },
menu: function(el) {
alert('MENU');
}
});
mywindows.push({
id: 'B',
offset: { x: 600, y: 300, width: 600, height: 400, minwidth: 200, minheight: 200 },
title: 'B',
html: '<div class="padding">Lorem ipsum dolor sit amet.</div>',
actions: { minimize: true, maximize: false, move: true, resize: true, close: true }
});
</script>