phorlaville
phorlaville
La boîte à outils
3 posts
Un fourre-tout, des idées, des trouvailles
Don't wanna be here? Send us removal request.
phorlaville · 12 years ago
Text
List of lists - Sharepoint 2013
Bon. La problématique : Lister sur la home page d'un site sharepoint 2013 la liste des listes de type "Survey", avec un lien vers ces listes.
Après avoir farfouillé du côté des webpart sans succès j'ai décidé de faire ça avec le designer..
Le datasource : <SharePointWebControls:SPDataSource     ID="SPDataSource1"     runat="server"     DataSourceMode="Listoflists"> </SharePointWebControls:SPDataSource>
Rien de bien sorcier... http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spdatasource.datasourcemode.aspx http://solutionizing.net/spdatasource-fields-for-webs-listsoflists/
La grid :
<asp:GridView     ID="GridView1"     runat="server"     DataSourceID="SPDataSource1"     AutoGenerateColumns="False" AllowSorting="True" AllowPaging="True" PageSize="2000" CellPadding="3" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Left" EnableSortingAndPagingCallbacks="True">     <Columns>         <asp:boundfield DataField="__spBaseTemplate" HeaderText="Survey Type">         </asp:boundfield>         <asp:hyperlinkfield DataNavigateUrlFields="__spDefaultViewUrl" DataTextField="__spTitle" HeaderText="Survey Name">         </asp:hyperlinkfield>         <asp:boundfield DataField="__spCreated" HeaderText="Survey Date">         </asp:boundfield>         <asp:boundfield DataField="__spAuthor" HeaderText="Survey Author">         </asp:boundfield>     </Columns> </asp:GridView>
Ça donne ça :
Tumblr media
Le problème : pour filtrer et ordonner les spdatasources, on se sert généralement d'une CAML Query.
Je recommande vivement ce petit outil : CAML Designer
ça devrait donner ça pour le SPDatasource :
<SharePoint:SPDataSource     ID="SPDataSource1"     runat="server"     DataSourceMode="Listoflists"     SelectCommand="<View><ViewFields><FieldRef Name='__spTitle'/><FieldRef Name='__spCreated'/><FieldRef Name='__spBaseTemplate'/><FieldRef Name='__spDefaultViewUrl'/></ViewFields><Query><OrderBy><FieldRef Name='Created' /></OrderBy><Where><Eq><FieldRef Name='__spBaseTemplate' /><Value Type='Text'>Survey</Value></Eq></Where></Query></View>"> </SharePoint:SPDataSource>
Et bien non.... le selectcommand n'est absolument pas pris en compte pour le mode Listoflist...
Résultat : j'obtiens bien une liste de mes listes. De toutes mes listes, non filtrées et non triées par date de création...
Pour le filtrage sur le type "Survey", je fais ça en jQuery : je masque la ligne (TR) si le contenu de la 1ere colonne est "Survey", après avoir créé un div avec id pour englober ma grid. J'en profite pour mettre un peu en forme et masquer la 1ere colonne (type de liste) :
<SharePointWebControls:SPDataSource     ID="SPDataSource1"     runat="server"     DataSourceMode="Listoflists" UseServerDataFormat="True"> </SharePointWebControls:SPDataSource> <div id="surveylist" style="display:none;"> <asp:GridView     ID="GridView1"     runat="server"     DataSourceID="SPDataSource1"     AutoGenerateColumns="False" AllowSorting="True" AllowPaging="True" PageSize="2000" CellPadding="3" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Left" EnableSortingAndPagingCallbacks="True">     <Columns>         <asp:boundfield DataField="__spBaseTemplate" HeaderText="Survey Type">         </asp:boundfield>         <asp:hyperlinkfield DataNavigateUrlFields="__spDefaultViewUrl" DataTextField="__spTitle" HeaderText="Survey Name">         </asp:hyperlinkfield>         <asp:boundfield DataField="__spCreated" HeaderText="Survey Date">         </asp:boundfield>         <asp:boundfield DataField="__spAuthor" HeaderText="Survey Author">         </asp:boundfield>     </Columns> </asp:GridView> </div> <script type="text/javascript"> $(document).ready(function() {   $("tr th:first-child").hide();   $("tr td:first-child").hide();   $("tr td:first-child:not(:contains('Survey'))").closest('tr').hide();   $("#surveylist th").css('text-align','left');   $("#surveylist").show(); }); </script>
Ça donne ça :
Tumblr media
Si jamais quelqu'un a une solution plus "propre", je suis preneur :)
0 notes
phorlaville · 12 years ago
Text
Télétravail
Tumblr media
0 notes
phorlaville · 12 years ago
Text
Arrgh ! L'animation progressive de svg me donne mal à la tête
Faire bouger un truc, facile. Un fichier svg, un peu de jQuery et ça se passe pas trop mal :
http://www.carolus-la-puce.com
Tumblr media Tumblr media Tumblr media
Mais faire 'pousser' un truc... C'est une autre paire de manche.
Surtout quand on veut que tout ça soit compatible cross browser...
- J'utilise jQuery.svg - Je load un fichier svg dans un div (ici : mainsvg): $("#mainsvg").svg({loadURL: 'medias/home.svg', onLoad:launchAll}); - Ensuite, je peux manipuler mes objets svg en jQuery. Ex : $("#BoiteCarton").animate({svgTransform: 'translate(40,-6)'}, 200);
Je n'ai pas encore trouvé de moyen simple d'animer un objet svg (un path) pour faire comme s'il était dessiné, comme une plante qui pousse, en fait...
J'ai lu sur certains forums qu'utiliser les pointillés et les animer pouvait être un moyen de contournement : <set attributeName="stroke-dasharray" to="600"/> <set attributeName="stroke-dashoffset" to="600"/> <animate attributeName="stroke-dashoffset" values="600;0" begin="0s" dur="5s" fill="freeze"/>
Le hic : ça ne fonctionne pas sur tous les navigateurs...
http://www.carolus-la-puce.com/medias/test.svg
Je continue de chercher...
1 note · View note