Resources~ResourcesBase(name, filters)

Représente une ressource

new ResourcesBase(name, filters)

Constructeur de la classe
Parameters:
Name Type Description
name string Id de la ressource
filters Array:.<FilterConfig:> Liste des filtres de la ressource. Ils seront convertit en FilterBase

Extends

Members

_$calendar :external:jQuery

Calendrier

_functions :ResourceBaseFunctions

package _init_resources :Array:.<module:Resources~ResourceObject:>

Ressources à afficher dans le tableau. Ce sont les ressources de départ.

package _listener :MelEventManager

Overrides:

protected, nullable _p_endDate :string

Date de fin

protected, nullable _p_endTime :string

Heure de fin

protected _p_events :module:Resources/ResourceBaseFunctions/Functions~Array:.<ResourceEvent:>

Liste des évènements afficher dans l'agenda

protected _p_filters :Array:.<module:Resources/Filters~FilterBase:>

Contient la liste des filtres qui est possible d'appliquer

protected _p_internal_data :Object:.<string:, *:>

Données en cache

protected _p_resources :Array:.<module:Resources~ResourceObject:>

Ressources à afficher dans le tableau

protected, nullable _p_startDate :string

Date de départ

protected, nullable _p_startTime :string

Heure de départ

all_day :boolean

Journée entière ou non

nullable end :external:moment

Date et heure de fin de la location

event_on_save :BnumEvent:.<function()>

Action à faire lors du clique du bouton "Sauvegarder"

location_id :number

Id du mode d'évènement associé

package rc_data :Object

Overrides:

selected_resource :module:Resources~ResourceData

Ressource sélectionnées

nullable start :external:moment

Date et heure de départ de la location

Methods

package _fetch_resources(callback)

Récupère les données pour le fullcalendar
Parameters:
Name Type Description
callback function

_format_resources(resources, filters) → {Array:.<module:Resources~module:Resources~ResourceObject:>}

Formatte les ressources et récupère seulement celles qui sont filtrés ou non
Parameters:
Name Type Description
resources Array:.<module:Resources~ResourceObject:>
filters Array:.<module:Resources/Filters~FilterBase:>
Returns:
Array:.<module:Resources~module:Resources~ResourceObject:>

package _generate_ui($fc) → {external:jQuery}

Génère l'agenda avec fullcalendar
Parameters:
Name Type Description
$fc external:jQuery Div qui contient le fullcalendar
Returns:
external:jQuery - Div qui contient le fullcalendar

package _get(old) → {external:jQuery}

Fonction get pour la page de dialog retournée
Parameters:
Name Type Description
old function Ancienne fonction get bind
Returns:
external:jQuery

package _on_data_changed()

Action à faire lorsqe'un filtre à changer de valeur

package _on_data_loaded(rcs, filter)

Action appelé lorsque les données d'un filtre on été chargés
Parameters:
Name Type Description
rcs Array:.<module:Resources~ResourceData:>
filter module:Resources/Filters~FilterBase

protected add_event_listener(key, callback, param2)

Ajoute un écouteur qui pourra être appelé plus tard.
Parameters:
Name Type Description
key string Clé qui permettra d'appeller l'écouteur
callback function Fonction qui sera appelée
param2 Object Si on doit récupérer rcmail sur frame principale ou non
Properties
Name Type Attributes Description
callback_key string <nullable>
Clé du callback
condition boolean Si on doit éxécuter ou non le listener
Overrides:

async, protected change_frame(frame, param1) → {Promise:.<void:>}

Change de page
Parameters:
Name Type Description
frame string Nom de la page
param1 Object
Properties
Name Type Attributes Description
action string <nullable>
Action de la page
params Object:.<string:, string:> Paramètres additionnels de la page
update boolean {@deprecated}
force_update boolean {@deprecated}
Returns:
Promise:.<void:>
Overrides:
Deprecated:
  • Utilisez plutôt switch_frame
Récupère un cookie
Parameters:
Name Type Description
key string Indentifiant de la donnée
Overrides:
Supprime un cookie
Parameters:
Name Type Description
key string Indentifiant du cookie à supprimer
Returns:
module:Cookies.Cookie - Cookie supprimer
Overrides:
Insert un cookie
Parameters:
Name Type Default Description
key string Clé qui permet d'identifier la données mise en cookie
name string Donnée à mettre en cookie
expire Date | false false Date d'expiration, false pour aucune
Returns:
module:Cookies.Cookie - Cookie créer
Overrides:

protected copy_to_clipboard(elementToCopy, optionsopt)

