diff --git a/.gitattributes b/.gitattributes index e5de9d819146136a617a29f7d394586231af5240..b97ca5dc8c5a6926fcbec5d5dbff8718879cf70e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -316,6 +316,9 @@ prive/themes/spip/images/document-new-16.png -text prive/themes/spip/images/document-new-24.png -text prive/themes/spip/images/document-new-32.png -text prive/themes/spip/images/document-vu-24.png -text +prive/themes/spip/images/documents-cases-16.png -text +prive/themes/spip/images/documents-liste-16.png -text +prive/themes/spip/images/documents-liste-courte-16.png -text prive/themes/spip/images/image-16.png -text prive/themes/spip/images/image-24.png -text prive/themes/spip/images/image-32.png -text diff --git a/lang/medias_fr.php b/lang/medias_fr.php index a8f578479e340e93def5c7ed59745f29ed5e36dc..cb057fa400bca0f32ecd5e5c38b3cd652010332a 100644 --- a/lang/medias_fr.php +++ b/lang/medias_fr.php @@ -8,6 +8,9 @@ if (!defined('_ECRIRE_INC_VERSION')) { $GLOBALS[$GLOBALS['idx_lang']] = array( // A + 'affichage_documents_en_grand' => 'Affichage en grand', + 'affichage_documents_en_cases' => 'Affichage en cases', + 'affichage_documents_en_liste_compacte' => 'Affichage en liste compacte', 'aucun_audio' => 'Aucune bande-son', 'aucun_document' => 'Aucun document', 'aucun_file' => 'Aucun document', diff --git a/paquet.xml b/paquet.xml index 43fb9b6046992941c89213c90344cd54bdf04f03..d745fbf8e0e70d0458e62fa90cd126cbdf9682fd 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="medias" categorie="multimedia" - version="2.14.4" + version="2.15.0" etat="stable" compatibilite="[3.2.0-dev;]" logo="prive/themes/spip/images/portfolio-32.png" diff --git a/prive/squelettes/inclure/portfolio-documents.html b/prive/squelettes/inclure/portfolio-documents.html index 2a517595a823d4ed21e7e6059ea0763d9cd1fdf9..30198d1873b04664c9da8d9cf2a88c55024be04d 100644 --- a/prive/squelettes/inclure/portfolio-documents.html +++ b/prive/squelettes/inclure/portfolio-documents.html @@ -56,6 +56,7 @@ var multifile='[(#CHEMIN{javascript/jquery.multifile.js}|texte_script)]'; [(#INCLURE{javascript/medias_edit.js}|compacte{js})] [(#OBJET|=={rubrique}|et{#EVAL{_AJAX}}|et{#GET{nbdocs}|=={1}}|oui) if (window.jQuery) jQuery('#navigation .box.info').ajaxReload();] + function check_reload_page(){ var reload = false; if($('#illustrations[(#ENV{id_unique})]').length && !$('#illustrations[(#ENV{id_unique})] .item').length){ @@ -72,6 +73,72 @@ function check_reload_page(){ jQuery('#navigation .box.info').ajaxReload(); } } -if (window.jQuery) jQuery(function(){onAjaxLoad(check_reload_page);}); + +if (window.jQuery) { + jQuery(function(){onAjaxLoad(check_reload_page);}); + jQuery(function($) { + /** Choix des différents affichages des documents (grand, en case, en liste courte) */ + var affichages = function () { + $('#portfolios h3:not(:has(.affichages))').each(function () { + var titre = $(this); + var liste = titre.next('.liste_items.documents'); + + var identifiant = liste.attr('id'); + if ($.inArray(identifiant, ['illustrations', 'portfolio', 'documents']) < 0) { + identifiant = null; + } + + titre.append( + "<div class='affichages'>" + + "<span class='icone grand on' title='<:medias:affichage_documents_en_grand|attribut_html:>'></span>" + + "<span class='icone cases' title='<:medias:affichage_documents_en_cases|attribut_html:>'></span>" + + "<span class='icone liste' title='<:medias:affichage_documents_en_liste_compacte|attribut_html:>'></span>" + + "</div>" + ); + + var changer_affichage_documents = function (me, bouton, classe) { + $(me).parent().find('.icone').removeClass('on').end().end().addClass('on'); + var liste = $(me).parents('h3').next('.liste_items.documents'); + liste.removeClass('documents_cases').removeClass('documents_liste'); + if (classe) { + liste.addClass(classe); + } + if (identifiant) { + Cookies.set('affichage-' + identifiant, bouton); + } + + liste.trigger('affichage.documents.change', { + 'liste': liste, + 'icone': me, + 'bouton': bouton, + 'classe': classe + }); + + }; + + titre.find('.affichages > .grand').click(function () { + changer_affichage_documents(this, 'grand', null); + }); + + titre.find('.affichages > .cases').click(function () { + changer_affichage_documents(this, 'cases', 'documents_cases'); + }); + + titre.find('.affichages > .liste').click(function () { + changer_affichage_documents(this, 'liste', 'documents_liste'); + }); + + if (identifiant) { + var defaut = Cookies.get('affichage-' + identifiant); + if (defaut) { + titre.find('.affichages > .' + defaut).trigger('click'); + } + } + }); + } + affichages(); + onAjaxLoad(affichages); + }); +} /*]]>*/</script> </div> diff --git a/prive/style_prive_plugin_medias.html b/prive/style_prive_plugin_medias.html index 52579e8e44f74eb788727896f9bbd1eeb282b69c..e4fb4ccf5a9d278bae07fbd588bb21be362190d0 100644 --- a/prive/style_prive_plugin_medias.html +++ b/prive/style_prive_plugin_medias.html @@ -183,3 +183,148 @@ p.actions {clear:both;} .portfolios .tout_supprimer span {display:block;text-align:#GET{right};} .item.vu_oui {background:#f9f9f9;} + + +/* Types d'affichages des listes de douments */ + +h3 .affichages { + float:#GET{right}; +} + +.affichages .icone { + width:16px; + height:16px; + margin:0; + padding:2px; + display:inline-block; + background:rgba(255, 255, 255, 0.5) center center no-repeat; + border-radius:3px; + cursor:pointer; +} +.affichages .icone + .icone { + margin-#GET{left}:5px; +} +.affichages .icone.grand { + background-image: url([(#CHEMIN_IMAGE{documents-liste-16.png})]); +} +.affichages .icone.liste { + background-image: url([(#CHEMIN_IMAGE{documents-liste-courte-16.png})]); +} +.affichages .icone.cases { + background-image: url([(#CHEMIN_IMAGE{documents-cases-16.png})]); +} +.affichages .icone.on { + background-color:rgba(255, 255, 255, 0.9); +} +.affichages .icone.on:hover, +.affichages .icone:hover { + background-color:rgba(255, 255, 255, 1); +} + +/* Liste courte de documents */ +.portfolios .documents_liste .tout_supprimer { + clear:both; + margin-top:.5em; + display:block; +} +.portfolios .documents_liste .item { + padding: 7px; + padding-#GET{right}: 100px; + padding-#GET{left}: 75px; + position:relative; +} +.portfolios .documents_liste .item .vignette { + width:65px; + margin-#GET{left}: -75px; +} +.portfolios .documents_liste .item .vignette img { + max-height: 36px; + max-width:65px; + height:auto; + width:auto; +} +.portfolios .documents_liste .item .tourner, +.portfolios .documents_liste .item .infos, +.portfolios .documents_liste .item .mode, +.portfolios .documents_liste .item .actions > * { + display:none; +} +.portfolios .documents_liste .item .titrem { + margin-bottom:0; +} +.portfolios .documents_liste .item .titrem .fichier, +.portfolios .documents_liste .item .titrem .titre { + max-height:1.2em; + line-height:1.2em; + overflow:hidden; + white-space: nowrap; + display:block; + text-overflow:ellipsis; +} +.portfolios .documents_liste .item .titrem .titre { + max-height:1.5em; + line-height:1.5em; +} +.portfolios .documents_liste .item .actions { + position:absolute; + #GET{right}:0; + top:1.2em; +} +.portfolios .documents_liste .item .actions .editbox, +.portfolios .documents_liste .item .actions .ordoc-deplacer { + display:inline-block; +} + + +/* Grille en cases des documents. */ +.portfolios .documents_cases { + display:flex; + flex-wrap: wrap; +} +.portfolios .documents_cases .item { + padding: 2px; + margin: 2px; + border:1px solid #eee; + border-radius:5px; + width:113px; + height:130px; + display:flex; + flex-direction:column; + +} +.portfolios .documents_cases .item .tourner, +.portfolios .documents_cases .item .infos, +.portfolios .documents_cases .item .mode, +.portfolios .documents_cases .item .titrem, +.portfolios .documents_cases .item .actions > * { + display:none; +} +.portfolios .documents_cases .item .actions .editbox { + display:inline-block; + float:#GET{right}; +} +.portfolios .documents_cases .item .actions .ordoc-deplacer { + display:inline-block; + float:#GET{left}; +} +.portfolios .documents_cases .item .vignette { + float: none; + margin-#GET{left}: 0; + width:auto; + height:auto; + flex-grow:1; +} +.portfolios .documents_cases .item .vignette img { + max-height:110px; + max-width:110px; + width: auto; + height: auto; +} + +.portfolios .documents_cases .item .actions { + display:block; + width:100%; +} +.portfolios .documents_cases .tout_supprimer { + flex-basis: 100%; +} \ No newline at end of file diff --git a/prive/themes/spip/images/documents-cases-16.png b/prive/themes/spip/images/documents-cases-16.png new file mode 100644 index 0000000000000000000000000000000000000000..80d989da31b02f8e3996a747bbac8690b596fa81 Binary files /dev/null and b/prive/themes/spip/images/documents-cases-16.png differ diff --git a/prive/themes/spip/images/documents-liste-16.png b/prive/themes/spip/images/documents-liste-16.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3d5069f4f8a61eb982a67ea51aa4b31153ac5b Binary files /dev/null and b/prive/themes/spip/images/documents-liste-16.png differ diff --git a/prive/themes/spip/images/documents-liste-courte-16.png b/prive/themes/spip/images/documents-liste-courte-16.png new file mode 100644 index 0000000000000000000000000000000000000000..330ff51e44f6e0aaf87904be68cb842c48831312 Binary files /dev/null and b/prive/themes/spip/images/documents-liste-courte-16.png differ