Protected ReadonlycdrProtecteddestroy$Provider-scoped Predictive Studio engine. Resolved in loadSection via
PredictiveStudioEngine.GetProviderInstance so a multi-provider client (or an embedded
non-default provider) reads the right server's PS reference data. Bound into the hosted panel's
[engine] input once loading completes.
True until the engine resolves; gates the panel host so [engine] is never bound before it's ready.
Set when loadSection fails to resolve the engine. The section templates render a "couldn't load" banner with a Try-again button (retryLoad) instead of silently showing empty panels, so a failed load is honest rather than indistinguishable from a genuinely-empty studio.
ProtectednavigationTab ID for query param notification scoping. Set by resource wrappers that render child dashboards, so the child knows which tab it belongs to. If not set, falls back to Data.Configuration.tabId.
If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.
Protected ReadonlySectionFont Awesome icon for the section (chrome + shell tab).
Protected ReadonlySectionStable section identifier for agent context + (subclass) titling.
Protected ReadonlySectionHuman-readable section label used in chrome + agent context.
ReadonlysectionsStaticɵdirStaticɵfacSection-specific subtitle for the interior header.
Returns either the default Metadata provider or the one specified in the Provider property, if it was specified
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunReport provider or the one specified in the Provider property, if it was specified
Returns either the default RunView provider or the one specified in the Provider property, if it was specified
Public door label for templates (the error banner title). Mirrors the protected SectionLabel.
ProtectedextraDeep agent context for the Models door: active section + trained-model lifecycle counts.
ProtectedGetRead current query params from tab configuration. Use in initDashboard() / ngOnInit() to get initial URL state.
Get this component's tab ID. Checks ParentTabId input first (set by resource wrappers for child dashboards), then falls back to Data.Configuration.tabId.
ProtectedloadResolve the provider-scoped engine, then notify the shell. Always calls NotifyLoadComplete — even on failure — so the loading screen can never hang on a direct-URL section load.
ProtectedNotifyAsk the host shell to close/dismiss this resource (typically: close the tab). Called by subclasses that hosted a form that emitted a 'dismiss' navigation event — most often, a brand-new record where the user clicked Discard. The record was never saved, the form is empty, and leaving it open serves no purpose. The tab-container listens for this and closes the workspace tab.
ProtectedNotifyCall this to notify the tab system that the resource's display name has changed. The tab container will update the tab title and browser title accordingly.
ProtectedNotifyProtectedNotifyProtectedOnCalled by the framework when query params change from an external source (browser back/forward, deep link navigation). Override in subclasses to react to query param changes.
The new query params from the URL
ProtectedpublishReport the section's state to the AI agent (async chat + realtime co-agent share this snapshot). Subclasses may override extraAgentContext to add section-specific fields. No client tools are registered — Predictive Studio surfaces are read/navigate-only to the agent; model creation, training, and promotion run through PS's own dialogs and the Model Development Agent.
ProtectedRefreshMarks this component's view (and its ancestors) as needing change detection and schedules a tick — the reliable way for a resource component to re-render after updating state from async work (RunView/RunQuery continuations, timers, websocket pushes, RxJS subscriptions).
WHY THIS EXISTS: the Explorer shell hosts resource components dynamically — createComponent()
ApplicationRef.attachView() — because tab content mounts into Golden Layout / cached DOM
containers, not into an Angular template. Since Angular 18's change-detection scheduler
rework (Explorer is on Angular 21), ApplicationRef.tick() only refreshes attached views
that are FLAGGED dirty; a root-level attached view whose component mutates plain fields from
an async continuation is never flagged, so the view silently never re-renders — even though
the component uses default (non-OnPush) change detection (issue #3106).The framework calls this automatically from NotifyLoadStarted() / NotifyLoadComplete(), so the standard load lifecycle re-renders without any subclass action. Call it yourself after any LATER async state change that must reach the DOM outside those signals.
Protectedregister🔒 Read/navigate-only agent tool for the Models door: switch the active section (Model Registry ↔ Models in Production). NO promote/retire/delete/score tool is exposed — model lifecycle changes stay behind the user's own clicks.
ProtectedResourceRetry the engine load after a failure — bound to the error banner's "Try again" button.
ProtectedUpdatePush query param changes to the URL. Creates a browser history entry. Safe to call during OnQueryParamsChanged — auto-suppressed to prevent loops.
Models — the trained-model lifecycle door (one of Predictive Studio's three consolidated nav items, alongside
PredictionsandStudio). Hosts the registry + production section panels (ps-registry,ps-production) behind an internal left-nav. The active section round-trips through thesectionquery param, so theOverviewpanel's cross-door "view in production" links (and any deep link) can land directly on the right section. No docked copilot here — these are read/manage surfaces; model creation + the Model Dev Agent live in theStudioandPredictionsdoors.