Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Possible Custom Page Locations
Root\UI\Web Sites\EmpowerID.Web\EmpowerID.Web.PortableAreas.Common\Views\CustomViews\Authenticated
Root\UI\Web Sites\EmpowerID.Web\EmpowerID.Web.PortableAreas.Common\Views\Reports
Root\UI\Web Sites\EmpowerID.Web\EmpowerID.Web.PortableAreas.Common\Views\ObjectTypeSearch
Grids Not Inline not inline on a Page page but Loaded loaded as Partials Should partials should be created Herehere
Root\UI\Web Sites\EmpowerID.Web\EmpowerID.Web.PortableAreas.Common\Views\ViewOne
and Loaded Like this as tabs
Code Block |
---|
<div data-bind="eidTab: { Title: '@EidResx("ApprovalFlowPoliciesGrid", true)', Url: '@Url.Action("LoadPartial", "ViewOne", new { area = "Common", partial = "ApprovalFlowPoliciesGrid" } )' }"></div> |
and loaded like this when used on ViewOne pages
Code Block |
---|
@{ Html.RenderPartial("Accordion", new LocalizedDataModel() { Text = EidResx("RbacAssigneeAssignmentGridTargetassigneeGroup").ToString(), Value = Url.HashedAction("LoadPartial", "ViewOne", "Common", new { partial = "RbacAssigneeAssignmentGrid", TargetAssigneeID = Model.GetProperty("GroupGUID") }, removeArea: false) }); } |
Basic Page Skeleton
Code Block |
---|
@{ Layout = "_Layout.cshtml"; ViewBag.UINounID = new Guid("ABB34C92-B418-4734-B5EE-F27D094008BF"); //ViewBag.SearchTitle = "Risk Management"; } @if (EidAuthenticationHandler.HasAccessToPage(new Guid("d0dd4ac2-e166-4d72-ba65-e841b2fd3319"))) { <div id="@ViewBag.UniqueID-tabstrip" data-bind="eidTabStrip: {}"> @if (EidAuthenticationHandler.HasAccessToPage(new Guid("db2c77de-600a-4ee8-9e3f-69f0381467bd"))) { <div data-bind="eidTab: { Title: '@EidResx("TabName", true)' }"></div> <div data-bind="eidTabPanel: {}"> <div data-bind='eidGrid: { IsImplicit: true, grid: { //Grid properties here } }'> //Columns here </div> } </div> } else { <div> <br> <br> <h1>@EidResx("AccessToPageDenied")</h1> </div> } |
Header Section
Code Block | ||
---|---|---|
| ||
@{ Layout = "_Layout.cshtml"; ViewBag.ShowActions = false; ViewBag.UINounID = new Guid("ABB34C92-B418-4734-B5EE-F27D094008BF"); = false; ViewBag.UINounID = new Guid("ABB34C92-B418-4734-B5EE-F27D094008BF" var personGuid = EidContext.LoginPersonGuid == Guid.Empty ? EidContext.CurrentPersonGuid : EidContext.LoginPersonGuid; ViewBag.SearchTitle = "Risk Management"; } |
Complex Header Example - Loading a Component to Retrieve a Property for Use as Parameter Value
Code Block |
---|
@{
TheDotNetFactory.Framework.People.Components.Account acc = null;
if(ViewBag.AzureApplicationID != null || ViewBag.AzureApplicationID != Guid.Empty)
{
acc = TheDotNetFactory.Framework.People.Components.Account.GetServicePrincipalByAzureApplicationID(Guid.Parse(ViewBag.AzureApplicationID.ToString()));
ViewBag.AssigneeID = acc.AccountGUID;
}
} |
Complex Header Example - isEditEnabled
Property for Enabling Grid and URL for Create New
Code Block |
---|
@{ var isEditEnabled = !(!EidContext.HasAccessToWorkflow("RemoveAzRbacAssignment") || ViewBag.DisableEdit != null); var personGuidaddNewUrl = EidContext.LoginPersonGuid == Guid.Empty ? EidContext.CurrentPersonGuid : EidContext.LoginPersonGuid; ViewBag.SearchTitle = "Risk Management"; isEditEnabled ? "eid.url('#w/assignazlocalrightscope?ApplicationID=" + ViewBag.ApplicationID + "&AzAssigneeAssignmentTypeID=4&ResourceSystemModuleID=" + ViewBag.ResourceSystemModuleID + "' )" : "null"; } |
Load Tooltips Templates (Optional)
Code Block |
---|
@{ Html.RenderAction("ResourceAttestationTooltips", "Templates"); } |
Typical Breadcrumb
Code Block |
---|
<div class="eid-breadcrumbs-container"> <a href="@Url.GetHomePageHashed()" class="eid-breadcrumbs">@EidResx("Home") ></a> <a href="#Common/Find/azureidentitymanager" class="eid-breadcrumbs">@EidResx("Azure Identities")</a> </div> |
Basic Search Template - One Defined Per Grid on Page or in CSHTML if Grid is not inline
Code Block |
---|
@Html.StartTemplate("EidBusinessRequestTypesWebSearch") <div class="eid-search ui-widget ui-widget-content eid-content eid-last ui-helper-clearfix" data-bind="eidForm: {}, focusFirstInput: true"> <div class="eid-form-field fourcol"> <label> <span>@EidResx("SearchTerms"):</span> <input type="text" data-bind="value: condition('SearchTerms')" /> </label> </div> <div class="row"> <button data-bind="jqButton: { disabled: $parent.DataSource.IsRefreshing }" class="eid-grid-search-button" type="submit">@Html.EidResx("EmpowerIDApplicationCommonWords_Search")</button> </div> </div> @Html.EndTemplate() |
Property on Grid Object that Specifies its Search Template
Code Block |
---|
SearcherTemplateName: "EidAzureAccountWebSearch", |
Wrap Tabs in HasAccess Checks
Code Block |
---|
@if (EidAuthenticationHandler.HasAccessToPage(new Guid("4f919b9f-d592-493f-82c4-ae16cdd8a2a0"))) { <div data-bind="eidTab: { Title: '@EidResx("AzLocalRiskRulesGrid", true)', Url: '@Url.Action("AzLocalRiskRulesGrid", "ViewOne", new { area = "Common" })' }"></div> } |
Grids Can Be Inline in the Page or Loaded from another CSHTML - Example Loading from a File
Code Block |
---|
<div data-bind="eidTab: { Title: '@EidResx("ApprovalFlowPoliciesGrid", true)', Url: '@Url.Action("LoadPartial", "ViewOne", new { area = "Common", partial = "ApprovalFlowPoliciesGrid" } )' }"></div> |
Example of Adding a Location Tree to a Grid (Add after last grid column)
Code Block |
---|
<div data-bind='eidGridPanel: { Type: "Left", Title: "@EidResx("Locations", EscapeMode.HtmlAttribute)", CloseOnTarget: ".eid-tree-node-link" }'> <div data-bind='eidStandaloneTree: { url: eid.url.api.services("Tree/GetOrgZones?hideITNodes=false&parentID=200"), useGuid: false, Mode: "Slim", value: DataSource.parameter("OrgZoneID"), AutoLoad: true }'></div> </div> |
Example of an Action Panel for Grid (Add after Location Tree Panel or last grid column)
Code Block |
---|
<div data-bind='eidGridPanel: { Type: "Left", Title: "@EidResx("Locations", EscapeMode.HtmlAttribute)", CloseOnTarget: ".eid-tree-node-link" }'> <div data-bind='eidStandaloneTree: { url: eid.url.api.services("Tree/GetOrgZones?hideITNodes=false&parentID=200"), useGuid: false, Mode: "Slim", value: DataSource.parameter("OrgZoneID"), AutoLoad: true }'></div> </div> <div data-bind='eidGridPanel: { Type: "Right", Title: "@EidResx("Actions", EscapeMode.HtmlAttribute)" }'> <!-- ko 'if': SelectedRow() --> <div class="eid-grid-selected-bar"></div> <div class="eid-grid-selected"> <div class="eid-panel-area" data-bind="'with': SelectedRow().DataItem"> <h4 class="eid-panel-area-title"> <span>@EidResx("ActionsFor") </span> <a class="eid-text-link" data-bind='text: FriendlyName(), attr: { "href": "@Url.HashedContent("Common/ViewOne/Component?id=")" + AccountID() + "&componentName=Account", "title": FriendlyName }'></a> </h4> <div class="eid-panel-area-body"> <div data-bind='eidDataSource: { autoRefresh: true, dataSource: { Url: "@Url.AreaAction("ActionsByResourceIDNounModels", "NounVerbAction", "Common")", Parameters: { resourceId: ResourceID, noun : "AzureUser" } } }'> <ul class="eid-link-list"> <!-- ko foreach: DataView --> <li> <a class="eid-link-inverted" data-bind='text: FriendlyName, attr: { "title": Description, "href": Href }'></a> </li> <!-- /ko --> </ul> </div> </div> </div> </div> <!-- /ko --> <div class="eid-panel-area"> <h4 class="eid-panel-area-title"> @EidResx("GeneralActions") </h4> <div class="eid-panel-area-body"> <div data-bind='eidDataSource: { autoRefresh: true, dataSource: { Url: "@Url.AreaAction("ActionsByNoun", "NounVerbAction", "Common", new { noun = "AzureUser" })" } }'> <ul class="eid-link-list"> <!-- ko foreach: DataView --> <li> <a data-bind='text: FriendlyName, attr: { "title": Description, "href": Href }'></a> </li> <!-- /ko --> </ul> </div> </div> </div> </div> </div> |
Grid Columns and Formatters
Example Link to Viewone Page by GUID
Code Block |
---|
@{ Html.RenderPartial("HyperLinkColumn", new TheDotNetFactory.EmpowerID.Web.PortableAreas.Common.Models.Shared.HyperLinkColumnModel() { Title = EidResx("Owner").ToString(), DataFieldName = "OwnerFriendlyName", AccessGuid = Guid.Parse("1998dc9b-d8df-421b-a9ce-31f029cf0893"), UrlFormat = Url.HashedContent("Common/ViewOne/ComponentByGuid?id={PersonID}", removeArea: false) });} |
Example Link to Viewone Page by ID (Int)
Code Block |
---|
@{ Html.RenderPartial("HyperLinkColumn", new TheDotNetFactory.EmpowerID.Web.PortableAreas.Common.Models.Shared.HyperLinkColumnModel() { Title = EidResx("EmpowerIDComponentProperties_PersonView.Login").ToString(), DataFieldName = "EmpowerIDLogon", AccessGuid = Guid.Parse("1998dc9b-d8df-421b-a9ce-31f029cf0893"), UrlFormat = Url.HashedContent("Common/ViewOne/Component?id={PersonID}&componentName=Person", removeArea: false) });} |
Examples of Grid Column Templates
Code Block |
---|
@Html.StartTemplate("EidGridColumnAZIChangeTypeTemplate") <span data-bind="attr: { title: (!ToolTip()).toString() }, css: { 'eid-grid-decisions-approved' : !ParentRow.DataItem.Disabled(), 'eid-grid-decisions-rejected' : ParentRow.DataItem.Disabled() }"></span> @Html.EndTemplate() <div data-bind='eidGridColumn: { Title: "@EidResx("Type", EscapeMode.HtmlAttribute)", DataFieldName: "AccountTypeName", FormatType: "Custom" }'> <div data-bind="attr: { title: DataItem.AccountTypeName() }, css: { 'eid-icon-person-small': DataItem.AccountTypeName() == 'User', 'eid-icon-management-small': DataItem.AccountTypeName() == 'Person', 'eid-icon-shared-credentials-small': DataItem.AccountTypeName() == 'ServicePrincipal', 'eid-icon-groups-small': DataItem.AccountTypeName() == 'ManagedIdentity' }"> </div> </div> |
Example of Usage of a Grid Column Template
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("Enabled", EscapeMode.HtmlAttribute)", DataFieldName: "Disabled", TemplateName: "EidGridColumnAZIChangeTypeTemplate" }'></div> |
Grid Column Formatter: DateTime
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("ProcessTime", EscapeMode.HtmlAttribute)", DataFieldName: "ProcessTime", FormatType: "DateTime" }'></div> <div data-bind='eidGridColumn: { Title: "@EidResx("LockedByServer", EscapeMode.HtmlAttribute)", DataFieldName: "LockedByServer", FormatType: "String" }'></div> |
Grid Column Formatter: Force to String
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("LockedByServer", EscapeMode.HtmlAttribute)", DataFieldName: "LockedByServer", FormatType: "String" }'></div> |
Grid Column Formatter: CheckBox
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("Team", EscapeMode.HtmlAttribute)", DataFieldName: "IsTeamsGroup", FormatType: "CheckBox" }'></div> |
Example of a Non-Sortable Column with a Template
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("EmpowerIDGridTypeColumns_GroupAccountHistory.GroupAccountHistoryChangeTypeName", true)", DataFieldName: "GroupAccountHistoryChangeTypeName", EnableSorting: false, TemplateName: "EidGridColumnGroupChangeTypeTemplate" }'></div> |
Example of a Grid Column that Links to MyTasks
Add this to the header section
Code Block |
---|
@{ var myTasksMicroserviceURL = Config<string>("MyTasksMicroserviceURL"); Uri myTasksUri = new Uri(myTasksMicroserviceURL); } |
Example Grid Column with link to MyTasks Item
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("ViewBusinessRequestItem", true)", DataFieldName: "FriendlyName", FormatType: "HyperLink", DataBag: { UrlFormat: "@((new Uri(myTasksUri, "/all/businessRequestItems?id={BusinessRequestItemID}")).ToString())" } }'></div> |
Example Grid Link to Old Workflow Tasks View One Page
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResxAttr("BusinessProcessTaskID")", DataFieldName: "BusinessProcessTaskID", FormatType: "Custom" }'> <!-- ko 'with': DataItem --> <a data-bind="text: BusinessProcessTaskID(), attr: { href: eid.url('#Common/ViewOneTask/?id=' + BusinessProcessTaskID()) }"></a> <!-- /ko --> </div> |
Example Grid Column Formatter Changing a Number to a Text Value
Code Block |
---|
<div data-bind='eidGridColumn: { Title: "@EidResx("ProcessStatus", EscapeMode.HtmlAttribute)", DataFieldName: "ProcessStatus", FormatType: "Custom"}'> <!-- ko 'with': DataItem --> <!-- ko 'if': ProcessStatus() == 0 --> <span data-bind='text:"@EidResx("Not Processed", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- ko 'if': ProcessStatus() == 1 --> <span data-bind='text:"@EidResx("In Progress", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- ko 'if': ProcessStatus() == 2 --> <span data-bind='text:"@EidResx("Processed", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- ko 'if': ProcessStatus() == 3 --> <span data-bind='text:"@EidResx("Error", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- ko 'if': ProcessStatus() == 4 --> <span data-bind='text:"@EidResx("Ignored", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- ko 'if': ProcessStatus() == 5 --> <span data-bind='text:"@EidResx("Pending Reprocessing", EscapeMode.HtmlAttribute)"'></span> <!-- /ko --> <!-- /ko --> </div> |
Advanced Search Templates
Typically styled using fourcol, fourcol, fourcol last
On the Grid itself, specify only SearchTerms for simple search if the view has SearchTerms on it
e.g.
Code Block |
---|
SearcherTemplateName: "EidAzureAccountWebSearch", SearcherMode: "Advanced", Searcher: { SimpleOptions: [ { DataFieldName: "SearchTerms" } ], EnableSimpleMode: true }, |
Example of Advanced Search on a text field that is not a parameter
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("EmpowerIDLogin"):</span> <input type="text" data-bind="value: condition('EmpowerIDLogon')" /> </label> </div> |
Example of Advanced Search on a Boolean field that is not a parameter
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("Disabled"):</span> <input type="checkbox" data-bind="eidCheckBox: { checked: condition('Disabled', null, null, 'Boolean'), enableTriState: true }" /> </label> </div> |
Example of Advanced Search on a Boolean field that is a parameter
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("NeverLoggedInOnly"):</span> <input type="checkbox" data-bind="eidCheckBox: { checked: parameter('NeverLoggedInOnly', null, null, 'Boolean'), enableTriState: true }" /> </label> </div> |
Example Date Range Search on a Single Column that is not a Parameter
Code Block |
---|
<div class="eid-form-field fourcol"> <label class="ui-display-inline"> <span>@EidResx("LastLogonTimeBetween")</span> <input type="date" data-bind="date: { value: condition('LastLogonTime', null, 'GreaterThan', 'DateTime'), viewModelFormat: 'toUTCZeroTimeString' }" /> </label> </div> <div class="eid-form-field fourcol last"> <label class="ui-display-inline"> <span>@EidResx("LastLogonTimeand")</span> <input type="date" data-bind="date: { value: condition('LastLogonTime', null, 'LessThan', 'DateTime'), viewModelFormat: 'toUTCMidnightTimeString' }" /> </label> </div> |
Example Date Range Search with Calculated Default Values
Code Block |
---|
<div class="sixcol"> <div class="eid-form-field"> <label class="ui-display-inline"> <span>Between</span> <input type="date" data-bind="date: { value: parameter('StartDate', Date.now().subtractDays(7).toUTCZeroTimeString()), viewModelFormat: 'toUTCZeroTimeString' }" /> </label> </div> </div> <div class="sixcol last"> <div class="eid-form-field"> <label class="ui-display-inline"> <span>and</span> <input type="date" data-bind="date: { value: parameter('EndDate', Date.now().toUTCMidnightTimeString()), viewModelFormat: 'toUTCMidnightTimeString' }" /> </label> </div> </div> |
Autocomplete Search for Person Sending PersonGUID as a Parameter Value to Method
Code Block |
---|
<div class="eid-form-field fourcol"> <label> @EidResx("ByMember", true) </label> <div class="eid-person-autocomplete" data-bind="eidAutocomplete: { value: parameter('PersonID'), ItemTemplateName: 'EidAutoCompletePerson', DataSource: { TypeName: 'PersonSearch', MethodName: 'GetSearch', parameters: { textToSearch: null } }, valueField: 'PersonGUID', displayField: 'FriendlyName', otherFields: ['Login', 'PersonID'], TypeName: 'Person', InitialLoadType: 'Person', searchParameterName: 'textToSearch' }"> </div> </div> |
More Up to Date threecol Style Example Person Autocomplete with PersonGUID as a Parameter
Code Block |
---|
<div class="eid-form-field threecol"> <label> @Html.EidResx("InitiatorOrTargetPersonID") </label> <div data-bind="eidAutocomplete: { value: parameter('InitiatorOrTargetPersonID'), componentName: 'PersonSearch', methodName: 'GetSearch', displayField: 'FriendlyName', otherFields: ['PersonID','FriendlyName','PersonStoreFriendlyName','NetBiosName','LogonName','Login'], initialValueDataSource: { componentName: 'PersonView', methodName: 'GetByPersonGUID', parameters: {personGuid: null }, displayField: 'FriendlyName' }, ItemHref: 'Common/ViewOne/ComponentByGuid?id={1}&componentName={0}', TypeName: 'Person', valueField: 'PersonGUID', ItemTemplateName: 'EidAutoCompletePerson', initialLoadType: 'Person' }"> </div> </div> |
AccountStoreGUID AutoComplete as a Parameter Example
Code Block |
---|
<div class="eid-form-field threecol"> <label> @Html.EidResx("AccountStore") </label> <div data-bind="eidAutocomplete: { value: parameter('AccountStoreID'), componentName: 'AccountStoreSearch', methodName: 'GetSearch', displayField: 'FriendlyName', otherFields: ['AccountStoreID','FriendlyName','AccountStoreStoreFriendlyName','NetBiosName','LogonName','Login', 'SecurityBoundaryTypeName','FQN','Name'], initialValueDataSource: { componentName: 'AccountStore', methodName: 'GetByAccountStoreGUID', parameters: {AccountStoreGuid: null }, displayField: 'FriendlyName' }, ItemHref: 'Common/ViewOne/ComponentByGuid?id={1}&componentName={0}', TypeName: 'AccountStore', valueField: 'AccountStoreGUID', ItemTemplateName: 'EidAutoCompleteAccountStore', initialLoadType: 'AccountStore' }"> </div> </div> |
Example Searching by an Enum Where the Component Doesn’t Have a View (Getall)
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("ManagementRoleTypeFriendlyName"):</span> <select data-bind='eidCombobox: { EnableClear: true, Value: condition("ManagementRoleTypeID", null, null, "Int"), TextField: "FriendlyName", ValueField: "ManagementRoleTypeID", DataSource: { SortByName: "FriendlyName", TypeName: "ManagementRoleType", DoesSupportSearch: false, DoesSupportPaging: false, MethodName: "GetAll" } }'> </select> </label> </div> |
Non-Localized Example of Searching by location Tree as a Method Parameter
Code Block |
---|
<div class="eid-form-field fourcol last"> <label> Location (In or Below) </label> <div data-bind="eidPopupTree: { ShowInline: true, TreeType: 'OrgZone', nullValue: 0, value: parameter('OrgZoneID', 0), DataBag: { SearchServerSide: true, EnableSearch: true, url: eid.url.api.services('Tree/GetOrgZones?hideITNodes=false&parentID=0') } }"></div> </div> |
Another Location Tree Example
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("OrgZone"):</span> <div data-bind="eidPopupTree: { ShowInline: true, TreeType: 'OrgZone', nullValue: 0, value: parameter('OrgZoneID', null, null, 'Int'), DataBag: { SearchServerSide: true, EnableSearch: true, url: eid.url.api.services('Tree/GetOrgZones?hideITNodes=false&parentID=0') } }"></div> </label> </div> |
Example of Searching by OrgRole Tree as a Method Parameter
Code Block |
---|
<div class="eid-form-field fourcol"> <label> @EidResx("Parent") @EidResx("Role") </label> <div data-bind="eidPopupTree: { ShowInline: true, TreeType: 'OrgRole', nullValue: 0, value: parameter('OrgRoleID', 0), DataBag: { SearchServerSide: true, EnableSearch: true } }"></div> </div> |
Example Searching by Business Role and Location (OROZ)
Code Block |
---|
<div class="eid-form-field fourcol"> <label> @EidResx("BusinessRoleAndLocationInOrBelow") </label> <div data-bind="eidPopupDualTree: { ShowInline: true, value: parameter('orgRoleOrgZoneID', 0), nullValue: 0 }"></div> </div> |
Example: Hard Coding a Default Value for a Search Field
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("MinimumPercentageOfPeopleInOROZ"):</span> <input type="text" data-bind="value: parameter('MinimumPercentageOfPeopleInOROZ', 40)" /> </label> </div> |
Example: Loading a Default Search Field Value from a Resource System Config Setting
Add this line to the header code section to retrieve the value and does some parsing in this example
Code Block |
---|
var joinFilter = Config<string>("AccountInboxJoinFilter").Replace("\n", "").Replace("\r", ""); |
Example Usage of the Advanced Search Field
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@Html.EidResx("AccountInboxJoinFilter"):</span> <textarea data-bind="value: parameter('JoinFilter', '@joinFilter')" /> </label> </div> |
Example AutoComplete Where Method Has Large # of Parameters
Code Block |
---|
<div class="eid-form-field fourcol"> <label> <span>@EidResx("AzGlobalRight")</span> </label> <div data-bind="eidAutocomplete: { value: parameter('AzGlobalRightID', '@ViewBag.AzGlobalRightID', null, 'Guid'), componentName: 'AzGlobalRightView', methodName: 'GetAllSearch', displayField: 'FriendlyName', otherFields: ['AzGlobalRightID','FriendlyName'], parameters: { ResourceSystemTypeModuleID: null, ResourceSystemTypeID: null, AzRightTypeID: null, OrgZoneID: null, ResourceTypeOperationID: null, AzGlobalRoleID: null, AzLocalRoleID: null, Denied: null, AzGlobalFunctionID: null, AzLocalFunctionID: null, AssigneeID: null, columnsToSearch: 'SearchTerms', textToSearch: null }, valueField: 'AzGlobalRightID', ItemHref: 'Common/ViewOne/ComponentByGuid?id={1}&componentName={0}', initialValueDataSource: { componentName: 'AzGlobalRightView', methodName: 'GetByAzGlobalRightID', parameters: {AzGlobalRightID: null }, displayField: 'FriendlyName' }, initialLoadType: 'AzGlobalRight', TypeName: 'AzGlobalRight' }"> </div> </div> |
ResourceSystem AutoComplete with Default Value Set to 1 = EmpowerID
Code Block |
---|
<div class="eid-form-field fourcol last"> <div data-bind="eidAutocomplete: { labelText: '@EidResx("System", true)', value: parameter('ResourceSystemID', 1, null, 'Int'), componentName: 'ResourceSystemView', initialLoadType: 'ResourceSystem', TypeName: 'ResourceSystem', methodName: 'GetAllSearch', parameters: { columnsToSearch: null }, displayField: 'FriendlyName', valueField: 'ResourceSystemID', searchParameterName: 'textToSearch', }"></div> </div> |
Auto-Complete Example Where it Looks Like the Default Value is Being Passed into the Page (i.e. ViewBag)
Code Block |
---|
<div class="eid-form-field fourcol last"> <label> <span>@EidResx("Risk"):</span> </label> <div data-bind="eidAutocomplete: { value: parameter('AzLocalRiskID', '@ViewBag.AzLocalRiskID', null, 'Guid'), componentName: 'AzLocalRiskView', methodName: 'GetAllSearch', displayField: 'FriendlyName', otherFields: ['AzLocalRiskID','FriendlyName'], parameters: { AzGlobalRiskID: null, AzRiskLevelID: null, AzLocalRiskTypeID: null, OrgZoneID: null, OwnerID: null, columnsToSearch: null }, valueField: 'AzLocalRiskID', ItemHref: 'Common/ViewOne/ComponentByGuid?id={1}&componentName={0}', initialValueDataSource: { componentName: 'AzLocalRiskView', methodName: 'GetByAzLocalRiskID', parameters: {AzLocalRiskID: null }, displayField: 'FriendlyName' }, initialLoadType: 'AzLocalRisk', TypeName: 'AzLocalRisk' }"> </div> </div> |
Grids
Searcher Section Properties
Code Block |
---|
DoesSupportSearch: true, SearcherTemplateName: "EidSoDViolationWebSearch1-@searchTemplateGuid", EnableGroupBy: false, SearcherMode: "Advanced", Searcher: { SimpleOptions: [ { DataFieldName: "Name", BooleanLogicType: "OR" }, { DataFieldName: "Login", BooleanLogicType: "OR" }, { DataFieldName: "ViolatorPersonFriendlyName", BooleanLogicType: "OR" }, { DataFieldName: "ViolatorPersonManagerFriendlyName", BooleanLogicType: "OR" }, { DataFieldName: "Description" } ], EnableSimpleMode: true, SortByField: "CreatedDate", SortByOrder: "Desc" }, |
DataSource Section
Example method with lots of parameters and the values can be passed into the page using the ViewBag
Code Block |
---|
DataSource: { TypeName: "AzLocalRiskViolationView", MethodName: "GetAllSearch", Parameters: { AzLocalRiskRuleID: '@ViewBag.AzLocalRiskRuleID', AzLocalRiskID: '@ViewBag.AzLocalRiskID', AzGlobalRiskID: '@ViewBag.AzGlobalRiskID', ViolatorPersonID: '@ViewBag.ViolatorPersonID', ViolatorOrgZoneID: '@ViewBag.ViolatorOrgZoneID', AnyFunctionAssigneeID: '@ViewBag.AnyFunctionAssigneeID', RiskFunctionAssigneeID: '@ViewBag.RiskFunctionAssigneeID', RiskSegregatedFunctionAssigneeID : '@ViewBag.RiskSegregatedFunctionAssigneeID', AnyFunctionAssigneeID : '@ViewBag.AnyFunctionAssigneeID', MitigatorPersonID: '@ViewBag.MitigatorPersonID', MitigationExpiringInXDays: '@ViewBag.MitigationExpiringInXDays', LocalRiskOwner: '@ViewBag.LocalRiskOwner', MitigationUnreviewed: '@ViewBag.MitigationUnreviewed', HideViolationCombinations: '@ViewBag.HideViolationCombinations' }, IncludedProperties: ["PersonID", "Login","ViolatorPersonDepartment", "ViolatorPersonTitle", "ViolatorPersonManagerFriendlyName","ViolatorPersonManagerEmail", "Name", "AzLocalRiskMitigationStatusID", "Email", "AzLocalRiskMitigationStatusFriendlyName", "LastMitigationStatusReview", "AzLocalRiskViolationID", "AzLocalRiskRuleName", "AzLocalRiskRuleID", "ApplicationID", "FriendlyName", "Name", "Description", "ModifiedDate", "CreatedDate", "AzLocalRiskName", "ProtectedApplicationResourceID", "Expired", "HighestExpirationDate", "AzLocalRiskFriendlyName", "AzRiskTypeFriendlyName", "MitigationOwnerAssigneeFriendlyName", "AzLocalRiskMitigationStatusFriendlyName", "AzLocalRiskViolatorMitigationID", "RiskFunctionAssigneeFriendlyName", "RiskSegregatedFunctionAssigneeFriendlyName", "RiskType", "AzLocalRiskMitigationStatusFriendlyName", "MitigationOwnerAssigneeFriendlyName", "AzLocalRiskID" ], DoesSupportSearch: true } |
Report Options Settings
Code Block |
---|
ReportOptions: { Columns: [{ DataFieldName: "Login", Title: "Login Name"}, { DataFieldName: "Email", Title: "Email" }], ReportTitle: "@EidResx("LastLoginTitle")", ReportDescription: "@EidResx("LastLoginDescription")", ReportLocation: "#Common/Find/azurelicensemanager" }, |
Creating Custom Pages Using the WF Studio Page Designer
Creating a Simple Page with Advanced Search - EmpowerID 2018 Documentation - Confluence (jira.com)See the following topic:
Create a simple page with advanced search
URL for Page Designer Pages - https://yourserver/UI/#common/pages/view/RBACViewID
Div | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
IN THIS ARTICLE
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|