BarreOutils
in package
Objet contenant les différents paramètres definissant une barre d'outils Markitup et permettant d'agir dessus
Tags
Table of Contents
Constants
- ALLOWED_MARKUP_PARAMS = [ 'replaceWith', 'openWith', 'closeWith', 'openBlockWith', // sur multiline, avant les lignes selectionnees 'closeBlockWith', // sur multiline, apres les lignes selectionnees 'placeHolder', // remplace par ce texte lorsqu'il n'y a pas de selection 'beforeInsert', // avant l'insertion 'afterInsert', // apres l'insertion 'beforeMultiInsert', 'afterMultiInsert', 'dropMenu', // appelle un sous menu 'name', // nom affiche au survol 'key', // raccourcis clavier 'className', // classe css utilisee 'lang', // langues dont le bouton doit apparaitre - array 'lang_not', // langues dont le bouton ne doit pas apparaitre - array 'selectionType', // '','word','line' : type de selection (normale, aux mots les plus proches, a la ligne la plus proche) 'multiline', // open/close sur chaque ligne (mais replace est applique sur l'ensemble de la selection) 'forceMultiline', // pour faire comme si on faisait systematiquement un control+shift // (et replace est applique sur chaque ligne de la selection) 'separator', 'call', 'keepDefault', // cacher ou afficher facilement des boutons 'display', // donner un identifiant unique au bouton (pour le php) 'id', ]
- Liste des paramètres valides pour une description d'outils (markupSet)
Properties
- $afterInsert : string
- Option de markitup : Code JS à exécuter après une insertion
- $beforeInsert : string
- Option de markitup : Code JS à exécuter avant une insertion
- $functions : string
- Fonctions JS supplémentaires à écrire après la déclaration JSON des outils. Ces fonctions peuvent servir aux boutons.
- $id : string
- Identifiant HTML de la barre
- $lang : string
- Langue
- $markupSet : array<int, array<string, mixed>>
- Description des outils/boutons et leurs sous boutons éventuels
- $nameSpace : string
- Nom de la barre d'outil
- $onCtrlEnter : array<string, mixed>
- Option de markitup : que faire sur l'appuie de Control+Entrée ?
- $onEnter : array<string, mixed>
- Option de markitup : que faire sur l'appuie de Entrée ?
- $onShiftEnter : array<string, mixed>
- Option de markitup : que faire sur l'appuie de Shift+Entrée ?
- $onTab : array<string, mixed>
- Option de markitup : que faire sur l'appuie d'une tabulation ?
- $previewAutoRefresh : bool
- Option de markitup : rafraîchir la prévisu ?
- $previewParserPath : string
- Option de markitup : nom de la fonction de prévisu
Methods
- __construct() : mixed
- Initialise la barre avec les paramètres transmis en n'adressant que les paramètres effectivement valides
- affecter() : array<string, mixed>|array<int, array<string, mixed>>|false
- Permet d'affecter des paramètres à un élément de la barre
- affecter_a_tous() : bool
- Permet d'affecter des paramètres à tous les éléments de la barre ou à une liste d'identifiants d'éléments indiqués.
- afficher() : array<string|int, mixed>|bool
- Affiche le ou les boutons demandés
- afficherTout() : bool
- Affiche tous les boutons
- ajouterApres() : array<string|int, mixed>|false
- Ajoute un bouton ou quelque chose, après un autre déjà présent
- ajouterAvant() : array<string|int, mixed>|false
- Ajoute un bouton ou quelque chose, avant un autre déjà présent
- ajouterFonction() : void
- Ajoute une fonction JS qui pourra être utilisée par les boutons
- ajouterPlusieursApres() : array<string|int, mixed>|false
- Ajoute plusieurs boutons, après un autre déjà présent
- ajouterPlusieursAvant() : array<string|int, mixed>|false
- Ajoute plusieurs boutons, avant un autre déjà présent
- cacher() : array<string|int, mixed>|bool
- Cache le ou les boutons demandés
- cacherTout() : bool
- Cache tous les boutons
- creer_json() : string
- Crée la sortie json pour le javascript des paramètres de la barre
- echapper_appels_fonctions() : array<string, string>
- enlever_elements_non_affiches() : void
- Supprimer les éléments non affichés (display:false)
- enlever_parametres_inutiles() : void
- Supprime les éléments vides et les paramètres inutiles à markitup/json
- enlever_separateurs() : void
- Enlève les séparateurs pour améliorer l'accessibilité
- get() : array<string, mixed>|false
- Retourne les parametres du bouton demande
- set() : array<string, mixed>|true|false
- Affecte les valeurs des paramètres indiqués au bouton demandé
- verif_params() : array<string|int, mixed>
- Vérifie que les paramètres d'une clé existent et retourne un tableau des paramètres valides
- appliquerAffectation() : array<string, mixed>|array<int, array<string, mixed>>|false
- Applique une affectation de paramètres à un bouton localisé.
- decodeHtmlEntitiesInJson() : string
- Décode les entités HTML dans le JSON généré
-
findButtonById()
: array{parent: array
>, index: int}|null - Localise un bouton par son id dans markupSet ou un sous-menu dropMenu.
Constants
ALLOWED_MARKUP_PARAMS
Liste des paramètres valides pour une description d'outils (markupSet)
private
mixed
ALLOWED_MARKUP_PARAMS
= [
'replaceWith',
'openWith',
'closeWith',
'openBlockWith',
// sur multiline, avant les lignes selectionnees
'closeBlockWith',
// sur multiline, apres les lignes selectionnees
'placeHolder',
// remplace par ce texte lorsqu'il n'y a pas de selection
'beforeInsert',
// avant l'insertion
'afterInsert',
// apres l'insertion
'beforeMultiInsert',
'afterMultiInsert',
'dropMenu',
// appelle un sous menu
'name',
// nom affiche au survol
'key',
// raccourcis clavier
'className',
// classe css utilisee
'lang',
// langues dont le bouton doit apparaitre - array
'lang_not',
// langues dont le bouton ne doit pas apparaitre - array
'selectionType',
// '','word','line' : type de selection (normale, aux mots les plus proches, a la ligne la plus proche)
'multiline',
// open/close sur chaque ligne (mais replace est applique sur l'ensemble de la selection)
'forceMultiline',
// pour faire comme si on faisait systematiquement un control+shift
// (et replace est applique sur chaque ligne de la selection)
'separator',
'call',
'keepDefault',
// cacher ou afficher facilement des boutons
'display',
// donner un identifiant unique au bouton (pour le php)
'id',
]
Properties
$afterInsert
Option de markitup : Code JS à exécuter après une insertion
public
string
$afterInsert
= ''
$beforeInsert
Option de markitup : Code JS à exécuter avant une insertion
public
string
$beforeInsert
= ''
$functions
Fonctions JS supplémentaires à écrire après la déclaration JSON des outils. Ces fonctions peuvent servir aux boutons.
public
string
$functions
= ''
$id
Identifiant HTML de la barre
non utilisé
public
string
$id
= ''
$lang
Langue
non utilisé
public
string
$lang
= ''
$markupSet
Description des outils/boutons et leurs sous boutons éventuels
public
array<int, array<string, mixed>>
$markupSet
= []
$nameSpace
Nom de la barre d'outil
public
string
$nameSpace
= ''
$onCtrlEnter
Option de markitup : que faire sur l'appuie de Control+Entrée ?
public
array<string, mixed>
$onCtrlEnter
= []
$onEnter
Option de markitup : que faire sur l'appuie de Entrée ?
public
array<string, mixed>
$onEnter
= []
$onShiftEnter
Option de markitup : que faire sur l'appuie de Shift+Entrée ?
public
array<string, mixed>
$onShiftEnter
= []
Tags
$onTab
Option de markitup : que faire sur l'appuie d'une tabulation ?
public
array<string, mixed>
$onTab
= []
$previewAutoRefresh
Option de markitup : rafraîchir la prévisu ?
non utilisé
public
bool
$previewAutoRefresh
= false
$previewParserPath
Option de markitup : nom de la fonction de prévisu
redéfini dans l'appel javascript
public
string
$previewParserPath
= ''
Methods
__construct()
Initialise la barre avec les paramètres transmis en n'adressant que les paramètres effectivement valides
public
__construct([array<string, mixed> $params = [] ]) : mixed
Parameters
- $params : array<string, mixed> = []
-
Paramètres de la barre d'outil
affecter()
Permet d'affecter des paramètres à un élément de la barre
public
affecter(array<string|int, mixed>|null &$tableau, string $identifiant[, array<string|int, mixed> $params = [] ][, string $lieu = 'dedans' ][, bool $plusieurs = false ]) : array<string, mixed>|array<int, array<string, mixed>>|false
Parameters
- $tableau : array<string|int, mixed>|null
-
Tableau où chercher les éléments
- $identifiant : string
-
Identifiant du bouton
- $params : array<string|int, mixed> = []
-
Paramètres à affecter
- $lieu : string = 'dedans'
-
Lieu d'affectation (dedans, avant, apres)
- $plusieurs : bool = false
-
Plusieurs boutons à insérer
Return values
array<string, mixed>|array<int, array<string, mixed>>|falseaffecter_a_tous()
Permet d'affecter des paramètres à tous les éléments de la barre ou à une liste d'identifiants d'éléments indiqués.
public
affecter_a_tous(array<string|int, mixed>|null &$tableau[, array<string, mixed> $params = [] ][, array<int, string> $ids = [] ]) : bool
Parameters
- $tableau : array<string|int, mixed>|null
-
Tableau où chercher les éléments
- $params : array<string, mixed> = []
-
Paramètres à affecter
- $ids : array<int, string> = []
-
Identifiants particuliers à modifier
Return values
boolafficher()
Affiche le ou les boutons demandés
public
afficher(string|array<int, string> $identifiant) : array<string|int, mixed>|bool
Parameters
- $identifiant : string|array<int, string>
-
Identifiant du ou des boutons
Return values
array<string|int, mixed>|boolafficherTout()
Affiche tous les boutons
public
afficherTout() : bool
Return values
boolajouterApres()
Ajoute un bouton ou quelque chose, après un autre déjà présent
public
ajouterApres(string $identifiant, array<string, mixed> $params) : array<string|int, mixed>|false
Parameters
- $identifiant : string
- $params : array<string, mixed>
-
Description d'un bouton
Return values
array<string|int, mixed>|falseajouterAvant()
Ajoute un bouton ou quelque chose, avant un autre déjà présent
public
ajouterAvant(string $identifiant, array<string, mixed> $params) : array<string|int, mixed>|false
Parameters
- $identifiant : string
- $params : array<string, mixed>
-
Description d'un bouton
Return values
array<string|int, mixed>|falseajouterFonction()
Ajoute une fonction JS qui pourra être utilisée par les boutons
public
ajouterFonction(string $fonction) : void
Parameters
- $fonction : string
ajouterPlusieursApres()
Ajoute plusieurs boutons, après un autre déjà présent
public
ajouterPlusieursApres(string $identifiant, array<int, array<string, mixed>> $tableau_params) : array<string|int, mixed>|false
Parameters
- $identifiant : string
- $tableau_params : array<int, array<string, mixed>>
-
Description de plusieurs boutons
Return values
array<string|int, mixed>|falseajouterPlusieursAvant()
Ajoute plusieurs boutons, avant un autre déjà présent
public
ajouterPlusieursAvant(string $identifiant, array<int, array<string, mixed>> $tableau_params) : array<string|int, mixed>|false
Parameters
- $identifiant : string
- $tableau_params : array<int, array<string, mixed>>
-
Description de plusieurs boutons
Return values
array<string|int, mixed>|falsecacher()
Cache le ou les boutons demandés
public
cacher(string|array<int, string> $identifiant) : array<string|int, mixed>|bool
Parameters
- $identifiant : string|array<int, string>
-
Identifiant du ou des boutons
Return values
array<string|int, mixed>|boolcacherTout()
Cache tous les boutons
public
cacherTout() : bool
Return values
boolcreer_json()
Crée la sortie json pour le javascript des paramètres de la barre
public
creer_json() : string
Return values
stringechapper_appels_fonctions()
public
echapper_appels_fonctions(array<int, array<string, mixed>> &$tableau[, array<string, string> &$rappels = [] ]) : array<string, string>
Parameters
- $tableau : array<int, array<string, mixed>>
- $rappels : array<string, string> = []
Return values
array<string, string>enlever_elements_non_affiches()
Supprimer les éléments non affichés (display:false)
public
enlever_elements_non_affiches(array<int, array<string, mixed>>|null &$tableau) : void
Parameters
- $tableau : array<int, array<string, mixed>>|null
-
Tableau de description des outils
enlever_parametres_inutiles()
Supprime les éléments vides et les paramètres inutiles à markitup/json
public
enlever_parametres_inutiles() : void
enlever_separateurs()
Enlève les séparateurs pour améliorer l'accessibilité
public
enlever_separateurs(array<int, array<string, mixed>>|null &$tableau) : void
Parameters
- $tableau : array<int, array<string, mixed>>|null
-
Tableau de description des outils
get()
Retourne les parametres du bouton demande
public
get(string $identifiant) : array<string, mixed>|false
Parameters
- $identifiant : string
-
Identifiant du bouton
Return values
array<string, mixed>|falseset()
Affecte les valeurs des paramètres indiqués au bouton demandé
public
set(string|array<int, string> $identifiant[, array<string, mixed> $params = [] ]) : array<string, mixed>|true|false
Parameters
- $identifiant : string|array<int, string>
-
Identifiant du ou des boutons
- $params : array<string, mixed> = []
-
Paramètres de l'ajout
Return values
array<string, mixed>|true|falseverif_params()
Vérifie que les paramètres d'une clé existent et retourne un tableau des paramètres valides
public
verif_params(string $nom[, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $nom : string
-
Clé à vérifier (ex: 'markupSet')
- $params : array<string|int, mixed> = []
-
Paramètres de cette clé
Return values
array<string|int, mixed> —Paramètres valides
appliquerAffectation()
Applique une affectation de paramètres à un bouton localisé.
private
appliquerAffectation(array<int|string, array<string, mixed>> &$parent, int $index, string $identifiant, array<string|int, mixed> $params, string $lieu, bool $plusieurs) : array<string, mixed>|array<int, array<string, mixed>>|false
Parameters
- $parent : array<int|string, array<string, mixed>>
- $index : int
- $identifiant : string
- $params : array<string|int, mixed>
- $lieu : string
- $plusieurs : bool
Return values
array<string, mixed>|array<int, array<string, mixed>>|falsedecodeHtmlEntitiesInJson()
Décode les entités HTML dans le JSON généré
private
decodeHtmlEntitiesInJson(string $json) : string
Parameters
- $json : string
Return values
stringfindButtonById()
Localise un bouton par son id dans markupSet ou un sous-menu dropMenu.
private
findButtonById(string $id, array<int, array<string, mixed>> &$tableau) : array{parent: array>, index: int}|null
Parameters
- $id : string
- $tableau : array<int, array<string, mixed>>