Copie un texte dans le press(papier)
Parameters:
Name Type Attributes Default Description
elementToCopy string Texte à mettre dans le presse papier
options Object <optional>
{}
Properties
Name Type Attributes Default Description
text string <optional>
<nullable>
null Texte à afficher lorsque la copie a été effectuée
Overrides:

async create_page() → {Promise:.<module:Modal~DialogPage:>}

Créer une page de dialog à partir de cette ressource
Returns:
Promise:.<module:Modal~DialogPage:>

async create_promise(callback, …args) → {module:BnumPromise~BnumPromise:.<T:>}

(async) Créer une promesse "Mel" qui contient des fonctionnalités en plus
Parameters:
Name Type Attributes Description
callback
args any <repeatable>
Arguments du callback
Overrides:

protected generate_loader(id, absoluteCenterednon-null) → {mel_html}

Génère un loader du bnum
Parameters:
Name Type Default Description
id string id du loader
absoluteCentered boolean true Centrer verticalement et horizontalement ?
Returns:
mel_html
Overrides:

protected get_custom_rules() → {Mel_CSS_Style_Sheet}

Récupère un objet Mel_CSS_Style_Sheet pour ajouter du css custom
Returns:
Mel_CSS_Style_Sheet
Overrides:

protected get_env(key)nullable {any}

Récupère une variable d'environnement de roundcube
Parameters:
Name Type Description
key string Nom de la variable
Returns:
any
Overrides:

protected get_skin() → {Mel_Elastic}

Récupère l'objet UI de la skin elastic
Returns:
Mel_Elastic
Overrides:

protected gettext(key_text, pluginnon-null) → {string}

Récupère une clé sous forme de texte.
Parameters:
Name Type Description
key_text string Clé
plugin string Plugin d'où provient le texte traduit
Returns:
string
Overrides:

protected have_frame(frame) → {boolean}

Vérifie si une frame est déjà chargée ou non
Parameters:
Name Type Description
frame string Nom de la frame
Returns:
boolean
Overrides:

protected http_call(options) → {module:BnumPromise~BnumPromise:.<Y:>}

Effectue un appel ajax avec les options spécifiées.
Parameters:
Name Type Attributes Default Description
options Object Les options pour l'appel HTTP.
Properties
Name Type Description
url string L'URL à appeler.
options.params Object <optional>
null Les paramètres à envoyer dans la requête.
options.type string | BnumPromise.Ajax.EAjaxMethod <optional>
BnumPromise.Ajax.EAjaxMethod.post Le type de requête HTTP à effectuer.
Overrides:

protected http_internal_call(options) → {module:BnumPromise~BnumPromise:.<Y:>}

Effectue un appel ajax vers les serveurs de l'application
Parameters:
Name Type Attributes Default Description
options Object Les options pour l'appel HTTP.
Properties
Name Type Description
task string Tache
action string Action
options.params Object <optional>
null Les paramètres à envoyer dans la requête.
options.type string | BnumPromise.Ajax.EAjaxMethod <optional>
BnumPromise.Ajax.EAjaxMethod.post Le type de requête HTTP à effectuer.
Overrides:

protected http_internal_get(options) → {module:BnumPromise~BnumPromise:.<Y:>}

Effectue un appel ajax GET vers les serveurs de l'application
Parameters:
Name Type Attributes Default Description
options Object Les options pour l'appel HTTP.
Properties
Name Type Description
task string Tache
action string Action
options.params Object <optional>
null Les paramètres à envoyer dans la requête.
Overrides:

protected http_internal_post(options) → {module:BnumPromise~BnumPromise:.<Y:>}

Effectue un appel ajax POST vers les serveurs de l'application
Parameters:
Name Type Attributes Default Description
options Object Les options pour l'appel HTTP.
Properties
Name Type Description
task string Tache
action string Action
options.params Object <optional>
null Les paramètres à envoyer dans la requête.
Overrides:

protected isNullOrUndefined(itemnullable) → {boolean}

Renvoie vrai si la variable vaut `null` ou `undefined`.
Parameters:
Name Type Attributes Description
item any <nullable>
Variable à tester
Returns:
boolean
Overrides:

protected load(key, default_valuenullable)nullable {any}

Charge des données dans le stockage local
Parameters:
Name Type Attributes Default Description
key string Clé qui permet de retrouver les données
default_value any <nullable>
null Valeur par défaut si la donnée n'éxiste pas
Returns:
any
Overrides:

protected on_frame_loaded(callback, options)

Action à faire lorsqu'une frame est chargée
Parameters:
Name Type Description
callback function Function à éffectuer
options Object Options de la fonction
Properties
Name Type Attributes Description
frame string <nullable>
any pour toute n'importe quelle frame, sinon mettre le nom de la frame
condition function <nullable>
Condition custom pour charger la frame
Overrides:

protected on_frame_refresh(callback, frame, param2)

Ajoute une action à faire lorsqu'une frame est mise à jours
Parameters:
Name Type Attributes Description
callback function Callback a=à appelé au refresh
frame string Nom de la frame
param2 Object
options.callback_key string <nullable>
clé qui permet de supprimer/remettre la fonction au refresh d'une frame
Overrides:

protected on_refresh(callback, options)

Ajoute une action à faire lors du refresh du bnum
Parameters:
Name Type Description
callback function Fonction à appeller
options Object Options de la fonction
Properties
Name Type Attributes Description
callback_key string <nullable>
clé qui permet de supprimer/remettre la fonction au refresh d'une frame
Overrides:

protected rcmail(top) → {rcube_webmail}

Récupère "rcmail" | les fonctions utiles à roundcube
Parameters:
Name Type Default Description
top boolean false Si on doit récupérer rcmail sur frame principale ou non
Returns:
rcube_webmail
Overrides:

refresh_calendar_date() → {string}

Met à jours le texte de la date du planning
Returns:
string

render()

Dessine le calendrier

protected save(key, contents) → {MelObject}

Sauvegarde des données dans le stockage local
Parameters:
Name Type Description
key string Clé qui permettra de retrouver les données sauvegarder
contents * Données qui seront sauvegarder
Returns:
MelObject - Chaînage
Overrides:

protected select(selector) → {external:jQuery}

Séléctionne un document dom au format jquery
Parameters:
Name Type Description
selector string Selecteur au format jquery
Returns:
external:jQuery
Overrides:

protected select_frame(frame) → {external:jQuery}

Selectionne une frame
Parameters:
Name Type Description
frame string Nom de la frame
Returns:
external:jQuery
Overrides:

generator, protected select_frame_except(…frames) → {Generator:.<Node:>}

Selectionne toutes les frames qui ne sont pas parmis les frames définie en arguments
Parameters:
Name Type Attributes Description
frames string <repeatable>
Frames à écarter
Returns:
Generator:.<Node:>
Overrides:

protected send_notification(notification)

Envoie une notification BNUM
Parameters:
Name Type Description
notification *
Overrides:

async sleep(ms) → {BnumPromise:.<void:>}

(async) Attend x millisecondes
Parameters:
Name Type Description
ms number Temps en millisecondes
Returns:
BnumPromise:.<void:>
Overrides:

async switch_frame(task, options) → {Promise}

Change de frame
Parameters:
Name Type Description
task string Nom de la tâche
options Object
Properties
Name Type Attributes Default Description
changepage boolean <optional>
true Si l'on change de page ou si la frame reste caché pendant le chargement.
args Object:.<string:, *:> <optional>
<nullable>
null Options du changement de frame. Si la frame est déjà ouverte, force le changement d'url.
Returns:
Promise
Overrides:

protected trigger_event(key, args) → {MelEventManager}

Trigger un écouteur
Parameters:
Name Type Description
key string Clé qui appelera tout les écouteurs lié à cette clé
args any Arguments qui sera donnée aux écouteurs
Returns:
MelEventManager
Overrides:

try_add_resource(rc, refetchopt) → {module:Resources~ResourcesBase}

Ajoute une ressource à la liste des ressources si elle n'existe pas
Parameters:
Name Type Attributes Default Description
rc module:Resources~ResourceData Ressource à ajouter
refetch boolean <optional>
true Si vrai, récupère les ressources et le évènements
Returns:
module:Resources~ResourcesBase - Chaînage

try_add_resources(rcs) → {module:Resources~ResourcesBase}

Ajoute plusieurs ressources si elles éxistent
Parameters:
Name Type Description
rcs Array:.<module:Resources~ResourceData:> Liste des ressources à ajouter
Returns:
module:Resources~ResourcesBase - Chaînage

protected unload(key)

Décharge une donnée dans le stockage local
Parameters:
Name Type Description
key string clé dans le stockage
Overrides:

protected url(task, param1, Autresnullable) → {string}

Récupère une url à partir d'une tâche et d'une action
Parameters:
Name Type Attributes Description
task string Nom de la tâche
param1 Object action => Nom de l'action ('index' si non renseigné), params => Autres paramètres
Properties
Name Type Description
action string => Nom de l'action (index si non renseigné)
Autres Object:.<string:, string:> <nullable>
paramètres
Returns:
string
Overrides:

async wait_something(callback, optionsopt)

(async) Attend qu'une condtion soit valide
Parameters:
Name Type Attributes Default Description
callback
options Object <optional>
{}
Properties
Name Type Attributes Default Description
timeout number <optional>
5 Au bout de combien de secondes la boucle s'arrête
Returns:
Overrides: