SharePoint / sp-dev-docs

SharePoint & Viva Connections Developer Documentation
https://docs.microsoft.com/en-us/sharepoint/dev/
Creative Commons Attribution 4.0 International
1.24k stars 1.01k forks source link

List Formatting - customRowAction > embed integration with Powerapps that receive parameters fail #9931

Open aaclage opened 3 weeks ago

aaclage commented 3 weeks ago

Target SharePoint environment

SharePoint Online

What SharePoint development model, framework, SDK or API is this about?

Declarative list formatting

Developer environment

None

What browser(s) / client(s) have you tested

Additional environment details

Describe the bug / error

I use List formatting with customRowAction > embed that open Microsoft PowerApps, this PowerApps is expecting 2 parameter values that is send in url used in List formatting. When url is sent PowerApp cannot read second paramater, I assume that 2 parameter is not being sent from List formatting even it's defined in "src", below test case used that didn't retrieve info.

PowerAppDialog

Steps to reproduce

  1. Create Power App and define "OnStart" the following expected parameters to receive in Power App and include in variables
    Set(testColor,Param("testColor"));
    Set(tenantId,Param("tenantId"));
  2. Include in textbox to display variables
  3. When open Powerapp with parameter "?tenantId=[TenantId]&testColor=RED" Parameters values should display in PowerApp.
  4. Create Support List
  5. Create Field where Color should be included (sample "Red")
  6. Format Column with following formatting:
    {
    "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
    "elmType": "button",
    "customRowAction": {
    "action": "embed",
    "actionInput": {
      "src": "https://apps.powerapps.com/play/e/[Enviroment]/a/[AppId]?tenantId=[tenantId]&testColor=Red",
      "height": "350",
      "width": "700"
    }
    },
    "txtContent": "Click here to open PowerApp 👩‍🍳"
    }

    PowerAppDialog

Expected behavior

It's expected when used "action": "embed" and src can send url with multiple dynamic parameter values and then powerapps receive all url parameters and display in PowerApps.

aaclage commented 3 weeks ago

@tpodugu-ms, @arkogupta, @jgupta-msft for your consideration this new issue with Powerapps integration and list Formatting url parameters.

tpodugu-ms commented 3 weeks ago

Thanks @aaclage. We will provide an update on this soon

arkogupta commented 2 weeks ago

@aaclage Could you please also add the detailed steps of creating the powerApp? That'd be really helpful, thanks!

aaclage commented 2 weeks ago

@arkogupta as requested below step by step description:

Create Sample Power App:

  1. Access to https://make.powerapps.com/
  2. Left Menu > Click "Create"
  3. Blank app Click
  4. Select "Blank canvas app"
  5. Provide App Name "Parameter"
  6. On Left Menu Tree View > Select Object "App"
  7. Select Property "OnStart"
  8. Include following lines to store parameters:
    Set(testColor,Param("testColor"));
    Set(tenantId,Param("tenantId"));

    image

  9. include 4 new "Text label"
  10. in this new "Text label" add 2 labels with text "Parameter 'testColor'" and "Parameter 'tenantid'"
  11. Include 2 label with variables: "testColor" and "tenantId" defined before
  12. Access top right icon and "Publish".

    Validate New App

  13. Access to https://make.powerapps.com/
  14. Access to Left Menu "Apps"
  15. Access to "Parameter" App and click 3 dots icon > details
  16. Copy "Web link" with default url to access App, (tenantId is already included) and include new Parameter "&testColor=Red" on url
  17. Open new Tab and paste url, this should display both parameters.

    Include List formatting on Column

  18. Create New List
  19. Access to View
  20. Edit Title > Column Settings > Format this column > include following json (replace "src" with copied url described before)
    {
    "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
    "elmType": "button",
    "customRowAction": {
    "action": "embed",
    "actionInput": {
      "src": "https://apps.powerapps.com/play/e/[Enviroment]/a/[AppId]?tenantId=[tenantId]&testColor=Red",
      "height": "350",
      "width": "700"
    }
    },
    "txtContent": "Click here to open PowerApp 👩‍🍳"
    }

    Everything combined display sample provided in gif: image

arkogupta commented 1 week ago

Thanks @aaclage for the detailed repro steps. I am able to repro now. Will get back with an update soon.

jgupta-msft commented 1 week ago

@aaclage : Thanks for reporting the issue. It has been fixed and should reach to prod in 2-3 weeks.

aaclage commented 1 week ago

@jgupta-msft Thank you for the update, I will wait and test in 3 weeks and close when validated.

Again Thank you for your support on this topic.