MetadataService type
Important
The finance and operations (Dynamics 365) mobile app and platform are no longer supported. The platform components supporting the mobile app will be removed in a future update. The mobile app has also been removed from app stores. Previously installed instances of the app will continue to work. For more information, see Removed or deprecated platform features.
Provides ability to access and configure various metadata elements under the application workspace.
Hierarchy
MetadataService
Index
Properties
Methods
- addControl
- compareVersion
- configureAction
- configureControl
- configureEntity
- configureLookup
- configurePage
- configureWorkspace
- findAction
- findControl
- findPage
- getFilterExpression
- getFormReference
- hideNavigation
Properties
version
version: string
(Read-only) Gets the version of the platform currently running.
Methods
addControl
addControl(componentName: string, controlName: string, controlType: ControlType, parentContainerName?: string, options?: ControlMetadata): any
Parameters
Name | Type | Description |
---|---|---|
componentName | string | |
controlName | string | |
controlType | ControlType | |
parentContainerName? | string | |
options? | ControlMetadata |
Returns any
compareVersion
compareVersion(versionToCompare: string): 1 | -1
Compares the current platform version with a reference version.
Parameters
Name | Type | Description |
---|---|---|
versionToCompare | string | The reference version to compare with |
Returns 1 | -1
1 to indicate the platform version is older than the reference version, -1 to indicate that the platform version is newer or same as the reference version
configureAction
configureAction(actionName: string, options: PageMetadata): any
Configuring an action allows specifying or overriding certain behaviors specific to actions. Example:
metadataService.configureAction('Edit-Reservation', { properties-to-set });
Parameters
Name | Type | Description |
---|---|---|
actionName | string | The action whose behavior is to be changed |
options | PageMetadata | The property bag containing the properties to set on the action |
Returns any
configureControl
configureControl(componentName: string, controlName: string, options: ControlMetadata): any
Configuring a control allows specifying or overriding certain behaviors specific to the control. Note that the available behaviors vary by control type. Example:
metadataService.configureControl('All-Customers', 'FMCustomer_RecId', { properties-to-set });
Parameters
Name | Type | Description |
---|---|---|
componentName | string | A page or action that contains the control |
controlName | string | The control whose behavior is to be changed |
options | ControlMetadata | The property bag containing the properties to set on the control |
Returns any
configureEntity
configureEntity(entityName: string, options: any): any
Configuring an entity allows specifying or overriding certain behaviors specific to the entity. Example:
metadataService.configureEntity("FMCustomer", { properties-to-set });
Parameters
Name | Type | Description |
---|---|---|
entityName | string | An entity name |
options | any | The property bag containing the properties to set on the entity |
Returns any
configureLookup
configureLookup(taskName: string, lookupControlName: string, options: LookupMetadata): any
Configures a field on an action to behave as a lookup. Requires using an existing page which contains a list control. Example:
metadataService.configureLookup('Add-Reservation', 'FMRental_Customer', { lookupPage: 'All-Customers', valueField: 'FMCustomer_RecId', displayField: 'FMCustomer_FullName'});
Parameters
Name | Type | Description |
---|---|---|
taskName | string | Action name |
lookupControlName | string | The control name of the field to be given lookup behavior |
options | LookupMetadata | Lookup configuration object |
Returns any
configurePage
configurePage(pageName: string, options: PageMetadata): any
Configuring a Page allows specifying or overriding certain behaviors specific to the Page. Example:
metadataService.configurePage('Reservation-details', { properties-to-set });
Parameters
Name | Type | Description |
---|---|---|
pageName | string | The page that contains the control |
options | PageMetadata | The property bag containing the properties to set on the page |
Returns any
configureWorkspace
configureWorkspace(options: PageMetadata): any
Configuring a workspace allows specifying or overriding certain behaviors specific to the workspace. Example:
metadataService.configureWorkspace({ properties-to-set });
Parameters
Name | Type | Description |
---|---|---|
options | PageMetadata | The property bag containing the properties to set on the workspace |
Returns any
findAction
findAction(actionName: string): PageMetadata
Gets a copy of the current metadata instance of a specified Action, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var newCustomerTaskMetadata = metadataService.findTask("New-customer");
Parameters
Name | Type | Description |
---|---|---|
actionName | string | An action name |
Returns PageMetadata
findControl
findControl(componentMetadata: any, controlName: string): ControlMetadata
Gets a copy of the current metadata instance of a specified control, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var firstNameControl = metadataService.findControl(newCustomerTaskMetadata, 'FMCustomer_FirstName');
Parameters
Name | Type | Description |
---|---|---|
componentMetadata | any | A metadata instance of the page or action |
controlName | string | A control name |
Returns ControlMetadata
findPage
findPage(pageName: string): PageMetadata
Gets a copy of the current metadata instance of a specified page, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var reservationDetailsMetadata = metadataService.findPage("Reservation-details");
Parameters
Name | Type | Description |
---|---|---|
pageName | string | A page name |
Returns PageMetadata
getFilterExpression
getFilterExpression(pageName: string, listControlName: string, controlName: string, operator: ExpressionOperator, value: string): DataFilter
Create a DataFilter object for a list control based on the provided options. Example:
var filter = metadataService.getFilterExpression(
pageNames.AllCustomers, controlNames.CustomerList, controlNames.CustomerFullName, "Is", firstCustomerName),
Parameters
Name | Type | Description |
---|---|---|
pageName | string | |
listControlName | string | |
controlName | string | |
operator | ExpressionOperator | |
value | string |
Returns DataFilter
getFormReference
getFormReference(componentName: string, filterContext: DataFilter, excludeContext: boolean, filterLocalOnly?: boolean): NavigationArgs
Create an INavigationArgs object for a specific page/action to be used with a navigation control.
Parameters
Name | Type | Description |
---|---|---|
componentName | string | Name of the action/page |
filterContext | DataFilter | |
excludeContext | boolean | |
filterLocalOnly? | boolean |
Returns NavigationArgs
hideNavigation
hideNavigation(pageNamesToHide: string [ ]): any
Hides the specified page(s) from the default landing page. Example:
metadataService.hideNavigation('Select-a-customer', 'Select-a-vehicle');
Parameters
Name | Type | Description |
---|---|---|
pageNamesToHide | string [ ] | Page name(s) |