Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2014-07-08 08:24:24

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Javascript dans l'admin : ajouter un callback dans toggleWithLegend

Pour le plugin Cartes Google, j'ajoute une carte dans la page d'édition d'un billet. Comme le champ Notes personnelles, le bloc comprenant cette carte peut être caché à l'ouverture de la page, et le clic sur la légende permet de l'afficher. Toutefois, si la carte est initialement cachée, sa dimension est de 0 pixels, et lorsqu'on affiche le bloc elle ne se redimensionne pas.

Je souhaiterais donc ajouter l'appel à ma fonction resizeMap() (contenue dans un script inclus dans la page) quand on clique sur la légende

$(document).ready(function() {
	$('#gmap-area label').toggleWithLegend($('#post-gmap'), {
		legend_click: true,
		cookie: 'dcx_gmap_detail'
	});
});

Merci de votre aide :)

Hors ligne

#2 2014-07-08 08:36:09

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

PS : je viens de tenter d'ajouter

$('#gmap-area label').toggleWithLegend(function() {
		   resizeMap();
		});

dans mon fichier js, mais j'obtiens une erreur

TypeError: target.addClass is not a function
.../dotclear/admin/js/common.js
Line 10

Hors ligne

#3 2014-07-08 08:39:56

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

Avec

$('#gmap-area label').click(function() {
		   resizeMap();
		});

ça marche bien mieux. Désolé pour le bruit ;)

Hors ligne

#4 2014-07-08 18:56:13

nikrou
Membre
Inscription : 2007-10-02
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

Euh sinon tu peux utiliser le paramètre fn pour appeler une fonction au premier affichage :

$(function() {
   $('#gmap-area label').toggleWithLegend($('#post-gmap'), {
		legend_click: true,
		cookie: 'dcx_gmap_detail',
                fn: function() { resizeMap(); }
	});
});

Sinon chose étrange, chez moi ça fonctionne déjà. Si je ferme le bloc et que je recharge la page, le bloc reste fermé. Si je clique sur la légende, la carte est bien à la bonne taille. Testé avec chrome.


Je préfère être atteint de parkinson plutôt qu'alzheimer : je prefère renverser un peu de ma bière plutôt qu'oublier de la boire !

Présentez vos photos simplement avec Phyxo !

En ligne

#5 2014-07-08 19:08:58

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

Merci nikrou.

J'avais bien vu la fonction de callback, mais mes essais n'avaient pas fonctionné. Quoi qu'il en soit, ma solution fonctionne et je la conserve pour l'instant ;)

Hors ligne

#6 2014-07-10 06:10:05

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

nikrou a écrit :

Sinon chose étrange, chez moi ça fonctionne déjà. Si je ferme le bloc et que je recharge la page, le bloc reste fermé. Si je clique sur la légende, la carte est bien à la bonne taille. Testé avec chrome.

Tu as testé le plugin ? Chouette ! Si tu veux jouer avec moi et m'aider à l'améliorer, j'ai mis en place un pot de miel pour les sorciers ;)

Hors ligne

#7 2014-07-10 10:05:06

nikrou
Membre
Inscription : 2007-10-02
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

Philippe a écrit :
nikrou a écrit :

Sinon chose étrange, chez moi ça fonctionne déjà. Si je ferme le bloc et que je recharge la page, le bloc reste fermé. Si je clique sur la légende, la carte est bien à la bonne taille. Testé avec chrome.

Tu as testé le plugin ? Chouette ! Si tu veux jouer avec moi et m'aider à l'améliorer, j'ai mis en place un pot de miel pour les sorciers ;)

J'ai forké, cloné,...
Une question : pourquoi tu fais un niveau avec README, LICENSE et le répertoire du plugin ? Cela oblige à cloner le truc quelque part et faire un lien vers l'intérieur plutôt que de cloner directement dans un répertoire de plugins de dotclear.

Comme suggéré par le chef pas chef, j'ai ma conf qui ressemble à ça :

// Plugins root
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins'.PATH_SEPARATOR.dirname(__FILE__).'/../../dc-plugins');

Du coup, je mets dans le répertoire dc-plugins tous les plugins que je développe ou que je clone !

Sinon pour faire quand même avancer le schmilblick, il manque le tag dl dans locales/fr/help/maps.html vers la ligne 53.


Je préfère être atteint de parkinson plutôt qu'alzheimer : je prefère renverser un peu de ma bière plutôt qu'oublier de la boire !

Présentez vos photos simplement avec Phyxo !

En ligne

#8 2014-07-11 09:18:43

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Javascript dans l'admin : ajouter un callback dans toggleWithLegend

nikrou a écrit :

Une question : pourquoi tu fais un niveau avec README, LICENSE et le répertoire du plugin ? Cela oblige à cloner le truc quelque part et faire un lien vers l'intérieur plutôt que de cloner directement dans un répertoire de plugins de dotclear.

Euh, je ne savais pas qu'on pouvait faire autrement, je me suis laissé guider par Github ;)

PS : merci pour le signalement sur les fichiers d'aide

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map