PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → CKEditor et popup
CKEditor et popup
Débuté par Frédéric FOURGEOT, 16 oct. 2019 10:52 - 5 réponses
Membre enregistré
34 messages
Popularité : +2 (2 votes)
Posté le 16 octobre 2019 - 10:52
Bonjour,

J'utilise l'exemple de la LST 112 pour l'intégration de CKEditor dans une application WEB que je suis en train de développer. Lorsque j'utilise le modèle de champs directement sur une page je n'ai aucun problème. Par contre dès que j'utilise ce modèle sur un popup, je n'ai pas la possibilité de saisir de texte. Le contrôle semble figé.

Lorsque je clique sur un élément du contrôle (bouton du CKEditor) j'obtiens une erreur dans la console de mon navigateur :
Uncaught TypeError : Cannot read property 'getSelection' of undefined.


J'ai tenté de réaliser la même chose directement sur l'exemple de la LST112 et j'obtiens le même résultat.

Est-ce que l'un d'entre vous aurait une idée ?
Membre enregistré
324 messages
Popularité : +21 (51 votes)
Posté le 16 octobre 2019 - 11:47
Oui la partie navigateur essai de manipuler une info qui n'existe pas ou plus ^_^.
Il faut vérifier si les fichiers .js sont bien trouvé et chargé et que la fonction getSelection est bien dans le fichier .js.
Le mieux est de passer par les "inspecteurs" des navigateurs web pour voir si tout est bon et bien trouvé.
Membre enregistré
34 messages
Popularité : +2 (2 votes)
Posté le 16 octobre 2019 - 12:21
Oui effectivement, en cherchant un peu plus je me suis aperçu que le contrôle est initialisé directement au chargement de la page. Or à ce moment là les éléments n’étant pas affichés visuellement (puisque dans le popup) et n’existant pas dans le DOM, l’initialisation n’est pas correcte.

J’ai créé une nouvelle méthode « Initialise » (WD côté navigateur), qui lance la commande « jsInitialise » (en javascript). Puis j’ai mis en commentaire « jsInitialise » dans le code de chargement du contrôle. Enfin j’ai ajouté l’exécution de « Initialize » juste après « PopupAffiche » et là j’ai bien accès au contrôle.

[WL] Chargement (onload) de MDLC_CKEditor (navigateur)
// Initialisation du champ
//jsInitialise(gsNomEditeur,CMP_Editor..Hauteur)

// Affecte la valeur lors d'un rechargement de la page
//jsAffecteValeur(gsNomEditeur,gsValeur)


[N] [WL] Procédure locale Initialise (navigateur)
Procedure Initialise()

jsInitialise(gsNomEditeur, CMP_Editor..Hauteur)


PopupAffiche(POPUP_SansNom1)
CMOD_SansNom1.Initialise()


Popup_SansNom1 et CMOD_SansNom1 représente évidemment et respectivement ma fenêtre popup et le contrôle MDLC_CKEditor qui s'y trouve.
Membre enregistré
144 messages
Posté le 16 octobre 2019 - 17:09
Bonjour tout le monde,
Etant donné que le champ de saisie HTML pose de nombreux problèmes, sur certains navigateurs, on n'a pas accès au champ en saisie ou la barre de mise en forme se trouve en plein milieu du champs... je teste l'intégration de CKEditor, de la LST112

J'ai mis mon modèle de champ et en inspectant le code HTML, j'ai le message suivant:

Uncaught TypeError: Cannot read property 'getEditor' of undefined
at a (ckeditor.js:348)
at Object.CKEDITOR.replace (ckeditor.js:352)
at jsInitialise (AAEAAAAAAAAAAGBOI5eCV1ptGHg:172)
at u (WDUtil.js?3ffffcc9f6ba2:3)


Qui sais d'ou sa peut venir ?? Pour info, j'ai importé l'exemple en version 24 et le projet d'exemple fonctionne. Par contre impossible de faire fonctionner sur mon projet, qui est en mode session.

Merci pour votre aide

--
Nicolas

--
Nicolas
Membre enregistré
34 messages
Popularité : +2 (2 votes)
Posté le 16 octobre 2019 - 21:49
J'ai copié le fichier nommé MDLC_CKEditor.wwt depuis les sources de l'exemple de la LST 122 dans le répertoire racine de mon projet, puis je l'ai intégré dans arborescence de mon projet. Ensuite je n'ai eu qu'à glisser/déposer le champs sur une page pour que cela fonctionne. Est-ce que tu as fait d'autres manipulations ?
Membre enregistré
144 messages
Posté le 17 octobre 2019 - 14:14
Hello, merci pour la réponse.

J'avais intégré dans mon projet. La j'ai tout effacé et recommencé.
J'ai copier le fichier MDLC_CKEditor.wwt dans le répertoire de mon projet. J'ai ouvert ce fichier dans mon projet, ajouté à mon projet. Il est bien dans les Modèles de champs WEBDEV.
Ensuite j'ai clissé le modèle dans ma page. Ma page est toujours vierge...
Pas de CKEditor...

--
Nicolas