package Frames~Window(uid)

Fenêtre qui gère plusieurs frames

new package Window(uid)

Initialise les variables
Parameters:
Name Type Description
uid string | number Id de la fenêtre

Members

package _can_be_selected :boolean

Si la fenêtre peut-être séléctionnée ou non

package _current_frame :module:Frames~FrameData

Frame en cours

package _frames :module:BaseStorage~BaseStorage:.<module:Frames~FrameData:>

Liste des frames ouvertes

package _history :module:Frames~HistoryManager

Historique des frames

package _id :number

Id de la fenêtre

readonly currentFrameData :Readonly:.<module:Frames~FrameDataEssential:>

Données de la frame en cours

readonly currentTask :string

Page en cours

Methods

async, package _create_frame(task, optionsopt) → {Mel_Promise:.<module:Frames~Window:>}

Créer une frame
Parameters:
Name Type Attributes Default Description
task string Tâche à afficher
options Object <optional>
{}
Properties
Name Type Attributes Default Description
changepage boolean <optional>
true Si on charge la frame en arrière plan ou non
args Object:.<string:, string:> <optional>
<nullable>
null Arguments - sauf la tâche - de la l'url à ajouter à la source de la frame
actions Array:.<string:> <optional>
[] Mots clés qui pourront être utiliser dans différents callbacks

package _first_load(promise, frame_id, task, changepage, argsnullable, actions)

Premier chargement d'une frame. Est supprimé après la fin de l'éxécution de la fonction
Parameters:
Name Type Attributes Description
promise Mel_Promise:.<module:Frames~Window:> Promesse en cour d'éxécution
frame_id string Id de la frame en cours
task string Tâche en cours
changepage boolean Si on charge la frame seulement ou si on l'affiche aussi
args Object:.<string:, string:> <nullable>
Arguments à ajouter en plus à l'url
actions

package _generate_layout_frames() → {HTMLDivElement}

Génère la div qui contiendra les fenêtre
Returns:
HTMLDivElement

package _generate_window() → {MelWindow}

Génère la fenêtre en jshtml
Returns:
MelWindow

async _open_frame(task, optionsopt) → {Promise:.<module:Frames~Window:>}

Ouvre une frame déjà ouverte.
Parameters:
Name Type Attributes Default Description
task string Frame à ouvrir
options Object <optional>
{}
Properties
Name Type Attributes Default Description
new_args Object:.<string:, string:> <optional>
<nullable>
null Nouveau arguments à ajouter à la frame. Si ils éxistent, force le rechargement de la frame.
Returns:
Promise:.<module:Frames~Window:>

add_tag(tag_name) → {module:Frames~Window}

Ajoute un tag à la fenêtre. Les tags sont des attributs `data` ajouté à la balise, il ont la forme : `data-ftag-${tag_name}=true`
Parameters:
Name Type Description
tag_name string Nom du tag

async back()

Returns:
- Promise

can_be_selected() → {Boolean}

Vérifie si la fenêtre peut être séléctionnée
Returns:
Boolean

delete() → {module:Frames~Window}

Supprime la fenêtre
Returns:
module:Frames~Window - Chaîne

get_frame(task) → {external:jQuery}

Récupère la frame
Parameters:
Name Type Default Description
task string null Une frame spécifique ou celle en cours.
Returns:
external:jQuery

get_window() → {external:jQuery}

Récupère la fenêtre
Returns:
external:jQuery

get_window_id() → {string}

Récupère l'id de la fenêtre
Returns:
string

has_frame(task) → {boolean}

Vérifie si une frame lié à une tâche éxiste
Parameters:
Name Type Description
task string Tâche
Returns:
boolean

has_other_window() → {boolean}

Vérifie si il y a d'autres fenêtres
Returns:
boolean

has_tag(tag_name) → {boolean}

Vérifie si un tag existe
Parameters:
Name Type Description
tag_name string Nom du tag
Returns:
boolean

hide() → {module:Frames~Window}

Cache la fenêtre
Returns:
module:Frames~Window - Chaîne

