Renommage de prive/squelettes/inclure/block en block_objet pour éviter des collisions

Modification du markup pour faire fonctionner Sortable suit à l'ajout d'un niveau de div intermédiaire (ajaxblock)
Utilisation d'un uniquid par groupe d'éléments sortable
master
nicod_ 4 days ago
parent 80a9aa5b0e
commit 41ba1b5caf

@ -25,7 +25,7 @@ function ordonner_listes_blocks() {
}
new Sortable(this, {
direction: 'vertical',
handle: '.deplacer_block',
handle: '.deplacer_block_'+$(this).data('idsortable'),
swapThreshold: .8,
ghostClass: "deplacer-block-placeholder",
onStart: function(event) {

@ -1,53 +0,0 @@
<BOUCLE(BLOCKS) {id_block} {statut?} {si #ENV{edit_bloc}|non}>
<div class="objetblock statut_#STATUT" id="block_#ID_BLOCK" data-id="#ID_BLOCK">
<div class="objetblock__header">
<h3 class="titrem objetblock__type">
[(#CHEMIN_IMAGE{block-16.png}|balise_img)]
#INFO_TITRE{blocktypes,#ID_BLOCKTYPE}
</h3>
<div class="actions groupe-btns">
<div class="btn">
[(#STATUT|puce_statut{block,#ID_BLOCK})]
</div>
[(#AUTORISER{modifier,block,#ID_BLOCK})
<div class="btn move deplacer_block">
[(#CHEMIN_IMAGE{formulaire-action-deplacer-16.png}|balise_img{<:block:icone_deplacer_block:/>})]
</div>
<a href="[(#URL_ECRIRE{block_edit,id_block=#ID_BLOCK}|parametre_url{redirect,#SELF#block#ID_BLOCK})]"
class="btn editer_block" data-id_block="#ID_BLOCK">
[(#CHEMIN_IMAGE{formulaire-action-configurer-16.png}|balise_img{<:block:icone_modifier_block:/>})]
</a>
]
<!--
[(#AUTORISER{creer,block,#ID_BLOCK})
<button type="submit" class="submit noscroll dupliquer_saisie" name="dupliquer_block" value="#ID_BLOCK">
[(#CHEMIN_IMAGE{formulaire-action-dupliquer-16.png}|balise_img{<:saisies:construire_action_dupliquer:/>})]
</button>
]
-->
[(#AUTORISER{supprimer,block,#ID_BLOCK})
<a href="#URL_ACTION_AUTEUR{supprimer_block, #ID_BLOCK, #SELF}" class="ajax btn noscroll" onclick="javascript:return confirm('<:block:confirmer_supprimer_block:/>');">
[(#CHEMIN_IMAGE{formulaire-action-supprimer-16.png}|balise_img{<:block:supprimer_block:/>})]
</a>
]
</div>
</div>
<div class="objetblock__content"[ id="(#ANCRE)"]>
#GENERER_BLOCK
</div>
[(#ID_BLOCKTYPE|bloctypes_trouver_enfants|oui)
<div class="objetblock__blocks">
<INCLURE{fond=prive/squelettes/inclure/blocks_objet, objet=block, id_objet=#ID_BLOCK, id_blocktype_parent=#ID_BLOCKTYPE}>
</div>]
</div>
</BOUCLE>
[(#ENV{edit_bloc}|oui)
<div class="ajax objetblock" id="block_#ENV{id_block,new}">
[(#FORMULAIRE_EDITER_BLOCK{#ENV{id_block,new}, #OBJET, #ID_OBJET, #ENV{id_blocktype_parent}, #SELF|ancre_url{block_#ENV{id_block,new}}, 1})]
</div>
]

@ -0,0 +1,50 @@
<BOUCLE(BLOCKS) {id_block} {statut?} {si #ENV{edit_bloc}|non}>
<div class="objetblock__header">
<h3 class="titrem objetblock__type">
[(#CHEMIN_IMAGE{block-16.png}|balise_img)]
#INFO_TITRE{blocktypes,#ID_BLOCKTYPE}
</h3>
<div class="actions groupe-btns">
<div class="btn">
[(#STATUT|puce_statut{block,#ID_BLOCK})]
</div>
[(#AUTORISER{modifier,block,#ID_BLOCK})
<div class="btn move deplacer_block [deplacer_block_(#ENV{idsortable})]">
[(#CHEMIN_IMAGE{formulaire-action-deplacer-16.png}|balise_img{<:block:icone_deplacer_block:/>})]
</div>
<a href="[(#URL_ECRIRE{block_edit,id_block=#ID_BLOCK}|parametre_url{redirect,#SELF#block#ID_BLOCK})]"
class="btn editer_block" data-id_block="#ID_BLOCK">
[(#CHEMIN_IMAGE{formulaire-action-configurer-16.png}|balise_img{<:block:icone_modifier_block:/>})]
</a>
]
<!--
[(#AUTORISER{creer,block,#ID_BLOCK})
<button type="submit" class="submit noscroll dupliquer_saisie" name="dupliquer_block" value="#ID_BLOCK">
[(#CHEMIN_IMAGE{formulaire-action-dupliquer-16.png}|balise_img{<:saisies:construire_action_dupliquer:/>})]
</button>
]
-->
[(#AUTORISER{supprimer,block,#ID_BLOCK})
<a href="#URL_ACTION_AUTEUR{supprimer_block, #ID_BLOCK, #SELF}" class="ajax btn noscroll" onclick="javascript:return confirm('<:block:confirmer_supprimer_block:/>');">
[(#CHEMIN_IMAGE{formulaire-action-supprimer-16.png}|balise_img{<:block:supprimer_block:/>})]
</a>
]
</div>
</div>
<div class="objetblock__content"[ id="(#ANCRE)"]>
#GENERER_BLOCK
</div>
[(#ID_BLOCKTYPE|bloctypes_trouver_enfants|oui)
<div class="objetblock__blocks">
<INCLURE{fond=prive/squelettes/inclure/blocks_objet, objet=block, id_objet=#ID_BLOCK, id_blocktype_parent=#ID_BLOCKTYPE}>
</div>]
</BOUCLE>
[(#ENV{edit_bloc}|oui)
<div class="ajax">
[(#FORMULAIRE_EDITER_BLOCK{#ENV{id_block,new}, #OBJET, #ID_OBJET, #ENV{id_blocktype_parent}, #SELF|ancre_url{block_#ENV{id_block,new}}, 1})]
</div>
]

@ -1,15 +1,20 @@
#SET{idsortable, #REM|uniqid}
<B>
[<h2>(#GRAND_TOTAL|singulier_ou_pluriel{block:info_1_block,block:info_nb_blocks})</h2>]
<div class="objet_blocks"[ data-lien="(#ENV{objet})/#ENV{id_objet}"]>
<div class="sortable">
<div class="sortable" data-idsortable="#GET{idsortable}">
<BOUCLE(BLOCKS) {objet}{id_objet} {statut?} {par rang_lien}>
<INCLURE{fond=prive/squelettes/inclure/block, id_block, env, ajax=block_#ID_BLOCK}>
<div class="objetblock statut_#STATUT" id="block_#ID_BLOCK" data-id="#ID_BLOCK">
<INCLURE{fond=prive/squelettes/inclure/block_objet, id_block, env, idsortable=#GET{idsortable}, ajax=block_#ID_BLOCK}>
</div>
</BOUCLE>
</div>
</div>
</B>
<INCLURE{fond=prive/squelettes/inclure/block, edit_bloc=1, env, ajax=block_new}>
<div class="objetblock" id="block_new">
<INCLURE{fond=prive/squelettes/inclure/block_objet, edit_bloc=1, env, ajax=block_new}>
</div>
<script type="text/javascript">
/* Gestion du tri des blocks */

Loading…
Cancel
Save