Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.

Similar presentations


Presentation on theme: "Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can."— Presentation transcript:

1 Wes Preston DEV 202

2 Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can be used – without managed code – to enhance the user experience by extending SharePoint’s view capabilities: Edit and format column content, change header text, change default web part messaging, hide columns, create custom column content, dynamically link to forms, etc.

3 Wes Preston, MVP, Consultant http://www.idubbs.com/blog wes@trecstone.com @idubbs Co-Author: SharePoint 2010 Creating and Implementing Real-World Projects

4 Overview The Basics Examples and Templates Next steps

5 Improve user experience Need more control over formatting and display SharePoint Designer Design View Changes without deploying managed code Build more ‘web-user-friendly’ environments

6 Changing the way list data is displayed Does NOT change the data Same method SharePoint uses to display lists and pages JS Link property Code.

7

8 An app -> A view Create a document library: ‘Scripts’ JavaScript file JS Link property ~site/scripts/[ScriptName].js

9 PreRender – Modify client-side data before it is rendered Overrides – Overriding how different components of the Fields or View will be displayed PostRender – Traditional DOM manipulation

10 YES, you can use them jQuery and stuff Go to town Use a Script Editor Web Part to include external files:

11 Use F12 Developer tools Investigating the DOM (select element) Find hooks for use in pre/post render General troubleshooting

12

13 ‘Good’ practices… Work with IT on rules/guidelines Where to store scripts When to engage developers Governance

14 If the JavaScript code is broken, the override won’t work… Use JavaScript ‘alert’ Check the column name Turn off MDS feature Start with a single List View on a page

15

16 Most common change made with CSR Formatting ‘Tweak’ Functionality Each column type is different Start with Text columns

17 Files to start from for these examples CSR_TextInline.js CSR_TextString.js CSR_TextArray.js Inline: 'Title':{'View':' '}

18

19 Functionality lost with SPD change Requires more JavaScript, but worth the effort Different column types require different handling…

20 Files to start from for these examples CSR_CondFormatField.js Blog post: JS Link – CSR View Conditional Formatting

21

22 Utility use case– Better view usability Columns typically named like database columns and may not be user friendly

23 Files to start from for these examples CSR_ColumnHeader.js We’ll call this our ‘v1’ solution…

24 File to start with for this example: CSR_ColumnHeader2.js

25

26 Utility use case When building dashboards, may be better user experience to have a specific message, or even action available when the view is empty

27 Files to start from for these examples CSR_EmptyList.js

28

29

30 User experience When building views or dashboards we try to keep the view clear and concise for users. A link usually means “more info here”. The default Lookup functionality is a little deceiving and usually doesn’t provide much value.

31 Files to start from for these examples CSR_ClearLookup.js Key is retaining the value of the Lookup field: ctx.CurrentItem.Theme[0].lookupValu e;

32

33 Forms, filtered pages, etc. More ‘web-like’ experience for users Direct links to non-standard forms (New, Display, Edit) Reference: http://www.ccc.je/http://www.ccc.je/

34 Files to start from for these examples CSR_CustomLinks.js

35

36 Utility use case May need the column data in a view (sorting, group by, calculated fields, connected web parts, etc.) but don’t want to display it Uses jQuery

37 Files to start from for these examples CSR_HideColumn.js Note: Sample template will affect ALL web parts on the page

38 Improved approach Works with multiple List Views on a page Uses jQuery Simple to use: HideColumnFromWebPart( "WebPartTitle", "Column Display Name") Still executes in PostRender because of timing

39 File to start with for this example: CSR_Utility.js CSR_HideColumnUtility.js

40

41 More control More work

42 Files to start from for these examples CSR_Item.js

43

44 SharePoint Library with sponsor logos Paid field (yes/no) CSR with Item override that outputs all images Combined with PostRender to rotate the images

45 Files to start from for these examples CSR_AdRotate1.js

46

47 Cleaner view Must rebuild the Item as well

48 Files to start from for these examples CSR_Groups.js

49 Lookup column link to filtered list view FAQ Add column in PreRender PostRender get external data View Attachments (see blog post) View associated files (in a different library) People properties

50 HTML CSS JavaScript

51 CSR is JavaScript JavaScript runs in the browser You have the source code!! Use Visual Studio Code (free) 51,565 lines of fun!

52 What will you use CSR for? Where should you *not* use CSR?

53 Blog reference page http://www.idubbs.com/blog/js-link-and-csr/ http://www.idubbs.com/blog/js-link-and-csr/ JS Link targeting web parts http://www.n8d.at/blog/bind-jslink-overrides-to-certain-web-parts-only/ http://www.n8d.at/blog/bind-jslink-overrides-to-certain-web-parts-only/

54 Wes Preston @idubbs


Download ppt "Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can."

Similar presentations


Ads by Google