Skip to content

Kunter-Bunt/PowerPagesClientAPI

Repository files navigation

PowerPagesClientAPI

A replication attempt of the Dataverse MDA Client API for Power Pages

Videos

  • getValue and setValue
    getValue and setValue
  • setVisible and getVisible
    setVisible and getVisible

API State

In general the project is not in a production ready state. But we will keep working on it!

Legend:

  • ✅ Implemented
  • ❌ Pending
  • ⭕ Not implementable/Not useful

FormContext

  • ✅ getAttribute
  • ✅ getControl
    • Tested only for Attribute Controls
  • ❌ data
  • ✅ ui
    • Partial implementation only

Attributes

  • ✅ addOnChange
  • ✅ fireOnChange
  • ✅ getAttributeType
  • ❌ getFormat
  • ✅ getInitialValue
    • Only implemented on Boolean
  • ✅ getIsDirty
  • ❌ getIsPartyList
  • ❌ getMax
  • ❌ getMaxLength
  • ❌ getMin
  • ✅ getName
  • ❌ getOption
  • ❌ getOptions
  • ❌ getParent
  • ❌ getPrecision
  • ❌ getRequiredLevel
  • ❌ getSelectedOption
  • ❌ getSubmitMode
  • ❌ getText
  • ❌ getUserPrivilege
  • ✅ getValue
  • ❌ isValid
  • ✅ removeOnChange
  • ❌ setIsValid
  • ❌ setPrecision
  • ❌ setRequiredLevel
  • ❌ setSubmitMode
  • ✅ setValue

Controls

  • ❌ addCustomFilter
  • ❌ addCustomView
  • ❌ addEventHandler
  • ❌ addNotification
  • ❌ addOnLookupTagClick
  • ❌ addOnOutputChange
  • ❌ addOnPostSearch
  • ❌ addOnResultOpened
  • ❌ addOnSelection
  • ❌ addOption
  • ❌ addPreSearch
  • ❌ clearNotification
  • ❌ clearOptions
  • ✅ getAttribute
  • ❌ getContentWindow
  • ❌ getControl
  • ❌ getControlType
  • ❌ getData
  • ❌ getDefaultView
  • ❌ getDisabled
  • ❌ getEntityTypes
  • ❌ getInitialUrl
  • ❌ getLabel
  • ✅ getName
  • ❌ getObject
  • ❌ getOptions
  • ❌ getOutputs
  • ❌ getParent
  • ❌ getSearchQuery
  • ❌ getSelectedResults
  • ❌ getShowTime
  • ❌ getSrc
  • ❌ getState
  • ❌ getTotalResultsCount
  • ❌ getValue
  • ✅ getVisible
    • Tested only for Attribute Controls
  • ❌ openSearchResult
  • ❌ refresh
  • ❌ removeOnLookupTagClick
  • ❌ removeOnOutputChange
  • ❌ removeOnPostSearch
  • ❌ removeOnResultsOpened
  • ❌ removeOnSelection
  • ❌ removeOption
  • ❌ removePreSearch
  • ❌ setData
  • ❌ setDefaultView
  • ❌ setDisabled
  • ❌ setEntityTypes
  • ❌ setFocus
  • ❌ setLabel
  • ❌ setNotification
  • ❌ setSearchQuery
  • ❌ setShowTime
  • ❌ setSrc
  • ✅ setVisible
    • Tested only for Attribute Controls

formContext.data

  • ✅ addOnLoad
  • ✅ getIsDirty
  • ❌ isValid
  • ✅ refresh
  • ✅ removeOnLoad
  • ✅ save
  • ✅ attributes

formContext.data.entity

  • ❌ addOnPostSave
  • ❌ addOnSave
  • ❌ getDataXml
  • ❌ getEntityName
  • ❌ getEntityReference
  • ❌ getId
  • ❌ getIsDirty
  • ❌ getPrimaryAttributeValue
  • ❌ isValid
  • ❌ removeOnPostSave
  • ❌ removeOnSave
  • ❌ save

formContext.data.process

  • ⭕ Will likely not be implemented as Business Process Flows are not rendered in Power Pages

formContext.ui

  • ✅ addOnLoad
  • ❌ addLoaded
  • ✅ clearFormNotification
  • ✅ close
  • ✅ getFormType
  • ✅ getViewPortHeight
  • ✅ getViewPortWidth
  • ⭕ refreshRibbon There is no ribbon displayed in Power Pages
  • ✅ removeOnLoad
  • ❌ removeLoaded
  • ⭕ setFormEntityName There is no Form Entity Name displayed in Power Pages
  • ✅ setFormNotification
  • ✅ tabs

formContext.ui.formSelector

  • ⭕ Will likely not be implemented as the formSelector is not available in Power Pages

formContext.ui.headerSection

  • ❌ getBodyVisible
  • ❌ getCommandBarVisible
  • ❌ getTabNavigatorVisible
  • ❌ setBodyVisible
  • ❌ setCommandBarVisible
  • ❌ setTabNavigatorVisible

formContext.ui.navigation

  • ❌ getId
  • ❌ getLabel
  • ❌ getVisible
  • ❌ setFocus
  • ❌ setLabel
  • ❌ setVisible

formContext.ui.process

  • ⭕ Will likely not be implemented as Business Process Flows are not rendered in Power Pages

formContext.ui.quickForms

  • ❌ getControl
  • ❌ getControlType
  • ❌ getDisabled
  • ❌ getLabel
  • ❌ getName
  • ❌ getParent
  • ❌ getVisible
  • ❌ isLoaded
  • ❌ refresh
  • ❌ setDisabled
  • ❌ setFocus
  • ❌ setLabel
  • ❌ setVisible

formContext.ui.tabs

  • ❌ addTabStateChange
  • ❌ getContentType
  • ❌ getDisplayState
  • ✅ getLabel
  • ✅ getName
  • ✅ getParent
  • ✅ getVisible
  • ❌ removeTabStateChange
  • ❌ setContentType
  • ❌ setDisplayState
  • ❌ setFocus
  • ✅ setLabel
  • ✅ setVisible
  • ✅ sections

sections

  • ✅ getLabel
  • ✅ getName
  • ✅ getParent
  • ✅ getVisible
  • ✅ setLabel
  • ✅ setVisible
  • ❌ controls

Grids and subgrids

GridControl

  • ✅ addOnLoad
  • ✅ getEntityName
  • ❌ getFetchXml
  • ✅ getGrid
  • ✅ getGridType
  • ❌ getRelationship
  • ⭕ getUrl This function simply returns the Url of the current page
  • ❌ getViewSelector
  • ❌ openRelatedGrid
  • ❌ refresh
  • ❌ refreshRibbon
  • ✅ removeOnLoad

Grid

  • ✅ getRows
  • ⭕ getSelectedRows
    Since you can't select rows in Power Pages and instead perform operation directly on the row, this function will always return an empty list.
  • ❌ getTotalRecordCount

GridRow

  • ✅ data
  • ✅ getData

GridRowData

  • ✅ getEntity
  • ✅ entity

GridEntity

  • ✅ getEntityName
  • ✅ getEntityReference
  • ✅ getId
  • ✅ getPrimaryAttributeValue
  • ✅ attributes Note: Official docs are missing this property

GridAttribute

  • ✅ getName
  • ⭕ getRequiredLevel Grids are not editable in Power Pages. This function will only return "none".
  • ✅ getValue
  • ⭕ setRequiredLevel Grids are not editable in Power Pages. This function will do nothing.
  • ✅ setValue Grids are not editable in Power Pages. This function will only change the display.
  • ✅ controls Note: Official docs are missing this property

GridCell

  • ⭕ clearNotification Grids are not editable in Power Pages. This function will do nothing.
  • ⭕ getDisabled Grids are not editable in Power Pages. This function will only return true.
  • ✅ getLabel
  • ⭕ setDisabled Grids are not editable in Power Pages. This function will do nothing.
  • ⭕ setNotification Grids are not editable in Power Pages. This function will do nothing.

ViewSelector

  • ❌ getCurrentView
  • ❌ isVisible
  • ❌ setCurrentView

Xrm.App

  • ❌ addGlobalNotification
  • ❌ clearGlobalNotification

Xrm.App.sidePanes

  • ❌ createPane
  • ❌ getAllPanes
  • ❌ getPane
  • ❌ getSelectedPane

Xrm.Device

  • ❌ captureAudio
  • ❌ captureImage
  • ❌ captureVideo
  • ❌ getBarcodeValue
  • ❌ getCurrentPosition
  • ❌ pickFile

Xrm.Encoding

  • ❌ htmlAttributeEncode
  • ❌ htmlDecode
  • ❌ htmlEncode
  • ❌ xmlAttributeEncode
  • ❌ xmlEncode

Xrm.Navigation

  • ❌ navigateTo
  • ❌ openAlertDialog
  • ❌ openConfirmDialog
  • ❌ openErrorDialog
  • ❌ openFile
  • ❌ openForm
  • ❌ openUrl
  • ❌ openWebResource

Xrm.Panel

  • ❌ loadPanel

Xrm.Utility

  • ❌ closeProgressIndicator
  • ❌ getAllowedStatusTransitions
  • ❌ getEntityMetadata
  • ❌ getEntityMainFormDescriptor
  • ❌ getGlobalContext
    • ❌ client
      • ❌ getClient
      • ❌ getClientState
      • ❌ getFormFactor
      • ❌ isOffline
      • ❌ isNetworkAvailable
    • ❌ organizationSettings
      • ❌ attributes
      • ❌ baseCurrencyId
      • ❌ baseCurrency
      • ❌ defaultCountryCode
      • ❌ isAutoSaveEnabled
      • ❌ languageId
      • ❌ organizationId
      • ❌ isTrialOrganization
      • ❌ organizationExpiryDate
      • ❌ uniqueName
      • ❌ useSkypeProtocol
      • ❌ fullnameConventionCode
    • ❌ userSettings
      • ❌ dateFormattingInfo
      • ❌ defaultDashboardId
      • ❌ isGuidedHelpEnabled
      • ❌ isRTL
      • ❌ languageId
      • ❌ roles
      • ❌ securityRolePrivileges
      • ❌ securityRoles
      • ❌ transactionCurrency
      • ❌ transactionCurrencyId
      • ❌ userId
      • ❌ userName
      • ❌ getSecurityRolePrivilegesInfo
      • ❌ getTimeZoneOffsetMinutes
    • ❌ getAdvancedConfigSetting
    • ❌ getClientUrl
    • ❌ getCurrentAppName
    • ❌ getCurrentAppProperties
    • ❌ getCurrentAppUrl
    • ❌ getVersion
    • ❌ getWebResourceUrl
    • ❌ isOnPremises
    • ❌ prependOrgName
  • ❌ getLearningPathAttributeName
  • ❌ getPageContext
  • ❌ getResourceString
  • ❌ invokeProcessAction
  • ❌ lookupObjects
  • ❌ refreshParentGrid
  • ❌ showProgressIndicator

Xrm.WebApi

  • ⭕ Xrm.WebApi.offline Is the same as Xrm.WebApi
  • ✅ Xrm.WebApi.online Is the same as Xrm.WebApi
  • ✅ createRecord
  • ✅ deleteRecord
  • ✅ retrieveRecord
  • ✅ retrieveMultipleRecords
  • ✅ updateRecord
  • ⭕ isAvailableOffline Will always return false.
  • ❌ execute
  • ❌ executeMultiple

About

A replication attempt of the Dataverse MDA Client API for Power Pages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published