Skip to content

Conversation

@odeimaiz
Copy link
Member

@odeimaiz odeimaiz commented Jul 16, 2025

What do these changes do?

This PR brings the first iteration on the Functions Browser. It includes both the data layer for function management and the UI components for browsing functions in the dashboard.

As discussed, there is a Functions section between the Public Projects and Trash, And the functions coming from the backend will be represented with cards there. When the user clicks on a card, a window is popped up and its metadata is shown in the overview section.

Next steps, once the backend provides the required:

  • Show real data
  • With function's underlying template_id, add also the pipeline view to the pop up window
  • Support patching name and description

Functions

Related issue/s

How to test

Dev-ops

@odeimaiz odeimaiz self-assigned this Jul 16, 2025
@odeimaiz odeimaiz added t:enhancement Improvement or request on an existing feature a:frontend issue affecting the front-end (area group) labels Jul 16, 2025
@odeimaiz odeimaiz added this to the Engage milestone Jul 16, 2025
@odeimaiz odeimaiz requested a review from Copilot July 17, 2025 12:25
@odeimaiz odeimaiz marked this pull request as ready for review July 17, 2025 12:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a Functions Browser feature for the frontend that allows users to view and manage functions created from project templates. The implementation includes both the data layer for function management and the UI components for browsing functions in the dashboard.

  • Adds comprehensive Functions store and data model infrastructure
  • Implements Functions browser UI with filtering, cards, and details view
  • Integrates function support into existing dashboard and workbench components

Reviewed Changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
osparc/store/Functions.js New store for function CRUD operations and data management
osparc/data/model/Function.js New data model for function entities
osparc/dashboard/StudyBrowser.js Adds Functions context and browsing capabilities
osparc/dashboard/ResourceBrowserFilter.js Adds Functions filter button to sidebar
osparc/dashboard/ResourceDetails.js Integrates function details view
osparc/info/FunctionLarge.js New function information display component
osparc/workbench/WorkbenchUI.js Refactors constants and adds property initialization check
osparc/widget/PersistentIframe.js Updates function opening logic for new/old versions
Comments suppressed due to low confidence (1)

services/static-webserver/client/source/class/osparc/dashboard/ResourceBrowserBase.js:696

  • [nitpick] The method name changed from 'updateTutorialData' to '_updateTutorialData' but this appears to be inconsistent with other similar methods in the class.
    _updateTutorialData: function(tutorialData) {

@odeimaiz odeimaiz added the 🤖-automerge marks PR as ready to be merged for Mergify label Jul 17, 2025
@odeimaiz
Copy link
Member Author

@mergify queue

@mergify
Copy link
Contributor

mergify bot commented Jul 17, 2025

queue

🟠 Waiting for conditions to match

  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • any of: [🛡 GitHub branch protection]
        • check-neutral = deploy to dockerhub
        • check-skipped = deploy to dockerhub
        • check-success = deploy to dockerhub
      • any of: [🛡 GitHub branch protection]
        • check-neutral = system-tests
        • check-skipped = system-tests
        • check-success = system-tests
      • any of: [🛡 GitHub branch protection]
        • check-neutral = check OAS' are up to date
        • check-skipped = check OAS' are up to date
        • check-success = check OAS' are up to date
      • any of: [🛡 GitHub branch protection]
        • check-neutral = integration-tests
        • check-skipped = integration-tests
        • check-success = integration-tests
      • any of: [🛡 GitHub branch protection]
        • check-neutral = build-test-images (frontend) / build-test-images
        • check-skipped = build-test-images (frontend) / build-test-images
        • check-success = build-test-images (frontend) / build-test-images
      • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
      • #approved-reviews-by>=2
      • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0
      • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0
      • -conflict
      • -draft
      • base=master
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • label!=🤖-do-not-merge
      • label=🤖-automerge
      • any of: [🛡 GitHub branch protection]
        • check-success = unit-tests
        • check-neutral = unit-tests
        • check-skipped = unit-tests
  • -closed [📌 queue requirement]
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success = Configuration changed

Copy link
Contributor

@giancarloromeo giancarloromeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👓

Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Contributor

@wvangeit wvangeit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good. Thanks @odeimaiz

Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice! you might want a list view as well.

@odeimaiz
Copy link
Member Author

@mergify queue

@mergify
Copy link
Contributor

mergify bot commented Jul 17, 2025

queue

✅ The pull request has been merged automatically

The pull request has been merged automatically at 9b06506

@sonarqubecloud
Copy link

@mergify mergify bot merged commit 9b06506 into ITISFoundation:master Jul 17, 2025
60 checks passed
@matusdrobuliak66 matusdrobuliak66 mentioned this pull request Aug 5, 2025
88 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖-automerge marks PR as ready to be merged for Mergify a:frontend issue affecting the front-end (area group) t:enhancement Improvement or request on an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants