Tag Archives: SPSChicagoBurbs

VIDEO – SharePoint Saturday – Upload PowerApps picture with MS Flow

During SharePoint Saturday in Chicago, I attended a great session by Mark Vogt (https://www.emtecinc.com/) to LIVE BUILD a working PowerApp.    Attendees were able to follow along by creating the sample application on their own Office 365 tenant.

The demo video below shows the sample application with PowerApps, MS Flow, and how to leverage the Camera control to take mobile pictures and save to a SharePoint Picture Library.  One of the challenges was to convert format from DataURL (PowerApp Camera control) to Binary (SharePoint File).

Cheers!   shades_smile

Video

Image result for powerapp

Image result for powerapp

Image result for ms flow

Screenshots

image

image

image

MS Flow Code

'SPSat-UploadPicture'.Run("powerapp.jpg", Camera1.Photo)
dataUriToBinary(triggerBody()['Createfile_FileContent'])

References

Quick Edit supports JS Link and Client Side Rendering

Today I attended #SPSChicagoBurbs and the session by Wes Preston (@idubbs)  on Client Side Rendering.   A question was asked by someone in the audience if Quick Edit (new Data Sheet) would support CSR rendering.   The consensus was probably not because of the advanced rendering, event handlers, and cell editing.

 

I gave it a quick test and surprisingly it worked!   Smile 

 

When I renamed a file to become “test.txt” it turns the background green, text white, and even shows a custom icon <IMG> tag.   This could be leveraged to give end users real-time feedback on the values entered.   Unlike a JQuery page load event which only triggers once, this triggers per row as values are changed.

 

Video

csr-quick

 

Screenshot

5-17-2014 12-35-08 PM

 

Code

//override
(function () {
    var overrideCtx = {};
    overrideCtx.Templates = {};
    overrideCtx.Templates.Fields = {
        'LinkFilename': { 'View': ConditionalStatus }
    };
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();
function ConditionalStatus(ctx) {
    var ret;
    console.log(ctx.CurrentItem.FileLeafRef);
    if (ctx.CurrentItem.FileLeafRef== "test.txt") {
        ret = "
" + " " + ctx.CurrentItem.FileLeafRef + "
"; } else { ret = ctx.CurrentItem.FileLeafRef; } return ret; }
Return to Top ▲Return to Top ▲