PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → CKEditor et popup
CKEditor et popup
Iniciado por Frédéric FOURGEOT, out., 16 2019 10:52 AM - 5 respostas
Membro registado
34 mensagems
Popularité : +2 (2 votes)
Publicado em outubro, 16 2019 - 10:52 AM
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 ?
Membro registado
324 mensagems
Popularité : +21 (51 votes)
Publicado em outubro, 16 2019 - 11:47 AM
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é.
Membro registado
34 mensagems
Popularité : +2 (2 votes)
Publicado em outubro, 16 2019 - 12:21 PM
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.
Membro registado
144 mensagems
Publicado em outubro, 16 2019 - 5:09 PM
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
Membro registado
34 mensagems
Popularité : +2 (2 votes)
Publicado em outubro, 16 2019 - 9:49 PM
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 ?
Membro registado
144 mensagems
Publicado em outubro, 17 2019 - 2:14 PM
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