Nintex Object Model 2013: Property Editors

Deep dive during my practice hours found an interesting way of making Nintex control more customizable and yet not getting a much time to implement the custom property editor. 

In "Nintex Form Object Model 2013: Render various types of properties" this post I had described the various type of properties that we can create using Nintex object model. To customize the properties more we have an another option called the PropertyEdior. The PropertyEditor is the control that we render in side the control.This is a property of the ControlPropertyInfo class. 

The PropertyEdior option takes the GUID of control. This control must be inherit with PropertyEditorBase abstract class and implement the following methods & properties.
  1. UniqueId (Property) 
  2. HandleControlPropertyDesignerPageLoad (Method) 
  3. HandleControlPropertyDesignerCreateChildControls (Method) 
  4. JqueryLoadInitializer (Method)
The various type of “Nintex property” editors used by the Nintex Object model. So bellow are the list of OOB Property Editors, some are working fine but some we are not, maybe I had wrongly configured them. Not much information provided by the nintex team to use the Nintex object model. 

Nintex.Forms.PropertyEditors (Nintex.Forms.dll)
  • AuthenticationPropertyEditor (not working) {C4736C67-0EAA-4207-AF00-8DAC0C6EEEAE}
  • ColorPropertyEditor (working): Its opens the color dialog box user can select the color. {F91AD531-EBA7-414C-BE8C-044B0DA22F80}
  • DatePropertyEditor (not working) {1FBF6C33-B862-450C-BE5F-4FDBE6140C13}
  • HideDialogPropertyEditor (not working) {AEF0BEDE-499D-44D8-B0DA-724B710CF8E9}
  • PeoplePickerPropertyEditor(working) :Nintex People picker {7EFE9849-0E79-4D64-9BBB-09E7FC8BA82D}

Nintex.Forms.SharePoint.PropertyEditors(Nintex.Forms.SharePoint.dll)
  • ExternalDataPropertyEditor (working) : Displays the LOB data {1FBF6C33-0E79-4D64-9BBB-8DAC0C6EEEAE}
  • ListFieldPropertyEditor (not working) {4CB35B11-BCA4-43F9-819A-0F3265E73AD0}
  • ListPropertyEditor (working): Display the SharePoint lists in a particular web. {149821B8-2674-442F-A693-4F348503F8FF}
  • ListViewPropertyEditor(not working) {4BF1643C-C275-40C2-AE28-7BE9BC0BDC98}
  • RuntimeFormulaPropertyEditor (working): It displays the formula dialog window. {B9BB9F40-A67D-4E55-A50A-BE5921A0BF12}
  • SharePointWebPropertyEditor (working) : Displays the list of available webs {40B5B20E-8E3F-479C-9342-5426E3D82743}
  • TaxonomyPropertyEditor (working): It displays the taxonomy control. {5C6F12BB-5760-499B-BC0F-FB47A4B2FEDE}
  • TimeZoneToLivePropertyEditor (working): It displays the Time Zone Drop downs. {1FBF6C33-C275-4D64-819A-FB47A4B2FEAE}



Below is the example of PropertyEditor. Each property editor has unique property editor that will either render or provide the lookup kind of functionality and save the values back to the  control it self.

[ControlPropertyInfo(ResourceType = typeof(Core),
            DisplayName = "ControlProperty_LineColorDisplayName",
            Description = "ControlProperty_LineColorDescription",
            ChangeAction = ControlPropertyChangeActionType.RefreshFromClient,
            GroupName = "ControlPropertyGroup_General",
            DisplayOrder = 1,
            IsPrimaryProperty = false,
            PropertyEditor = "{F91AD531-EBA7-414C-BE8C-044B0DA22F80}",
            ClientRefreshFunction = "NWF.Designer.Canvas.SCSC"),
        DataMember(Name = "BorderColor")]
        public override string BorderColor
        {
            get;
            set;
        }
        

        /// <summary>
        /// Site lookup
        /// </summary>
        [ControlPropertyInfo(ResourceType = typeof(Core),
            DisplayName = "ControlProperty_LookupWebIdDisplayName",
            Description = "ControlProperty_LookupWebIdDescription",
            DisplayOrder = 2,
            PropertyEditor = "{40B5B20E-8E3F-479C-9342-5426E3D82743}",
            GroupName = "ControlPropertyGroup_General",
            ChangeAction = ControlPropertyChangeActionType.DoNothing),
        DataMember]
        public string LookupWeb
        {
            get;
            set;

        }

Comments

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

Send Email using SharePoint Rest API

Query suggestions in SP 2013 Using Rest API (/_api/search/suggest)