Customizing SharePoint with TypeScript and Knockout

Slides:



Advertisements
Similar presentations
Creating Page Layouts using SharePoint Designer or Visual Studio Becky Bertram MCSD, MCAD MCTS WSS Development MCTS MOSS Development
Advertisements

SPSVB 2015 Create Tailored Search Results w/ Display Templates SHAREPOINT SATURDAY VIRGINIA BEACH– JANUARY 10, 2015 MIKE ORYSZAK BLOG:
Knockoutjs and JQuery The One-Two Punch for Richer MVC 4 Applications Connecticut.NET Developers Group November 13, 2012.
SharePoint 2010: BCS m Business Connectivity Services.
SharePoint Saturday Sponsors Gold Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
Thanks to our Sponsors!  Platinum:  Gold:  Silver:  Raffle:
JQuery : Rethink Web Development Van Gaever Tom
JavaScript Libraries for Office 365 April 18 th, 2015 Timothy Ferro.
Bob German Principal Architect A New on SharePoint Development Building Light-Weight Web Parts with AngularJS
JavaScript Libraries for Office 365 July 25 th, 2015 Timothy Ferro.
SPSATL 2014 Create Tailored Search Results w/ Display Templates SHAREPOINT SATURDAY ATLANTA – JUNE 21, 2013 MIKE ORYSZAK BLOG: TWITTER:
Store, sync, and share your files
JavaScript Framework for Rich Apps in Every Browser Maura Wilder Joan Wortman
SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade.
SharePoint Saturday Sponsors Gold Bronze Creating Knockout User Experiences in SharePoint with JavaScript Making awesome with Knockout, jQuery and SharePoint.
Fun with forms… Jacob Greeff 3 October 2015 Johannesburg, SA.
The Web Developer’s Toolbox Steve Fabian e:
Wijmo Troy Taylor. What is Wijmo? -Wijmo is a kit of over 40 UI widgets, optimized for client-side web development. -HTML5 -jQuery -CSS3 -SVG.
JAVASCRIPT WITH A VIEW Jordan Knight Solution Architect Xamling SESSION CODE: WEB305 (c) 2011 Microsoft. All rights reserved.
Canopy walk through Single-Page Apps (SPAs) Benjamin Howarth Freelancer, Code Gecko Umbraco UK Festival, Fri 30 th Oct 2015 CODE GECKO.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Spice up Your Forms and Views Deep Dive into Client Side Rendering (CSR) Joe McShea Owner/Consultant IntelliPoint Solutions LLC.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
SPEasyForms: The Free Forms Designer Solution for SharePoint Joe McShea Owner/Software Architect IntelliPoint Solutions LLC.
SPEasyForms: The Free Forms Designer Solution for SharePoint Joe McShea Owner/Software Architect IntelliPoint Solutions LLC.
Spice up Your Forms and Views with Client Side Rendering (CSR) Joe McShea Owner/Consultant IntelliPoint Solutions LLC 8/06/2016.
Mark Rackley – PAIT Group –
MVC 4.0, Knockout.js, Bootstrap and EF6.0 FAST, FLEXIBLE AND RESPONSIVE QUICK TO MARKET WEBSITES.
Spice up Your Forms and Views
Kendo UI ASP.NET MVC Wrappers
JQuery Fundamentals Introduction Tutorial Videos
Spice up Your Forms and Views
Get an Introduction to the SharePoint Framework
Microsoft’s shiny dashboard-tool
Best Practices for Small-Scale Client-Side Development in SharePoint
Angular 4 + TypeScript Getting Started
What's new in the world of SharePoint development and deployment
Creating Lightning Fast Apps Using AngularJS
Anatomy of a Display Template
GET-ting Your Office 365 Data Using the Microsoft Graph API
Customizing SharePoint with Knockout and Typescript
The Dirtiest Word In SharePoint: Governance!
8/2/2018 4:49 AM Understanding the SharePoint Framework and how it affects your JavaScript customizations Mark Rackley / Chief Strategy.
Creating and Deploying Your First SharePoint Framework Application
KnockoutJS -Pradeep Shet 31st August 2014.
Customizing SharePoint with TypeScript and Knockout
Portals for Microsoft Dynamics 365
AngularJS and SharePoint 2013: Lessons Learned from the Trenches
Customizing SharePoint with TypeScript and Knockout
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Creating and Deploying Your First SharePoint Framework Application
Spice up Your Forms and Views
AngularJS and SharePoint Chris Douglas Senior SharePoint Developer InfoReliance Web: Twitter:
Making PowerShell Useful
Customizing SharePoint with TypeScript and Knockout
Visio 2013 and Visio Services
SharePoint & jQuery: Better Together
Rich single page applications with SharePoint
Please thank our sponsors!
Creating Lightning Fast Apps Using AngularJS
Office365 Sway usage in a Learning and Corporate Environment
AngularJS and SharePoint I Chris Douglas Senior SharePoint Developer ECS Web:
The SharePoint framework
JavaScript and the DOM MIS 2402 Jeremy Shafer Department of MIS
Office365 Sway usage in a Learning and Corporate Environment
SharePoint Framework The SPSEvents site wouldn’t let me add the link to my presentation so I uploaded a PowerPoint with a link to my sway.
Creating Lightning Fast Apps Using AngularJS
JavaScript and the DOM MIS 2402 Maxwell Furman Department of MIS
Presentation transcript:

