Loading
Salesforce now sends email only from verified domains. Read More
Visual Studio Code Based Modeler for Consumer Goods Cloud
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          UIPluginV2 Controls

          UIPluginV2 Controls

          Three framework-based UI controls are available, which are supported in the UI contract both through snippets and standard auto-completion in the XML editor for the UI contract. The CardNoDataMessageUiPlugin, UserWelcomeCardUiPlugin, and VisitDetailsUiPluginneeds UIPlugins are auto-migrated. For any other existing UIPlugins, create a UIPluginV2.

          Required Editions

          Available in: Enterprise, Performance, and Unlimited Editions that have Consumer Goods Cloud enabled

          The controls that replace the UIPlugins are:

          • NoDataMessage: Replacement for CardNoDataMessageUiPlugin
          • VisitDetails: Replacement for VisitDetailsUiPlugin
          • UserWelcome: Replacement for UserWelcomeCardUiPlugin

          NoDataMessage Component

          <NoDataMessage name="#componentName#">
              <Bindings>
                  <!-- mandatory bindings -->
                  <Resource target="infoIcon" type="Image" id="#infoIcon#" />
                  <Binding target="maintext" type="Text" binding="#maintext#" bindingMode="ONE_WAY" />
                  <!-- optional bindings -->
                  <Binding target="subtext" type="Text" binding="#subtext#" bindingMode="ONE_WAY" />
              </Bindings>
          </NoDataMessage>

          VisitDetails Component

          <VisitDetails name="#componentName#">
              <Bindings>
                  <!-- mandatory bindings -->
                  <Binding target="visitStatus" type="Text" binding="#visitStatus#" bindingMode="ONE_WAY" />
                  <Binding target="visitPriority" type="Text" binding="#visitPriority#" bindingMode="ONE_WAY" />
                  <Binding target="visitDate" type="DomDate" binding="#visitDate#" bindingMode="ONE_WAY" />
                  <Binding target="plannedStartTime" type="DomTime" binding="#plannedStartTime#" bindingMode="ONE_WAY" />
                  <Binding target="plannedEndTime" type="DomTime" binding="#plannedEndTime#" bindingMode="ONE_WAY" />
                  <Binding target="actualStartDate" type="DomDate" binding="#actualStartDate#" bindingMode="ONE_WAY" />
                  <Binding target="actualStartTime" type="DomTime" binding="#actualStartTime#" bindingMode="ONE_WAY" />
                  <Binding target="actualEndDate" type="DomDate" binding="#actualEndDate#" bindingMode="ONE_WAY" />
                  <Binding target="actualEndTime" type="DomTime" binding="#actualEndTime#" bindingMode="ONE_WAY" />
                  <Binding target="Duration" type="Text" binding="#Duration#" bindingMode="ONE_WAY" />
                  <Resource target="visitStatusLabel" type="Label" id="#visitStatusLabel#" defaultLabel="Status" />
                  <Resource target="visitPriorityLabel" type="Label" id="#visitPriorityLabel#" defaultLabel="Priority" />
                  <Resource target="visitDateLabel" type="Label" id="#visitDateLabel#" defaultLabel="Visit Date" />
                  <Resource target="plannedTimeLabel" type="Label" id="#plannedTimeLabel#" defaultLabel="Planned Time" />
                  <Resource target="actualTimeLabel" type="Label" id="#actualTimeLabel#" defaultLabel="Actual Time" />
                  <Resource target="durationLabel" type="Label" id="#durationLabel#" defaultLabel="Duration Effective" />
              </Bindings>
          </VisitDetails>

          UserWelcome Component

          <UserWelcome name="#componentName#">
              <Bindings>
                  <!-- mandatory bindings -->
                  <Binding target="userImage" type="Blob" binding="#userImage#" bindingMode="ONE_WAY" />
                  <Binding target="userName" type="Text" binding="#userName#" bindingMode="ONE_WAY" />     
                  <Resource target="userMessage" type="Label" id="#userMessage#" defaultLabel="#userMessageDefault#" />
                  <Resource target="userDefaultImage" type="Image" id="#userDefaultImage#" />
                  <Binding target="selectedDate" type="Text" binding="#selectedDate#" bindingMode="ONE_WAY" /> 
                  <Resource target="previousDayIcon" type="Image" id="#previousDayIcon#" defaultImage="ChevronLeft" /> 
                  <Resource target="nextDayIcon" type="Image" id="#nextDayIcon#" defaultImage="ChevronRight" />
                  <Resource target="previousDayOnTouchIcon" type="Image" id="#previousDayOnTouchIcon#" defaultImage="ChevronLeftPressed" />
                  <Resource target="nextDayOnTouchIcon" type="Image" id="#nextDayOnTouchIcon#" defaultImage="ChevronRightPressed" />   
                  <Resource target="todayIcon" type="Image" id="#todayIcon#" defaultImage="TodayIcon" />
                  <Resource target="todayLabel" type="Label" id="#todayLabel#" defaultLabel="Today" />
                  <!-- optional bindings -->
                  <Resource target="label1" type="Label" id="#label1#" defaultLabel="#label1Default#" />
                  <Binding target="value1" type="Text" binding="#value1#" bindingMode="ONE_WAY" />
                  <Resource target="label2" type="Label" id="#label2#" defaultLabel="#label2Default#" />
                  <Binding target="value2" type="Text" binding="#value2#" bindingMode="ONE_WAY" /> 
                  <Resource target="label3" type="Label" id="#label3#" defaultLabel="#label3Default#" />
                  <Binding target="value3" type="Text" binding="#value3#" bindingMode="ONE_WAY" />
                  <Binding target="isTourUser" type="Bool" binding="#isTourUser#" bindingMode="ONE_WAY" />
              </Bindings>
          </UserWelcome>
          

          Snippets are available for each UIPluginV2, which automatically proposes the Bindings and Events as defined in the Interface section of the UIPluginV2 contract. The following auto-completions are available for UIPluginV2 in UI contracts:

          • UIPluginV2 subnode in Areas and CardContainers
          • Attributes and Subnodes inside the UIPluginV2 element

          In addition to the snippet-based auto-completion, basic tag and attribute-based auto-completion is also available. Dynamic snippets are available for the UIPluginV2 contracts that are built based on their interface definition. Here’s a UIPluginV2 control dynamic snippet.

          <UIPluginV2 name="#componentName#" uiPlugin="TestUiPluginV2">
            <Bindings>
              <!--All Targets can be specified as Binding or Resource Nodes <Binding target="key" binding="" type=""/> <Resource target="key" id="" type="" defaultLabel=""/>-->
              <Binding target="id" binding="#idPropertyBinding#" type="Text" />
              <Binding target="text" binding="#textPropertyBinding#" type="Text" />
              <List target="items" dataSource="#itemsListDatasource#">
                <Binding target="name" binding="#nameListPropertyBinding#" type="Text" />
                <Binding target="value" binding="#valueListPropertyBinding#" type="Text" />
              </List>
            </Bindings>
            <Events>
              <CustomPluginEvent name="onTextChange" event="#onTextChangeHandler#" />
            </Events>
          </UIPluginV2>
           
          Loading
          Salesforce Help | Article