View or page ID, retrieved from within a view

Hello,
I am stuck : how to retrieve view or page ID from within the view ?
I have a Button column in a Table. Then I have several Pages with on each, a View of the Table.
I want the formula in the Button to be able to refer to either the View or the Page from witch the button is clicked.

The goal is to populate “shopping cart” table with copies of the items listed in first table. Each user has it’s own page, so I need to set in the “shopping cart” a reference to the person/page/column for further filtering…without the need for the users to have their own account (all accessing a single dedicated account with synced pages, for practical reasons).

Any clue very welcomed, cheers and regards.
Angelo

Hey @Angi_Logi ,

You should e able to pull the link by using Objectlink(thisrow) in the table and button that will give you the row specific link.

Here is post about it as well.

Hopefully that helps!

Best,
Dan

Hello Dan, thank you for the answer.
I was mostly looking for a formulatic way to get, from within a table row button formula, some reference of the page or view from where the button is trigged.
As far as I can see, there is no such feature.
But I think I found a workaround, since I understood better cross documents tables behaviour (sync tables instead of sync pages), so I hope this will work for me… will see…
Best regards…
Angelo

Sounds good! I hope it works for you!

Best,
Dan

I just published a new pack (Doc URL Parser) that should help with this.

You can pass in any ObjectLink and it will parse the details (page, document, table, row, etc).

Here is a demo that shows how I’m pulling the page name on button click.

Let me know if it’s not clear.

1 Like

Hi Troy,
Thank you very much for the tip, indeed very useful and handy tool.
Unfortunately it doesnt look like it could help in my case.
What I try to achieve is :
I have a page APage
On APage there is a view View of TheTable
One column of TheTable is a button with some action formula.
If the button is triggerd from View of TheTable on APage, I want it to return something like : “hey, I am triggerd from APage, via View of TheTable, and from this returnvalue you can access other stuff lying on APage, like an on canvas control value, or another view on the same page…” .

Now I got more familiar with the formulas library, and nosed deeper in Pack’s SDK and APIv01 docs, I am pretty sure this cannot be achived.

For now, I use other workaround to reach my goal : a kind of shopping cart.
Project is :
Left side of page would be an Inventory view. Right side a Cart view
On the page, a formula defines a filter for the cart view, proper to the page’s name, or a select dropdown, so the cart view shows only the items that are picked from this page. The Inventory has a button column “add item to cart”. When triggerd, the button should be able to retrieve the filtering parameter from the page, and add that value to the column of the shopping cart.

My workaround : left side inventory is a copy of origninal inventory (not a view), and richt side is a canvas formula such as :

ForEach(
  filter(
    inventoryTABLE,
    CurrentValue.CartPage_01_refefrence.ToText() =
      [OnCanvasSelect_filterCriteria_PageContext]
  ),
  hyperlink(
    concatenate(totext(ObjectLink(CurrentValue)), "&view=modal"),
    concatenate(
      [quantity],
      Character(9),
      Character(9),
      totext([item]),
      Character(9),
      Character(9),
      [details]
    )
  )
)
  .BulletedList()

That formula builds a BulletedList where each row is a Hyperlink opening in modal the cart item, so user can edit initial choices.
Initial choices are made on the Inventory table copy : user inputs the quantity and/or some details for the chosen item. That makes the “add to cart” button available. Clic on the button adds ThisRow’s values to the cart, plus reference to the table context, so the cart selection remains specific to that page. Once the first action is complete, a second action clears the quantity and/or details previously inputted on the inventory table.

The workaround is also necessary because I dont whant to oblige users (many and often changing) to be obliged to singUp in CODA (becaus I know many people ar tired to have to signUp for everything).
I know my project should be built on some SQL or NoSQL web framework, but it is beyond my availability and financial resources…but - last but not least - I am totally amazed by the modularity and the smartness of CODA ! A few more features and tunings would bring CODA to be a dangerous competitor to solutions like FileMaker, GSheets and other RAD platforms, not mentionning I feel like CODA is allready far beyond all these Monday, AirTable, Notion, SmartSheet ant similar stuff I tried many times and enventually stopped by disapointment when discovering the limits of theyre features and modularity…

Sorry, lot’s of blabla, spreading out of the context…

Regards
Angelo