Customizing SharePoint with TypeScript and Knockout Joe McShea SharePoint Saturday Atlanta 6/17/2017

Thank Our Sponsors Platinum Sponsors

Thank Our Sponsors Platinum Sponsors

Thank Our Sponsors Attendee Shirts

Thank Our Sponsors Join us for SharePint! Immediately after the event! Dave & Busters 2215 D and B Drive SE Marietta, GA 30067

Thank Our Sponsors Gold Sponsors

Please Provide Feedback Feedback is a lottery ticket Session Feedback (x5) Event Feedback The Booth Game

Who am I? Joe McShea IntelliPoint Solutions LLC Owner/Software Architect Over 20 years as a software developer/architect Focused on the Microsoft stack and SharePoint/Office 365 since 2007 Author of SPEasyForms, the free/open source for SharePoint 2010, 2013, 2016, and Online available for download on CodePlex/GitHub Contact joe@intellipointsol.com @Joe_McShea (twitter) http://speasyforms.com (blog)

Agenda Talk a little about Typescript Talk a little about Knockout Demo using them in SharePoint

What is Typescript? Strongly typed JavaScript Adds Classes, Interfaces, Modules Superset of JavaScript

Typescript is a Superset of JavaScript

Why Typescript? Easier transition for server-side developers Early detection of errors Better tool support Because Microsoft says so

Modules import * as ko from "knockout"; export const numberRegexp = /^[0-9]+$/; // exports from external modules export * from "./StringValidator"; export * from "./LettersOnlyValidator"; export * from "./ZipCodeValidator";

Classes and Interfaces

Arrow Functions

Don’t use var

Use let instead

What is Knockout? JavaScript library to simplify CRUD applications Eases the creation of rich and responsive web sites Provides 2 way databinding between the data and it’s presentation Based on the Model View ViewModel (MVVM) pattern

Why Knockout? Um…really? Most SharePoint Customizations are CRUD applications CRUD is mostly boiler plate HTML and JavaScript Knockout helps separate concerns and minimizes boiler plate code and markup

So what can we bind to in HTML? POJO Observable Observable Array Event

POJO

Observable

Observable Array

Observable Array

Event

Demo…

References Typescript quick Start: http://www.typescriptlang.org/docs/tutorial.html Knockout documentation: http://knockoutjs.com/documentation/introduction.html Widget-Wrangler by Bob German and Julie Turner: https://github.com/Widget-Wrangler/ww Source code for tkoWebPart demo: https://github.com/mcsheaj/tkoWebPart Set up your SharePoint client-side web part development environment: https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment

References Continued Pure JavaScript Slider with Animations by Gabriele Romanato: https://codepen.io/gabrieleromanato/pen/pIfoD Drag and Drop File Upload jQuery Example, Ravishanker Kusuma: http://hayageek.com/drag-and-drop-file-upload-jquery/ Export any web part from a SharePoint page, Anatoly Mironov: https://chuvash.eu/2014/09/19/export-any-web-part-from-a-sharepoint-page/

Backup

Making it reusable Get the web part id: Go to: <site>/_vti_bin/exportwp.aspx? pageurl=<pageurl>&guidstring=<webPartId> <site> = your site <pageurl> = the full path to the web part page <webPartId> = the id of the web part you want to export Save the resulting .webpart file, change title, description, etc, upload to the web part gallery