is_hidden() → {boolean}

Vérifie si la fenêtre est affiché ou non
Returns:
boolean - Chaîne

is_remove_on_change() → {boolean}

Vérifie l'état du tag "remove_on_change". Lorsque le tag est activé, si il y a un change de frame, on supprime les autres fenêtre ayant ce tag d'activé.
Returns:
boolean

is_selected() → {Boolean}

Vérifie si la fenêtre est séléctionnée ou non
Returns:
Boolean

async refresh() → {Promise:.<module:Frames~Window:>}

Simule un "f5" sur la frame en cours
Evènements trigger :
- frame.refresh.manual {stop:string, caller:Window}
Returns:
Promise:.<module:Frames~Window:> - Chaînage

remove_frame(task) → {module:Frames~Window}

Supprime une frame
Parameters:
Name Type Description
task string Tâche à supprimer
Returns:
module:Frames~Window - Chaînage

remove_tag(tag_name) → {module:Frames~Window}

Supprime un tag à la fenêtre
Parameters:
Name Type Description
tag_name string Nom du tag
Returns:
module:Frames~Window - Chaîne

select() → {module:Frames~Window}

Sélectionne la fenêtre
Returns:
module:Frames~Window - Chaîne

set_can_be_select() → {module:Frames~Window}

Active le fait que la fenêtre peut être séléctionnée
Returns:
module:Frames~Window - Chaînage

set_cannot_be_select() → {module:Frames~Window}

Active le fait que la feneêtre ne peut pas être séléctionnée
Returns:
module:Frames~Window - Chaînage

set_remove_on_change() → {module:Frames~Window}

Active le tag "remove_on_change". Lorsque le tag est activé, si il y a un change de frame, on supprime les autres fenêtre ayant ce tag d'activé.
Returns:
module:Frames~Window - Chaînage

show() → {module:Frames~Window}

Affiche la fenêtre
Returns:
module:Frames~Window - Chaîne

async switch_frame(task, optionsopt) → {Promise}

Change de frame. Si la frame n'existe pas la créer, sinon l'ouvre.
Parameters:
Name Type Attributes Default Description
task string Tâche à ouvrir
options Object <optional>
{}
Properties
Name Type Attributes Default Description
changepage boolean <optional>
true Si on charge la frame en arrière plan ou non
args Object:.<string:, string:> <optional>
<nullable>
null Arguments - sauf la tâche - de la l'url à ajouter à la source de la frame
actions Array:.<string:> <optional>
[] Mot clés pouvant être utiliser lors des différents callbacks
Returns:
Promise

unselect() → {module:Frames~Window}

Déselectionne la fenêtre
Returns:
module:Frames~Window - Chaîne

unset_remove_on_change() → {module:Frames~Window}

Désactive le tag "remove_on_change". Lorsque le tag est activé, si il y a un change de frame, on supprime les autres fenêtre ayant ce tag d'activé.
Returns:
module:Frames~Window - Chaînage

update_id(new_id) → {module:Frames~Window}

Change l'id de la feneêtre
Parameters:
Name Type Description
new_id number | string Nouvelle id
Returns:
module:Frames~Window - Chaînage

static GetTaskTitle(task) → {external:jQuery}

Récupère le titre depuis une tâche
Parameters:
Name Type Description
task string
Returns:
external:jQuery

static UpdateDocumentTitle(new_title, top_contextopt)

Met à jours le titre du document ou de l'onglet. Met aussi à jours le titre focusable.
Parameters:
Name Type Attributes Default Description
new_title string Nouveau titre
top_context boolean <optional>
false Si on change l'url du document en cours ou du document en top.

static UpdateNavUrl(url, top_contextopt)

Met à jours l'url
Parameters:
Name Type Attributes Default Description
url string Nouvelle url
top_context boolean <optional>
false Si on change l'url du document en cours ou du document en top.

static UrlFromTask(task) → {string}

Créer une url depuis une tâche
Parameters:
Name Type Description
task string Tâche
Returns:
string - Nouvelle url