Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.form.builder.min.js 245KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. var Unibase;(function(Unibase){let Platform;(function(Platform){let Forms;(function(Forms){let Components;(function(Components){class FormBuilder_Template{tabsForPropertyTemplate(){return`<div class="card-body row" id="divType"><div id="divSectionProperties_Property" class="divSectionProperties col-sm-6"><div class="custom-control custom-radio"><input type="radio" id="rdbsection_Property" name="PropertyType" class="custom-control-input" checked><label class="custom-control-label ml-2" for="rdbsection_Property" style="font-weight: bold;">Property</label></div></div><div id="divSectionProperties_ActionProperty" class="divSectionProperties col-sm-6"><div class="custom-control custom-radio"><input type="radio" id="rdbsection_ActionProperty" name="PropertyType" class="custom-control-input"><label class="custom-control-label ml-2" for="rdbsection_ActionProperty" style="font-weight: bold;">Action Property</label></div></div></div>`}basicFormPropertyTemplate(){return`<div class="bg-white card"><div class="card-body bg-white"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group"><label for="lbl" id="lblDocPropertyName" class="font-bold">DocProperty Name</label><input type="text" id="txtDocPropertyName" class="form-control value-control floating-label-control" data-isdefault="true" placeholder="DocProperty Name" data-placeholder="Enter DocProperty Name" data-label="DocProperty Name" disabled="disabled" style="background-color:#eee;color:#000;border:0;cursor:not-allowed"></div></div><div class="col-sm-6"><div class="floating-label-form-group"><label for="lbl" id="lblFormPropertyName" class="font-bold">FormProperty Name<span class="text-danger" id="spnIsRequired_Section">*</span></label><input type="text" id="txtPropertyName" class="form-control value-control required floating-label-control" data-isdefault="true" placeholder="FormPropertyName *" data-placeholder="Enter FormProperty Name" data-label="FormPropertyName *" onkeypress="return Unibase.Platform.Forms.Components.PropertyEditor.Instance().noSpaceValidation(event)"></div></div></div><div class="row"><div class="col-sm-6"><div class="floating-label-form-group"><label for="lbl" id="lblDisplayName" class="font-bold">Display Name<span class="text-danger" id="spnIsRequired_Section">*</span></label><input type="text" id="txtDisplayName" class="form-control value-control required floating-label-control" data-isdefault="true" placeholder="DisplayName *" data-placeholder="Enter Property Name" data-label="DisplayName *"></div></div><div class="col-sm-6"><div class="floating-label-form-group"><label for="lbl" id="lblPlaceHolder" class="font-bold">Place Holder<span class="text-danger" id="spnIsRequired_PlaceHolder">*</span></label><input type="text" id="txtPlaceHolder" class="form-control value-control floating-label-control required" data-isdefault="true" data-controlpropertyname="DisplayName" placeholder="Place Holder *" data-placeholder="Enter Place Holder" data-label="Place Holder *"></div></div></div><div class="row mt-20"><div class="col-sm-6 biz-select2-wrap"><label id="lblControlType" class="font-bold">DocType<span class="text-danger" id="spnIsRequired_Section">*</span></label><select name="DocTypes" id="txtDocTypes" class="form-control value-control required" data-isdynamic="true"></select></div><div id="div_Section" class="col-sm-6"><label for="lbl" id="lbl_Section" style="color:grey">Section Name</label><select id="txtAutoComplete_Section" class="txtAutoComplete_Section form-control text-control" data-isdefault="true" style="width:100%"></select></div></div><div class="row mt-20"><div class="col-sm-6"><label id="lblControlType" class="font-bold">Control Type<span class="text-danger" id="spnIsRequired_Section">*</span></label><select name="Controls" id="txtControls" class="form-control value-control required" data-isdynamic="true"></select></div><div class="col-sm-6 biz-select2-wrap"><label id="lblDataType" class="font-bold">Data Type<span class="text-danger" id="spnIsRequired_Section">*</span></label><select id="loadDatatypes" class="form-control required value-control" data-isdynamic="true"></select></div></div><div class="row mt-20"><div class="col-sm-6"><label for="lblWidth" class="font-bold" id="lblWidth">Width<span class="text-danger" id="spnIsRequired_Section">*</span></label><select name="Controls" id="txtWidth" class="form-control value-control required" data-isdynamic="true" data-propertyname="Width"><option value="1">One</option><option value="2">Two</option><option value="3">Three</option><option value="4">Four</option><option value="5">Five</option><option value="6">Six</option><option value="7">Seven</option><option value="8">Eight</option><option value="9">Nine</option><option value="10">Ten</option><option value="11">Eleven</option><option value="12">Twelve</option></select></div><div class="col-sm-6"><label for="frmchkIsDefault" style="margin-top:50px"><b>Is Required</b></label><label id="lblIsRequired" class="switch m-t form-inline pull-right" style="margin-top:40px"><input id="chkIsRequired" data-group="IsRequired" type="checkbox" data-isdynamic="false"><span></span></label></div></div><div class="row hidden" id="divStages"><div class="col-sm-6"><label for="lbl" id="lbl_IncludedStages" style="color:grey">Included Stages</label><div class="input-group"><select id="select2_IncludedStages" class="select2_IncludedStages form-control text-control" data-isdefault="true" style="width:100%" placeholder="Select Included Stages" data-required="true" data-placeholder="Select Included Stages" data-label="Included Stages" multiple="multiple"></select></div></div><div class="col-sm-6"><label for="lbl" id="lbl_ExcludedStages" style="color:grey">Excluded Stages</label><div class="input-group"><select id="select2_ExcludedStages" class="select2_ExcludedStages form-control text-control" data-isdefault="true" style="width:100%" placeholder="Select Excluded Stages" data-required="true" data-placeholder="Select Excluded Stages" data-label="Excluded Stages" multiple="multiple"></select></div></div></div><div class="row"><div class="col-sm-6"><label for="frmchkApplyRoles" style="margin-top:50px"><b>Apply Roles</b></label><label id="lblApplyRoles" class="switch m-t form-inline pull-right" style="margin-top:40px"><input id="chkApplyRoles" data-group="chkApplyRoles" type="checkbox" data-isdynamic="false"><span></span></label></div></div><div class="row hidden" id="divRoles"><div class="col-sm-6"><label for="lbl" id="lbl_IncludedRoles" style="color:grey">Included Roles</label><div class="input-group"><select id="select2_IncludedRoles" class="select2_IncludedRoles form-control text-control" data-isdefault="true" style="width:100%" placeholder="Enter stages" data-required="true" data-placeholder="Select Included Roles" data-label="Included Roles" multiple="multiple"></select></div></div><div class="col-sm-6"><label for="lbl" id="lbl_ExcludedRoles" style="color:grey">Excluded Roles</label><div class="input-group"><select id="select2_ExcludedRoles" class="select2_ExcludedRoles form-control text-control" data-isdefault="true" style="width:100%" placeholder="Select Excluded Roles" data-required="true" data-placeholder="Select Excluded Roles" data-label="Excluded Roles" multiple="multiple"></select></div></div></div><div class="row"><div class="col-sm-6"><label for="frmchkHelp" style="margin-top:50px"><b>Enable Help</b></label><label id="lblHelp" class="switch m-t form-inline pull-right" style="margin-top:40px"><input id="chkHelp" data-group="chkHelp" type="checkbox" data-isdynamic="false"><span></span></label></div><div class="col-sm-6 row hidden" id="HelpDisplayTypediv"><label for="lblHelpDisplayType" class="font-bold" id="lblHelpDisplayType">Help Display Type</label><select name="lblHelpDisplayType" id="ddl_lblHelpDisplayType" class="form-control value-control" data-isdynamic="true" data-propertyname="Help Display Type"><option value="1">Tool Tip</option><option value="2">Text</option></select></div></div><div class="row mt-20 hidden" id="divHelp"><div class="col-sm-12"><label for="lbl" id="lbl_Help" style="color:grey">Help Details</label><div class="input-group"><input type="text" id="txtHelpDetails" class="form-control value-control floating-label-control" data-isdefault="true" placeholder="HelpDetails " data-placeholder="Enter Help Details" data-label="HelpDetails *"></div></div></div><br></div></div>`}loadSectionProperty(){return`<div class="scrollable bg-light " style="overflow-y:auto;"><div class="card"><div class="card-body"><div id="bizgaze_ErrorMessagesSections" class="clear"></div><div class="row"> <div class="col-sm-6"> <div class="floating-label-form-group" id="div_SectionPropertyName"> <label>Section Property Name<span class="text-danger" id="spnIsRequired_Section"> *</span></label> <input type="text" id="txt_SectionPropertyName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="SectionProperty Name *" data-placeholder="Enter Section Property Name" data-label="SectionProperty Name *" /><label for="Validation" id="lblValidation_SectionPropertyName"></label> </div> </div><div class="col-sm-6 control-group"> <div class="floating-label-form-group floating-label-form-group-with-value focus"><label id="lbl_SectionType ">Section Type<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required optionGray" id="ddl_SectionType" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" data-isparent="false"><option value="" class="optionGray">Select SectionType</option><option value="2" class="optionBlack">Radio</option><option value="3" class="optionBlack">Tab</option><option value="4" class="optionBlack">Checkbox</option><option value="5" class="optionBlack">Button</option><option value="6" class="optionBlack">HyperLink</option>
  2. <option value="7" class="optionBlack">Label</option>
  3. <option value="8" class="optionBlack">DropDown</option>
  4. <option value="9" class="optionBlack">Date Picker</option>
  5. <option value="10" class="optionBlack">Empty</option>
  6. <option value="13" class="optionBlack">TextBox</option>
  7. <option value="14" class="optionBlack">Description</option></select>
  8. <label for="Validation" id="lblValidation_SectionType"></label></div> </div></div> <div class="row"></div> <div class="row"><div class="col-sm-6 SectionGroupName"> <div class="floating-label-form-group" id="div_SectionPropertyName"><label>Group Name</label> <input type="text" id="txt_GroupName" class="form-control floating-label-control" data-isdynamic="false" placeholder="GroupName" data-placeholder="Enter Group Name" data-label="GroupName" /><label for="Validation" id="lblValidation_GroupName"></label> </div> </div><div class="col-sm-6 control-group"><div class="floating-label-form-group floating-label-form-group-with-value focus"><label id="lblWidth ">Width<span class="text-danger" id="spnIsRequired_Width"> *</span></label><select class="form-control required optionGray" id="ddlWidth" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" data-isparent="false"><option value="" class="optionGray">Select Width</option><option value="1" class="optionBlack">One</option><option value="2" class="optionBlack">Two</option><option value="3" class="optionBlack">Three</option><option value="4" class="optionBlack">Four</option><option value="5" class="optionBlack">Five</option><option value="6" class="optionBlack">Six</option><option value="7" class="optionBlack">Seven</option><option value="8" class="optionBlack">Eight</option><option value="9" class="optionBlack">Nine</option><option value="10" class="optionBlack">Ten</option><option value="11" class="optionBlack">Eleven</option><option value="12" class="optionBlack">Twelve</option></select></div></div><div class="col-sm-6" id="SectionisIcon"><label class="SectionisIcon mt-md-4 hidden"><input type="checkbox" value="" id="btniconcheck">Is Icon</label></div></div></div></div></div>`}validationTemplate(){return`<div class="card"><div class="card-header d-flex justify-content-between"><span>Validations</span><a href="javascript:;" class="btn btn-primary btn-sm" id="btn-add-validation"><i class="fa fa-plus"></i></a></div><div class="card-body ValidationInProperty"></div></div>`}controlSettingTemplate(){return`<div id="divControlSettings"></div>`}propertySettingTemplate(){return``}addRowForValidationTemplate(){return`<div class="Validation-row divAddress_{{length}}' added-row " id="divAddress_{{length}}"><div class="card"><div class="card-body"><div class="b-b deleterow media"><div class="h5 text-dark font-bold title items-row media-body mb-0">Validation-{{length}}</div><a id="delete" class="ml-auto btn-xs delete btn btn-icon btn-icon-circle btn-pink btn-icon-style-3 remove-icon_{{length}}" href="javascript:;" title="Remove row"><span class="btn-icon-wrap"><i data-id="{{length}}" class="fa fa-times remove-icon_{{length}}"></i><span></a></div ><div class="row"><div class="col-sm-6"><div class="floating-label-form-group" id="div_AddressName"><label for="lbl_AddressName" id="lbl_ValidationName">Validation Name</label><div class="input-group"><input type="text" id="txt_ValidationName" class="form-control addressinput txt_ValidationName_{{length}} floating-label-control" data-isdynamic="false" placeholder="Validation Name" data-placeholder="Enter Validation Name" data-label="Validation Name" value="{{ValidationType}}" /><input type="hidden" id="hf_ValidationId" value="{{ ValidationId}}"></div ></div ></div ><div class="col-sm-6"><div class="floating-label-form-group" id="div_PinCode"><label for="txt_RegularExpression" id="lbl_PinCode">Regular Expression</label><div class="input-group"><input type="text" id="txt_RegularExpression" class="form-control txt_RegularExpression_{{length}} floating-label-control phone-validation pincode" data-isdynamic="false" placeholder="Regular Expression" data-placeholder="Enter Regular Expression" data-label="Regular Expression" value="{{RegularExp}}" /></div></div></div ></div ><div class="row"><div class="col-sm-12"><div class="floating-label-form-group" id="div_ErrorMessage"><label for="txt_ErrorMessage" id="lbl_ErrorMessage">Error Message</label><div class="input-group"><input type="text" id="txt_ErrorMessage" class="form-control txt_ErrorMessage_{{length}} floating-label-control" data-isdynamic="false" placeholder="Error Message" data-placeholder="Enter Error Message" data-label="Error Message" value="{{ErrorMessage}}" /></div></div></div>`}loadAddSectionHtml(){return`<div class="card-body bg-white"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group" id="div_SectionName"><label id="lbl_SectionName">Section Name<span class="text-danger" id="spnIsRequired_SectionName"> </span></label><input type="text" id="txt_SectionName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Section Name " data-placeholder="Enter Section Name" data-label="Section Name "><label for="Validation" id="lblValidation_SectionName"></label></div></div><div class="col-sm-6"> <div class="floating-label-form-group floating-label-form-group-with-value focus"><label id="lbl_SectionType">Section Type<span class="text-danger" id="spnIsRequired_SectionType"> </span></label><select class="form-control required" id="ddl_SectionType" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" data-isparent="false"><option value="0">--Select--</option><option value="1">Section</option> <option value="2">Tag Section</option></select><label for="Validation" id="lblValidation_SectionType"></label></div></div></div></div>`}loadPropertyHtml(){let html=`<li class="dd-item dd3-item properties-item" draggable="true" data-id="{{docPropertyId}}" data-name="{{docPropertyName}}" data-controlid="{{controlId}}"><div id="docPropDiv-{{docPropertyId}}">{{docPropertyName}}</div></li>`;return`<li class="dd-item dd3-item properties-item" draggable="true" data-id="{{docPropertyId}}" data-name="{{docPropertyName}}" data-controlid="{{controlId}}">
  9. <div class="dsl-block doc-type" id="docPropDiv-{{docPropertyId}}" data-target=".docPropHighlight-{{docPropertyId}}">
  10. <span>
  11. <i class="las la-braille dragger"></i>
  12. <span class="dsl-block-name">{{docPropertyName}}</span>
  13. </span>
  14. <span>
  15. <a class="btn btn-xs btn-icon btn-flush-dark btn-rounded flush-soft-hover text-secondary d-none" href="javascript:;" id="PropertyEyeOff{{docPropertyId}}" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().UnHideProperty(this)" data-id="{{docPropertyId}}"><span class="btn-icon-wrap" ><span class="feather-icon"><i class="las la-low-vision la-i-medium"></i></span></span></a>
  16. <a class="btn btn-xs btn-icon btn-flush-dark btn-rounded dropdown-toggle flush-soft-hover no-caret" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="javascript:;"><span class="btn-icon-wrap" ><i class="las la-ellipsis-v la-i-large"></i></span></a>
  17. <div class="dropdown-menu dropdown-menu-right">
  18. <a class="dropdown-item" href="javascript:;" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().HideProperty(this , {{docTypeId}})"
  19. data-id="{{docPropertyId}}" data-name="{{docPropertyName}}" data-controlid="{{controlId}}" id="hidePropertyBtn{{docPropertyId}}">Hide Property</a>
  20. <a class="dropdown-item d-none" href="javascript:;" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().EditProperty(this , {{docTypeId}})"
  21. data-id="{{docPropertyId}}" data-name="{{docPropertyName}}" data-controlid="{{controlId}}" id="editPropertyBtn{{docPropertyId}}" id="editProperty{{docPropertyId}}">Edit Property</a>
  22. </div>
  23. </span>
  24. </div>
  25. </li>`}loadDocTypesHtml(installedappid){let oldhtml=`<div class="card"><div class="card-header row" role="tab" id="headingDocType_{{docTypeId}}"><a data-toggle="collapse" data-parent="#DocTypeAccordion" href="#collapseDocType_{{docTypeId}}" aria-expanded="false" aria-controls="collapseDocType_{{docTypeId}}" class="collapsed col-sm-9 text-primary bg-white"><span class="mb-0">{{docTypeName}}</span></a><span><div> <a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().EditDocTypes({{docTypeId}},`+installedappid+`,true,true)" class="btn btn-sm mt-2"><i class="icon-pencil"></i></a></div></span></div> <div id="collapseDocType_{{docTypeId}}" class="collapse" role="tabpanel" aria-labelledby="headingDocType_{{docTypeId}}" data-parent="#DocTypeAccordion" style=""><input type="text" onkeyup="Unibase.Platform.Forms.Components.PropertyEditor.Instance().searchDocProperty(this.value,docTypeBody_{{docTypeId}})" placeholder="Search for DocProperty" title="Type in a name" class="col-sm-12 myInput"><ul class="card-body docTypeBody text-black bg-white" id="docTypeBody_{{docTypeId}}" data-id="{{docTypeId}}"></ul></div></div>`,html=``;return html=`<div class="collapse-simple already-created-doc " id="already-created-doc-{{docTypeId}}">
  26. <div class="card" id="docTypeCard-{{docTypeId}}">
  27. <div class="card-header" id="headingDocType_{{docTypeId}}">
  28. <a class="text-capitalize font-14 text-dark bg-white" role="button" data-toggle="collapse" data-parent="#DocTypeAccordion" href="#collapseDocType_{{docTypeId}}" aria-expanded="true" title="{{docTypeTooltipTitle}}">
  29. {{docTypeName}}
  30. </a>
  31. <button id="docPropToggleBtn-{{docTypeId}}"class="btn btn-xs btn-icon btn-flush-dark btn-rounded dropdown-toggle flush-soft-hover no-caret more-btn" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="btn-icon-wrap" ><i class="las la-ellipsis-v la-i-medium"></i></span></button>
  32. <div class="dropdown-menu dropdown-menu-right">
  33. <a class="dropdown-item default-doc-type" href="javascript:;" id="setAsDefaultDocTypeBtn_{{docTypeId}}" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().SetasDefaultDocType({{docTypeId}})">Set as Default</a>`,html+='<a class="dropdown-item" href="javascript:;" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().EditDocTypes({{docTypeId}},'+installedappid+',true,true)">Edit Doc Type<\/a><a class="dropdown-item" href="#">Delete DocType<\/a>',html+`</div>
  34. <div id="collapseDocType_{{docTypeId}}" class="collapse show" aria-labelledby="headingDocType_{{docTypeId}}" data-parent="#DocTypeAccordion">
  35. <div class="card-body px-0 py-1">
  36. <div class="input-group search-type-2-outline mb-15">
  37. <input type="text" class="form-control" onkeyup="Unibase.Platform.Forms.Components.PropertyEditor.Instance().searchDocProperty(this.value,docTypeBody_{{docTypeId}})" placeholder="Search for Fields" title="Type in a name">
  38. <div class="input-group-append">
  39. <button class="btn border-0" type="button"><span class="feather-icon"><i data-feather="search"></i></span></button>
  40. </div>
  41. </div>
  42. <div id="sfl_2" class="dsl-block-wrap dsl-doc-type-wrap">
  43. <ul id="docTypeBody_{{docTypeId}}" data-id="{{docTypeId}}" class="ui-sortable docTypeBody ">
  44. </ul>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>`}loadAddControlHtml(){return`<div class="section_Control card"><div id="Unibase_ValidationSummary" class="clear"></div><div class="card-body bg-white"><div class="row"><div class="col-sm-4"><div class="floating-label-form-group" id="div_ControlName"><label id="lbl_ControlName">Control Name<span class="text-danger" id="spnIsRequired_ControlName"> *</span></label><input type="text" id="txt_ControlName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Control Name *" data-placeholder="Enter Control Name" data-label="Control Name *"><label for="Validation" id="lblValidation_ControlName"></label></div></div><div class="col-sm-3"><label for="frmchkIsStaticControl" style="margin-top:50px"><b>Is StaticControl</b></label><label id="lblIsStaticControl" class="switch m-t form-inline pull-right" style="margin-top:40px"><input id="chkIsStaticControl" data-group="chkIsStaticControl" type="checkbox" data-isdynamic="false"/><span></span></label></div><div id="divAutoComplete_InstalledApps" class="col-sm-5 floating-label-form-group floating-label-form-group-with-value floating-validate" style="border-bottom:0;border-left:0;"><label for="lbl" id="lbl_InstalledAppIds">Installed Apps</label><div class="input-group"><select id="txtAutoComplete_InstalledApps" multiple="multiple" style="width:100%"></select></div></div></div><div class="row"><div class="col-sm-6"><div class="floating-label-form-group" id="div_URL"><label id="lbl_URL">URL<span class="text-danger" id="spnIsRequired_JsInstanceName"> *</span></label><input type="text" id="txt_URL" class="form-control floating-label-control required" data-isdynamic="false" placeholder="URL *" data-placeholder="Enter URL" data-label="URL *"/><label for="Validation" id="lblValidation_URL"></label></div></div><div class="col-sm-6"><div class="floating-label-form-group" id="div_SettingsPageUrl"><label id="lbl_SettingsPageUrl">SettingsPageUrl<span class="text-danger" id="spnIsRequired_SettingsPageUrl"> *</span></label><input type="text" id="txt_SettingsPageUrl" class="form-control floating-label-control required" data-isdynamic="false" placeholder="SettingsPageUrl *" data-placeholder="Enter SettingsPageUrl" data-label="SettingsPageUrl *"/><label for="Validation" id="lblValidation_SettingsPageUrl"></label></div></div></div><div class="row"><div class="col-sm-6"><div class="floating-label-form-group" id="div_JsInstanceName"><label id="lbl_JsInstanceName">JsInstance Name<span class="text-danger" id="spnIsRequired_JsInstanceName"> *</span></label><input type="text" id="txt_JsInstanceName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="JsInstance Name *" data-placeholder="Enter JsInstance Name" data-label="JsInstance Name *"/><label for="Validation" id="lblValidation_JsInstanceName"></label></div></div><div class="col-sm-6"><div class="floating-label-form-group" id="div_SettingJsInstanceName"><label id="lbl_SettingJsInstanceName">SettingJsInstance Name<span class="text-danger" id="spnIsRequired_SettingJsInstanceName"> *</span></label><input type="text" id="txt_SettingJsInstanceName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="SettingJsInstance Name *" data-placeholder="Enter SettingJsInstance Name" data-label="SettingJsInstance Name *"/><label for="Validation" id="lblValidation_SettingJsInstanceName"></label></div></div></div><div class="row"><div class="col-sm-12"><div class="floating-label-form-group" id="div_Assembly"><label id="lbl_Assembly">Assembly</label><input type="text" id="txt_Assembly" class="form-control floating-label-control" data-isdynamic="false" placeholder="Assembly" data-placeholder="Enter Assembly" data-label="Assembly"/><label for="Validation" id="lblValidation_Assembly"></label></div></div></div><div class="row mt-20"><div class="col-sm-12 floating-label-form-group floating-label-form-group-with-value floating-validate" style="border-bottom:0;border-left:0;"><label for="txtAutoComplete_Datatypes" id="lbl_Datatypes">Data Types<span class="text-danger" id="spnIsRequired_Datatypes"> *</span></label><div class="input-group"><select id="txtAutoComplete_Datatypes" class="required" multiple="multiple" style="width:100%"></select></div></div></div><div class="row mt-20"><div class="col-sm-12"><div class="floating-label-form-group" id="div_ControlUniqueKey"><label id="lbl_ControlUniqueKey">Control UniqueKey</label><input type="text" disabled="true" id="txt_ControlUniqueKey" class="form-control floating-label-control" data-isdynamic="false" placeholder="Control UniqueKey" data-placeholder="Control UniqueKey" data-label="Control UniqueKey"/><label for="Validation" id="lblValidation_ControlUniqueKey"></label></div></div></div><div class="row mt-20"><div class="col-sm-12"><div id="div_ControlJson"><textarea id="txt_ControlJson" placeholder="Control Json" rows="2" cols="100"></textarea></div></div></div></div></div><div class="section_ControlProperties card"><div class="card-header">Control Properties</div><div class="card-body"><div class="row" id="divControlProperties"></div><div class="row mt-20"><div class="col-sm-3"></div><div class="col-sm-6" id="divControlPropery" style="text-align:center;"><a href="javascript:;" class="btn btn-primary" id="btnControlProperty">Add Control Property</a></div><div class="col-sm-3"></div></div></div></div>`}loadControlProperties(len){return`<div class="col-sm-12 row" id="div_ControlProperty_`+len+`"><div class="col-sm-6"><div class="floating-label-form-group" id="div_PropertyName_`+len+`"><label id="lbl_PropertyName">Property Name<span class="text-danger" id="spnIsRequired_PropertyName"> *</span></label><input type="text" id="txt_PropertyName_`+len+`" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Property Name *" data-placeholder="Enter Property Name" data-label="Property Name *"/><label for="Validation" id="lblValidation_PropertyName"></label></div></div><div class="col-sm-6"><div class="floating-label-form-group" id="div_DefaultValue_`+len+`"><label id="lbl_DefaultValue">Default Value</label><input type="text" id="txt_DefaultValue_`+len+`" class="form-control floating-label-control" data-isdynamic="false" placeholder="Default Value" data-placeholder="Enter Default Value" data-label="Default Value"/><label for="Validation" id="lblValidation_DefaultValue"></label></div></div></div>`}loadTemplate(){return`<option value="{{Id}}">{{Name}}</option>`}static Instance(){return new FormBuilder_Template}}Components.FormBuilder_Template=FormBuilder_Template})(Components=Forms.Components||(Forms.Components={}))})(Forms=Platform.Forms||(Platform.Forms={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))})(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Forms;(function(Forms){let Components;(function(Components){class PropertyEditor extends Platform.Core.BaseComponent{constructor(){super();this.DocPropertyId=0;this.TempSectionPropertyId=0;this.RowIndex=0;this.SectionPropertyId=0;this.AutoCompleteId_Section=0;this.DocPropertyName="";this.ParentTagjson="";this.FormId=0;this._docTypeManager=Platform.DataSources.Managers.DocTypeManager.Instance()}jsFiles(){return["platform/apps/managers/stagemanager.js","platform/permission/managers/permissionmanager.js","platform/controls/subform/subform.settings.js","platform/analytics/enums/datatype.js"]}cssFiles(){return[]}html(){var propertyTabs_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().tabsForPropertyTemplate(),BasicFormProperty_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().basicFormPropertyTemplate(),Validation_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().validationTemplate(),Controlsetting_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().controlSettingTemplate(),propertysetting_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().propertySettingTemplate();return`<div class="header b-b bg-white"><strong class="text-dark title" id="">Add New Property</strong><a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a></div><div data-simplebar class="simple-scroll-bar scrollable" id="divAddProperty"><div id="unibase_addnewproperty_errorsummary" class="clear"></div><div class="card">`+propertyTabs_Template+`</div><form id="frmUnibaseForm_AddProperty" data-validate="parsley" data-isdynamic="false"><div id="divProperty"> `+BasicFormProperty_Template+``+Validation_Template+Controlsetting_Template+` <div class="hidden" id="divPropSetting"><div class="card-header"><p class="propTitle" id="propTitle">Property Settings</p></div><div class="card-body" id="divPropertySettings">`+propertysetting_Template+`</div></div></div></form><form id="frmUnibaseForm_AddActionProperty" data-validate="parsley" data-isdynamic="false"><div id="divActionProperty" class=""></div></form></div><div class="bg-white b-t footer" id="propertyFooter"><button id="btnCloseProperty" class="btn btn-light btn-close btn-sm mr-auto">Close</button><button id="btnSaveProperties" class="btn btn-primary btn-sm pull-right">Save</button><button id="btnSavePropSection" class="btn btn-primary btn-sm pull-right d-none">Save</button></div>`}load(id,containerid){var instance=this,ControlClass,SettingPageUrl,ControlId;if(instance.clickEventsInPropertyCreation(),instance.loadDocTypesAutoComplete(instance.prop),this.isProperty){instance.loadDataTypes(Number(instance.prop.DataTypeId));Unibase.Platform.Forms.Components.PropertyEditor.Instance().loadControlsByDataTypeId(instance.prop);instance.loadIsHelp(instance.prop);$("#loadDatatypes").on("change",function(){if($("#loadDatatypes").val()!=null){var DataTypeId=$("#loadDatatypes option:selected").val().toString();Unibase.Platform.Forms.Components.PropertyEditor.Instance().loadControlsByDataTypeId(null)}});$("#txtControls").on("change",function(){if($("#divControlSettings").empty(),$("#divPropSetting").empty(),$("#txtControls").val()!=null){var ControlClass=$("#txtControls option:selected").val().toString(),SettingPageUrl=ControlClass.split("|"),ControlId=SettingPageUrl[0];instance.fileCacheHelper.loadJsFile(SettingPageUrl[1],function(){eval(SettingPageUrl[2]+".Instance().loadSettingHtml('#divControlSettings')");eval(SettingPageUrl[2]+".Instance().loadControlPropertiesHtml('#divPropSetting')")})}})}else{ControlClass=instance.prop.ControlVariable;SettingPageUrl=ControlClass.split("|");SettingPageUrl.length==1&&(ControlClass=instance.prop.ControlId+"|"+instance.prop.SettingPageUrl+"|"+instance.prop.SettingJsVariableName,SettingPageUrl=ControlClass.split("|"));ControlId=SettingPageUrl[0];instance.loadControls(Number(ControlId),ControlClass,instance.prop);$("#txtControls").on("change",function(){$("#divControlSettings").empty();$("#divPropSetting").empty();$("#txtControls").val()!=null&&(Unibase.Platform.Forms.Components.PropertyEditor.Instance().loadDataTypes(Number(instance.prop.DataTypeId)),instance.fileCacheHelper.loadJsFile(SettingPageUrl[1],function(){eval(SettingPageUrl[2]+".Instance().loadSettingHtml('#divControlSettings')");eval(SettingPageUrl[2]+".Instance().loadControlPropertiesHtml('#divPropSetting')")}))});instance.prop.ControlName=="Tag"&&(jQuery("#txtPropertyName").val("TagControl"),jQuery("#txtPropertyName").css({"background-color":"#eee",color:"black",border:"0",cursor:"not-allowed"}),jQuery("#txtPropertyName").attr("disabled","disabled"))}$("#btnSavePropSection").click(function(e){e.preventDefault();var formviewerinstance=new Unibase.Platform.Forms.Components.FormViewer;let result=formviewerinstance.requiredFieldValidation("frmUnibaseForm_AddActionProperty");if(result==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","unibase_addnewproperty_errorsummary"),!1;instance.navigationHelper.showLoading();Unibase.Platform.Forms.Components.PropertyEditor.Instance().saveActionProperty(instance.prop,containerid)});$("#btnSaveProperties").click(function(e){var formviewerinstance,formPropertyName,uniqueFormProperty;e.preventDefault();formviewerinstance=new Unibase.Platform.Forms.Components.FormViewer;let result=formviewerinstance.requiredFieldValidation("frmUnibaseForm_AddProperty");if(result==!1)return MessageHelper.Instance().showError("Mandatory fields are missing","unibase_addnewproperty_errorsummary"),!1;let docPropId=instance.prop.DocPropertyId,controlId=instance.prop.DocPropertyId;if(formPropertyName=$("#txtPropertyName").val().toString(),uniqueFormProperty=Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson.find(x=>x.FormPropertyName==formPropertyName&&x.DocPropertyId!=docPropId),uniqueFormProperty!=undefined||uniqueFormProperty!=null)return MessageHelper.Instance().showError("FormPropertyName should be unique.","unibase_addnewproperty_errorsummary"),!1;instance.navigationHelper.showLoading();Unibase.Platform.Forms.Components.PropertyEditor.Instance().saveProperty(instance.prop,containerid);$("#controlsDiv-"+controlId).addClass("selected");$("#"+controlId).addClass("selected");$("#docPropDiv-"+docPropId).addClass("selected")});instance.popUpCallBack!=null&&instance.popUpCallBack()}loadDocTypes(installedAppId){this._docTypeManager.getDocTypesByAppId(installedAppId).then(function(response){var html="";let result=response.result;for(let i=0;i<result.length;i++){var prop=result[i],template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadDocTypesHtml(installedAppId),templateScript=Handlebars.compile(template),context={docTypeId:prop.DocTypeId,docTypeName:prop.DocTypeName.length>26?prop.DocTypeName.slice(0,26)+" ...":prop.DocTypeName.slice(0,26),docTypeTooltipTitle:prop.DocTypeName.length>26?prop.DocTypeName:""};html+=templateScript(context)}$("#DocTypeAccordion").append(html)})}loadProperties(formId,installedAppId){Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getUnassignedProperties(installedAppId,formId).then(function(response){var html="";let result=response.result;for(let i=0;i<result.length;i++){var prop=result[i],template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadPropertyHtml(),templateScript=Handlebars.compile(template),context={docPropertyId:prop.DocPropertyId,docPropertyName:prop.DocPropertyName,controlId:prop.ControlId};html=templateScript(context);$("#docTypeBody_"+prop.DocTypeId).append(html);prop.HasFormProperty&&($(".docPropHighlight-"+prop.ControlId).length>=1||$(".docPropHighlight-"+prop.DocPropertyId).length>=1)&&($("#controlsDiv-"+prop.ControlId).addClass("selected"),$("#"+prop.ControlId).addClass("selected"),$("#docPropDiv-"+prop.DocPropertyId).addClass("selected"),Unibase.Platform.Forms.Components.FormBuilder.Instance().HiddenSectionId==prop.SectionId&&($("#hidePropertyBtn"+prop.DocPropertyId).addClass("d-none"),$("#editPropertyBtn"+prop.DocPropertyId).removeClass("d-none"),$("#PropertyEye"+prop.DocPropertyId).addClass("d-none"),$("#PropertyEyeOff"+prop.DocPropertyId).removeClass("d-none")))}}).then(function(){let propli=$(".docTypeBody");propli.sortable();let clone,before,parent,propertyEvent=$(".docTypeBody");propertyEvent.sortable({connectWith:".sectionBody-Element",cursor:"move",helper:"clone",start:function(event,ui){var liWidth=$("#propTabDiv").width();$("#DocTypeAccordion").css({position:"fixed",width:""});$(ui.item).show();clone=$(ui.item).clone();before=$(ui.item).prev();parent=$(ui.item).parent()},stop:function(){$("#DocTypeAccordion").css({position:"static",width:""});$("#collapseDocType_"+parent.attr("data-id")).find("#docPropDiv-"+clone.attr("data-id")).length==0&&(before.length?before.after(clone):parent.prepend(clone))}})}).then(function(){$(".collapse").collapse("hide")})}searchDocProperty(searchText,docTypeBody){var filter,ul,li,a,i,txtValue;for(filter=searchText.toLowerCase(),ul=docTypeBody,li=ul.getElementsByTagName("li"),i=0;i<li.length;i++)a=li[i].getElementsByTagName("div")[0],txtValue=a.textContent||a.innerText,li[i].style.display=txtValue.toLowerCase().indexOf(filter)>-1?"":"none"}openAddPropertyPage(DocpropertyId,DocPropertyName,ControlId,SectionId,SectionName,SectionType,IsNewEntry,FormId,FormPropertiesJson){this.FormId=FormId;this.loadAddPropertyHtml(DocpropertyId,DocPropertyName,ControlId,SectionId,SectionName,Number(SectionType),"Create",IsNewEntry,FormPropertiesJson,null)}loadAddPropertyHtml(DocPropertyId,DocPropertyName,ControlId,SectionId,SectionName,SectionType,PageType,IsNewEntry,FormPropertiesJson,callback){if(SectionName==""||SectionName==undefined)return MessageHelper.Instance().showError("Enter Section Name","unibase_formbuilder_errorsummary"),!1;Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray=[];DocPropertyId==undefined&&(DocPropertyId=0);Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId=DocPropertyId;Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyName=DocPropertyName;Unibase.Platform.Forms.Components.PropertyEditor.Instance().SectionPropertyId=0;PageType=="Create"?DocPropertyId!=0&&DocPropertyId!=undefined?(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId=DocPropertyId,this._docTypeManager.getDocProperty(DocPropertyId).then(function(response){var docpropinfo,propertyjson,uniqueId,curFormProp,propertyjson1;let result=response.result;if(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyName=result.DocPropertyName,docpropinfo=result,docpropinfo.ControlId==0)uniqueId=result.FormPropertyId,(result.FormPropertyId==0||result.FormPropertyId==undefined)&&(curFormProp=Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson.find(x=>x.DocPropertyId==result.DocPropertyId),uniqueId=curFormProp==undefined?moment().valueOf():curFormProp.UniqueId),propertyjson={FormPropertyId:result.FormPropertyId,DocPropertyId:result.DocPropertyId,DocPropertyName:result.DocPropertyName,FormPropertyName:"",DocTypeId:result.DocTypeId,DataTypeId:result.DataTypeId,DocTypeName:result.DocTypeName,SectionId:SectionId,SectionName:SectionName,PropertyWidth:Number(result.PropertyWidth),IsDefault:result.IsDefault,IsRequired:result.IsRequired,ControlId:result.ControlId,ControlName:result.ControlName,ControlVariable:result.JsVariableName,ControlJsUrl:result.Url,SettingPageUrl:result.SettingsPageUrl,SettingJsVariableName:result.SettingJsVariableName,LabelName:result.DocPropertyName,Placeholder:result.DocPropertyName,ControlJsonText:result.ControlJsonText,IncludedRoles:result.IncludedRoles,ExcludedRoles:result.IncludedRoles,IncludedStages:result.IncludedStages,ExcludedStages:result.ExcludedStages,RowIndex:result.RowIndex,DocTypeTableName:result.DocTypeViewName,Validations:null,PropertySettings:null,SectionType:SectionType.toString(),PropertyType:"Property",GroupName:"",Level:0,StagesForRequired:null,IsMultiple:!1,IsSwitch:!1,IsExtProperty:!1,IsNewEntry:!1,Value:"",IsStaticControl:!1,UniqueId:uniqueId,ParentFormPropertyId:0,IsHelp:!1,HelpText:"",HelpDisplayType:0},Unibase.Platform.Forms.Components.PropertyEditor.Instance().openPropertyPopup(propertyjson,!0,function(){var docPropName,SelectedDataType,SelectedSection,selectedSection,selectedDoctype;$("#txtWidth").select2({placeholder:"Select Width"});docPropName=docpropinfo.DocPropertyName;$("#txtPropertyName").val(docPropName);$("#txtDocPropertyName").val(docPropName);$("#txtDisplayName").val(docPropName);$("#txtPlaceHolder").val(docPropName);$("#txtWidth").val(docpropinfo.PropertyWidth);jQuery("#txtWidth").val(docpropinfo.PropertyWidth).trigger("change");SelectedDataType=new Option(docpropinfo.DataTypeName,docpropinfo.DataTypeId.toString(),!1,!1);SelectedSection=new Option(SectionName,SectionId.toString(),!1,!1);jQuery("#loadDatatypes").append(SelectedDataType).trigger("change");jQuery("#txtAutoComplete_Section").append(SelectedSection).trigger("change");selectedSection=new Option(SectionName,SectionId.toString(),!0);$("#txtAutoComplete_Section").append(selectedSection);selectedDoctype=new Option(docpropinfo.DocTypeName,docpropinfo.DocTypeId.toString(),!0);$("#txtDocTypes").append(selectedDoctype);$(document).ready(function(){jQuery("#txtDocTypes").val(docpropinfo.DocTypeId).trigger("change");jQuery("#loadDatatypes").attr("disabled","disabled");jQuery("#txtAutoComplete_Section").attr("disabled","disabled");jQuery("#txtDocTypes").attr("disabled","disabled");SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection&&(jQuery("#txtControls").attr("disabled","disabled"),$("#txtWidth").val("2").trigger("change"))})});else if(uniqueId=result.FormPropertyId,(result.FormPropertyId==0||result.FormPropertyId==undefined)&&(curFormProp=Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson.find(x=>x.DocPropertyId==result.DocPropertyId),uniqueId=curFormProp==undefined?moment().valueOf():curFormProp.UniqueId),propertyjson1={FormPropertyId:result.FormPropertyId,DocPropertyId:result.DocPropertyId,DocPropertyName:result.DocPropertyName,FormPropertyName:"",DocTypeId:result.DocTypeId,DataTypeId:result.DataTypeId,DocTypeName:result.DocTypeName,SectionId:SectionId,SectionName:SectionName,PropertyWidth:Number(result.PropertyWidth),IsDefault:result.IsDefault,IsRequired:result.IsRequired,ControlId:result.ControlId,ControlName:result.ControlName,ControlVariable:result.JsVariableName,ControlJsUrl:result.Url,SettingPageUrl:result.SettingsPageUrl,SettingJsVariableName:result.SettingJsVariableName,LabelName:result.DocPropertyName,Placeholder:result.DocPropertyName,ControlJsonText:result.ControlJsonText,IncludedRoles:result.IncludedRoles,ExcludedRoles:result.IncludedRoles,IncludedStages:result.IncludedStages,ExcludedStages:result.ExcludedStages,RowIndex:result.RowIndex,DocTypeTableName:result.DocTypeViewName,Validations:null,PropertySettings:null,SectionType:SectionType.toString(),PropertyType:"Property",GroupName:"",Level:0,StagesForRequired:null,IsMultiple:!1,IsSwitch:!1,IsExtProperty:!1,IsNewEntry:!1,Value:"",IsStaticControl:!1,UniqueId:uniqueId,ParentFormPropertyId:0,IsHelp:!1,HelpText:"",HelpDisplayType:0},SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection)if(result.ControlName=="HiddenField"){Unibase.Platform.Forms.Components.FormBuilder.instance.loadFormProperty(propertyjson1);let id=result.DocPropertyId;$("#docPropDiv-"+id).parent().remove();$("#txtWidth").val("2").trigger("change")}else MessageHelper.Instance().showError("Only Hidden Controls can be added Hidden Section.","unibase_formbuilder_errorsummary");else if(result.ControlName=="HiddenField")MessageHelper.Instance().showError("Hidden Control can be added only in Hidden Section.","unibase_formbuilder_errorsummary");else{Unibase.Platform.Forms.Components.FormBuilder.instance.loadFormProperty(propertyjson1);let id=result.DocPropertyId;$("#docPropDiv-"+id).parent().remove()}}).then(function(){$("#txtAutoComplete_Section").select2();callback!=null&&callback()})):Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/analytics/enums/datatype.js",function(){Unibase.Platform.Forms.Components.PropertyEditor.Instance().TempSectionPropertyId+=1;ControlId!=0&&Unibase.Platform.Forms.Managers.FormManager.Instance().getControl(ControlId).then(function(response){var result=response.result,PropArray={SectionId:SectionId,SectionName:SectionName,SectionType:SectionType,ControlVariable:result.ControlId+"|"+result.SettingsPageUrl+"|"+result.SettingJsVariableName,DataTypeId:Number(Unibase.Platform.Analytics.Reports.Enums.DataType.object),ControlJsonText:FormPropertiesJson.ControlJsonText,PropertySettings:FormPropertiesJson.PropertySettings,SettingJsVariableName:FormPropertiesJson.SettingJsVariableName},FormPropertyJson;if(SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection&&SectionName=="Hidden")result.ControlName=="HiddenField"?Unibase.Platform.Forms.Components.PropertyEditor.Instance().openPropertyPopup(PropArray,!1,function(){$("#txtWidth").select2({placeholder:"Select Width"});var selectedSection=new Option(SectionName,SectionId.toString(),!0);$("#txtAutoComplete_Section").append(selectedSection);jQuery("#txtAutoComplete_Section").val(SectionId).trigger("change");$("#txtControls").attr("disabled","true");$("#txtWidth").val("2").trigger("change");jQuery("#txtAutoComplete_Section").attr("disabled","disabled")}):MessageHelper.Instance().showError("Only HiddenField Control can be added in Hidden Section.","unibase_formbuilder_errorsummary");else if(result.ControlName=="HiddenField")MessageHelper.Instance().showError("HiddenField Control should be added in Hidden Section.","unibase_formbuilder_errorsummary");else{if(SectionType==Unibase.Platform.Forms.Enums.SectionType.Section&&result.ControlName=="Tag"&&(FormPropertyJson=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x=>x.ControlId==result.ControlId),FormPropertyJson!=null))return MessageHelper.Instance().showError("Cannot add multiple TagCategories.","unibase_formbuilder_errorsummary"),!1;Unibase.Platform.Forms.Components.PropertyEditor.Instance().openPropertyPopup(PropArray,!1,function(){$("#txtWidth").select2({placeholder:"Select Width"});var selectedSection=new Option(SectionName,SectionId.toString(),!0);$("#txtAutoComplete_Section").append(selectedSection);jQuery("#txtAutoComplete_Section").val(SectionId).trigger("change");$("#txtControls").attr("disabled","true");$("#loadDatatypes").attr("disabled","true");jQuery("#txtAutoComplete_Section").attr("disabled","disabled");SectionType==Unibase.Platform.Forms.Enums.SectionType.Section&&result.ControlName=="Tag"&&(jQuery("#txtPropertyName").val("TagControl"),jQuery("#txtPropertyName").css({"background-color":"#eee",color:"black",border:"0",cursor:"not-allowed"}),jQuery("#txtPropertyName").attr("disabled","disabled"))})}}).then(function(){eval("_floatingLabelHelper.init()");$("#txtAutoComplete_Section").select2();callback!=null&&callback()})}):DocPropertyId!=0&&DocPropertyId!=undefined?Unibase.Platform.Forms.Components.PropertyEditor.Instance().openPropertyPopup(FormPropertiesJson,!0,function(){jQuery("#loadDatatypes").attr("disabled","disabled");jQuery("#txtAutoComplete_Section").attr("disabled","disabled");jQuery("#txtDocTypes").attr("disabled","disabled");SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection&&(jQuery("#txtControls").attr("disabled","disabled"),$("#txtWidth").val("2").trigger("change"));callback!=null&&callback()}):Unibase.Platform.Forms.Components.PropertyEditor.Instance().openPropertyPopup(FormPropertiesJson,!1,function(){jQuery("#loadDatatypes").attr("disabled","disabled");jQuery("#txtAutoComplete_Section").attr("disabled","disabled");jQuery("#txtDocTypes").attr("disabled","disabled");jQuery("#txtControls").attr("disabled","disabled");callback!=null&&callback()});DocPropertyId!=0&&DocPropertyId!=undefined?$("#divSectionProperties_ActionProperty").removeClass("hidden"):$("#divSectionProperties_ActionProperty").addClass("hidden")}clickEventsInPropertyCreation(){var instance=Unibase.Platform.Forms.Components.PropertyEditor.Instance();$("#rdbsection_ActionProperty").click(function(){var sectionproperty_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadSectionProperty();$("#divActionProperty").removeClass("d-none");$("#btnSavePropSection").removeClass("d-none");$("#btnSaveProperties").addClass("d-none");$("#divProperty").addClass("hidden");$("#divActionProperty").html(sectionproperty_Template);$(".sectionPropertyHeader").addClass("d-none");$(".optionGray").css("color","#9e9e9e");$(".optionBlack").css("color","black");$("#ddlWidth").on("change",function(){$("#ddlWidth option:selected").hasClass("optionBlack")?($("#ddlWidth").removeClass("optionGray"),$("#ddlWidth").addClass("optionBlack"),$(".optionBlack").css("color","black")):($("#ddlWidth").removeClass("optionBlack"),$("#ddlWidth").addClass("optionGray"),$(".optionGray").css("color","#9e9e9e"))});$("#ddl_SectionType").on("change",function(){$("#ddl_SectionType option:selected").hasClass("optionBlack")?($("#ddl_SectionType").removeClass("optionGray"),$("#ddl_SectionType").addClass("optionBlack"),$(".optionBlack").css("color","black")):($("#ddl_SectionType").removeClass("optionBlack"),$("#ddl_SectionType").addClass("optionGray"),$(".optionGray").css("color","#9e9e9e"))})});$("#rdbsection_Property").click(function(){$("#divActionProperty").addClass("hidden");$("#btnSavePropSection").addClass("hidden");$("#btnSaveProperties").removeClass("hidden");$("#divProperty").removeClass("hidden");$("#divActionProperty").addClass("d-none");$("#btnSavePropSection").addClass("d-none");$("#btnSaveProperties").removeClass("d-none");$("#divProperty").removeClass("d-none")});$("#chkIsRequired").click(function(){$("#chkIsRequired").is(":checked")?($("#divStages").removeClass("hidden"),Unibase.Platform.Forms.Components.PropertyEditor.instance.GetStagesForRequired("select2_IncludedStages",""),Unibase.Platform.Forms.Components.PropertyEditor.instance.GetStagesForRequired("select2_ExcludedStages","")):$("#divStages").addClass("hidden")});$("#chkApplyRoles").click(function(){$("#chkApplyRoles").is(":checked")?($("#divRoles").removeClass("hidden"),Unibase.Platform.Forms.Components.PropertyEditor.instance.loadRoles("select2_IncludedRoles",""),Unibase.Platform.Forms.Components.PropertyEditor.instance.loadRoles("select2_ExcludedRoles","")):$("#divRoles").addClass("hidden")});$("#chkHelp").click(function(){$("#chkHelp").is(":checked")?($("#divHelp").removeClass("hidden"),$("#HelpDisplayTypediv").removeClass("hidden")):($("#txtHelpDetails").val(""),$("#ddl_lblHelpDisplayType").val(0),$("#divHelp").addClass("hidden"),$("#HelpDisplayTypediv").addClass("hidden"))});$("#btn-add-validation").click(function(){var element;let len=Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray.length;Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray.push({key:len,value:0});var validation_addrow_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().addRowForValidationTemplate(),templateScript=Handlebars.compile(validation_addrow_Template),context={length:len+1,ValidationType:"",ValidationId:"",RegularExp:"",ErrorMessage:""};let html=templateScript(context);$(".ValidationInProperty").append(html);$(".ValidationInProperty-no-data").addClass("hidden");element=$(".Validation-row:last");instance.bindList(element)})}bindList(element){element.find("#delete").on("click",function(){let id=$(this).children().children().attr("data-id"),arrayIndex=Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray.findIndex(x=>x.key===Number(id)-1);Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray.splice(arrayIndex,1);$(this).parents(".Validation-row").remove();$(".Validation-row").length==0&&$(".ValidationInProperty-no-data").removeClass("hidden");$(".Validation-row").each(function(i){$(this).find(".title").text(`Validation-`+(i+1))})})}openPropertyPopup(prop,isProperty,callback){this.prop=prop;this.isProperty=isProperty;this.popUpCallBack=callback;this.navigationHelper.popup(0,"",Unibase.Platform.Forms.Components.PropertyEditor.Instance(),function(){},Platform.Helpers.Size.Auto)}loadDataTypesByControlId(ControlId){ControlId!=0&&Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDataTypesByControlId(ControlId).then(function(response){let dataTypes=[];dataTypes.push({id:"",text:"-- Select --"});let result=response.result;for(let i=0;i<result.length;i++){var dataTypeInfo=result[i];dataTypes.push({id:dataTypeInfo.DataTypeId,text:dataTypeInfo.DataTypeName})}$("#loadDatatypes").empty().trigger("change");$("#loadDatatypes").select2({placeholder:{id:"",text:"-- Select --"},data:dataTypes})})}loadControls(ControlId,ControlClass,prop){Unibase.Platform.Forms.Managers.FormManager.Instance().getControls().then(function(response){var controlData=[],controls;let result=response.result;for(let i=0;i<result.length;i++)controls=result[i],controlData.push({id:controls.ControlId+"|"+controls.SettingsPageUrl+"|"+controls.SettingJsVariableName,text:controls.ControlName});$("#txtControls").select2({placeholder:"Select Control",data:controlData})}).then(function(){if(ControlId!=0&&ControlId!=undefined&&ControlId!=null){jQuery("#txtControls").val(ControlClass.toString()).trigger("change");jQuery("#txtControls").find("option:contains('HiddenField')").remove();var dynmicInstance=prop.SettingJsVariableName+".Instance()";prop.ControlJsonText!=""&&eval(dynmicInstance+".bindControlData(JSON.parse(prop.ControlJsonText))");eval(dynmicInstance+".bindPropertySettings(prop)")}})}loadControlsByDataTypeId(prop){if(prop!=null||prop!=undefined){let DataTypeId=prop.DataTypeId,ControlId=prop.ControlId;DataTypeId!=0&&Unibase.Platform.Forms.Managers.FormManager.Instance().loadControlsByDataTypeId(DataTypeId).then(function(response){var controlData=[],controls;let result=response.result;controlData.push({id:"",text:"-- Select --"});for(let i=0;i<result.length;i++)controls=result[i],controlData.push({id:controls.ControlId+"|"+controls.SettingsPageUrl+"|"+controls.SettingJsVariableName,text:controls.ControlName});$("#txtControls").empty().trigger("change");$("#txtControls").select2({placeholder:"Select Control",data:controlData})}).then(function(){var dynmicInstance=prop.SettingJsVariableName+".Instance()",control;if(Number(prop.SectionType)==Unibase.Platform.Forms.Enums.SectionType.HiddenSection){let valControl=jQuery("#txtControls").find("option:contains('HiddenField')").val();jQuery("#txtControls").val(valControl.toString()).trigger("change");dynmicInstance="Unibase.Forms.Controls.hiddenfield_settings.Instance()";eval(dynmicInstance+".bindPropertySettings(prop)")}else jQuery("#txtControls").find("option:contains('HiddenField')").remove(),(ControlId!=null||ControlId!=0)&&(jQuery("#txtControls").find("option:contains('HiddenField')").remove(),control=ControlId+"|"+prop.SettingPageUrl+"|"+prop.SettingJsVariableName,jQuery("#txtControls").val(control.toString()).trigger("change"),prop.ControlJsonText!=""&&eval(dynmicInstance+".bindControlData(JSON.parse(prop.ControlJsonText))"),eval(dynmicInstance+".bindPropertySettings(prop)"))})}}loadDataTypes(DataTypeId){Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDataTypes().then(function(response){let dataTypes=[],result=response.result;for(let i=0;i<result.length;i++){var dataTypeInfo=result[i];dataTypes.push({id:dataTypeInfo.DataTypeId,text:dataTypeInfo.DataTypeName})}$("#loadDatatypes").select2({placeholder:"Select Datatype",data:dataTypes})}).then(function(){DataTypeId!=0&&DataTypeId!=undefined&&jQuery("#loadDatatypes").val(DataTypeId.toString()).select2()})}saveProperty(prop,containerid){var instance=this,ControlClass=$("#txtControls option:selected").val().toString(),SettingPageUrl,ControlId;let SubFormName=$("#txtSuBFormName").val(),ChildFormId=Number($("select#txtFormNames option:selected").val()),RelationPropertyId=Number($("select#txtAutoComplete_RelationProperty option:selected").val());Unibase.Forms.Controls.SubForm_Setting.Instance().SubFormName=SubFormName;Unibase.Platform.Forms.Components.FormBuilder.Instance().ChildFormId=Number(ChildFormId);Unibase.Platform.Forms.Components.FormBuilder.Instance().RelationPropertyId=Number(RelationPropertyId);SettingPageUrl=ControlClass.split("|");ControlId=Number(SettingPageUrl[0]);Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId=ControlId;Unibase.Platform.Forms.Managers.FormManager.Instance().getControl(ControlId).then(function(result){let response=result.result;var controlSettingUrl=SettingPageUrl[1],controlSettingClass=SettingPageUrl[2];Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile(controlSettingUrl,function(){var propertysettingsobj=prop!=null?prop.PropertySettings:"",Controljsontext=eval(controlSettingClass+".Instance().SaveControlData('')"),propertysettings=eval(controlSettingClass+".Instance().savePropertySettings(prop)"),IsRequired,isHelp,helpText="",uniqueId,curFormProp,helpDisplayType,propertyjson;IsRequired=$("#chkIsRequired").is(":checked")?!0:!1;$("#chkHelp").is(":checked")?(isHelp=!0,helpText=$("#txtHelpDetails").val().toString()):isHelp=!1;prop==null&&(Unibase.Platform.Forms.Components.FormBuilder.Instance().TempDocPropertyId+=1);uniqueId=prop.FormPropertyId;(prop.FormPropertyId==0||prop.FormPropertyId==undefined)&&(prop.DocPropertyId!=undefined?(curFormProp=Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson.find(x=>x.DocPropertyId==prop.DocPropertyId),uniqueId=curFormProp==undefined?moment().valueOf():curFormProp.UniqueId):uniqueId=moment().valueOf());helpDisplayType=0;Number($("#ddl_lblHelpDisplayType").val())!=NaN&&Number($("#ddl_lblHelpDisplayType").val())!=undefined&&(helpDisplayType=Number($("#ddl_lblHelpDisplayType").val()));propertyjson={FormPropertyId:prop.FormPropertyId!=undefined?prop.FormPropertyId:0,DocPropertyId:prop.DocPropertyId!=undefined?prop.DocPropertyId:Unibase.Platform.Forms.Components.FormBuilder.Instance().TempDocPropertyId,DocPropertyName:prop.DocPropertyName,FormPropertyName:$("#txtPropertyName").val().toString(),DocTypeId:Number($("#txtDocTypes option:selected").val()),DataTypeId:Number($("#loadDatatypes option:selected").val()),DocTypeName:$("#txtDocTypes option:selected").text(),SectionId:Number($("#txtAutoComplete_Section option:selected").val()),SectionName:$("#txtAutoComplete_Section option:selected").text(),PropertyWidth:Number($("#txtWidth").val()),IsDefault:prop.IsDefault!=undefined?prop.IsDefault:!1,IsRequired:IsRequired,ControlId:ControlId,ControlName:response.ControlName,ControlVariable:response.JsVariableName,ControlJsUrl:response.URL,SettingPageUrl:response.SettingsPageUrl,SettingJsVariableName:response.SettingJsVariableName,LabelName:$("#txtDisplayName").val().toString(),Placeholder:$("#txtPlaceHolder").val().toString(),ControlJsonText:Controljsontext,IncludedStages:$("#select2_IncludedStages").val().toString().replace(/,/g,"|"),ExcludedStages:$("#select2_ExcludedStages").val().toString().replace(/,/g,"|"),IncludedRoles:$("#select2_IncludedRoles").val().toString().replace(/,/g,"|"),ExcludedRoles:$("#select2_ExcludedRoles").val().toString().replace(/,/g,"|"),RowIndex:prop.RowIndex!=undefined?prop.RowIndex:0,DocTypeTableName:"",Validations:Unibase.Platform.Forms.Components.PropertyEditor.instance.getValidations(),PropertySettings:propertysettings,SectionType:prop.SectionType,PropertyType:"Property",GroupName:"",Level:0,StagesForRequired:null,IsMultiple:!1,IsSwitch:!1,IsExtProperty:prop.DocPropertyId!=undefined?!1:!0,IsNewEntry:prop==null?!0:!1,Value:"",IsStaticControl:prop.IsStaticControl,UniqueId:uniqueId,ParentFormPropertyId:prop.ParentFormPropertyId,IsHelp:isHelp,HelpText:helpText,HelpDisplayType:Number($("#ddl_lblHelpDisplayType").val())};Unibase.Platform.Forms.Components.FormBuilder.instance.loadFormProperty(propertyjson);$("#"+containerid).modal("hide");$("#"+containerid).remove();instance.navigationHelper.hideLoading();prop.SectionName=="Hidden"&&($("#hidePropertyBtn"+prop.DocPropertyId).addClass("d-none"),$("#editPropertyBtn"+prop.DocPropertyId).removeClass("d-none"),$("#PropertyEye"+prop.DocPropertyId).addClass("d-none"),$("#PropertyEyeOff"+prop.DocPropertyId).removeClass("d-none"))})})}saveActionProperty(prop,containerid){var instance=this,sectionPropertyId=Unibase.Platform.Forms.Components.PropertyEditor.Instance().SectionPropertyId,DocPropertyId=0,PropArray=prop,propertyjson;sectionPropertyId!=0?(PropArray={SectionId:prop.SectionId,SectionName:prop.SectionName},DocPropertyId=sectionPropertyId):DocPropertyId=Unibase.Platform.Forms.Components.PropertyEditor.Instance().TempSectionPropertyId;propertyjson={FormPropertyId:sectionPropertyId,DocPropertyId:DocPropertyId,FormPropertyName:"",DocPropertyName:$("#txt_SectionPropertyName").val().toString(),DocTypeId:0,DataTypeId:0,DocTypeName:"",SectionId:Number(PropArray.SectionId),SectionName:PropArray.SectionName,PropertyWidth:Number($("#ddlWidth").val()),IsDefault:!1,IsRequired:!1,ControlId:0,ControlName:"",ControlVariable:"",ControlJsUrl:"",SettingPageUrl:"",SettingJsVariableName:"",LabelName:$("#txt_SectionPropertyName").val().toString(),Placeholder:$("#txt_SectionPropertyName").val().toString(),ControlJsonText:null,IncludedStages:null,ExcludedStages:null,IncludedRoles:null,ExcludedRoles:null,RowIndex:prop!=null?prop.RowIndex:0,DocTypeTableName:"",Validations:null,PropertySettings:null,SectionType:$("#ddl_SectionType option:selected").val().toString(),PropertyType:"Section",GroupName:$("#txt_GroupName").val().toString(),Level:0,StagesForRequired:null,IsMultiple:!1,IsSwitch:!1,IsExtProperty:!1,IsNewEntry:!1,Value:"",IsStaticControl:!1,UniqueId:sectionPropertyId==0||sectionPropertyId==undefined?moment().valueOf():sectionPropertyId,ParentFormPropertyId:0,IsHelp:!1,HelpText:"",HelpDisplayType:0};Unibase.Platform.Forms.Components.FormBuilder.instance.loadFormProperty(propertyjson);$("#"+containerid).modal("hide");$("#"+containerid).remove();instance.navigationHelper.hideLoading()}loadingFormPropertiesData(prop){var instance=Unibase.Platform.Forms.Components.PropertyEditor.Instance();instance.loadAddPropertyHtml(prop.DocPropertyId,prop.DocPropertyName,prop.ControlId,prop.SectionId,prop.SectionName,Number(prop.SectionType),"Edit",!1,prop,function(){if(prop.PropertyType=="Section")$("#rdbsection_ActionProperty").prop({checked:!0}).trigger("click"),$("#ddl_SectionType").val(prop.SectionType.toString()),$("#txt_SectionPropertyName").val(prop.DocPropertyName),$("#txt_GroupName").val(prop.GroupName),$("#ddlWidth").val(prop.PropertyWidth.toString()),Unibase.Platform.Forms.Components.PropertyEditor.Instance().SectionPropertyId=prop.FormPropertyId;else{$("#rdbsection_Property").prop({checked:!0}).trigger("click");var SettingPageUrl=prop.SettingPageUrl;SettingPageUrl!=""&&instance.fileCacheHelper.loadJsFile(SettingPageUrl,function(){instance.bindFormProperties(prop);Unibase.Platform.Forms.Components.FormBuilder.instance.preparingPropertiesList(prop)})}eval("_floatingLabelHelper.init()")})}bindFormProperties(prop){$(document).ready(function(){var selectedSection,validations,includedRoles,excludedRoles;if($("#txtDocTypes").prop("disabled",!0),$("#txtDisplayName").val(prop.LabelName),$("#txtPlaceHolder").val(prop.Placeholder),$("#txtPropertyName").val(prop.FormPropertyName),$("#txtDocPropertyName").val(prop.DocPropertyName),Unibase.Platform.Forms.Components.PropertyEditor.Instance().RowIndex=prop.RowIndex,prop.IsSwitch==!0?($("#chkIsSwitch").prop({checked:!0}),$("#CheckBoxdetails_div").removeClass("hidden")):($("#chkIsSwitch").prop({checked:!1}),$("#CheckBoxdetails_div").addClass("hidden")),prop.IsMultiple==!0?$("#CheckBoxdetails_div").removeClass("hidden"):$("#CheckBoxdetails_div").addClass("hidden"),prop.IsRequired==!0?$("#chkIsRequired").prop({checked:!0}):$("#chkIsRequired").prop({checked:!1}),$("#txtWidth").val(prop.PropertyWidth),selectedSection=new Option(prop.SectionName,prop.SectionId.toString(),!1,!1),$("#txtAutoComplete_Section").append(selectedSection).trigger("change"),$("#txtAutoComplete_Section").select2(),Unibase.Platform.Forms.Components.PropertyEditor.Instance().AutoCompleteId_Section=prop.SectionId,validations=prop.Validations,validations!=null){let k=0;for(let i=validations.length-1;i>=0;i--)$("#btn-add-validation").click(),k+=1,$(".txt_ValidationName_"+k).val(validations[i].ValidationType),$(".txt_RegularExpression_"+k).val(validations[i].RegularExp),$(".txt_ErrorMessage_"+k).val(validations[i].ErrorMessage),Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray[k-1].value=validations[i].ValidationId}Unibase.Platform.Forms.Components.PropertyEditor.instance.GetStagesForRequired("select2_IncludedStages",prop.IncludedStages);Unibase.Platform.Forms.Components.PropertyEditor.instance.GetStagesForRequired("select2_ExcludedStages",prop.ExcludedStages);Unibase.Platform.Forms.Components.PropertyEditor.instance.loadRoles("select2_IncludedRoles",prop.IncludedRoles);Unibase.Platform.Forms.Components.PropertyEditor.instance.loadRoles("select2_ExcludedRoles",prop.ExcludedRoles);prop.IsRequired==!0&&($("#divStages").removeClass("hidden"),(prop.IncludedStages!=""||prop.ExcludedStages!="")&&(prop.IncludedStages!=null||prop.ExcludedStages!=null)&&($("#chkApplyRoles").prop("checked",!0),$("#divRoles").removeClass("hidden"),prop.IncludedStages!=""&&prop.IncludedStages!=null&&$("#select2_ExcludedStages").prop("disabled",!0),prop.ExcludedStages!=""&&prop.ExcludedStages!=null&&$("#select2_IncludedStages").prop("disabled",!0)));(prop.IncludedRoles!=""||prop.ExcludedRoles!="")&&(prop.IncludedRoles!=null||prop.ExcludedRoles!=null)&&($("#chkApplyRoles").prop("checked",!0),$("#divRoles").removeClass("hidden"),prop.IncludedRoles!=""&&prop.IncludedRoles!=null&&($("#select2_ExcludedRoles").prop("disabled",!0),includedRoles=prop.IncludedRoles.toString().split("|"),jQuery("#select2_IncludedRoles").val(includedRoles).trigger("change")),prop.ExcludedRoles!=""&&prop.ExcludedRoles!=null&&($("#select2_IncludedRoles").prop("disabled",!0),excludedRoles=prop.ExcludedRoles.toString().split("|"),jQuery("#select2_ExcludedRoles").val(excludedRoles).trigger("change")));Unibase.Platform.Forms.Components.PropertyEditor.Instance().ParentTagjson=prop.ControlJsonText;eval("_floatingLabelHelper.init()")})}loadDocTypesAutoComplete(prop){var InstalledAppId=Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId;this._docTypeManager.getDocTypesByAppId(InstalledAppId).then(function(response){var docTypeData=[],docTypes;let result=response.result;for(let i=0;i<result.length;i++)docTypes=result[i],docTypeData.push({id:docTypes.DocTypeId,text:docTypes.DocTypeName});$("#txtDocTypes").select2({placeholder:"Select DocType",data:docTypeData})}).then(function(){$("#txtDocTypes").val(prop.DocTypeId).trigger("change")})}loadIsHelp(prop){prop!=null&&(prop.IsHelp&&($("#chkHelp").prop("checked",!0),$("#divHelp").removeClass("hidden"),$("#HelpDisplayTypediv").removeClass("hidden"),$("#txtHelpDetails").val(prop.HelpText)),prop.HelpDisplayType==undefined?$("#ddl_lblHelpDisplayType").val(0):$("#ddl_lblHelpDisplayType").val(prop.HelpDisplayType))}GetStagesForRequired(ControlId,SelectedValues){(SelectedValues==""||SelectedValues==null)&&(SelectedValues=0);var installedappid=Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId;Unibase.Platform.Apps.Managers.StageManager.Instance().getStages(installedappid).then(function(response){var StageData,stage;let result=response.result;StageData=[];for(let i=0;i<result.length;i++)stage=result[i],StageData.push({id:stage.StageId,text:stage.StageName});$("#select2_IncludedStages").select2({placeholder:"Select Stage",data:StageData});$("#select2_ExcludedStages").select2({placeholder:"Select Stage",data:StageData})}).then(function(){var includedStages,excludedStages;ControlId=="select2_IncludedStages"?SelectedValues!=""&&SelectedValues!=null&&(includedStages=SelectedValues.toString().split("|"),jQuery("#select2_IncludedStages").val(includedStages).trigger("change")):SelectedValues!=""&&SelectedValues!=null&&(excludedStages=SelectedValues.toString().split("|"),jQuery("#select2_ExcludedStages").val(excludedStages).trigger("change"))});$("#"+ControlId).css("border-color","rgb(255, 255, 255)");jQuery("#"+ControlId).val("123").trigger("change");$("#"+ControlId).on("select2:select",function(e){e.currentTarget.id=="select2_IncludedStages"?$("#select2_ExcludedStages").prop("disabled",!0):$("#select2_IncludedStages").prop("disabled",!0)});$("#"+ControlId).on("select2:unselect",function(e){e.currentTarget.id=="select2_IncludedStages"?$("#"+e.currentTarget.id).val()==""&&$("#select2_ExcludedStages").prop("disabled",!1):$("#select2_ExcludedStages").val()==""&&$("#select2_IncludedStages").prop("disabled",!1)})}loadRoles(controlId,SelectedValues){(SelectedValues==""||SelectedValues==null)&&(SelectedValues=0);Unibase.Platform.Permissions.Managers.PermissionManager.Instance().getRoles("").then(function(response){var rolesData,roles;let result=response.result;rolesData=[];for(let i=0;i<result.length;i++)roles=result[i],rolesData.push({id:roles.RoleId,text:roles.RoleName});$("#select2_IncludedRoles").select2({placeholder:"Select Role",data:rolesData});$("#select2_ExcludedRoles").select2({placeholder:"Select Role",data:rolesData})}).then(function(){var includedRoles,excludedRoles;controlId=="select2_IncludedRoles"?SelectedValues!=""&&SelectedValues!=null&&(includedRoles=SelectedValues.toString().split("|"),jQuery("#select2_IncludedRoles").val(includedRoles).trigger("change")):SelectedValues!=""&&SelectedValues!=null&&(excludedRoles=SelectedValues.toString().split("|"),jQuery("#select2_ExcludedRoles").val(excludedRoles).trigger("change"))});$("#"+controlId).on("select2:select",function(e){e.currentTarget.id=="select2_IncludedRoles"?$("#select2_ExcludedRoles").prop("disabled",!0):$("#select2_IncludedRoles").prop("disabled",!0)});$("#"+controlId).on("select2:unselect",function(e){e.currentTarget.id=="select2_IncludedRoles"?$("#"+e.currentTarget.id).val()==""&&$("#select2_ExcludedRoles").prop("disabled",!1):$("#select2_ExcludedRoles").val()==""&&$("#select2_IncludedRoles").prop("disabled",!1)})}bindControlData(prop){var dynmicInstance=eval(prop.settingJsVariableName+".Instance()");dynmicInstance.bindControlData(prop.controlJsonText)}saveControlData(prop){return eval(prop.SettingJsVariableName+".saveControlData(prop);")}savingFormPropertiesData(){var propJson=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson,prop=JSON.stringify(propJson);Unibase.Platform.Forms.Components.PropertyEditor.Instance().IsDefaultProperty==!0&&(prop=this.saveFormProperty(prop));prop=this.saveFormpropertiesNew(prop);prop=this.saveControlData(prop);this.loadControl(prop);(prop.ControlName=="RadioButton"||prop.ControlName=="CheckBox")&&eval(prop.ControlVariable+'.getControlOptions(0,"'+prop.DocPropertyName+'",prop);')}isNumber(event){var iKeyCode=event.which?event.which:event.keyCode;if(iKeyCode!=46&&iKeyCode>31&&(iKeyCode<48||iKeyCode>57))return!1}saveFormProperty(prop){return prop}saveFormpropertiesNew(prop){var oldSectionId=prop.SectionId,oldSectionName=prop.SectionName,oldDocPropertyId=prop.DocPropertyId,chkvalue,chkIsReqvalue;return chkvalue=$("#chkIsSwitch").prop("checked")?!0:!1,chkIsReqvalue=$("#chkIsRequired").prop("checked")?!0:!1,prop.DocPropertyId=Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId,prop.ControlId=$("#ddlControlType option:selected").val(),prop.LabelName=$("#txtLabelName").val(),prop.Placeholder=$("#txtPlaceHolder").val(),prop.IsRequired=chkIsReqvalue,prop.Width=$("#ddlWidth").val(),prop.IsSwitch=chkvalue,prop.SectionId=Unibase.Platform.Forms.Components.PropertyEditor.Instance().AutoCompleteId_Section,prop.SectionName=$("#txtAutoComplete_Section option:selected").text(),prop.IncludedStages=$("#select2_IncludedStages").val()!=undefined?$("#select2_IncludedStages").val().toString().replace(/,/g,"|"):"",prop.ExcludedStages=$("#select2_ExcludedStages").val()!=undefined?$("#select2_ExcludedStages").val().toString().replace(/,/g,"|"):"",prop.IncludedRoles=$("#select2_IncludedRoles").val()!=undefined?$("#select2_IncludedRoles").val().toString().replace(/,/g,"|"):"",prop.ExcludedRoles=$("#select2_ExcludedRoles").val()!=undefined?$("#select2_ExcludedRoles").val().toString().replace(/,/g,"|"):"",oldSectionId!=prop.SectionId&&(oldSectionName=oldSectionName.replace(/ /g,""),$("#SectionBody_"+oldSectionName).find(".divCustomFormProperties_"+oldDocPropertyId).remove()),prop}loadControl(prop){var instance=Unibase.Platform.Forms.Components.PropertyEditor.Instance(),FormPropertiesJson=JSON.stringify(prop),html="",sectionname=prop.SectionName.replace(/ /g,""),sectionhtml,textcolumn,DocPropertyName,controljsurl;if(prop.PropertyType=="Section"){if(sectionhtml="",prop.SectionType=="Radio")textcolumn=prop.DocPropertyName.replace(/ /g,""),sectionhtml+='<div class="custom-control custom-radio"><input type = "radio" id="rdbsection_'+textcolumn+'" name="'+prop.GroupName+'" class="custom-control-input" ><label class="custom-control-label" for="rdbsection_'+textcolumn+'">'+prop.DocPropertyName+"<\/label><\/div >";else if(prop.SectionType=="Tab")sectionhtml+='<button class="btn btn-light form-control" style ="border:0px" type="button" id="Tabsection_'+prop.DocPropertyName+'" ><span style="min-width:160px;text-align:center;" id="TabsectionSpan_'+prop.DocPropertyName+'"> '+prop.GroupName+"<\/span><\/button >";else if(prop.SectionType=="Checkbox")DocPropertyName=prop.DocPropertyName.replace(/ /g,""),sectionhtml+=prop.GroupName=="switch"?'<div id="div_'+DocPropertyName+'"><label id="lbl_'+DocPropertyName+'"class="lblCheckBoxSection_'+prop.DocPropertyName+" "+prop.GroupName+'">'+prop.DocPropertyName+'<\/label><span id="spnChk_'+DocPropertyName+'" data-isswitch="true"><label id="lblCheckBoxSection_'+DocPropertyName+'" class="switch m-t pull-right"><input type="checkbox" id="chkSection_'+DocPropertyName+'" name="'+prop.DocPropertyName+'" /><span><\/span><\/label><\/span><\/div>':'<div class="custom-control custom-checkbox"><input type="checkbox" class="custom-control-input" id="chkSection_'+DocPropertyName+'" name="'+prop.DocPropertyName+'"><label class="custom-control-label" for="chkSection_'+DocPropertyName+'" id="lblCheckBoxSection_'+DocPropertyName+'" class="lblCheckBoxSection_'+prop.DocPropertyName+" "+prop.GroupName+'">'+prop.DocPropertyName+"<\/label><\/div>";else if(prop.SectionType=="Button")sectionhtml+=prop.GroupName!=""?'<a id="btnSection_'+prop.DocPropertyName+'" class="btn btn-primary"> '+prop.GroupName+"<\/a>":'<a id="btnSection_'+prop.DocPropertyName+'" class="btn btn-info"><p class="clear">'+prop.DocPropertyName+"<\/p><\/a>";else if(prop.SectionType=="HyperLink")DocPropertyName=prop.DocPropertyName.replace(/ /g,""),sectionhtml+='<a href="javascript:;" id="hrefSection_'+DocPropertyName+'"class="pull-right" style="text-decoration:underline;color:deepskyblue">'+prop.DocPropertyName+"<\/a>";else if(prop.SectionType=="Empty")sectionhtml+="";else if(prop.SectionType=="Label")sectionhtml+='<Label id="labelSection_'+prop.DocPropertyName+'" class="mt-25">'+prop.GroupName+"<\/label>";else if(prop.SectionType=="DropDown"){let dropdownarray,groupname=$("#txt_GroupName").val();groupname!=prop.GroupName?(groupname=prop.GroupName,sectionhtml+='<Label id="labelSection_'+prop.GroupName+'" >'+prop.GroupName+'<\/label><select id="dropdownSection_'+prop.GroupName+'" class="form-control value-control"><\/select>',dropdownarray.push(prop)):dropdownarray.push(prop)}DocPropertyName=prop.DocPropertyName.replace(/ /g,"");html='<div class=" m-b control-group divCustomProperties divCustomFormProperties divCustomFormProperties_'+prop.DocPropertyId+" controldata_"+prop.DocPropertyId+" col-sm-"+prop.Width+'" data-size="'+prop.Width+'" data-propertyname="'+prop.DocPropertyName+'" data-propertyid="'+prop.DocPropertyId+'" data-formpropertyid="'+prop.DocPropertyId+'" data-doctypename="'+prop.DocTypeName+'" data-isdefault="'+prop.IsDefault+'" data-propertytype="Section" data-sectionid="'+prop.SectionId+'" data-sectionname="'+prop.SectionName+'" tooltip="SectionProperties" ><div id="control-container-'+prop.DocPropertyId+'" class="PropertyText_'+prop.DocPropertyId+" PropertyText docPropHighlight-"+prop.DocPropertyId+'">'+sectionhtml+'<\/div><div class=" editremoveicons hidden" style="position:absolute;5;z-index:2;top:0;width:inherit;"><i class="fa fa-sort pull-left"><\/i><a href="javascript:;" class="pull-right mr-20 delete_" onclick="instance.removeSectionProperty('+prop.DocPropertyId+');"><i class="fa fa-times icon-muted fa-fw"><\/i><\/a><a href="javascript:;" class="pull-right mr-0 edit_" onclick="instance.editSectionProperty('+prop.FormPropertyId+","+prop.SectionId+');"><i class="fa fa-pencil icon-muted fa-fw m-r-xs"><\/i><\/a><\/div><\/div>';$("#SectionBody_"+sectionname).find("#liProperty_"+prop.DocPropertyId).remove();$("#SectionBody_"+sectionname).find(".divCustomFormProperties_"+prop.DocPropertyId).length>0?$("#SectionBody_"+sectionname).find(".divCustomFormProperties_"+prop.DocPropertyId+":first").replaceWith(html):$("#SectionBody_"+sectionname).find(".divCustomFormProperties:last").after(html);this.hoverOnProperty(sectionname,prop.DocPropertyId)}else controljsurl=prop.ControlJsUrl.split(".")[0],this.fileCacheHelper.loadJsFile(controljsurl+".js",function(){var DocPropertyName=prop.DocPropertyName,DocPId=prop.DocPropertyId;DocPropertyName==null&&(DocPropertyName=prop.DocTypeName,DocPId=prop.DocTypeId);html='<div class="m-b control-group divCustomProperties divCustomFormProperties divCustomFormProperties_'+DocPId+" controldata_"+prop.DocPropertyId+" col-sm-"+prop.Width+'" data-size="'+prop.Width+'" data-propertyname="'+DocPropertyName+'" data-propertyid="'+prop.DocPropertyId+'" data-formpropertyid="'+prop.FormPropertyId+'" data-doctypename="'+prop.DocTypeName+'" data-isdefault="'+prop.IsDefault+'" data-formpropertyid="'+prop.FormPropertyId+'" data-propertytype="Property" data-sectionid="'+prop.SectionId+'" data-sectionname="'+prop.SectionName+'" tooltip="FormProperties" ><div id="control-container-designmode-'+prop.FormPropertyId+'" class="PropertyText_'+prop.DocPropertyId+" PropertyText docPropHighlight-"+prop.DocPropertyId+' clear pl-10 pr-10"><\/div><div class="editremoveicons hidden mt-10" style="position:absolute;5;z-index:2;top:0;width:inherit;"> <i class="fa fa-sort pull-left"><\/i><a href="javascript:;" class="pull-right mr-20 delete_" onclick="instance.removeControl('+prop.ControlId+","+prop.DocPropertyId+');"><i class="fa fa-times icon-muted fa-fw"><\/i><\/a><a href="javascript:;" class="pull-right mr-0 edit_" onclick="instance.editControl('+DocPId+');"><i class="fa fa-pencil icon-muted fa-fw m-r-xs"><\/i><\/a><\/div><\/div>';$("#liProperty_"+prop.DocPropertyId).remove();$("#SectionBody_"+sectionname).find("#liProperty_"+prop.DocPropertyId).remove();prop.SectionType==11||($("#SectionBody_"+sectionname).find(".divCustomFormProperties_"+prop.DocPropertyId).length>0?$("#SectionBody_"+sectionname).find(".divCustomFormProperties_"+prop.DocPropertyId+":first").replaceWith(html):$("#SectionBody_"+sectionname).find(".divCustomFormProperties:last").after(html));prop.PropertyType!="Section"&&prop.ControlVariable!=""&&prop.ControlVariable!=undefined&&(eval(prop.ControlVariable+'.loadcontrol("control-container-designmode-'+prop.FormPropertyId+'",prop);'),eval(prop.ControlVariable+".init("+prop.FormPropertyId+","+prop.DocPropertyId+',"'+prop.DocPropertyName+'",prop);'));instance.hoverOnProperty(sectionname,prop.DocPropertyId)});let sectionEvent=$("#SectionBody_"+sectionname);sectionEvent.sortable({revert:!0,scroll:!1,cursor:"move",forceHelperSize:!0,connectWith:".SectionBody",start:function(){},stop:function(event,ui){var FormPropertyJson=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x=>x.DocPropertyId==prop.DocPropertyId);FormPropertyJson.SectionId=Number($(ui.item).parent(".SectionBody").attr("data-sectionid"));FormPropertyJson.SectionName=$(ui.item).parent(".SectionBody").attr("data-sectionname");Unibase.Platform.Forms.Components.FormBuilder.instance.preparingPropertiesList(FormPropertyJson)}})}removeSectionProperty(PropertyId){$(".divCustomFormProperties_"+PropertyId).remove()}editSectionProperty(DocPropertyId){Unibase.Platform.Forms.Components.PropertyEditor.Instance().SectionPropertyId=DocPropertyId}editControl(dpid){var propJson=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x=>x.DocPropertyId==dpid),prop;propJson!=undefined&&(prop=propJson,Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId=prop.ControlId,Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId=prop.DocPropertyId,Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyName=prop.DocPropertyName,Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertyId=prop.FormPropertyId,Unibase.Platform.Forms.Components.PropertyEditor.Instance().loadingFormPropertiesData(prop))}removeControl(ControlId,PropertyId){var PropertyName,DocPropId,formId;!0&&(formId=Unibase.Platform.Forms.Components.FormBuilder.Instance().DesignerFormId,this._docTypeManager.deleteDocProperty(PropertyId,formId).then(function(){}),this._docTypeManager.getDocProperty(PropertyId).then(function(response){var data;let html="";data=response.result;PropertyName=data.DocPropertyName;DocPropId=data.DocPropertyId;var Width=data.PropertyWidth,IsDefault=data.IsDefault,deletetext="";IsDefault==!1&&(deletetext='<a href="javascript:" onclick="Unibase.Forms.Components.PropertyEditor.Instance().deleteProperty('+data.DocPropertyId+');" class="pull-right"><i class="fa fa-trash text-danger"><\/i><\/a>');html+='<li class="list-group-item objproperty-item bg-dark" id="liProperty_'+DocPropId+'" draggable="true" data-docpropertyid="'+DocPropId+'" data-docpropertyname="'+PropertyName+'" data-controlid="'+data.ControlId+'" data-type="Property" ><div id ="txtdiv" class="Prop"><a href="javascript:" title="Property" id="lblPropertyName-'+DocPropId+'" onclick="Unibase.Forms.Components.PropertyEditor.Instance().addControl(\''+PropertyName+"',"+data.ControlId+","+DocPropId+",' ');\">"+PropertyName+"<\/a> "+deletetext+"<\/div ><\/li>";$("#ulObjProperties:last").after(html)}),$(".divCustomFormProperties_"+PropertyId).remove())}deleteProperty(DocPropertyId,FormId,liid){!0&&this._docTypeManager.deleteDocProperty(FormId,DocPropertyId).then(function(){$("#liProperty_"+liid).remove()})}addControl(){}hoverOnProperty(sectionname,DocPropertyId){$("#SectionBody_"+sectionname).find(".divCustomFormProperties_"+DocPropertyId).hover(function(){return $(this).addClass("bg-light"),$(this).find(".editremoveicons").removeClass("hidden"),!1},function(){$(this).removeClass("bg-light");$(this).find(".editremoveicons").addClass("hidden")})}getValidations(){var Validation=[];let i=0;return $(".Validation-row").each(function(){var validationinfo;if($(this).find("#txt_RegularExpression").val()!=undefined&&$(this).find("#txt_RegularExpression").val()!=""){var ValidationName=$(this).find("#txt_ValidationName").val(),RegularExpression=$(this).find("#txt_RegularExpression").val(),ErrorMessage=$(this).find("#txt_ErrorMessage").val(),ValidationId=Unibase.Platform.Forms.Components.PropertyEditor.Instance().ValidationArray[i].value;i+=1;RegularExpression!=""&&(validationinfo={ValidationId:Number(ValidationId),ValidationType:ValidationName.toString(),RegularExp:RegularExpression.toString(),ErrorMessage:ErrorMessage.toString(),DocPropertyId:Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId)},Validation.push(validationinfo))}}),Validation=Validation.reverse()}noSpaceValidation(e){if(e.which==32)return!1}static Instance(){return this.instance===undefined&&(this.instance=new PropertyEditor),this.instance}}Components.PropertyEditor=PropertyEditor})(Components=Forms.Components||(Forms.Components={}))})(Forms=Platform.Forms||(Platform.Forms={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Forms;(function(Forms){let Components;(function(Components){class SectionEditor extends Platform.Core.BaseComponent{constructor(){super(...arguments);this.SectionId=0}cssFiles(){return[]}jsFiles(){return["/platform/forms/components/formbuilder/sectioneditor.js"]}html(){return`<div class="b-b bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title" id="">Add Section</strong><div id="unibase_sectioneditor_errorsummary" class="form-error-message"></div><a class="btn btn-sm ml-auto"><i class="ti-help-alt" title="help" href="javascript:;" target="_blank"></i></a></div>
  50. <div data-simplebar class="simple-scroll-bar scrollable" id="divAddProperty"><div id="unibase_addnewproperty_errorsummary" class="clear"></div><div class="card">
  51. <div class="col-sm-12 row">
  52. <div class="txtSectionName col-sm-6" id="secInputDiv">
  53. <div class="floating-label-form-group div_txt div_designationname">
  54. <label for="lbl" id="lbl_" class="lbl_txt">Section Name<span class="text-danger " id="spnIsRequired_"> *</span></label>
  55. <input type="text" id="txt_sectionname" class="form-control value-control required floating-label-control" placeholder="Section Name *" data-placeholder="Section Name *" data-label="Section Name *">
  56. </div></div>
  57. <div class="txtSectionName col-sm-6" id="secInputDiv">
  58. <div class="floating-label-form-group">
  59. <label for="lbl" id="lbl_" class="lbl_ParentDivId">Parent DivId</label>
  60. <input type="text" id="txt_parentdivid" class="form-control value-control required floating-label-control" placeholder="Parent DivId" data-placeholder="Parent DivId" data-label="Parent DivId">
  61. </div></div>
  62. </div>
  63. <div class="action-wrap col-sm-12 row">
  64. <div class="col-sm-6 form-group floating-label mt-15">
  65. <span id="spnhidesection_" class="">Hide Section<label id="lblCheckBox_" class="lblCheckBox_ switch m-t pull-right"><input type="checkbox" id="chkhidesection_" class="type-control chk_" name="" placeholder = "' + prop.Placeholder + '"/><span></span></label></span>
  66. </div>
  67. <div class="col-sm-6 form-group floating-label mt-15">
  68. <span id="spnautocollapse_" class="">AutoCollapse<label id="lblCheckBox_" class="lblCheckBox_ switch m-t pull-right"><input type="checkbox" id="chkautocollapse_" class="type-control chk_" name="" placeholder = "' + prop.Placeholder + '"/><span></span></label> </span>
  69. </div></div></div></div>
  70. <div class="bg-white b-t modal-footer pa-10" id="propertyFooter"><button id="btnCloseProperty" class="btn btn-light btn-close btn-sm mr-auto">Close</button><button id="saveSection" class="btn btn-primary btn-sm pull-right">Save</button></div>`}load(){}preparingSectionsList(SectionName,SectionId,SectionType,FormJson){var checkSection,sectionIndex,secObj;FormJson!=null&&FormJson.Sections.length>=0&&(checkSection=FormJson.Sections.find(x=>x.SectionId==SectionId),checkSection!=null&&checkSection!=undefined?(sectionIndex=FormJson.Sections.findIndex(x=>x.SectionId==SectionId),secObj={SectionId:SectionId,SectionName:SectionName,SectionType:SectionType.toString(),FormProperties:checkSection.FormProperties,EnableAutoCollapse:Boolean(checkSection.EnableAutoCollapse),HideSection:Boolean(checkSection.HideSection),ParentDivId:checkSection.ParentDivId},FormJson.Sections[sectionIndex]=secObj):(secObj={SectionId:SectionId,SectionName:SectionName,SectionType:SectionType.toString(),FormProperties:[],EnableAutoCollapse:Boolean($("#chkautocollapse_").prop("checked")),HideSection:Boolean($("#chkhidesection_").prop("checked")),ParentDivId:$("#txt_parentdivid").val().toString()},FormJson.Sections.push(secObj)))}loadSectionHtml(SectionName,SectionId,SectionType,SectionStatus,FormJson){var checkSection;Components.FormBuilder.instance.formpropertyNames[Components.FormBuilder.instance.formPropertyCount]=SectionName.replace(/\s/g,"")+"-SectionName";Components.FormBuilder.instance.formPropertyCount++;this.preparingSectionsList(SectionName,SectionId,SectionType,FormJson);var autocollapse=!1,hidesection=!1,parentdivid="";FormJson!=undefined&&(checkSection=FormJson.Sections.find(x=>x.SectionId==SectionId),autocollapse=checkSection.EnableAutoCollapse,hidesection=checkSection.HideSection,parentdivid=checkSection.parentdivid);let newhtml=``,leftsectionhtml="";SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection?(Unibase.Platform.Forms.Components.FormBuilder.Instance().HiddenSectionId=SectionId,newhtml=`<div class="section_`+SectionId+` card hiddendivSection col-sm-12 divSection pl-0 pr-0"><div class="card-header pt-0 pb-2" id="secHeader_`+SectionId+`"><div class="fixedHeader"><strong class="sectionName ml-30">`+SectionName+`</strong></div></div><div class="card-body row sectionBody-Element" id="SectionBody_`+SectionId+`" style="min-height:120px" data-sectionid="`+SectionId+`" data-sectionname="`+SectionName+`" data-sectiontype="`+SectionType+`" data-sectionstatus="`+SectionStatus+`"><div class="divCustomFormProperties hidden" id="divCustomFormProperties"></div></div></div>`):(newhtml=`<div id="section-focus-`+SectionId+`" class="form-sec-wrap" style="padding:0">
  71. <div class="form-sec-block card mb-15 divSection ui-sortable-handle section_`+SectionId+`">
  72. ${""}
  73. <div id="secHeader_`+SectionId+`">
  74. <header class="sec-block-head">
  75. <div class="d-flex align-items-center" id="secText_`+SectionId+`">
  76. <i class="las la-braille dragger"></i>
  77. <h6 class="sectionName">`+SectionName+`</h6>
  78. </div>
  79. <div class="txtSectionName d-none col-sm-4 ml-15" id="secInputDiv_`+SectionId+`">
  80. <div class="input-group floating-label-form-group">
  81. <input type="text" id="txt_`+SectionId+`" class="form-control value-control required floating-label-control" placeholder="Section Name *" data-placeholder="Section Name *" data-label="Section Name *">
  82. </div>
  83. </div>
  84. <div class="action-wrap">
  85. <span id="spnhidesection_`+SectionId+`" class="d-none">Hide Section<input type="checkbox" id="chkhidesection_`+SectionId+`" ></span>
  86. <span id="spnautocollapse_`+SectionId+`" class="d-none">AutoCollapse<input type="checkbox" id="chkautocollapse_`+SectionId+`" ></span>
  87. <a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover d-none saveSection_`+SectionId+`" href="javascript:" id="saveSection_`+SectionId+`"><span class="btn-icon-wrap"><span class="btn-icon-wrap"><i class="las la-save la-i-large"></i></span></a>
  88. <a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover editSection_`+SectionId+`" href="javascript:;" id="editSection_`+SectionId+`"><span class="btn-icon-wrap"><i class="las la-edit la-i-large"></i></span></a>
  89. <a class="btn btn-sm btn-icon btn-flush-dark btn-rounded flush-soft-hover deleteSection_`+SectionId+`" href="javascript:;"><span class="btn-icon-wrap"><i class="las la-times-circle la-i-large"></i></span></a>
  90. </div>
  91. </header>
  92. </div>
  93. <div class="sec-body sectionBody-Element" id="SectionBody_`+SectionId+`" style="min-height:120px" data-sectionid="`+SectionId+`" data-sectionname="`+SectionName+`" data-sectiontype="`+SectionType+`" data-sectionstatus="`+SectionStatus+`" data-autocollapse=`+autocollapse+` data-hidesection=`+hidesection+` data-parentdivid="`+parentdivid+`">
  94. <div class="row sectionBody-Element ui-sortable section-to-section" id="sectionBodyRow_`+SectionId+`" data-sectionid="`+SectionId+`" data-sectionname="`+SectionName+`" data-sectiontype="`+SectionType+`" data-sectionstatus="`+SectionStatus+`" >
  95. <div class="divCustomFormProperties hidden" id="divCustomFormProperties"></div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>`,leftsectionhtml=`<li class="dd-item dd3-item controls-item listitem-`+SectionId+`" draggable="true">
  100. <a href="javascript:;" data-scroll class="dsl-block datagroup listitem-a-`+SectionId+`" data-sectionid="`+SectionId+`" style="color:#007D88 !important">
  101. ${""}
  102. <span>
  103. <i class="las la-braille dragger"></i>
  104. <span class="dsl-block-name" id="listitem-`+SectionId+`">`+SectionName+` </span>
  105. </span>
  106. ${""}
  107. <a>
  108. </li>`);$("#form-builder-elements").append(newhtml);autocollapse==!0&&$("#chkautocollapse_"+SectionId).prop("checked",!0);hidesection==!0&&$("#chkhidesection_"+SectionId).prop("checked",!0);SectionType==Unibase.Platform.Forms.Enums.SectionType.HiddenSection&&$(".section_"+SectionId).hide();leftsectionhtml!=""&&$("#left-sections-list").append(leftsectionhtml);$(".listitem-a-"+SectionId).click(function(){let SectionId=$(this).attr("data-sectionid");$(this).hasClass("focused-block")?($(this).removeClass("focused-block"),$("#section-focus-"+SectionId).removeClass("focused")):($(".dsl-sec-block-wrap .dsl-block").removeClass("focused-block"),$(this).addClass("focused-block"),$(".form-sec-wrap").removeClass("focused"),$("#section-focus-"+SectionId).addClass("focused"));var elmnt=document.getElementById("section-focus-"+SectionId);return elmnt.scrollIntoView(),!1});let sectionsList=$("#left-sections-list"),itemId,startIndex,endIndex;sectionsList.sortable({connectWith:"#left-sections-list",cursor:"move",start:function(event,ui){itemId=$(ui.item).children("a.dsl-block").attr("data-sectionid");console.log(itemId);let i=0;$("#left-sections-list .dd-item").each(function(){let id=$(this).children("a.dsl-block").attr("data-sectionid");id==itemId&&(startIndex=i,console.log(startIndex));i++})},stop:function(){let i=0;$("#left-sections-list .dd-item").each(function(){let id=$(this).children("a.dsl-block").attr("data-sectionid");id==itemId&&(endIndex=i,console.log(endIndex));i++});let sectionItemCopy=$("#form-builder-elements.ui-sortable .form-sec-wrap")[startIndex];startIndex>endIndex?$(sectionItemCopy).insertBefore($("#form-builder-elements.ui-sortable .form-sec-wrap")[endIndex]):$(sectionItemCopy).insertAfter($("#form-builder-elements.ui-sortable .form-sec-wrap")[endIndex])}});SectionName!=""&&($("#secHeader_"+SectionId).find(".sectionName").text(SectionName),$("#secHeader_"+SectionId).addClass("secHeader"),$("#secHeader_"+SectionId).find(".fixedHeader").removeClass("hidden"),$("#secHeader_"+SectionId).removeClass("pt-0 pb-2"),$("#secHeader_"+SectionId).find(".editHeader").addClass("hidden"));$("#sectionType").val(SectionType.toString());$("#txt_"+SectionId).focus();$("#editSection_"+SectionId).click(function(){Unibase.Platform.Forms.Components.SectionEditor.Instance().EditSection(SectionId,SectionType)});$(".deleteSection_"+SectionId).click(function(){if(console.log($('[data-sectionid="'+SectionId+'"]').length),$('[data-sectionid="'+SectionId+'"]').length>3)return MessageHelper.Instance().showError("Remove all Properties before removing a Section.","unibase_formbuilder_errorsummary"),Components.FormBuilder.instance.formpropertyNames.splice(SectionId),!1;$("#left-sections-list").find(".listitem-"+SectionId).remove();$(".section_"+SectionId).remove()});$("#txt_"+SectionId).keyup(function(e){e.keyCode===13&&$("#saveSection_"+SectionId).click()});$("#secHeader_"+SectionId).hover(function(){return $(this).find(".sorticon").removeClass("hidden"),$(this).find(".editremoveSectionicons").removeClass("hidden"),!1},function(){$(this).find(".sorticon").addClass("hidden");$(this).find(".editremoveSectionicons").addClass("hidden")});let formBodyEvent=$(".sectionBody-Element");formBodyEvent.sortable({connectWith:"#controls-list, #DocTypeAccordion",cursor:"move",receive:function(event,ui){console.log(ui);Unibase.Platform.Forms.Components.SectionEditor.Instance().SectionId=Number(ui.item.attr("data-id"));$("#DocTypeAccordion").css({position:"static",width:""});var PropertyId=$(ui.item).attr("data-id"),PropertyName=$(ui.item).attr("data-name"),ControlId=$(ui.item).attr("data-controlid")==undefined?0:Number($(ui.item).attr("data-controlid"));Unibase.Platform.Forms.Components.PropertyEditor.Instance().openAddPropertyPage(PropertyId,PropertyName,ControlId,Number($("#"+event.target.id).attr("data-sectionid")),$("#"+event.target.id).attr("data-sectionname"),$("#"+event.target.id).attr("data-sectiontype"),!0,0,0);ui.item.remove()}})}EditSection(SectionId,SectionType){Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0,"",Unibase.Platform.Forms.Components.SectionEditor.Instance(),function(){if(Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson!=undefined){var secobj=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson.Sections.find(x=>x.SectionId==SectionId);secobj!=null&&($("#txt_sectionname").val(secobj.SectionName),$("#txt_parentdivid").val(secobj.ParentDivId),$("#chkhidesection_").prop("checked",secobj.HideSection),$("#chkautocollapse_").prop("checked",secobj.EnableAutoCollapse),eval("_floatingLabelHelper.init();"))}$("#saveSection").click(function(){var text=$("#txt_sectionname").val().toString(),parentdivid=$("#txt_parentdivid").val().toString(),sectionNameValidate=Array.prototype.slice.call(document.getElementsByClassName("sectionName")).find(x=>x.innerHTML.toLowerCase()==text.toLowerCase()),sectype,formjson,checkSection;if(sectionNameValidate!=undefined&&sectionNameValidate.id!=SectionId.toString()&&sectionNameValidate.id!="")return MessageHelper.Instance().showError("SectionName already exist.","unibase_sectioneditor_errorsummary"),!1;if(text=="")return MessageHelper.Instance().showError("SectionName cannot be empty.","unibase_sectioneditor_errorsummary"),!1;sectype=$(".sectionType_"+SectionId).val();$("#secHeader_"+SectionId).find(".sectionName").text(text);$("#left-sections-list #listitem-"+SectionId).text(text);$("#SectionBody_"+SectionId).attr("data-sectionname",text);$("#SectionBody_"+SectionId).attr("data-parentdivid",parentdivid);$("#SectionBody_"+SectionId).attr("data-autocollapse",$("#chkautocollapse_").prop("checked").toString());$("#SectionBody_"+SectionId).attr("data-hidesection",$("#chkhidesection_").prop("checked").toString());$("#sectionBodyRow_"+SectionId).attr("data-sectionname",text);$("#sectionBodyRow_"+SectionId).attr("data-autocollapse",$("#chkautocollapse_").prop("checked").toString());$("#sectionBodyRow_"+SectionId).attr("data-hidesection",$("#chkhidesection_"+SectionId).prop("checked").toString());formjson=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson;formjson!=undefined&&formjson!=null&&(checkSection=formjson.Sections.find(x=>x.SectionId==SectionId),checkSection!=undefined&&(checkSection.EnableAutoCollapse=Boolean($("#chkautocollapse_").prop("checked")),checkSection.HideSection=Boolean($("#chkhidesection_").prop("checked")),checkSection.ParentDivId=$("#txt_parentdivid").val().toString(),$("#SectionBody_"+SectionId).attr("data-sectiontype",Number(SectionType))));Unibase.Platform.Forms.Components.SectionEditor.instance.preparingSectionsList(text,SectionId,SectionType,Unibase.Platform.Forms.Components.FormBuilder.Instance().FormJson);Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp()})},Platform.Helpers.Size.DockLeft)}loadSectionAutoComplete(FormId){FormId!=0&&this._formManager.getSections(FormId).then(function(response){var sectionData=[],result=response.result,controls;for(let i=0;i<result.length;i++)controls=result[i],sectionData.push({id:controls.SectionId,text:controls.SectionName});$("#txtAutoComplete_Section").select2({placeholder:"Select Section",data:sectionData})})}static Instance(){return this.instance===undefined&&(this.instance=new SectionEditor),this.instance}}Components.SectionEditor=SectionEditor})(Components=Forms.Components||(Forms.Components={}))})(Forms=Platform.Forms||(Platform.Forms={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Forms;(function(Forms){let Components;(function(Components){class ControlEditor extends Platform.Core.BaseComponent{constructor(){super();this.ControlId=0;this._formManager=Forms.Managers.FormManager.Instance()}jsFiles(){return["platform/forms/components/formbuilder/controleditor.js",]}cssFiles(){return[]}html(){var control_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadAddControlHtml();return`<form id="frmUnibase_AddControl" data-validate="parsley" data-isdynamic="false"><div class="card bg-light"><div class="b-b bg-white card-header"><strong class="text-dark title" id="">Add Control</strong></div><div class="card-body" id="divAddControl" style="overflow-y: scroll;">`+control_Template+`</div><div class="bg-white card-footer" id="controlFooter"><button id="btnCloseControl" class="btn btn-secondary btn-sm mr-auto">Close</button><button id="btnSaveControl" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`}load(id,containerid){$("#divAddControl").height($(window).outerHeight()-148);$("#chkIsStaticControl").prop("checked",!0);$("#chkIsStaticControl").is(":checked")?$("#div_ControlJson").removeClass("hidden"):$("#div_ControlJson").addClass("hidden");$("#btnCloseControl").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#chkIsStaticControl").click(function(){$("#chkIsStaticControl").is(":checked")?($("#divAutoComplete_InstalledApps").removeClass("hidden"),$("#txtAutoComplete_InstalledApps").addClass("required"),$("#div_ControlJson").removeClass("hidden"),$("#txt_ControlJson").addClass("required")):($("#divAutoComplete_InstalledApps").addClass("hidden"),$("#txtAutoComplete_InstalledApps").removeClass("required"),$("#div_ControlJson").addClass("hidden"),$("#txt_ControlJson").removeClass("required"))});var instance=this;$("#btnSaveControl").click(function(){let result=Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_AddControl");if(result==!1)return MessageHelper.Instance().showError("Mandatory fields are missing",""),!1;Unibase.Platform.Forms.Components.ControlEditor.Instance().saveControl(containerid)});$("#btnControlProperty").click(function(){var length=$("#divControlProperties").children().length,ControlProperty_Template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadControlProperties(length);$("#divControlProperties").append(ControlProperty_Template)});Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDataTypes().then(function(response){var datatypes=[],controls;let result=response.result;for(let i=0;i<result.length;i++)controls=result[i],datatypes.push({id:controls.DataTypeId,text:controls.DataTypeName});$("#txtAutoComplete_Datatypes").select2({multiple:!0,placeholder:"Select Datatypes",data:datatypes})});Unibase.Platform.Apps.Managers.AppManager.Instance().getInstalledApps().then(function(response){var installedapps=[],apps,curInstalledApp;let result=response.result;for(let i=0;i<result.length;i++)apps=result[i],installedapps.push({id:apps.InstalledAppId,text:apps.AppTitle});$("#txtAutoComplete_InstalledApps").select2({multiple:!0,placeholder:"Select InstalledApps",data:installedapps});curInstalledApp=Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId;$("#txtAutoComplete_InstalledApps").val(curInstalledApp).trigger("change")})}loadControls(){var InstalledAppId=Number(Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId);this._formManager.getControlsByAppId(InstalledAppId).then(function(response){var html,control;let result=response.result;html="";for(let i=0;i<result.length;i++)control=result[i],html+=`<li class="dd-item dd3-item controls-item" draggable="true" data-controlid="`+control.ControlId+`" data-controlname="`+control.ControlName+`">
  109. <div class="dsl-block doc-type" id="controlsDiv-`+control.ControlId+`" data-target=".docPropHighlight-`+control.ControlId+`">
  110. <span>
  111. <i class="las la-braille dragger"></i>
  112. <span class="dsl-block-name">`+control.ControlName+` </span>
  113. </span>
  114. <span>
  115. <a class="btn btn-xs btn-icon btn-flush-dark btn-rounded dropdown-toggle flush-soft-hover no-caret" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"><span class="btn-icon-wrap" ><i class="las la-ellipsis-v la-i-medium"></i></span></a>
  116. <div class="dropdown-menu dropdown-menu-right">
  117. <a class="dropdown-item" href="javascript:;" id="LinkButton" onclick="Unibase.Platform.Forms.Components.ControlEditor.Instance().editControl(`+control.ControlId+`)">Edit Control</a>
  118. </div>
  119. </span>
  120. </div>
  121. </li>`;$("#controls-list").append(html)}).then(function(){let controlEvent=$("#controls-list"),clone,before,parent;controlEvent.sortable({connectWith:".sectionBody-Element",cursor:"move",helper:"clone",start:function(event,ui){console.log(ui);var liWidth=ui.item.css("width");$(ui.item).show();clone=$(ui.item).clone();before=$(ui.item).prev();parent=$(ui.item).parent()},stop:function(event,ui){console.log(ui);$("#controls-list").find("#controlsDiv-"+clone.attr("data-controlid")).length==0&&(before.length?before.after(clone):parent.prepend(clone))}})})}openAddControlPage(){Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId=0;this.navigationHelper.popup(0,"",Unibase.Platform.Forms.Components.ControlEditor.Instance(),function(){},Platform.Helpers.Size.Auto)}editControl(controlId){Unibase.Platform.Forms.Components.ControlEditor.Instance().openAddControlPage();var manager=this._formManager;$(document).ready(function(){manager.getControl(controlId).then(function(response){var dataTypeIds,Values,dataTypeId,installedAppValues,installedAppIds,appIds,controlProperties,controlPropertyIds,i;let result=response.result;if(Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId=result.ControlId,$("#txt_ControlName").val(result.ControlName),$("#chkIsStaticControl").prop("checked",result.IsStaticControl),$("#txt_URL").val(result.URL),$("#txt_SettingsPageUrl").val(result.SettingsPageUrl),$("#txt_JsInstanceName").val(result.JsVariableName),$("#txt_SettingJsInstanceName").val(result.SettingJsVariableName),$("#txt_Assembly").val(result.Assembly),$("#txt_ControlJson").val(result.ControlJson),response.result.IsStaticControl==!1?($("#div_ControlJson").addClass("hidden"),$("#txt_ControlJson").addClass("required")):($("#div_ControlJson").removeClass("hidden"),$("#txt_ControlJson").removeClass("required")),dataTypeIds=result.DataTypeIds.split(","),Values=[],dataTypeIds.length>0){for(i=0;i<dataTypeIds.length;i++)dataTypeId=JSON.parse(dataTypeIds[i]),Values.push(dataTypeId);jQuery("#txtAutoComplete_Datatypes").val(Values).trigger("change")}else jQuery("#txtAutoComplete_Datatypes").val(dataTypeId).trigger("change");if(jQuery("#txtAutoComplete_InstalledApps").val(null).trigger("change"),installedAppValues=[],result.InstalledAppIds!=null){installedAppIds=result.InstalledAppIds.slice(1).slice(0,-1).split("|");for(let m=0;m<installedAppIds.length;m++)appIds=JSON.parse(installedAppIds[m]),installedAppValues.push(appIds);jQuery("#txtAutoComplete_InstalledApps").val(installedAppValues).trigger("change")}for($("#txt_ControlUniqueKey").val(result.ControlUniqueId),controlProperties=result.ControlProperties,controlPropertyIds=[],i=0;i<controlProperties.length;i++)i>0&&$("#btnControlProperty").trigger("click"),$("#txt_PropertyName_"+i).val(controlProperties[i].PropertyName),$("#txt_DefaultValue_"+i).val(controlProperties[i].PropertyName),controlPropertyIds[i]=Number(controlProperties[i].ControlPropertyId);Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlPropertyIds=controlPropertyIds}).then(function(){eval("_floatingLabelHelper.init()")})})}saveControl(containerid){var instance=this,controlId=Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId,controlPropertyIds=Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlPropertyIds,controlPropertyId=0,length=$("#divControlProperties").children().length,datatypeIds=[],numDatatypeIds=[],installedAppIds=[],numInstalledAppIds="|",i,k,m,postData,formId;let controlProperties=[];for(i=0;i<length;i++)controlPropertyIds!=undefined&&(controlPropertyId=controlPropertyIds[i]),controlPropertyId==undefined&&(controlPropertyId=0),$("#txt_PropertyName_"+i).val()!=""&&controlProperties.push({ControlPropertyId:controlPropertyId,ControlId:controlId,PropertyName:$("#txt_PropertyName_"+i).val(),DefaultValue:$("#txt_DefaultValue_"+i).val()});for(datatypeIds=$("#txtAutoComplete_Datatypes").val(),k=0;k<datatypeIds.length;k++)numDatatypeIds[k]=parseInt(datatypeIds[k]);for(installedAppIds=$("#txtAutoComplete_InstalledApps").val(),m=0;m<installedAppIds.length;m++)numInstalledAppIds+=parseInt(installedAppIds[m])+"|";postData={ControlId:controlId,ControlName:$("#txt_ControlName").val(),URL:$("#txt_URL").val(),SettingsPageUrl:$("#txt_SettingsPageUrl").val(),ControlUniqueId:$("#txt_ControlUniqueKey").val(),JsVariableName:$("#txt_JsInstanceName").val(),IsStaticControl:$("#chkIsStaticControl").is(":checked"),SettingJsVariableName:$("#txt_SettingJsInstanceName").val(),Assembly:$("#txt_Assembly").val(),DataTypeIds:numDatatypeIds,ControlProperties:controlProperties,InstalledAppIds:$("#chkIsStaticControl").is(":checked")==!0?numInstalledAppIds:null,ControlJson:$("#txt_ControlJson").val()};formId=Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId;instance.navigationHelper.showLoading();instance._formManager.saveControl(postData).then(function(response){$("#controls-list").empty();Unibase.Platform.Forms.Components.ControlEditor.Instance().loadControls();$("#"+containerid).modal("hide");$("#"+containerid).remove();response.errors==null?MessageHelper.Instance().showSuccess(response.message,""):MessageHelper.Instance().showError(response.message,"");instance.navigationHelper.hideLoading()})}getControlOptions(controldatajson){var response=controldatajson,i;if(response!=undefined&&response!="")for(response.length>0&&$("#chkIsmultiple").prop("checked",!0),i=0;i<response.length;i++)if(response[i].ControlName=="DropDown"){var DropDownParentId=response[i].DropDownParentId,ParentDocPropertyId=response[i].ParentDocPropertyId,IndexNumber=response[i].IndexNumber;$("#DropDownParentId").val(response[i].DropDownParentId);$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId)}else if(response[i].ControlName=="CascadingDropDown"){var DropDownParentId=response[i].DropDownParentId,ParentDocPropertyId=response[i].ParentDocPropertyId,IndexNumber=response[i].IndexNumber;$("#DropDownParentId").val(response[i].DropDownParentId);$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId)}else{var DropDownParentId=response[i].DropDownParentId,ParentDocPropertyId=response[i].ParentDocPropertyId,IndexNumber=response[i].IndexNumber;$("#DropDownParentId").val(response[i].DropDownParentId);$("#hf_ParentDocPropertyId").val(response[i].ParentDocPropertyId);this.AddRadioOptions(response[i].DropDownColumnId,response[i].ColumnText,response[i].ColumnValue,"",ParentDocPropertyId,IndexNumber,DropDownParentId,response[i].ParentDropDownColumnName)}}AddRadioOptions(DropDownColumnId,ColumnText,ColumnValue,ParentDocPropertyName,ParentDocPropertyId,IndexNumber,DropDownParentId,ParentDropDownColumnName){var ddcId=0,Index=$(".option-group").length,IndexNumber1=Index,text,ParentDDLColumn;Index==0&&(IndexNumber1=0);DropDownColumnId!=0?(ddcId=DropDownColumnId,IndexNumber1=IndexNumber):(IndexNumber1+=1,Index=IndexNumber1);text='<li class="list-group-item ui-sortable-handle option-group" id="divRadioOption_'+Index+'"><div class="" > <input type="hidden" class="ParentDocPropertyId" id="ParentDocPropertyId_'+Index+'" value="'+ParentDocPropertyId+'"/><input type="hidden" class="DropDownParentId" id="DropDownParentId_'+Index+'" value="'+DropDownParentId+'"/><input type="hidden" class="Indexnumber" id="Indexnumber_'+Index+'" value="'+IndexNumber1+'"/><input type="hidden" class="hdnRdbId" id="hdnRdbId_'+Index+'" value="'+ddcId+'"/><div class="floating-label-form-group hidden" id="divParentDocPropertyName" style="border-left:0px;"><label for="lblValue" id="lbl" class="font-bold">Parent PropertyName<\/label><input type="text" id="rdbParentDocPropertyName_'+Index+'" class="form-control value-control floating-label-control rdbParentDocPropertyName" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value" data-placeholder="Enter value column" data-label="Options" maxlength="50" disabled="true" /><\/div><div class="hidden floating-label-form-group" id="divParentColumnName" style = "border-left:0px;"><label for="lblValue" id="lbl" class="font-bold">Parent ColumnName<\/label><select id="txtAutoComplete_ParentDDLColumn_'+Index+'" class="txtAutoComplete_ParentDDLColumn form-control text-control " style="width:100%;"><\/select><input type="hidden" id="hfAutoComplete_ParentDDLColumn_'+Index+'" value=""/><\/div><i class="fa fa-sort pull-left"><\/i><div class=""><span id="option_header_'+Index+'"><\/span><span id="IndexnumberDetails_'+Index+'" class="IndexnumberDetails"><\/span><a href="javascript:;" class="pull-right delete_" onclick="Unibase.Platform.Forms.Components.ControlEditor.Instance().RemoveRadioOption('+DropDownColumnId+","+Index+')"><i class="fa fa-times icon-muted fa-fw"><\/i><\/a><\/div><div class="row"><div class="col-sm-6" id="columnid" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblName" id="lbl" class="font-bold">Text<span class="text-danger" id="spnIsRequired_Section"> *<\/span><\/label><input type="hidden" value="'+Index+'" class="indexno"><input type="text" id="rdbText_'+Index+'" class="form-control floating-label-control rdbText required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Text *" data-placeholder="Enter text column" data-label="Text *" maxlength="100" /><\/div><\/div><div class="col-sm-6" id="columnVal" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblValue" id="lbl" class="font-bold">Value<span class="text-danger" id="spnIsRequired_Section"> *<\/span><\/label><input type="text" id="rdbValue_'+Index+'" onkeypress="return isNumber(event)" class="form-control floating-label-control rdbValue required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value *" data-placeholder="Enter value column" data-label="Value *" maxlength="50" /><\/div><\/div><\/div><\/div><\/li>';$("#radioOptions").append(text);(ColumnText!=""||ColumnText!=undefined)&&$("#rdbText_"+Index).val(ColumnText);(ColumnValue!=""||ColumnValue!=undefined)&&($("#rdbValue_"+Index).val(ColumnValue),$("#ParentDocPropertyId_"+Index).val($("#hf_ParentDocPropertyId").val()),$("#DropDownParentId_"+Index).val($("#DropDownParentId").val()));ParentDocPropertyName!=""&&ParentDocPropertyName!=undefined&&($("#rdbParentDocPropertyName_"+Index).val(ParentDocPropertyName),$("#div_CascadingAutoComplete").removeClass("hidden"),$("#divParentDocPropertyName").removeClass("hidden"),$("#divParentColumnName").removeClass("hidden"),ParentDDLColumn=new Option(ParentDropDownColumnName,DropDownParentId,!0),$("#txtAutoComplete_ParentDDLColumn_"+Index).append(ParentDDLColumn));IndexNumber!=""&&IndexNumber!=undefined&&($("#IndexnumberDetails_"+Index).text(IndexNumber),$("#IndexNumber").removeClass("hidden"));IndexNumber1!=undefined&&($("#IndexnumberDetails_"+Index).text(IndexNumber1),$("#IndexNumber").removeClass("hidden"));$("#txtControls option:selected").text()=="CascadingDropDown"&&$(".txtAutoComplete_ParentDDLColumn").addClass("required");($("#txtControls option:selected").text()=="RadioBox"||$("#ddlControlType option:selected").text()=="RadioBox")&&$("#option_header_"+Index).text("Radio Button Text-");($("#txtControls option:selected").text()=="CheckBox"||$("#ddlControlType option:selected").text()=="CheckBox")&&$("#option_header_"+Index).text("Check Box Text-");($("#txtControls option:selected").text()=="DropDown"||$("#ddlControlType option:selected").text()=="DropDown")&&$("#option_header_"+Index).text("Drop Down Text-");$("#radioOptions").sortable({stop:function(){$("#radioOptions").find(".option-group").each(function(){var index=$(this).index()+1;$(this).find(".IndexnumberDetails").text(index)})}})}RemoveRadioOption(DropDownColumnId,Index){DropDownColumnId!=0&&($("#txtControls").val()=="CheckBox"?Unibase.Platform.Forms.Managers.FormManager.Instance().deleteOptionForCheckboxControl(DropDownColumnId).then(function(){}):Unibase.Platform.Forms.Managers.FormManager.Instance().deleteOptionForControl(DropDownColumnId).then(function(){}));$("#divRadioOption_"+Index).remove();$("#radioOptions").find(".option-group").each(function(){var index=$(this).index()+1;$(this).find(".IndexnumberDetails").text(index)})}searchFormControls(searchValue){let controlsUl="#controls-list";$(controlsUl+" li").not(".hidden").each(function(i,e){$(e).attr("data-controlname",$(e).data("controlname").toLowerCase())});let searchTerm=searchValue.toLowerCase();if(searchTerm!=""){let count=0;if($(controlsUl+" li").not(".hidden").each(function(i,e){$(e).filter("[data-controlname *= "+searchTerm+"]").length>0||searchTerm.length<1?($(e).show(),count++):$(e).hide()}),count)$("#divControlSearch_ErroMessage").addClass("d-none");else return $("#divControlSearch_ErroMessage").removeClass("d-none"),MessageHelper.Instance().showError("No results found","divControlSearch_ErroMessage")}else $(controlsUl+" li").not(".hidden").each(function(i,e){$("#divControlSearch_ErroMessage").addClass("d-none");$(e).show()})}static Instance(){return this.instance===undefined&&(this.instance=new ControlEditor),this.instance}}Components.ControlEditor=ControlEditor})(Components=Forms.Components||(Forms.Components={}))})(Forms=Platform.Forms||(Platform.Forms={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Forms;(function(Forms){let Components;(function(Components){class FormValidation extends Platform.Core.BaseComponent{constructor(){super();this.FormPropertyHtml="";this.reportColumns=[];this._formManager=Forms.Managers.FormManager.Instance()}jsFiles(){return["libs/handlebars/handlebars.min.js","platform/dataapis/components/apibuilder.template.js","libs/querybuilder/query-builder.min.js","libs/querybuilder/query-builder.standalone.min.js","libs/querybuilder/selectize/selectize.js","libs/querybuilder/query-builder.min.js","platform/forms/components/formbuilder/formbuilder.template.js","platform/datasources/managers/doctypemanager.js","platform/dataapis/enums/executiontype.js","libs/querybuilder/sql-parser.min.js","platform/forms/enums/enums.js","platform/dataapis/enums/requesttype.js","platform/analytics/enums/datatype.js"]}cssFiles(){return["libs/querybuilder/query-builder.default.css","libs/querybuilder/selectize/selectize.default.css","libs/querybuilder/selectize/selectize.css","libs/querybuilder/selectize/selectize.bootstrap3.css"]}html(){return`<form id="formValidate" data-validate="parsley">
  122. <div class="header bg-white b-b">
  123. <strong class="text-dark title" id="">Form Validation</strong>
  124. <div id="Unibase_ValidationSummary" class="clear form-error-message"></div>
  125. </div>
  126. <div data-simplebar class="simple-scroll-bar scrollable" id="div_AddFormValidation">
  127. <div class="card">
  128. <div class="card-body">
  129. <div class="row">
  130. <div class="col-sm-6">
  131. <div class="floating-label-form-group">
  132. <label for="txt_FormActionValidation" id="lbl_FormActionValidation">Form Action Validation Name
  133. <span class="text-danger"> *</span>
  134. </label>
  135. <input type="text" id="txt_FormActionValidation" maxlength="250" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Action Validation Name *" data-placeholder="Enter Action Validation Name" data-label="Action Validation Name *" />
  136. </div>
  137. </div>
  138. <div class="col-sm-6">
  139. <div class="floating-label-form-group">
  140. <label for="txt_ValidationErrorMessage" id="lbl_ValidationErrorMessage">Error Message</label>
  141. <input type="text" id="txt_ValidationErrorMessage" class="form-control floating-label-control" data-isdynamic="false" placeholder="Enter Error Message" data-placeholder="Enter Error Message" data-label="Enter Error Message" />
  142. </div>
  143. </div>
  144. <div class="col-sm-4">
  145. <div class="floating-label-form-group-with-value">
  146. <label for="ddl_FormType" id="lbl_FormType">Form Type
  147. <span class="text-danger"> *</span>
  148. </label>
  149. <select id="ddl_FormType" class="form-control value-control required" placeholder="Select" data-placeholder="Select" data-label="Form Type">
  150. <option value="">Select</option>
  151. </select>
  152. </div>
  153. </div>
  154. <div class="col-sm-4">
  155. <div class="floating-label-form-group-with-value">
  156. <label for="ddl_ValidationType" id="lbl_ValidationType">Validation Type
  157. <span class="text-danger"> *</span>
  158. </label>
  159. <select id="ddl_ValidationType" class="form-control value-control required" placeholder="Select" data-placeholder="Select" data-label="Validation Type" onchange="Unibase.Platform.Forms.Components.FormValidation.Instance().validationTypeChange()">
  160. <option value="">Select</option>
  161. <option value="1">Automation</option>
  162. <option value="2">FormValidation</option>
  163. </select>
  164. </div>
  165. </div>
  166. <div class="col-sm-4">
  167. <div class="floating-label-form-group-with-value">
  168. <label for="ddl_ExecutionType" id="lbl_ExectionType">Execution Type
  169. <span class="text-danger"> *</span>
  170. </label>
  171. <select id="ddl_ExecutionType" class="form-control value-control required" onchange="Unibase.Platform.Forms.Components.FormValidation.Instance().getTypeData(null)" placeholder="Select" data-placeholder="Select" data-label="Execution Type">
  172. <option value="">Select</option>
  173. <option value="1">Method</option>
  174. <option value="2">Report</option>
  175. <option value="3">Form</option>
  176. </select>
  177. </div>
  178. </div>
  179. </div>
  180. <div class="row mt-3">
  181. <div class="col-sm-6" id="div_SelectedType"></div>
  182. <div class="col-sm-6" id="div_SelectedMethod"></div>
  183. </div>
  184. <div class="row mt-3">
  185. <div class="col-sm-12 hidden" id="div_MethodParams">
  186. <div class="card">
  187. <div class="card-header">
  188. <div class="row col-sm-12">
  189. <strong class="col-sm-4">Name</strong>
  190. <strong class="col-sm-4">Type</strong>
  191. <strong class="col-sm-4">Form Property</strong>
  192. </div>
  193. </div>
  194. <div id="methodParams" class="card-body"></div>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. </div>
  200. <div class="card hidden" id="div_MethodGroup"></div>
  201. <div class="card hidden" id="divSelectProperties">
  202. <div class="card-body">
  203. <button class="btn btn-success mb-10" id="btnAddSelectProperties">
  204. <strong>+</strong>
  205. </button>
  206. <div id="selectProperty"></div>
  207. </div>
  208. </div>
  209. </div>
  210. <div class="footer bg-white b-t" id="div_Footer">
  211. <button id="btn_CloseFormValidation" class="btn btn-light btn-sm mr-auto btn-close">Close</button>
  212. <button id="btn_SaveFormValidation" class="btn btn-primary btn-sm pull-right">Save</button>
  213. </div>
  214. </form>`}load(id,containerid){var instance=this;$("#"+containerid).find("#validation-builder-body").empty();$("#"+containerid).find("#validation-builder-body").removeClass("hidden");$("#"+containerid).find("#form-builder-body").addClass("hidden");$("#"+containerid).find("#form-builder-body").addClass("hidden");$("#div_AddFormValidation").height($(window).outerHeight()-148);$("#btnAddSelectProperties").click(function(e){e.preventDefault();var len=$("#selectProperty .methodProp").length,executionType=$("#ddl_ExecutionType option:selected").text(),validationType=$("#ddl_ValidationType option:selected").text();executionType=="Method"?Unibase.Platform.Forms.Components.FormValidation.Instance().loadMethodSettings(len):executionType=="Report"?Unibase.Platform.Forms.Components.FormValidation.Instance().loadReportSettings(len):executionType=="Form"&&(validationType=="Automation"?Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormAutomationSettings(len):validationType=="FormValidation"&&Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormValidationSettings(len))});$("#btn_SaveFormValidation").click(function(e){e.preventDefault();FormValidation.Instance().saveFormValidation()});$("#btn_CloseFormValidation").click(function(e){e.preventDefault();$("#"+containerid).modal("hide");$("#"+containerid).remove()});Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(instance.formid).then(function(response){instance.formsInfo=response.result;let formType=response.result.FormTypeId;formType==Unibase.Platform.Forms.Enums.FormType.Create?($("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Create+"'>Create Form<\/option>"),$("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Both+"'>Create & Edit Forms<\/option>")):formType==Unibase.Platform.Forms.Enums.FormType.Edit?($("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Edit+"'>Edit Form<\/option>"),$("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Both+"'>Create & Edit Forms<\/option>")):($("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Create+"'>Create Form<\/option>"),$("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Edit+"'>Edit Form<\/option>"),$("#ddl_FormType").append("<option value='"+Unibase.Platform.Forms.Enums.FormType.Both+"'>Create & Edit Forms<\/option>"));let html="";FormValidation.instance.FormPropertyHtml="";let result=response.result.FormProperties;for(let i=0;i<result.length;i++){var template=Components.FormBuilder_Template.Instance().loadTemplate(),data=result[i],templateScript=Handlebars.compile(template),context={Id:data.FormPropertyId,Name:data.FormPropertyName};html=templateScript(context);FormValidation.instance.FormPropertyHtml+=html}}).then(function(){var data;instance.formvalidationid!=0&&instance._formManager.getFormValidation(instance.formvalidationid).then(function(response){data=response.result;$("#txt_FormActionValidation").val(data.FormValidationName);$("#txt_ValidationErrorMessage").val(data.ErrorMessage);$("#ddl_FormType").val(data.FormTypeId).trigger("change");$("#ddl_ValidationType").val(data.ValidationTypeId).trigger("change");jQuery("#ddl_ExecutionType").val(data.ExecutionTypeId).select2();instance.getTypeData(function(){var managerName,selectedManager,selectedReport;$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Method?(managerName=data.SystemName.split(",")[0].split("."),selectedManager=new Option(managerName[managerName.length-1],data.SystemName,!0),jQuery("#ddl_SelectedType").append(selectedManager),instance.getMethodData(function(){var k,selectedFormProp,selectedMethod;let validationSettings=data.ValidationSettings;for(k=0;k<validationSettings.length;k++)$("#btnAddSelectProperties").trigger("click"),$("#setting_"+k).attr("data-validationsettingid",data.ValidationSettings[k].ValidationSettingId),$("#txtInfoProperty_"+k).val(data.ValidationSettings[k].InfoPropertyName),selectedFormProp=new Option(data.ValidationSettings[k].FormPropertyName,data.ValidationSettings[k].FormPropertyId.toString(),!0),$("#ddl_selectproperty_"+k).append(selectedFormProp);selectedMethod=new Option(data.MethodName,data.MethodProviderId.toString(),!0);jQuery("#ddl_SelectedMethod").append(selectedMethod);instance.loadParamTypes(function(){var i,selectedFormProperty;let params=JSON.parse(data.Parameters),formProps=Object.keys(params);for(i=0;i<formProps.length;i++)selectedFormProperty=new Option(params[Number(formProps[i])],formProps[i].toString(),!0),$("#ddl_FormProperty_"+i).append(selectedFormProperty)})})):$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Report?(selectedReport=new Option(data.ReportName,data.ReportId.toString(),!0),jQuery("#ddl_SelectedType").append(selectedReport),instance.getMethodData(function(){var k,selectedFormProperty;let validationSettings=data.ValidationSettings;for(k=0;k<validationSettings.length;k++)$("#btnAddSelectProperties").trigger("click"),$("#setting_"+k).attr("data-validationsettingid",data.ValidationSettings[k].ValidationSettingId),$("#ddl_selectproperty_"+k).val(data.ValidationSettings[k].FormPropertyId).trigger("change"),selectedFormProperty=new Option(data.ValidationSettings[k].FormPropertyName,data.ValidationSettings[k].FormPropertyId.toString(),!0),$("#ddl_selectproperty_"+k).append(selectedFormProperty);setTimeout(function(){for(var selectedReportColumn,k=0;k<validationSettings.length;k++)selectedReportColumn=new Option(data.ValidationSettings[k].ReportColumnName,data.ValidationSettings[k].ReportColumnId.toString(),!0),$("#ddl_ReportColumn_"+k).append(selectedReportColumn);let qelem=$("#builder");FormValidation.staticFilter="";let rules=JSON.parse(data.StaticFilter);qelem.queryBuilder("setRules",rules);$("#builder_group_0").addClass("col-sm-12 mt-20")},300)})):$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Form&&instance.getMethodData(function(){var k,selectedFormProp,selectedFormProp2;let validationSettings=data.ValidationSettings.reverse();if(Number(data.ValidationTypeId)==Unibase.Platform.Forms.Enums.ValidationType.Automation)for(k=0;k<validationSettings.length;k++)$("#btnAddSelectProperties").trigger("click"),$("#setting_"+k).attr("data-validationsettingid",data.ValidationSettings[k].ValidationSettingId),selectedFormProp=new Option(data.ValidationSettings[k].FormPropertyName,data.ValidationSettings[k].FormPropertyId.toString(),!0),$("#ddl_selectToProperty_"+k).append(selectedFormProp),selectedFormProp2=new Option(data.ValidationSettings[k].FormPropertyName2,data.ValidationSettings[k].FormPropertyId2.toString(),!0),$("#ddl_selectFromProperty_"+k).append(selectedFormProp2);else if(Number(data.ValidationTypeId)==Unibase.Platform.Forms.Enums.ValidationType.FormValidation)for(k=0;k<validationSettings.length;k++)$("#btnAddSelectProperties").trigger("click"),$("#setting_"+k).attr("data-validationsettingid",data.ValidationSettings[k].ValidationSettingId),selectedFormProp=new Option(data.ValidationSettings[k].FormPropertyName,data.ValidationSettings[k].FormPropertyId.toString(),!0),$("#ddl_validationSelectToProperty_"+k).append(selectedFormProp),$("#ddl_selectOperators_"+k).val(data.ValidationSettings[k].ExpOperator),$("#txt_FormErrorMsg_"+k).val(data.ValidationSettings[k].ErrorMessage),data.ValidationSettings[k].FormPropertyId2!=0?(selectedFormProp2=new Option(data.ValidationSettings[k].FormPropertyName2,data.ValidationSettings[k].FormPropertyId2.toString(),!0),$("#ddl_validationSelectFromProperty_"+k).append(selectedFormProp2)):data.ValidationSettings[k].ValidationText!=null&&data.ValidationSettings[k].ValidationText!=""&&($("#chk_IsStaticValue_"+k).prop("checked",!0),$("#txt_isstaticvalue_"+k).val(data.ValidationSettings[k].ValidationText),$("#divIsStaticValue_"+k).removeClass("hidden"),$("#divFormproperty2_"+k).addClass("hidden"))})})})})}init(formid,formvalidationid){(formid==null||formid==undefined)&&(formid=Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key=="hf_"+Unibase.Themes.Providers.DetailHelper.installedAppId+"_formid").Value));this.formid=formid;this.formvalidationid=formvalidationid;this.render()}loadForm(FormId,Pk_Value,AppConfigurationId){var appConfigurationId=AppConfigurationId,instance=this;instance.init(null,Pk_Value)}render(){this.navigationHelper.popup(0,"",Unibase.Platform.Forms.Components.FormValidation.Instance(),function(){},Platform.Helpers.Size.Auto)}loadDocProperties(){var InstalledAppId=Number(Unibase.Themes.Providers.DetailHelper.installedAppId);Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDocPropertiesByAppId(InstalledAppId).then(function(response){var data=response.result,html="";for(let i=0;i<data.length;i++){var prop=data[i],template=Unibase.Platform.Forms.Components.FormBuilder_Template.Instance().loadTemplate(),templateScript=Handlebars.compile(template),context={Id:prop.DocPropertyId,Name:prop.DocPropertyName};html=templateScript(context);$("#ddl_FormProperty").append(html)}})}validationTypeChange(){$("#div_SelectedType").addClass("hidden");$("#ddl_ExecutionType").val("").trigger("change")}getTypeData(callback){var executionType=$("#ddl_ExecutionType option:selected").val(),validationType=$("#ddl_ValidationType option:selected").val(),managerurl,reportsurl;if(validationType=="0"||validationType==undefined||validationType=="")return MessageHelper.Instance().showError("Select Validation Type","Unibase_ValidationSummary"),$("#ddl_ExecutionType").val(""),!1;$("#div_MethodGroup").addClass("hidden");$("#divSelectProperties").addClass("hidden");$("#selectProperty .methodProp").remove();$("#div_SelectedType").html("<div id='div_RequestData' class='floating-label-form-group-with-value'> <label id='lbl_RequestData'><\/label><select id='ddl_SelectedType' onchange='javascript:Unibase.Platform.Forms.Components.FormValidation.Instance().getMethodData(null);' class='form-control value-control required' data-placeholder='Select' placeholder='Select'><\/select><input type='hidden' id='hfddl_SelectedType' class='hfddl_SelectedType form-control value-control' data-isdynamic='true'/><\/div>");$("#div_method").remove();$("#methodParams").find(".added-item").remove();$("#methodParams").html("");$("#div_MethodParams").addClass("hidden");$("#div_methodName").addClass("hidden");executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Method?($("#div_SelectedType").removeClass("hidden"),managerurl=_appsettings.server_url()+"/apis/v4/unibase/platform/dataapis/managerautocomplete",AutoCompleteHelper.getHelper().Create("#ddl_SelectedType","#hfddl_SelectedType",managerurl,function(response){var data=response}),callback!==null&&callback(),$("#lbl_RequestData").html("Managers<span class='text-danger'> *<\/span>"),$("#divSelectProperties").removeClass("hidden")):executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Report?($("#div_SelectedType").removeClass("hidden"),reportsurl=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reports",AutoCompleteHelper.getHelper().Create("#ddl_SelectedType","#hfddl_SelectedType",reportsurl,function(response){var data=response}),callback!==null&&callback(),$("#lbl_RequestData").html("Reports<span class='text-danger'> *<\/span>")):executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Form&&($("#div_SelectedType").addClass("hidden"),$("#divSelectProperties").removeClass("hidden"),callback!==null&&callback())}getMethodData(callback){if($("#methodParams").find(".added-item").remove(),$("#methodParams").html(""),$("#div_MethodParams").addClass("hidden"),$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Method){$("#div_MethodGroup").html("");let html="";if($("#ddl_SelectedType").val()!=0){html="<div id='div_method' class='floating-label-form-group-with-value'> <label>Method<span class='text-danger' id = 'spnMethod'> * <\/span><\/label><select id='ddl_SelectedMethod' onchange='javascript: Unibase.Platform.Forms.Components.FormValidation.Instance().loadParamTypes(null);' class='form-control value-control required' data-isdynamic='false'><\/select><input type='hidden' id='hfddl_SelectedMethod' class='hfddl_SelectedMethod form-control value-control' data-isdynamic='true'/><\/div>";$("#div_SelectedMethod").html(html);var methodurl=_appsettings.server_url()+"/apis/v4/unibase/platform/dataapis/methodproviderautocompletebyrequesttype/requesttypeid/"+Unibase.Platform.DataApis.Enums.RequestType.Get+"/systemname/"+$("#ddl_SelectedType").val();AutoCompleteHelper.getHelper().Create($("#ddl_SelectedMethod"),$("#hfddl_SelectedMethod"),methodurl,function(response){var data=response});callback!==null&&callback()}else $("#div_method").remove()}else $("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Report?Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(Number($("#ddl_SelectedType option:selected").val())).then(function(response){$("#divSelectProperties").removeClass("hidden");$("#selectProperty .methodProp").remove();var data=response.result;FormValidation.instance.reportColumns=data;$("#div_MethodGroup").removeClass("hidden");FormValidation.Instance().loadQueryBuilderDiv(!0)}).then(function(){callback!==null&&callback()}):$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Form&&callback!==null&&callback()}loadFormProperties(id){var instance=this,formurl;id==undefined&&(id=0);let clas=".rule-filter-container_"+id;$("#ddl_ExecutionType").val()==Unibase.Platform.DataApis.Enums.ExecutionType.Method&&(clas="#ddl_FormProperty_"+id);formurl=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/"+instance.formid;AutoCompleteHelper.getHelper().Create($("#ddl_FormProperty_"+id),$("#hfddl_FormProperty"+id),formurl,function(response){var data=response})}loadQueryBuilderDiv(IsReport){var instance=this,data,FormId;$("#div_MethodGroup").html(`<div id="builder" class= "col-sm-12"></div><div class="col-sm-12"><button class="btn btn-primary parse-json mt-20">Apply</button ></div><div id="result" class= "mt-20 col-sm-12"><h5>Output:</h5><pre></pre><div id="Output" class="col-sm-12"></div></div>`);let qelem;qelem=$("#builder");let QueryBuilderValueArray=[];if(IsReport==!0){data=FormValidation.instance.reportColumns;let QueryBuilderFormPropArray=[];FormId=this.formid;Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(FormId).then(function(response){let result=response.result;for(let i=0;i<result.length;i++){var val={};val[result[i].FormPropertyId]=result[i].FormPropertyName;QueryBuilderFormPropArray.push({id:"{"+result[i].FormPropertyName+"}",name:result[i].FormPropertyName})}}).then(function(){for(var i=0;i<data.length;i++){let dataType=Unibase.Platform.Analytics.Reports.Enums.DataType[data[i].DataType];dataType=dataType.toLowerCase();dataType=dataType.replace(/system./g,"");dataType=="int32"||dataType=="int64"||dataType=="boolean"?dataType="integer":dataType=="decimal"&&(dataType="double");QueryBuilderValueArray.push({id:data[i].DisplayText,label:data[i].DisplayText,type:dataType.toLowerCase(),size:30,unique:!0,operators:["equal","not_equal","in","not_in","is_null","is_not_null","between","not_between","less","less_or_equal","greater","greater_or_equal","begins_with","not_begins_with","contains","not_contains","ends_with","not_ends_with","is_empty","is_not_empty"],input:"select",plugin:"selectize",valueSetter:function(rule,value){rule.$el.find(".rule-value-container select")[0].selectize.setValue(value)},plugin_config:{valueField:"id",labelField:"name",searchField:"name",sortField:"name",width:"200px",allowClear:!0,plugins:["remove_button"],create:!0,maxItems:1,placeholder:"Select Form Property",onInitialize:function(){var that=this;QueryBuilderFormPropArray.forEach(function(item){that.addOption(item)})}}})}qelem.on("afterCreateRuleInput.queryBuilder",function(e,rule){rule.filter.plugin=="selectize"&&rule.$el.find(".rule-value-container").css("min-width","200px").find(".selectize-control").removeClass("form-control")});qelem.queryBuilder({filters:QueryBuilderValueArray});$("#builder_group_0").addClass("col-sm-12 mt-20")})}else QueryBuilderValueArray.push({id:$("#ddl_FormProperty option:selected").text(),label:$("#ddl_FormProperty option:selected").text(),type:"string",size:30,unique:!0,input:"text",operators:["equal","not_equal","in","not_in","is_null","is_not_null","between","not_between","less","less_or_equal","greater","greater_or_equal","begins_with","not_begins_with","contains","not_contains","ends_with","not_ends_with","is_empty","is_not_empty"]}),qelem.queryBuilder({filters:QueryBuilderValueArray}),$("#builder_group_0").addClass("col-sm-12 mt-20");$(".parse-json").on("click",function(e){e.preventDefault();FormValidation.staticFilter="";console.log(JSON.stringify(qelem.queryBuilder("getRules"),undefined,2));$("#Output").html(JSON.stringify(qelem.queryBuilder("getSQL",!1,!0).sql,undefined,2));var obj=qelem.queryBuilder("getRules");FormValidation.staticFilter=JSON.stringify(obj)})}getOperatorId(operatorname){let operator=1;return operatorname=="equals"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.Equals:operatorname=="not equal"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotEquals:operatorname=="in"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.In:operatorname=="not_in"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotIn:operatorname=="is_null"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.IsNull:operatorname=="is_not_null"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.IsNotNull:operatorname=="between"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.Between:operatorname=="not_between"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotBetween:operatorname=="less"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.LessThan:operatorname=="less_or_equal"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.LessThanOrEquals:operatorname=="greater"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThan:operatorname=="greater_or_equal"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.GreaterThanOrEquals:operatorname=="begins_with"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.BeginsWith:operatorname=="not_begins_with"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotBeginsWith:operatorname=="contains"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.Contains:operatorname=="not_contains"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.DoesNotContains:operatorname=="ends_with"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.EndsWith:operatorname=="not_ends_with"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotEndsWith:operatorname=="is_empty"?operator=Unibase.Platform.Core.Enums.ExpressionOperator.Empty:operatorname=="is_not_empty"&&(operator=Unibase.Platform.Core.Enums.ExpressionOperator.NotEquals),operator}loadParamTypes(callback){$("#ddl_SelectedMethod option:selected").val()!=0&&($("#methodParams").find(".added-item").remove(),$("#methodParams").html(""),$("#div_MethodParams").removeClass("hidden"),Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getMethodProvider($("#ddl_SelectedMethod option:selected").val()).then(function(response){function bindHtml(name,type){var len=$("#methodParams").find(".added-item").length;$("#methodParams").append('<div class="row added-item mb-2"><div class="col-sm-4" id="div_ParamName_'+len+'">'+name+'<\/div><div class="col-sm-4" id="div_Type">'+type+'<\/div><div id="div_FormProperties" class="col-sm-4"><select id="ddl_FormProperty_'+len+'" class="form-control value-control required" data-isdynamic="false"><\/select><input type="hidden" id="hfddl_FormProperty_'+len+'" class="hfddl_FormProperty form-control value-control" data-isdynamic="true"/><\/div><\/div>')}var data=response.result,length;let paramTypes=JSON.parse(data.ParamTypes);if(jQuery.isEmptyObject(paramTypes))$("#methodParams").append('<div style="text-align: center;">No Parameters Found<\/div>');else for(let name in paramTypes){let parameterName,parameterType;if(paramTypes[name].includes("System"))parameterName=name,parameterType=paramTypes[name].split("."),parameterType=parameterType[1],bindHtml(parameterName,parameterType);else{let params=JSON.parse(data.RequestJson);for(let name in params){if(parameterName=name,parameterType=params[name],typeof parameterType=="object")$("#methodParams").append("<div id='divParent_"+parameterName+"' class=' col-sm-12 div_Toggle mb-2 fa fa-caret-right'><span style='font-size:18px;'>"+parameterName+"<\/span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name<\/strong><strong class='col-sm-6'>Type<\/strong><\/div><div class='card-body'><\/div><\/div><\/div><br/>"),childObject(parameterName,parameterType);else{if(parameterType.includes("System")){let paramType=parameterType.split(".");parameterType=paramType[1]}bindHtml(parameterName,parameterType)}function childObject(parameterName,parameterType){var params,Name,type;for(let i=0;i<parameterType.length;i++){params=parameterType[i];for(let name in params)if(Name=name,type=params[name],typeof type!="object"){if(type.includes("System")){let paramType=type.split(".");type=paramType[1]}$("#methodParams").find("#divParent_"+parameterName).find(".card-body").append('<div class="row added-item mb-2 nested"><div class="col-sm-6" id="div_Name">'+Name+'<\/div><div class="col-sm-6" id="div_Type">'+type+"<\/div><\/div>")}else $("#methodParams").find("#divParent_"+parameterName).append("<div id='divParent_"+Name+"' class='col-sm-12 div_Toggle fa fa-caret-right' style='display:none;'><span>"+Name+"<\/span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name<\/strong><strong class='col-sm-6'>Type<\/strong><\/div><div class='card-body'><\/div><\/div><\/div>"),childObject(Name,type)}}}}length=$("#methodParams").find(".added-item").length;Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProperties(length-1)}$(".nested").hide()}).then(function(){callback!==null&&callback()}))}saveFormValidation(){var ReportId=0,methodProviderId=0,systemName="",methodName="",IsReport=!1,executionType=Number($("#ddl_ExecutionType option:selected").val()),applyType=Number($("#ddl_ValidationType option:selected").val()),formType=Number($("#ddl_FormType option:selected").val()),validationSettingsList,len,isstaticvalue,staticvalue,validationSettingObj,parameters,jsonParam,InstalledAppId,FormId;executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Report?(ReportId=JSON.parse($("#ddl_SelectedType option:selected").val()),IsReport=!0):executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Method&&(methodProviderId=Number($("#ddl_SelectedMethod option:selected").val()),systemName=$("#ddl_SelectedType option:selected").val(),methodName=$("#ddl_SelectedMethod option:selected").text());validationSettingsList=[];len=$("#selectProperty .methodProp").length;for(let i=0;i<len;i++){var formPropId=Number($("#ddl_selectproperty_"+i).val()),formPropId2=0,errorMsg="",expOperator="";executionType==Unibase.Platform.DataApis.Enums.ExecutionType.Form&&(applyType==Unibase.Platform.Forms.Enums.ValidationType.Automation?(formPropId=Number($("#ddl_selectToProperty_"+i+" option:selected").val()),formPropId2=Number($("#ddl_selectFromProperty_"+i+" option:selected").val())):applyType==Unibase.Platform.Forms.Enums.ValidationType.FormValidation&&(formPropId=Number($("#ddl_validationSelectToProperty_"+i+" option:selected").val()),formPropId2=Number($("#ddl_validationSelectFromProperty_"+i+" option:selected").val()),isstaticvalue=$("#chk_IsStaticValue_"+i).prop("checked"),staticvalue="",isstaticvalue&&(formPropId2=0,staticvalue=$("#txt_isstaticvalue_"+i).val().toString()),errorMsg=$("#txt_FormErrorMsg_"+i).val().toString(),expOperator=$("#ddl_selectOperators_"+i).val().toString()));validationSettingObj={ValidationSettingId:Number($("#setting_"+i).attr("data-validationsettingid")),ExecutionTypeId:executionType,FormPropertyId:formPropId,InfoPropertyName:IsReport==!1?$("#txtInfoProperty_"+i).val():"",ReportColumnId:IsReport==!0?Number($("#ddl_ReportColumn_"+i).val()):0,FormPropertyId2:formPropId2,ErrorMessage:errorMsg,ExpOperator:expOperator,ValidationText:staticvalue};validationSettingsList.push(validationSettingObj)}parameters="";jsonParam={};$("#ddl_FormProperty_0").val()!=undefined?jsonParam[$("#ddl_FormProperty_0").val()]=$("#ddl_FormProperty_0 option:selected").text():"";$("#ddl_FormProperty_1").val()!=undefined?jsonParam[$("#ddl_FormProperty_1").val()]=$("#ddl_FormProperty_1 option:selected").text():"";$("#ddl_FormProperty_2").val()!=undefined?jsonParam[$("#ddl_FormProperty_2").val()]=$("#ddl_FormProperty_2 option:selected").text():"";$("#ddl_FormProperty_3").val()!=undefined?jsonParam[$("#ddl_FormProperty_3").val()]=$("#ddl_FormProperty_3 option:selected").text():"";$("#ddl_FormProperty_4").val()!=undefined?jsonParam[$("#ddl_FormProperty_4").val()]=$("#ddl_FormProperty_4 option:selected").text():"";$("#ddl_FormProperty_5").val()!=undefined?jsonParam[$("#ddl_FormProperty_5").val()]=$("#ddl_FormProperty_5 option:selected").text():"";$("#ddl_FormProperty_6").val()!=undefined?jsonParam[$("#ddl_FormProperty_6").val()]=$("#ddl_FormProperty_6 option:selected").text():"";$("#ddl_FormProperty_7").val()!=undefined?jsonParam[$("#ddl_FormProperty_7").val()]=$("#ddl_FormProperty_7 option:selected").text():"";parameters=JSON.stringify(jsonParam);let postData={FormValidationId:this.formvalidationid,FormValidationName:$("#txt_FormActionValidation").val(),ErrorMessage:$("#txt_ValidationErrorMessage").val(),FormIds:this.formid.toString(),FormTypeId:formType,ValidationTypeId:applyType,ExecutionTypeId:executionType,ReportId:ReportId,StaticFilter:FormValidation.staticFilter,SystemName:systemName,MethodProviderId:methodProviderId,MethodName:methodName,Parameters:parameters,ValidationSettings:validationSettingsList};if(formType==Unibase.Platform.Forms.Enums.FormType.Both){InstalledAppId=Number(Unibase.Themes.Providers.DetailHelper.installedAppId);FormId=Number(this.formid);let formType=this.formsInfo.FormTypeId,anotherForm;Unibase.Platform.Forms.Managers.FormManager.Instance().loadAppForms(InstalledAppId).then(function(response){let result=response.result;anotherForm=result.find(x=>x.FormTypeId!=formType);anotherForm!=undefined&&(postData.FormIds+="|"+anotherForm.FormId)}).then(function(){Unibase.Platform.Forms.Managers.FormManager.Instance().saveFormValidation(postData).then(function(response){response.status==Unibase.Data.Status.Error?(MessageHelper.Instance().showError(response.message,"div_FormVAlidation_ErrorMessage"),Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading()):(MessageHelper.Instance().showSuccess("Validation Saved Successfully.",""),$("#btn_CloseFormValidation").trigger("click"))})})}else Unibase.Platform.Forms.Managers.FormManager.Instance().saveFormValidation(postData).then(function(response){MessageHelper.Instance().showSuccess(response.message,"");$("#btn_CloseFormValidation").trigger("click")})}loadMethodSettings(id){var val=id+1,html=`<div class="row methodProp" id="setting_`+id+`" data-validationsettingid="0"><div class="col-sm-6"><label for="lblProrprtyname_`+id+`" class="font-bold" id="lblWidth">Select Property <span class="text-danger"></span></label>
  215. <select id="ddl_selectproperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select>
  216. </div>
  217. <div class="col-sm-6"><div class="floating-label-form-group"><label id="lblInfoProperty_`+id+`" for="txtInfoProperty`+id+`">Info Property <i id="propNumber">`+val+`</i><span class="text-danger"> *</span></label><input type="text" id="txtInfoProperty_`+id+`" maxlength="250" class="form-control required floating-label-control" data-isdynamic="false" placeholder="Info Property *" data-placeholder="Enter Info Property Name" data-label="Enter Info Property Name *"/></div></div></div>`;$("#selectProperty").append(html);Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProps(id)}loadReportSettings(id){var val=id+1,html=`<div class="row methodProp" id="setting_`+id+`" data-validationsettingid="0"><div class="col-sm-6"><label for="lblProrprtyname_`+id+`" class="font-bold" id="lblWidth">Select Property <span class="text-danger"></span></label>
  218. <select id="ddl_selectproperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type='hidden' id='hfddl_selectproperty_`+id+`" class='hfddl_selectproperty form-control value-control' data-isdynamic='true'/></div><div class="col-sm-6"><label for="ddl_ReportColumn_`+id+`" class="font-bold" id="lblReportColumn">Select Info Property<span class="text-danger"></span></label><select id="ddl_ReportColumn_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type='hidden' id='hfddl_ReportColumn_`+id+`" class='hfddl_ReportColumn form-control value-control' data-isdynamic='true'/></div></div>`;$("#selectProperty").append(html);Unibase.Platform.Forms.Components.FormValidation.Instance().loadFormProps(id);Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllReportColumns(id)}loadFormAutomationSettings(id){var val=id+1,html=`<div class="row methodProp" id="setting_`+id+`" data-validationsettingid="0"><div class="col-sm-6"><label id="lblToPropertyName_`+id+`" class="font-bold">Select To Property <span class="text-danger"></span></label><select id="ddl_selectToProperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_selectToProperty_`+id+`" class='hfddl_selectToProperty form-control value-control' data-isdynamic='true'/></div><div class="col-sm-6"><label id="lblFromPropertyName_`+id+`" class="font-bold">Select From Property <span class="text-danger"></span></label><select id="ddl_selectFromProperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_selectFromProperty_`+id+`" class='hfddl_selectFromProperty form-control value-control' data-isdynamic='true'/></div></div>`;$("#selectProperty").append(html);Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllFormProps(id)}loadFormValidationSettings(id){var val=id+1,html=`<div class="card methodProp" id="divValidationSection_`+id+`"><div class="close-btn-div pr-10"><a class="mt-5 btn-xs float-right btn btn-icon btn-icon-circle btn-icon-style-3 remove-property-section-`+id+`" href="javascript:;" title="Remove row" onclick="Unibase.Platform.Forms.Components.FormValidation.Instance().removePropertySection('divValidationSection_`+id+`');"><span class="btn-icon-wrap"><i class="fa fa-times"></i><span></span></span></a></div><div class="card-body px-1 m-0 row" id="setting_`+id+`" data-validationsettingid="0">
  219. <div class="col-md-4"><label id="lblToPropertyName_`+id+`" class="font-bold">Select To Property <span class="text-danger"></span></label><select id="ddl_validationSelectToProperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_validationSelectToProperty_`+id+`" class='hfddl_selectToProperty form-control value-control' data-isdynamic='true'/></div>
  220. <div class="col-md-2"><label for="ddl_selectOperators_`+id+`" class="font-bold" id="lblWidth">Select Operator <span class="text-danger"></span></label>
  221. <select id="ddl_selectOperators_`+id+`" class="form-control comparison-operator value-control required" data-placeholder="Select" placeholder="Select">
  222. <option value="equal">equal</option>
  223. <option value="not_equal">not equal</option>
  224. <option value="is_null">is null</option>
  225. <option value="is_not_null">is not null</option>
  226. <option value="less">less</option>
  227. <option value="less_or_equal">less or equal</option>
  228. <option value="greater">greater</option>
  229. <option value="greater_or_equal">greater or equal</option>
  230. <option value="not_ends_with">doesn't end with</option>
  231. <option value="is_empty">is empty</option>
  232. <option value="is_not_empty">is not empty</option>
  233. </select></div>
  234. <div class="col-md-4" id="divFormproperty2_`+id+`"><label class="font-bold">Select From Property <span class="text-danger"></span></label><select id="ddl_validationSelectFromProperty_`+id+`" class="form-control value-control required" data-placeholder="Select" placeholder="Select" style="width:100%;"></select><input type='hidden' id='hfddl_validationSelectFromProperty_`+id+`" class='hfddl_selectFromProperty form-control value-control' data-isdynamic='true'/></div>
  235. <div class="col-md-4 hidden" class="floating-label-form-group" id="divIsStaticValue_`+id+`"><label class="font-bold">Static Value<span class="text-danger">*</span></label> <input type="text" class="form-control type-control value-control floating-label-control " id="txt_isstaticvalue_`+id+`" value="" placeholder="Enter Static Value" data-placeholder="Enter Static Value" data-label="Static Value"/></div>
  236. <div class="col-md-2"><input type="checkbox" id="chk_IsStaticValue_`+id+`" value="isStatic value">Is Static value</input></div>
  237. <div class="col-md-6 mt-10"><div class="floating-label-form-group"><label for="txt_FormActionValidation_`+id+`" id="lbl_FormActionValidation_`+id+`">Error Message<span class="text-danger"> *</span></label><input type="text" id="txt_FormErrorMsg_`+id+`" maxlength="250" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Enter Error Message *" data-placeholder="Enter Error Message" data-label="Enter Error Message *"></div></div></div></div>`;$("#selectProperty").append(html);Unibase.Platform.Forms.Components.FormValidation.Instance().loadAllFormValidationProps(id)}loadAllFormValidationProps(id){var instance=this,formurl=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/"+instance.formid;AutoCompleteHelper.getHelper().Create($("#ddl_validationSelectToProperty_"+id),$("#hfddl_validationSelectToProperty_"+id),formurl,function(response){var data=response});AutoCompleteHelper.getHelper().Create($("#ddl_validationSelectFromProperty_"+id),$("#hfddl_validationSelectFromProperty_"+id),formurl,function(response){var data=response},!1);$("#chk_IsStaticValue_"+id).click(function(){$("#chk_IsStaticValue_"+id).prop("checked")==!0?($("#divIsStaticValue_"+id).removeClass("hidden"),$("#divFormproperty2_"+id).addClass("hidden")):($("#divIsStaticValue_"+id).addClass("hidden"),$("#divFormproperty2_"+id).removeClass("hidden"))})}loadAllFormProps(id){var instance=this,formurl=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/"+instance.formid;AutoCompleteHelper.getHelper().Create($("#ddl_selectToProperty_"+id),$("#hfddl_selectToProperty_"+id),formurl,function(response){var data=response});AutoCompleteHelper.getHelper().Create($("#ddl_selectFromProperty_"+id),$("#hfddl_selectFromProperty_"+id),formurl,function(response){var data=response})}loadFormProps(id){var instance=this,formurl=_appsettings.server_url()+"/apis/v4/unibase/platform/forms/getformpropertiesbyformid/formid/"+instance.formid;AutoCompleteHelper.getHelper().Create($("#ddl_selectproperty_"+id),$("#hfddl_selectproperty_"+id),formurl,function(response){var data=response})}loadAllReportColumns(id){var reportcolumnurl=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/"+Number($("#ddl_SelectedType option:selected").val());AutoCompleteHelper.getHelper().Create($("#ddl_ReportColumn_"+id),$("#hfddl_ReportColumn_"+id),reportcolumnurl,function(response){var data=response})}deleteFormValidation(formvalidationid){Unibase.Platform.Forms.Managers.FormManager.Instance().deleteFormValidation(formvalidationid).then(function(response){MessageHelper.Instance().showSuccess(response.message,"")})}static Instance(){return this.instance===undefined&&(this.instance=new FormValidation),this.instance}}Components.FormValidation=FormValidation})(Components=Forms.Components||(Forms.Components={}))})(Forms=Platform.Forms||(Platform.Forms={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={})),function(Unibase){let Forms;(function(Forms){let Controls;(function(Controls){class SubForm_Setting{constructor(){this.SubFormName="";this.ChildFormId=0;this.RelationPropertyId=0}loadSettingHtml(Container){let html=`<div class="card div_subform"><div class="card-header"><span>SubForm</span></div><div class="card-body subform"><div class="subform-row col-sm-2" id="subform-row"></div>
  238. <div class="row"> <div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="lbl" id="lblSubFormName" class="font-bold">SuB Form<span class="text-danger" id="spnIsRequired_Section"> *</span></label><input type="text" id="txtSuBFormName" class="form-control value-control required floating-label-control" data-isdefault="true" placeholder="SuBFormName *" data-placeholder="Enter SuB Form Name" data-label="SuBFormName *"></div> </div></div><div class="row mt-20"><div class="col-sm-6"><label id="lblFormName" class="font-bold">Form Name <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select name="FormName" id="txtFormNames" class="form-control value-control required" data-isdynamic="true"><option value="0">-- Select --</option></select></div><div id="div_RelationProperty" class="col-sm-6"><label for="lbl" id="lbl_RelationProperty" style="color:grey">Relation Property</label><select id="txtAutoComplete_RelationProperty" class="txtAutoComplete_RelationProperty form-control text-control" data-isdefault="true" style="width:100%;"><option value="0">-- Select --</option></select></div></div><div class="col-sm-12 row" ><div class="col-sm-6" id="EnableSubFormSettings" style="margin-top:50px"><strong>Enable SubForm Settings</strong><label class="switch pull-right"><input id="chkEnableSubFormSettings" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div><div class="col-sm-6" id="EnableListFormSettings" style="margin-top:50px"><strong>Enable ListForm Settings</strong><label class="switch pull-right"><input id="chkEnableListFormSettings" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div></div><div class="row hidden" id="AddButtonName"> <div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="lbl" id="lblButtonName" class="font-bold">Button Name<span class="text-danger" id="spnIsRequired_Section"> *</span></label><input type="text" id="txtButtonName" class="form-control value-control floating-label-control" data-isdefault="true" placeholder="ButtonName *" data-placeholder="Enter Button Name" data-label="Button Name *"></div> </div></div>
  239. </div></div>`;$(Container).html(html);SubForm_Setting.Instance().FormsAutocomplete();$("#chkEnableSubFormSettings").unbind("click").click(function(){var changable=$("#chkEnableSubFormSettings").prop("checked");changable?($("#chksubformsettingsEnable").prop("checked",!0),$("#AddButtonName").removeClass("hidden")):($("#chksubformsettingsEnable").prop("checked",!1),$("#AddButtonName").addClass("hidden"))});$("#chkEnableListFormSettings").unbind("click").click(function(){var changable=$("#chkEnableListFormSettings").prop("checked");changable?($("#chkEnableListFormSettings").prop("checked",!0),$("#chkEnableListFormSettings").val("true"),$(".div_CheckListform").removeClass("hidden")):($("#chkEnableListFormSettings").prop("checked",!1),$("#chkEnableListFormSettings").val("false"),$(".div_CheckListform").addClass("hidden"))})}FormsAutocomplete(){var _fileCacheHelper=Unibase.Platform.Helpers.FileCacheHelper.Instance(),userinfo=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),term="";(term==undefined||term=="")&&(term=undefined);_fileCacheHelper.loadJsFile("/platform/forms/managers/formmanager.js",function(){Unibase.Platform.Forms.Managers.FormManager.Instance().getFormsAutoComplete(term,userinfo.sessionId).then(function(response){var data=response.result,FormsData=[],roles;for(let i=0;i<data.length;i++)roles=data[i],FormsData.push({id:roles.Value,text:roles.SelectText});$("#txtFormNames").select2({placeholder:"Select Form",data:FormsData});$("#txtFormNames").on("change",function(){if($("#txtFormNames").val()!=null){var Formid=$("#txtFormNames option:selected").val().toString();SubForm_Setting.Instance().GetDocPropertyAutocompleteDetails(Number(Formid))}})})})}GetDocPropertyAutocompleteDetails(FormId){$("#txtAutoComplete_RelationProperty").empty();Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(FormId).then(function(response){for(let i=0;i<response.result.length;i++)$("#txtAutoComplete_RelationProperty").append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName+"<\/option>")})}bindControlData(controldatajson){var data=controldatajson,selectDatalistname,selectIdColumn,selectTextColumn;$("#hdnAutocompletePropertyId").val(data.AutoCompletePropertyId);selectDatalistname=new Option(data.DataListName,data.DataListId,!0);$("#loadDatalist").append(selectDatalistname);selectIdColumn=new Option(data.AutoCompleteIdColumn,data.AutoCompleteIdColumn,!0);$("#loadDatalistIdColumns").append(selectIdColumn);selectTextColumn=new Option(data.AutoCompleteTextColumn,data.AutoCompleteTextColumn,!0);$("#txtPropertyName").val(data.FormPropertyName);$("#loadDatalistTextColumns").append(selectTextColumn);$("#hfloadDatalistId").val(data.DataListId);$("#txtSuBFormName").val(data.SubFormName);$("select#txtFormNames option:selected").text(data.ChildFormName);$("select#txtFormNames option:selected").val(data.ChildFormId);$("select#txtAutoComplete_RelationProperty option:selected").text(data.RelationPropertyName);$("select#txtAutoComplete_RelationProperty option:selected").val(data.RelationPropertyId);data.EnableSubFormSettings==!0?($("#chkEnableSubFormSettings").prop("checked",!0),$("#chkEnableSubFormSettings").val("true"),$("#AddButtonName").removeClass("hidden"),$("#txtButtonName").val(data.ButtonName)):($("#chkEnableSubFormSettings").prop("checked",!1),$("#chkEnableSubFormSettings").val("false"),$("#AddButtonName").addClass("hidden"));data.EnableListFormSettings==!0?($("#chkEnableListFormSettings").prop("checked",!0),$("#chkEnableListFormSettings").val("true"),$(".div_CheckListform").removeClass("hidden")):($("#chkEnableListFormSettings").prop("checked",!1),$("#chkEnableListFormSettings").val("false"),$(".div_CheckListform").addClass("hidden"));$("#chkIsTagSelect").prop("checked",data.IsTagSelect);$("#hdnIsTagSelect").val(data.IsTagSelect);$("#hdnFormId").val(data.FormId);$("#hdnAutocompleteFilterColumn").val(data.AutocompleteFilterColumn);$("#hdnAppConfigId").val(data.AppConfigId);$("#txt_FormUniqueId").val(Unibase.Platform.Forms.Components.FormBuilder.Instance().FormUniqueId).toString()}SaveControlData(controldatajson){var chkenblesetting,chkenbleListsetting,changable=$("#chkEnableSubFormSettings").prop("checked"),Listchangable,controldatajson1;changable?($("#chkEnableSubFormSettings").prop("checked",!0),$("#chkEnableSubFormSettings").val("true"),$("#AddButtonName").removeClass("hidden"),chkenblesetting=!0):($("#chkEnableSubFormSettings").prop("checked",!1),$("#chkEnableSubFormSettings").val("false"),chkenblesetting=!1,$("#AddButtonName").addClass("hidden"));Listchangable=$("#chkEnableListFormSettings").prop("checked");Listchangable?($("#chkEnableListFormSettings").prop("checked",!0),$("#chkEnableListFormSettings").val("true"),chkenbleListsetting=!0,$(".div_CheckListform").removeClass("hidden")):($("#chkEnableListFormSettings").prop("checked",!1),$("#chkEnableListFormSettings").val("false"),chkenbleListsetting=!1,$(".div_CheckListform").addClass("hidden"));let SubFormName=$("#txtSuBFormName").val(),ChildFormId=Number($("select#txtFormNames option:selected").val()),RelationPropertyId=Number($("select#txtAutoComplete_RelationProperty option:selected").val());return SubForm_Setting.instance.SubFormName=SubFormName,SubForm_Setting.instance.ChildFormId=Number(ChildFormId),SubForm_Setting.instance.RelationPropertyId=Number(RelationPropertyId),controldatajson1=[],controldatajson!=null&&controldatajson!=""?controldatajson1[0]={DocPropertyId:Number(0),DataListId:Number($("#loadDatalist option:selected").val()),IsIncludeAllOption:!1,IsMultiSelect:!1,SubFormName:controldatajson.SubFormName,ChildFormId:Number(controldatajson.ChildFormId),ChildFormName:controldatajson.ChildFormName,RelationPropertyId:Number(controldatajson.RelationPropertyId),RelationPropertyName:controldatajson.RelationPropertyName,EnableSubFormSettings:controldatajson.EnableSubFormSettings,EnableListFormSettings:controldatajson.EnableListFormSettings,ButtonName:controldatajson.ButtonName,ParentFormId:Number(controldatajson.ParentFormId),IsTagSelect:$("#chkIsTagSelect").prop("checked"),FormId:Number(controldatajson.FormId),AppConfigId:Number($("#hdnAppConfigId").val()),Parameters:null,DataListName:$("#loadDatalist option:selected").text(),FormUniqueId:controldatajson.FormUniqueId,ParentFormUniqueId:controldatajson.ParentFormUniqueId,ChildFormUniqueId:controldatajson.ChildFormUniqueId,FormPropertyName:$("#txtPropertyName").val()}:(controldatajson1[0]={DocPropertyId:Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),DataListId:Number($("#loadDatalist option:selected").val()),IsIncludeAllOption:!1,IsMultiSelect:!1,SubFormName:$("#txtSuBFormName").val(),ChildFormId:Number($("select#txtFormNames option:selected").val()),ChildFormName:$("select#txtFormNames option:selected").text(),RelationPropertyId:Number($("select#txtAutoComplete_RelationProperty option:selected").val()),RelationPropertyName:$("select#txtAutoComplete_RelationProperty option:selected").text(),EnableSubFormSettings:chkenblesetting,EnableListFormSettings:chkenbleListsetting,ButtonName:$("#txtButtonName").val(),ParentFormId:Number(0),IsTagSelect:$("#chkIsTagSelect").prop("checked"),FormId:Number(Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId),AppConfigId:Number($("#hdnAppConfigId").val()),Parameters:null,DataListName:$("#loadDatalist option:selected").text(),FormUniqueId:Unibase.Platform.Forms.Components.FormBuilder.Instance().FormUniqueId,FormPropertyName:$("#txtPropertyName").val()},controldatajson=JSON.stringify(controldatajson1[0])),controldatajson}loadControlPropertiesHtml(){return``}bindPropertySettings(prop){var propertySettings=prop.PropertySettings;return""}savePropertySettings(prop){var propertySettings=prop.PropertySettings;return""}static Instance(){return this.instance===undefined&&(this.instance=new SubForm_Setting),this.instance}}Controls.SubForm_Setting=SubForm_Setting})(Controls=Forms.Controls||(Forms.Controls={}))})(Forms=Unibase.Forms||(Unibase.Forms={}))}(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let DataSources;(function(DataSources){let Components;(function(Components){class DocTypeBuilder extends Platform.Core.BaseComponent{constructor(){super();this.appDocTypeRelationsArray=[];var instance=this;Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDataTypes().then(function(response){response.result!=null&&response.result!=undefined&&response.result.length>0&&(instance.dataTypes=response.result.map(function(result){return{id:result.DataTypeId,text:result.DataTypeName}}))})}cssFiles(){return[]}jsFiles(){return["platform/datasources/managers/doctypemanager.js","platform/datasources/components/doctypebuilder/doctypebuilder.template.js","platform/core/infos/status.js","platform/datasources/requests/doctypes.js"]}html(){return`<div class="card"><div class="bg-white card-header">
  240. <strong class="modal-title biz-highlight-bg-color">New Doc Type</strong>
  241. </div>
  242. <div class="card-body scrollable">
  243. <div class="card">
  244. <div class="card-header">
  245. <strong class="text-dark">Doctype</strong>
  246. </div>
  247. <div class="card-body">
  248. <div class="row">
  249. <div class="col-sm-3" id="div_DocTypeName">
  250. <div class="floating-label-form-group">
  251. <label for="txt_DocTypeName">DocType Name<span class="text-danger"> *</span></label>
  252. <input type="text" id="txt_DocTypeName" class="form-control floating-label-control" data-isdynamic="false" placeholder="Enter DocType Name" data-placeholder="Enter DocType Name" data-label="DocType Name" />
  253. <input type='hidden' id='hfdoctyeid' value='' />
  254. </div>
  255. </div>
  256. <div class="col-sm-3" id="div_primarykey">
  257. <div class="floating-label-form-group">
  258. <label for="ddl_Primarykey">Primary Key<span class="text-danger"> *</span></label>
  259. <select id="ddl_Primarykey" class="form-control floating-label-control">
  260. </select>
  261. </div>
  262. </div>
  263. <div class="col-sm-2" id="div_Mongodbtype">
  264. <div class="floating-label-form-group">
  265. <label for="ddl_Mongodbtype">DB Type<span class="text-danger"> *</span></label>
  266. <select id="ddl_Mongodbtype" class="form-control floating-label-control">
  267. <option value="1">Sql</option>
  268. <option value="2">NoSql</option>
  269. </select>
  270. </div>
  271. </div>
  272. <div class="col-sm-2" id="IsIdentity"><strong>IsIdentity?</strong>
  273. <div class="col-sm-1 text-center">
  274. <input type="checkbox" id="IsIdentity" class="mt-30 IsIdentity_Doctype" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().IsIdentity()" id="IsIdentity" value=""/>
  275. </div>
  276. </div>
  277. <div class="col-sm-2" id="IsExcludeFromAudit"><strong>IsExcludeAudit?</strong>
  278. <div class="col-sm-1 text-center">
  279. <input type="checkbox" id="IsExcludeFromAudit" class="mt-30 IsExcludeFromAudit_Doctype" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().IsExcludeFromAudit()" id="IsExcludeFromAudit" value=""/>
  280. </div>
  281. </div>
  282. </div>
  283. <div class="row" >
  284. <div class="col-sm-3">
  285. <label for="frmchkIsDefault" style="margin-top:50px"><b>Enable Partition</b></label><label id="lblIsRequired" class="switch m-t form-inline pull-right" style="margin-top:40px">
  286. <input id="chkEnablePartition" data-group="IsRequired" type="checkbox" data-isdynamic="false"><span>
  287. </span></label>
  288. </div>
  289. <div class="col-sm-3 hidden" id="div_PartitionColumn">
  290. <div class="floating-label-form-group">
  291. <label for="ddl_PartitionColumn">Partition Column<span class="text-danger"> *</span></label>
  292. <select id="ddl_PartitionColumn" class="form-control floating-label-control">
  293. <option value=""></option></select>
  294. </div>
  295. </div>
  296. </div>
  297. </div>
  298. </div>
  299. <div class="card">
  300. <div class="card-header">
  301. <strong class="text-dark">Doctype Properties</strong>
  302. </div>
  303. <div class="card-body" id="doctypeid">
  304. <div id="validation-Doctype"></div>
  305. <div class="row AddDocTypediv " id="AddDocTypediv">
  306. <div class="col-sm-3" id="name"><strong>Name</strong></div>
  307. <input type='hidden' id='hfdoctyeid' value='' />
  308. <div class="col-sm-2" id="datatype"><strong>Data Type</strong></div>
  309. <div class="col-sm-1" id="length"><strong>Length</strong></div>
  310. <div class="col-sm-1" id="scale"><strong>Scale</strong></div>
  311. <div class="col-sm-1 text-center" id="notnull"><strong>Null?</strong></div>
  312. <div class="col-sm-1 text-center" id="IsUnique"><strong>Unique?</strong></div>
  313. <div class="col-sm-1 text-center" id="IsContact"><strong>IsContact?</strong></div>
  314. <div class="col-sm-1 text-center" id="IsExcludeFromAudit"><strong>IsExcludeFromAudit?</strong></div>
  315. <div class="col-sm-1"><a id="addnewdoctypes" href='javascript:;' class="btn btn-primary text-white btn-sm mt-6 pull-right">
  316. <i class="fa fa-plus"></i>
  317. </a>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. <div class="card">
  323. <div class="card-header">
  324. <strong class="text-dark">Doctype Relation</strong></div>
  325. <div class="card-body" id="doctyperelationid">
  326. <div class="row">
  327. <div class="col-sm-3">
  328. <div class="floating-label-form-group floating-label-form-group-with-value">
  329. <label for="ddl_Parenttable">Child Property<span class="text-danger"> *</span></label>
  330. <select id="ddl_Parenttable" class="form-control floating-label-control">
  331. </select>
  332. </div>
  333. </div>
  334. <div class="col-sm-2">
  335. <div class="floating-label-form-group floating-label-form-group-with-value">
  336. <label for="ddl_Relation">Relations<span class="text-danger"> *</span></label>
  337. <select id="ddl_Relation" class="form-control floating-label-control">
  338. </select>
  339. </div>
  340. </div>
  341. <div class="col-sm-3">
  342. <div class="floating-label-form-group floating-label-form-group-with-value">
  343. <label for="ddl_Relatedtablename">Related Table Name<span class="text-danger"> *</span></label>
  344. <select id="ddl_Relatedtablename" class="form-control floating-label-control">
  345. </select>
  346. </div>
  347. </div>
  348. <div class="col-sm-3">
  349. <div class="floating-label-form-group floating-label-form-group-with-value">
  350. <label for="ddl_propertyname">Property Name<span class="text-danger"> *</span></label>
  351. <select id="ddl_propertyname" class="form-control floating-label-control">
  352. </select>
  353. </div>
  354. </div>
  355. <div class="col-sm-1">
  356. <a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().RelationDocTypes()" class="btn btn-primary text-white mt-30 pull-right">
  357. <i class="fa fa-plus"></i>
  358. </a>
  359. </div>
  360. </div>
  361. <div class="row AddRelationDocTypediv " id="AddRelationDocTypediv">
  362. </div>
  363. </div>
  364. </div>
  365. <div class="card">
  366. <div class="card-header">
  367. <strong class="text-dark">DocProperty Relation</strong>
  368. </div>
  369. <div class="card-body" id="docpropertyrelationid">
  370. <div class="row">
  371. <div class="col-sm-2">
  372. <div class="floating-label-form-group floating-label-form-group-with-value">
  373. <label for="ddl_DocPropertyParenttable">Child Property <span class="text-danger"> *</span>
  374. </label>
  375. <select id="ddl_DocPropertyParenttable" class="form-control floating-label-control"></select>
  376. </div>
  377. </div>
  378. <div class="col-sm-3">
  379. <div class="floating-label-form-group floating-label-form-group-with-value">
  380. <label for="ddl_Relateddocpropertytablename">Related Table Name <span class="text-danger"> *</span>
  381. </label>
  382. <select id="ddl_Relateddocpropertytablename" class="form-control floating-label-control"></select>
  383. </div>
  384. </div>
  385. <div class="col-sm-3">
  386. <div class="floating-label-form-group floating-label-form-group-with-value">
  387. <label for="ddl_idvalue">ID Value<span class="text-danger"> *</span>
  388. </label>
  389. <select id="ddl_idvalue" class="form-control floating-label-control"></select>
  390. </div>
  391. </div>
  392. <div class="col-sm-3">
  393. <div class="floating-label-form-group floating-label-form-group-with-value">
  394. <label for="ddl_textvalue">Text Value<span class="text-danger"> *</span>
  395. </label>
  396. <select id="ddl_textvalue" class="form-control floating-label-control"></select>
  397. </div>
  398. </div>
  399. <div class="col-sm-1">
  400. <a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().RelationDocProperty()" class="btn btn-primary text-white mt-30 pull-right">
  401. <i class="fa fa-plus"></i>
  402. </a>
  403. </div>
  404. </div>
  405. <div class="row ExculudeFromAuditAddRelationDocPropertydiv " id="ExculudeFromAuditAddRelationDocPropertydiv"></div>
  406. </div>
  407. </div></div>
  408. <div class="bg-white card-footer" id="formFooter">
  409. <a href="javascript:;" id="btn_CloseDoctypeForm" class="btn btn-light btn-sm"> Close</a>
  410. <a href="javascript:;" id="btn_CreateDoctype" class="btn btn-primary btn-sm ml-auto"> Save</a>
  411. </div>`}load(docTypeId,containerid,callback){this.GetRelationType(0);$(".appdoctypelist").hide();$("#btn_CloseDoctypeForm").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove();$(".appdoctypelist").show()});var instance=this;$("#addnewdoctypes").click(function(){instance.AddDocTypes(containerid)});let instlledappid;instlledappid=instance.isFormViewer==!0||instance.isFormBuilder==!0?Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId:Unibase.Themes.Providers.DetailHelper.recordId;$("#chkEnablePartition").click(function(){$("#chkEnablePartition").is(":checked")?$("#div_PartitionColumn").removeClass("hidden"):$("#div_PartitionColumn").addClass("hidden")});$("#btn_CreateDoctype").click(function(){instance.SaveDoctype(containerid);instance.SaveDocproperties(containerid,0,instlledappid);$(".appdoctypelist").show()});instance.AddDocTypes(containerid);instance.GetParentDocTypes();$("#div_DocProperty").addClass("floating-label-form-group-with-value");$("#div_DataType").addClass("floating-label-form-group-with-value");$("#div_Constraints").addClass("floating-label-form-group-with-value");$("#div_primarykey").addClass("floating-label-form-group-with-value");$("#ddl_Relatedtablename").change(function(){$("#ddl_propertyname option").remove();var Id=$("#ddl_Relatedtablename option:selected").val(),_fileCacheHelper=instance.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getPropertiesByDocTypeId(Id).then(function(response){for(let i=0;i<response.result.length;i++)$("#ddl_propertyname").append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>")})})});$("#ddl_Relateddocpropertytablename").change(function(){$("#ddl_idvalue option").remove();$("#ddl_textvalue option").remove();var Id=$("#ddl_Relateddocpropertytablename option:selected").val(),_fileCacheHelper=instance.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getPropertiesByDocTypeId(Id).then(function(response){for(let i=0;i<response.result.length;i++)response.result[i].DataTypeName.toLowerCase()=="bigint"&&$("#ddl_idvalue").append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>"),$("#ddl_textvalue").append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>")})})});docTypeId!=0&&instance.BindDocTypeData(docTypeId);callback!=null&&callback()}init(containerid){this.appDocTypeRelationsArray=[];this.render(containerid);this.AppendDocTypes();this.GetAppDocTypeList()}render(containerid){var portletwidgetid=Number($("#hf_PortletWidgetId").val());$(".div_portletwidget_"+portletwidgetid).empty();let installedAppId=Unibase.Themes.Providers.DetailHelper.recordId,html=`<div id="appdoctypes_header">
  412. <h6>
  413. <div class="row ExecuteTable hidden">
  414. <div class="col-sm-8">
  415. <div class="floating-label-form-group">
  416. <label for="txt_TableName">Table Name<span class="text-danger"> *</span></label>
  417. <input type="text" id="txt_TableName" class="form-control floating-label-control" data-isdynamic="false" placeholder="Table Name" data-placeholder="Enter Table Name" data-label="Table Name">
  418. <input type="hidden" id="hftablename" value="">
  419. </div>
  420. </div>
  421. <h6>
  422. <div class="row col-sm-4 mt-30">
  423. <a id="ExecuteTable" onclick=" Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().ExecuteTable()" class="btn btn-sm btn-primary text-white">Execute</a>
  424. </div>
  425. </h6>
  426. </div>
  427. </h6>
  428. <h6>
  429. <div class="row appdoctypelist">
  430. <div class="col-sm-4">
  431. <div class="input-group">
  432. <select style="width:100%" class="form-control doctypename floating-label-control" id="ddl_DocTypes" data-isdynamic="false" placeholder="Select Doctype" data-placeholder="Select Doctype" data-label="Doctype" ></select>
  433. <input type="hidden" id="hf_doctypeid len " class="doctypename" value="" /></div>
  434. <select id="ddl_DocType" class="form-control value-control hidden">
  435. <option hidden>Select Doc Types</option>
  436. </select>
  437. </div>
  438. <div class="col-sm-1">
  439. <a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().AddDoctypeDetails()" class="btn btn-sm btn-primary text-white"><i class="fa fa-plus"></i></a>
  440. </div>
  441. <div class="col-sm-2">
  442. <a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().AddNewDocTypes(`+installedAppId+`, false, 0)" class="btn btn-sm btn-success text-white">Add New Table</a>
  443. </div>
  444. <div class="col-sm-2">
  445. <a id="SaveAppDoctypeList" onclick=" Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().AddAppDoctypelist()" class="btn btn-sm btn-primary text-white">Save</a>
  446. </div>
  447. <div class="col-sm-2">
  448. <a id="ImportDoctype" onclick=" Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().ImportDoctype()" class="btn btn-sm btn-primary text-white">Import</a>
  449. </div>
  450. </div>
  451. </h6>
  452. </div>
  453. <div class="list-group-item li_doctypes li-header appdoctypes_header bg-cyan-light-4"><div class="row"><div class=""><strong>Index</strong></div><div class="col-sm-4"><strong>DocType Name</strong></div><div class="col-sm-2 text-center"><strong>Parent DocType</strong></div><div class="col-sm-1 text-center"><strong>Export</strong></div><div class="col-sm-1 text-center"><strong>App DocType Export</strong></div><div class="col-sm-1 text-center"><strong>Edit</strong></div><div class="col-sm-1 text-center"><strong>Delete</strong></div></div></div>
  454. <ul id="doctypes_sortable_ul_id" class="doctypes_sortable_ul sortable list-group">
  455. </ul>`;$("."+containerid).append(html)}AddDoctypeDetails(){var currentindex=$(".AppDoctypeHighestIndexnumber").val(),BasicDocType_Template;currentindex==undefined&&(currentindex=0);BasicDocType_Template="";this.fileCacheHelper.loadJsFile("platform/datasources/components/doctypebuilder/doctypebuilder.template.js",function(){var Index=Number(currentindex),d=$(".hfAddDoctypeDetailid").val(),i=Number(d),doctypeid;Index=d==undefined?Index+1:i+1;doctypeid=$("#ddl_DocTypes").val();BasicDocType_Template=Unibase.Platform.DataSources.Components.DocTypeBuilder_Template.Instance().AddDoctypeDetailsHtml(Index);$("#doctypes_sortable_ul_id").append(BasicDocType_Template);Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().loadParentDocTypes(doctypeid)})}AddAppDoctypelist(){var arr=[],instance=this;$("#doctypes_sortable_ul_id").find(".list-group-item").each(function(){var appDocTypeRelationArray=[],AppDocTypeId,data,_array;$(this).find(".doctypedropdownid").val()!=null&&(AppDocTypeId=Number($(this).find(".hfappdoctypeid").val()),data={Appdoctypeid:0,Doctypeid:Number($(this).find(".doctypedropdownid").val()),InstalledAppId:Unibase.Themes.Providers.DetailHelper.recordId,Index:Number($(this).find(".Indexnumber").val()),ParentDocTypeId:Number($(this).find(".ddlParentDocType").val())},instance.appDocTypeRelationsArray.length>0&&(_array=instance.appDocTypeRelationsArray.filter(x=>x.AppDocTypeId==AppDocTypeId),_array.length>0&&(appDocTypeRelationArray=_array)),arr.push({Appdoctypeid:data.Appdoctypeid,Doctypeid:data.Doctypeid,InstalledAppId:data.InstalledAppId,Index:data.Index,ParentDocTypeId:data.ParentDocTypeId,AppDocTypeRelation:appDocTypeRelationArray}))});this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().addAppDoctypes(arr).then(function(response){var obj=Unibase.Themes.Compact.Components.Details.Instance();return obj._recordId=Unibase.Themes.Providers.DetailHelper.recordId,obj._installedAppId=Unibase.Themes.Providers.DetailHelper.installedAppId,Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj),response})})}AddDocTypes(){var instance=this,currdoctypeindex=$(".DoctypeIndexnumber").val(),BasicDocProperty_Template;currdoctypeindex==undefined&&(currdoctypeindex=0);BasicDocProperty_Template="";instance.fileCacheHelper.loadJsFile("platform/datasources/components/doctypebuilder/doctypebuilder.template.js",function(){var Index=Number(currdoctypeindex),d=$(".ContainerIdIndex").val(),i=Number(d);Index=d==undefined?Index+1:i+1;BasicDocProperty_Template=Unibase.Platform.DataSources.Components.DocTypeBuilder_Template.Instance().loadDocPropertyHtml(Index);$(".AddDocTypediv:last").after("<div class='AddDocTypediv' id='divAddDocProperty_"+Index+"'><\/div>");$("#divAddDocProperty_"+Index).append(BasicDocProperty_Template);$("#ddl_DataType_"+Index+"").select2({placeholder:"Select Datatype",data:instance.dataTypes});$("#Indexnumber_"+Index+"").val()})}appenddocproperties(index){var docProp="";docProp='<option value="'+index+'" dropdownDocPropid="'+index+'">'+$("#txtDocPropertyName_"+index+"").val()+"<\/option>";$("#ddl_Parenttable").append(docProp);$("#ddl_Primarykey").append(docProp);$("#ddl_PartitionColumn").append(docProp);$("#ddl_DocPropertyParenttable").append(docProp)}notnullocproperties(DocPropertyId){$("#txtnotnull_"+DocPropertyId+"").is(":checked")?($("#txtnotnull_"+DocPropertyId+"").prop("checked",!0),$("#txtnotnull_"+DocPropertyId+"").val("true")):($("#txtnotnull_"+DocPropertyId+"").prop("checked",!1),$("#txtnotnull_"+DocPropertyId+"").val("false"))}IsIdentity(){$(".IsIdentity_Doctype").is(":checked")?($(".IsIdentity_Doctype").prop("checked",!0),$(".IsIdentity_Doctype").val("true")):($(".IsIdentity_Doctype").prop("checked",!1),$(".IsIdentity_Doctype").val("false"))}IsExcludeFromAudit(){$(".IsExcludeFromAudit_Doctype").is(":checked")?($(".IsExcludeFromAudit_Doctype").prop("checked",!0),$(".IsExcludeFromAudit_Doctype").val("true")):($(".IsExcludeFromAudit_Doctype").prop("checked",!1),$(".IsExcludeFromAudit_Doctype").val("false"))}primarykeydocproperties(DocPropertyId){$("#txtprimarykey_"+DocPropertyId+"").is(":checked")?($("#txtprimarykey_"+DocPropertyId+"").prop("checked",!0),$("#txtprimarykey_"+DocPropertyId+"").val("true")):($("#txtprimarykey_"+DocPropertyId+"").prop("checked",!1),$("#txtprimarykey_"+DocPropertyId+"").val("false"))}IsUnique(index){$("#txtIsUnique_"+index+"").is(":checked")?($("#txtIsUnique_"+index+"").prop("checked",!0),$("#txtIsUnique_"+index+"").val("true")):($("#txtIsUnique_"+index+"").prop("checked",!1),$("#txtIsUnique_"+index+"").val("false"))}IsContact(index){$("#txtIsContact_"+index+"").is(":checked")?($("#txtIsContact_"+index+"").prop("checked",!0),$("#txtIsContact_"+index+"").val("true")):($("#txtIsContact_"+index+"").prop("checked",!1),$("#txtIsContact_"+index+"").val("false"))}DocPropertyIsExcludeFromAudit(index){$("#txtDocPropertyIsExcludeFromAudit_"+index+"").is(":checked")?($("#txtDocPropertyIsExcludeFromAudit_"+index+"").prop("checked",!0),$("#txtDocPropertyIsExcludeFromAudit_"+index+"").val("true")):($("#txtDocPropertyIsExcludeFromAudit_"+index+"").prop("checked",!1),$("#txtDocPropertyIsExcludeFromAudit_"+index+"").val("false"))}RelationDocTypes(){var data,currindex,DocTypeRelation_Template;let relationindex=0;data="";relationindex+=1;data+='<option value="'+relationindex+'" dropdownprimarykeyid="'+relationindex+'">'+$("#txt_DocProperty").val()+"<\/option>";currindex=$(".hfDoctypeRelationIndex").val();currindex==undefined&&(currindex=0);DocTypeRelation_Template="";this.fileCacheHelper.loadJsFile("platform/datasources/components/doctypebuilder/doctypebuilder.template.js",function(){var Index=Number(currindex),d=$(".hfDoctypeRelationIndex").val(),i=Number(d);Index=d==undefined?Index+1:i+1;DocTypeRelation_Template=Unibase.Platform.DataSources.Components.DocTypeBuilder_Template.Instance().DocTypeRelationHtm(Index);$(".AddRelationDocTypediv:last").after("<div class='AddRelationDocTypediv' id='AddRelationDocProperty_"+Index+"'><\/div>");$("#AddRelationDocProperty_"+Index).append(DocTypeRelation_Template)})}RelationDocProperty(){var data,currindex,DocTypeRelation_Template;let relationindex=0;data="";relationindex+=1;data+='<option value="'+relationindex+'" dropdownprimarykeyid="'+relationindex+'">'+$("#txt_DocProperty").val()+"<\/option>";currindex=$(".hfDocPropertyRelationIndex").val();currindex==undefined&&(currindex=0);DocTypeRelation_Template="";this.fileCacheHelper.loadJsFile("platform/datasources/components/doctypebuilder/doctypebuilder.template.js",function(){var Index=Number(currindex),d=$(".hfDocPropertyRelationIndex").val(),i=Number(d);Index=d==undefined?Index+1:i+1;DocTypeRelation_Template=Unibase.Platform.DataSources.Components.DocTypeBuilder_Template.Instance().DocPropertyRelationHtml(Index);$(".ExculudeFromAuditAddRelationDocPropertydiv:last").after("<div class='ExculudeFromAuditAddRelationDocPropertydiv' id='ExculudeFromAuditAddRelationDocProperty_"+Index+"'><\/div>");$("#ExculudeFromAuditAddRelationDocProperty_"+Index).append(DocTypeRelation_Template)})}DeleteDoctypeOption(index){$("#deleteDocTypeDiv_"+index).remove()}DeleteDocPropertyOption(index){$("#exculudeFromAuditdeleteDocPropertyDiv_"+index).remove()}DeleteAppDocTypeOption(appDoctypeId,index){var instance=this;bootbox.confirm("By Deleting this Relation All Below Relations will be deleted Do you Want To Delete",function(result){var _deletearray,i,_index;if(result)for(_deletearray=instance.appDocTypeRelationsArray.filter(x=>x.AppDocTypeId==appDoctypeId&&x.IndexNumber>=index),_deletearray.sort(function(x,y){return x.IndexNumber-y.IndexNumber}),i=0;i<_deletearray.length;i++)_index=instance.appDocTypeRelationsArray.findIndex(x=>x.AppDocTypeId==_deletearray[i].AppDocTypeId&&x.DocTypeId==_deletearray[i].DocTypeId&&x.DocPropertyId==_deletearray[i].DocPropertyId&&x.ParentDocTypeId==_deletearray[i].ParentDocTypeId&&x.ParentDocPropertyId==_deletearray[i].ParentDocPropertyId),instance.appDocTypeRelationsArray.splice(_index,1),$("#AddRelationAppDocType_"+appDoctypeId+"_"+index).nextAll().remove(),$("#AddRelationAppDocType_"+appDoctypeId+"_"+index).remove()})}MapView(AppDoctypeId,IsMap){IsMap?($("#MapViewDetailDiv_"+AppDoctypeId).removeClass("hidden"),$("#MapView_"+AppDoctypeId).addClass("hidden")):($("#MapViewDetailDiv_"+AppDoctypeId).addClass("hidden"),$("#MapView_"+AppDoctypeId).removeClass("hidden"))}Deletediv(index){$("#deleteRadioButtonDropDown_"+index).remove();$("#deleteRadioButton_"+index).remove()}Deletedocpropertydiv(DocPropertyId){$("#deleteRadioButtonDropDown_"+DocPropertyId).remove();$("#deleteRadioButton_"+DocPropertyId).remove();Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DeletDocProperty(DocPropertyId)}ExecuteTable(){var TableName=$("#txt_TableName").val();Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().executeTable(TableName).then(function(response){MessageHelper.Instance().showSuccess(response.message,"")})}DeleteDocTypesList(index){$("#doctypesdata_"+index).remove()}AddNewDocTypes(installedAppId,isFormBuilder,isformviewer,docTypeId){var instance=this;Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();instance.isFormBuilder=isFormBuilder;instance.isFormViewer=isformviewer;instance.navigationHelper.popup(docTypeId,"",Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance(),function(){Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading()},Platform.Helpers.Size.ExtraLarge);isformviewer==!0||isFormBuilder==!0?Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId=installedAppId:Unibase.Themes.Providers.DetailHelper.recordId=installedAppId}SaveDoctype(){let postData={DocTypeId:Number(101),DocTypeGroupId:Number(1000001),DocTypeName:$("#txt_DocTypeName").val(),IsCustom:!0,JSPath:"ghgvsh",UniqueId:"FUHB7884y8970958095",DataListId:Number(10003),DocTypeTableName:$("#txt_DocTypeName").val(),DocTypeViewName:"UnibaseTransact_InvoiceInfo",PrimaryKeyColumn:$("#txt_DocProperty").val(),PackageName:"Bizgaze.Extensions.Dms.Entities.FolderDocEntity, Bizgaze.Extensions.Dms.Objects, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"};DataSources.Managers.DocTypeManager.Instance().saveDoctype(postData).then(function(){})}SaveDocproperties(containerid,Index,installedAppId){var instance=this;instance.fileCacheHelper.loadJsFile("platform/datasources/enums/datatype.js",function(){instance.fileCacheHelper.loadJsFile("platform/datasources/enums/relationtype.js",function(){var arr=[],Docarr=[],DocPropertyArray=[],IsIdentity,IsExcludeFromAudit;$(".AddDocTypediv").find(".AddDocTypediv1").each(function(){var Doctypename=$(this).find(".txtDocPropertyName").val(),Name=$.trim(Doctypename),DocPropertyId,NotNullchecked,IsExcludeFromAuditchecked,IsUnique,IsContact,data;if(Name!=""){DocPropertyId=$(this).find("#hfDocPropertyId").val();DocPropertyId=DocPropertyId==undefined?0:Number($(this).find("#hfDocPropertyId").val());var NotNull=$(this).find(".txtnotnull").val(),IsExcludeFromAudit=$(this).find(".txtDocpropertyIsExcludeFromAudit").val(),id=$(this).find("select.ddl_DataType option:selected").text();let datatype;id=="Text"?datatype=Unibase.Platform.DataSources.Enums.DataType.Text:id=="String"?datatype=Unibase.Platform.DataSources.Enums.DataType.String:id=="Object"?datatype=Unibase.Platform.DataSources.Enums.DataType.Object:id=="BigInt"?datatype=Unibase.Platform.DataSources.Enums.DataType.BigInt:id=="Int"?datatype=Unibase.Platform.DataSources.Enums.DataType.Int:id=="Decimal"?datatype=Unibase.Platform.DataSources.Enums.DataType.Decimal:id=="DateTime"?datatype=Unibase.Platform.DataSources.Enums.DataType.DateTime:id=="Boolean"?datatype=Unibase.Platform.DataSources.Enums.DataType.Boolean:id=="Byte"&&(datatype=Unibase.Platform.DataSources.Enums.DataType.Byte);NotNullchecked=NotNull=="true"?!0:!1;NotNullchecked=NotNull=="true"?!0:!1;IsExcludeFromAuditchecked=IsExcludeFromAudit=="true"?!0:!1;IsUnique=!1;$("#txtIsUnique_"+DocPropertyId+"").is(":checked")?($("#txtIsUnique_"+DocPropertyId+"").prop("checked",!0),$("#txtIsUnique_"+DocPropertyId+"").val("true"),IsUnique=!0):($("#txtIsUnique_"+DocPropertyId+"").prop("checked",!1),$("#txtIsUnique_"+DocPropertyId+"").val("false"),IsUnique=!1);IsContact=!1;$("#txtIsContact_"+DocPropertyId+"").is(":checked")?($("#txtIsContact_"+DocPropertyId+"").prop("checked",!0),$("#txtIsContact_"+DocPropertyId+"").val("true"),IsContact=!0):($("#txtIsContact_"+DocPropertyId+"").prop("checked",!1),$("#txtIsContact_"+DocPropertyId+"").val("false"),IsContact=!1);data={Name:Name,DataTypeId:Number($(this).find(".ddl_DataType").val()),DataType:datatype,constraints:$(this).find("#txtconstraints").val(),Length:Number($(this).find("#txtlength").val()),Scale:Number($(this).find("#txtscale").val()),NotNull:NotNullchecked,IsUnique:IsUnique,IsContact:IsContact,IndexNumber:Number($(this).find(".Indexnumber").val()),DocPropertyId:DocPropertyId,ControlId:0,PropertyWidth:null,IsExcludeFromAudit:IsExcludeFromAuditchecked}}data!=undefined&&arr.push(data)});$(".AddRelationDocTypediv").find(".rdopdiv1").each(function(){var id=$(this).find("select.ddlRelationtype option:selected").text(),DoctypeRelationData;let relationtype;id=="Inner"?relationtype=Unibase.Platform.DataSources.Enums.RelationType.Inner:id=="Left"?relationtype=Unibase.Platform.DataSources.Enums.RelationType.Left:id=="Right"?relationtype=Unibase.Platform.DataSources.Enums.RelationType.Right:id=="Full"?relationtype=Unibase.Platform.DataSources.Enums.RelationType.Full:id=="Cross"?relationtype=Unibase.Platform.DataSources.Enums.RelationType.Cross:id=="Outer"&&(relationtype=Unibase.Platform.DataSources.Enums.RelationType.Outer);DoctypeRelationData={DocTypeRelationId:Number($(".hfDoctypeRelationId").val()),DocTypeId:Number($("#hfdoctyeid").val()),DocTypeName:$("#txt_DocTypeName").val(),DocPropertyId:Number($(this).find(".hfDoctypeRelationPropid").val()),DocPropertyName:$.trim($(this).find("#DocParenttable").val().toString()),ParentDocTypeId:Number($(this).find(".ddlRelatedtableid").val()),ParentDoctypeName:$(this).find("#ddlRelatedtablename").val(),ParentDocPropertyId:Number($(this).find(".hfDoctypeRelationPropertyid").val()),ParentDocPropertyName:$(this).find("#ddlpropertynameid").val(),RelationTypeId:relationtype,RelationType:relationtype,Level:Number(0),IndexNumber:Number($(this).find(".Indexnumber").val())};DoctypeRelationData!=undefined&&Docarr.push(DoctypeRelationData)});$(".ExculudeFromAuditAddRelationDocPropertydiv").find(".exculudeFromAuditrdopdiv1").each(function(){var DocPropertyRelationData,index;let relationtype=Unibase.Platform.DataSources.Enums.RelationType.Inner;if(DocPropertyRelationData={DocPropertyRelationId:Number($(this).find(".hfExculudeFromAuditDocPropertyRelationId").val()),DocTypeId:Number($("#hfdoctyeid").val()),DocPropertyId:Number($(this).find(".hfDocPropertyRelationPropid").val()),ParentDocTypeId:Number($(this).find(".ddl_Relateddocpropertytableid").val()),ParentDocTypeIdValue:Number($(this).find(".hfDocPropertyRelationPropertyIdValueid").val()),ParentDocTypeTextValue:Number($(this).find(".hfDoctypeRelationPropertyTextValueid").val()),IndexNumber:Number($(this).find(".ExculudeFromAuditIndexnumber").val())},DocPropertyRelationData!=undefined)if(index=DocPropertyArray.findIndex(x=>x.DocPropertyId==DocPropertyRelationData.DocPropertyId),index==-1)DocPropertyArray.push(DocPropertyRelationData);else{alert("cannot add same docproperty relation two or more times");throw"cannot add same docproperty relation two or more times";}});IsIdentity=!1;$(".IsIdentity_Doctype").is(":checked")?($(".IsIdentity_Doctype").prop("checked",!0),$(".IsIdentity_Doctype").val("true"),IsIdentity=!0):($(".IsIdentity_Doctype").prop("checked",!1),$(".IsIdentity_Doctype").val("false"),IsIdentity=!1);IsExcludeFromAudit=!1;$(".IsExcludeFromAudit_Doctype").is(":checked")?($(".IsExcludeFromAudit_Doctype").prop("checked",!0),$(".IsExcludeFromAudit_Doctype").val("true"),IsExcludeFromAudit=!0):($(".IsExcludeFromAudit_Doctype").prop("checked",!1),$(".IsExcludeFromAudit_Doctype").val("false"),IsExcludeFromAudit=!1);let postData={IsIdentity:IsIdentity,IsExcludeFromAudit:IsExcludeFromAudit,TableName:$("#txt_DocTypeName").val(),DocTypeId:Number($("#hfdoctyeid").val()),PrimaryKeyColumn:$.trim($("select#ddl_Primarykey option:selected").text()),PartitionColumn:$.trim($("select#ddl_PartitionColumn option:selected").text()),DBType:$.trim($("select#ddl_Mongodbtype option:selected").text()),DbTypeId:Number($("select#ddl_Mongodbtype option:selected").val()),InstalledAppId:installedAppId,index:Number(Index),Columns:arr,DoctypeRelation:Docarr,DocPropertyRelation:DocPropertyArray,EnablePartition:$("#chkEnablePartition").prop("checked")};instance.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){instance.navigationHelper.showLoading();DataSources.Managers.DocTypeManager.Instance().saveDocProperty(postData).then(function(response){response.errors!=null&&response.errors.length!=0&&(MessageHelper.Instance().showError(response.message,"validation-Doctype"),$("#validation-Doctype").fadeIn(),$("#validation-Doctype").fadeOut(6e3));response.message=="Create Table Successfully"&&(MessageHelper.Instance().showSuccess(response.message,""),$("#"+containerid).modal("hide"),$("#"+containerid).remove());response.message=="Table Update Successfully"&&(MessageHelper.Instance().showSuccess(response.message,""),$("#"+containerid).modal("hide"),$("#"+containerid).remove())}).then(function(){instance.navigationHelper.hideLoading();instance.isFormBuilder&&Unibase.Platform.Forms.Components.FormBuilder.Instance().refreshLeftNav()})})})})}AppendDocTypes(){var _fileCacheHelper=this.fileCacheHelper;this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDoctypes().then(function(response){var controlData=[],controls;for(let i=0;i<response.result.length;i++)controls=response.result[i],controlData.push({id:controls.DocTypeId,text:controls.DocTypeName.toLowerCase()});$("#ddl_DocTypes").select2({placeholder:"Select Doctype",data:controlData})})})}DeletDocProperty(DocPropertyId){Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().deleteDocProperties(DocPropertyId).then(function(response){MessageHelper.Instance().showSuccess(response.message,"")})}loadEditDoctypes(DocPropertyId){var instance=this;$("#ddl_DataType_"+DocPropertyId+"").select2({placeholder:"Select Datatype",data:instance.dataTypes})}DeleteDocTypes(DocTypeId){$(".appdoctypelist1_"+DocTypeId).remove()}GetParentDocTypes(){this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDoctypes().then(function(response){var getparentdoctypeData=[],controls;for(let i=0;i<response.result.length;i++)controls=response.result[i],getparentdoctypeData.push({id:controls.DocTypeId,text:controls.DocTypeName.toLowerCase()});$("#ddl_Relatedtablename").select2({placeholder:"Select Parent Doctype",data:getparentdoctypeData});$("#ddl_Relateddocpropertytablename").select2({placeholder:"Select Parent Doctype",data:getparentdoctypeData})})})}GetAppDocTypeList(){var instance=this,installedappid=Unibase.Themes.Providers.DetailHelper.recordId;instance.fileCacheHelper.loadJsFiles(["platform/datasources/managers/doctypemanager.js","platform/datasources/requests/doctypes.js"],function(){DataSources.Managers.DocTypeManager.Instance().getAppDoctypes(installedappid).then(function(response){var maxValue=Math.max.apply(null,response.result.map(c=>c.Index));let html="";for(let i=0;i<response.result.length;i++)html='<li class="list-group-item li_doctypes doctypes_sortable_list appdoctypelist1_'+response.result[i].DocTypeId+'"><div class="row appdoctypelist1_'+response.result[i].DocTypeId+'" id="appdoctypelist1"><input type="hidden" class="AppDoctypeIndexnumber" id="Indexnumber_'+response.result[i].Index+'" value="'+response.result[i].Index+'"/><span class="pull-left media-xs mr-30"><i class="fa fa-sort text-muted fa mr-10"><\/i><span class="AppDoctypeIndexSpan">'+response.result[i].Index+'<\/span><\/span><input type="hidden" class="AppDoctypeHighestIndexnumber" id="AppDoctypeHighestIndexnumber_'+response.result[i].Index+'" value="'+response.result[i].Index+'"/><input type="hidden" class="Indexnumber" id="Indexnumber_'+response.result[i].Index+'" value="'+response.result[i].Index+'"/><input type="hidden" class="hfappdoctypeid" id="hfappdoctypeid_'+response.result[i].AppDocTypeId+'" value="'+response.result[i].AppDocTypeId+'"/><input type="hidden" class="doctypedropdownid" id="doctypedropdownid_'+response.result[i].DocTypeId+'" value="'+response.result[i].DocTypeId+'"/><div class="col-sm-4" id="doctypedata_'+response.result[i].Index+'">'+response.result[i].DocTypeName.toLowerCase()+'<\/div><div class="col-sm-2"><select id="ddlParentDocType_'+response.result[i].DocTypeId+'" style="width:100%;" class="ddlParentDocType"><\/select><\/div><div class="col-sm-1 hidden"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DefaultDocType('+response.result[i].DocTypeId+')" class="btn btn-sm"><input class="isdefault" value="'+response.result[i].DocTypeId+'" id="chkIsDefault_'+response.result[i].DocTypeId+'" name="DefaultDoctype" type="radio"/><\/a><\/div><div class="col-sm-1"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().ExportDoctype('+response.result[i].DocTypeId+",'"+response.result[i].DocTypeName+'\',false)" class="btn btn-sm"><i class="fa fa-file-excel-o"><\/i><\/a><\/div><div class="col-sm-1"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().ExportDoctype('+response.result[i].DocTypeId+",'"+response.result[i].DocTypeName+'\',true)" class="btn btn-sm"><i class="fa fa-file-excel-o"><\/i><\/a><\/div><div class="col-sm-1"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().EditDocTypes('+response.result[i].DocTypeId+')" class="btn btn-primary btn-sm text-white"><i class="fa fa-pencil"><\/i><\/a><\/div><div class="col-sm-1"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DeleteDocTypes('+response.result[i].DocTypeId+')" class="btn btn-primary btn-sm text-white"><i class="icon-trash"><\/i><\/a><\/div><div class="col-sm-1"><a id="MapView_'+response.result[i].AppDocTypeId+'" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().MapView('+response.result[i].AppDocTypeId+',true)" class="btn btn-primary btn-sm text-white">Map View<\/a><\/div><\/div><div class="row col-sm-12 hidden mt-10" id="MapViewDetailDiv_'+response.result[i].AppDocTypeId+'"><div class="card col-sm-12 appdoctypesmapping"><div class="card-header"><div class="d-flex flex-wrap justify-content-between align-items-center"><strong class="text-dark">AppDocType Relation<\/strong><a href="javascript:" class=" btn-danger btn-sm fa fa-remove" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().MapView('+response.result[i].AppDocTypeId+',false)"><\/a><\/div><\/div><div class="card-body" id="appDocTypeRelationid"><div class="row"><div class="col-sm-2"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="ddl_AppDocTypeDocProperty_'+response.result[i].AppDocTypeId+'">Child Property<span class="text-danger">*<\/span><\/label><select id="ddl_AppDocTypeDocProperty_'+response.result[i].AppDocTypeId+'" class="form-control floating-label-control"><\/select><\/div><\/div><div class="col-sm-3"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="ddl_RelatedAppDocTypetablename_'+response.result[i].DocTypeId+'">Related Table Name<span class="text-danger">*<\/span><\/label><select id="ddl_RelatedAppDocTypetablename_'+response.result[i].DocTypeId+'" class="form-control floating-label-control ddl_RelatedAppDocTypetablename"><\/select><\/div><\/div><div class="col-sm-3"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="ddl_RelatedAppDocTypeDocProperty_'+response.result[i].AppDocTypeId+'">DocProperty Name<span class="text-danger">*<\/span><\/label><select id="ddl_RelatedAppDocTypeDocProperty_'+response.result[i].AppDocTypeId+'" class="form-control floating-label-control"><\/select><\/div><\/div><div class="col-sm-3"><div class="floating-label-form-group floating-label-form-group-with-value"><input id="pkcolumn_'+response.result[i].AppDocTypeId+'" type="text" value="PK Column" placeholder="Pk Column"><\/div><\/div><div class="col-sm-1"><a onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().appDoctypeRelationAdd('+response.result[i].DocTypeId+" , "+response.result[i].AppDocTypeId+')" class="btn btn-primary text-white mt-30 pull-right"><i class="fa fa-plus"><\/i><\/a><\/div><\/div><div class="row AddRelationAppDocTypediv_'+response.result[i].AppDocTypeId+'" id="AddRelationAppDocTypediv_'+response.result[i].AppDocTypeId+'"><\/div><\/div>',"<\/div><\/li>",$(".AppDoctypeIndexnumber").val(response.result[i].Index),$(".AppDoctypeHighestIndexnumber").val(maxValue),$("#doctypes_sortable_ul_id").append(html),$("#MapViewDetailDiv_"+response.result[i].AppDocTypeId).addClass("hidden"),instance.getAppDoctypeRelations(response.result[i].DocTypeId,response.result[i].AppDocTypeId),instance.appendAppDocTypes(response.result[i].DocTypeId,response.result),Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().loadParentDocTypes(response.result[i].DocTypeId),$("#ddl_RelatedAppDocTypetablename_"+response.result[i].DocTypeId).change(function(){$("#ddl_RelatedAppDocTypeDocProperty_"+response.result[i].AppDocTypeId+" option").remove();var Id=Number($("#ddl_RelatedAppDocTypetablename_"+response.result[i].DocTypeId+" option:selected").val()),_fileCacheHelper=instance.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getPropertiesByDocTypeId(Id).then(function(docPropertyresponse){if(docPropertyresponse.result!=null){for(let j=0;j<docPropertyresponse.result.length;j++)docPropertyresponse.result[j].DataTypeName.toLowerCase()=="bigint"&&$("#ddl_RelatedAppDocTypeDocProperty_"+response.result[i].AppDocTypeId).append('<option value="'+docPropertyresponse.result[j].DocPropertyId+'">'+docPropertyresponse.result[j].DocPropertyName.toLowerCase()+"<\/option>");$("#pkcolumn_"+response.result[i].AppDocTypeId).val(docPropertyresponse.result[0].PrimaryKeyColumn)}})})}),response.result[i].IsDefault?$(".appdoctypelist1_"+response.result[i].DocTypeId).find("#chkIsDefault_"+response.result[i].DocTypeId).attr("checked","true"):$(".appdoctypelist1_"+response.result[i].DocTypeId).find("#chkIsDefault_"+response.result[i].DocTypeId).removeAttr("checked"),instance.EditAppDocTypeRelation(response.result[i].AppDoctypeRelation);$(".doctypes_sortable_ul").sortable();$(".doctypes_sortable_ul").on("sortupdate",function(){instance.UpdateDocTypeIndex()})})})}getAppDoctypeRelations(doctypeId,appDoctypeId){var instance=this;instance.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDocProperties(doctypeId).then(function(response){if(response.result!=null){$("#ddl_AppDocTypeDocProperty_"+appDoctypeId+" option").remove();for(var i=0;i<response.result.length;i++)$("#ddl_AppDocTypeDocProperty_"+appDoctypeId).append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>")}})})}appendAppDocTypes(doctypeId,appDoctypes){if(appDoctypes!=null)for(var i=0;i<appDoctypes.length;i++)$("#ddl_RelatedAppDocTypetablename_"+doctypeId).append('<option value="'+appDoctypes[i].DocTypeId+'">'+appDoctypes[i].DocTypeName.toLowerCase()+"<\/option>")}appDoctypeRelationAdd(doctypeId,AppDocTypeId){var instance=this,DocTypeRelation_Template="",currindex=0;instance.fileCacheHelper.loadJsFiles(["platform/datasources/components/doctypebuilder/doctypebuilder.template.js","platform/datasources/requests/doctypes.js"],function(){var _array=new DataSources.Requests.AppDocTypeRelationArray,_docProperty=Number($("select#ddl_AppDocTypeDocProperty_"+AppDocTypeId+" option:selected").val());DataSources.Managers.DocTypeManager.Instance().getDocProperty(_docProperty).then(res=>{var Index=Number(currindex),d=$(".appDocTypeRelationIndexnumber_"+AppDocTypeId+":last").val(),i=Number(d),index,newDoctypeID,newAppDoctypeId;Index=d==undefined?Index+1:i+1;_array.DocPropertyId=Number($("select#ddl_AppDocTypeDocProperty_"+AppDocTypeId+" option:selected").val());_array.DocPropertyName=$("select#ddl_AppDocTypeDocProperty_"+AppDocTypeId+" option:selected").text();_array.ParentDocTypeId=Number($("select#ddl_RelatedAppDocTypetablename_"+doctypeId+" option:selected").val());_array.ParentDocTypeName=$("select#ddl_RelatedAppDocTypetablename_"+doctypeId+" option:selected").text();_array.ParentDocPropertyId=Number($("select#ddl_RelatedAppDocTypeDocProperty_"+AppDocTypeId+" option:selected").val());_array.ParentDocPropertyName=$("select#ddl_RelatedAppDocTypeDocProperty_"+AppDocTypeId+" option:selected").text();_array.PrimaryKeyColumn=$("#pkcolumn_"+AppDocTypeId).val();_array.DocTypeId=res.result.DocTypeId;_array.DocTypeName=res.result.DocTypeName;_array.ParentRelationDoctTypeId=doctypeId;_array.IndexNumber=Index;_array.AppDocTypeId=AppDocTypeId;_array.ParentDocPropertyId.toString()!="NaN"&&(index=instance.appDocTypeRelationsArray.findIndex(x=>x.DocTypeId==res.result.DocTypeId&&x.AppDocTypeId==_array.AppDocTypeId&&x.DocPropertyId==_array.DocPropertyId&&x.DocPropertyId==_array.ParentDocTypeId),index!=-1?instance.appDocTypeRelationsArray[index]=_array:instance.appDocTypeRelationsArray.push(_array),DocTypeRelation_Template=Unibase.Platform.DataSources.Components.DocTypeBuilder_Template.Instance().AppDocTypeRelationHtml(doctypeId,AppDocTypeId,Index,res.result.DocTypeId),$(".AddRelationAppDocTypediv_"+AppDocTypeId+":last").after("<div class='AddRelationAppDocTypediv_"+AppDocTypeId+"' id ='AddRelationAppDocType_"+AppDocTypeId+"_"+Index+"' > <\/div>"),$("#AddRelationAppDocType_"+AppDocTypeId+"_"+Index).append(DocTypeRelation_Template),newDoctypeID=Number($("select#ddl_RelatedAppDocTypetablename_"+doctypeId+" option:selected").val()),newAppDoctypeId=Number($(this).find(".selectedappdoctypeid_"+doctypeId).val()),instance.getAppDoctypeRelations(newDoctypeID,AppDocTypeId))})})}ImportDoctype(){this.fileCacheHelper.loadJsFile("/platform/datasources/components/doctypebuilder/doctypeimport.js",function(){Unibase.Platform.DataSources.Components.DocTypeImport.Instance().import()})}ExportDoctype(doctypeid,doctypename,isAppDoctype){var installedAppId=Unibase.Themes.Providers.DetailHelper.recordId;installedAppId!=null&&installedAppId!=undefined&&installedAppId!=0&&Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().exportDocType(doctypeid,installedAppId,isAppDoctype).then(function(response){if(response.status==Unibase.Data.Status.Error)return MessageHelper.Instance().showError(response.message,"div_message"),!1;var filename=doctypename+".xml",xmltext=response.result,pom=document.createElement("a"),bb=new Blob([xmltext],{type:"text/plain"});pom.setAttribute("href",window.URL.createObjectURL(bb));pom.setAttribute("download",filename);pom.dataset.downloadurl=["text/plain",pom.download,pom.href].join(":");pom.draggable=!0;pom.classList.add("dragout");pom.click()})}ExportAllDoctypes(){var installedAppId=Unibase.Themes.Providers.DetailHelper.recordId;installedAppId!=null&&installedAppId!=undefined&&installedAppId!=0&&Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().exportAllDocType(installedAppId,!1).then(function(response){if(response.status==Unibase.Data.Status.Error)return MessageHelper.Instance().showError(response.message,"div_message"),!1;var appName=Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("_apptitle")).Value,filename=appName+"_doctype.xml",xmltext=response.result,pom=document.createElement("a"),bb=new Blob([xmltext],{type:"text/plain"});pom.setAttribute("href",window.URL.createObjectURL(bb));pom.setAttribute("download",filename);pom.dataset.downloadurl=["text/plain",pom.download,pom.href].join(":");pom.draggable=!0;pom.classList.add("dragout");pom.click()})}ExportAllAppDoctypes(){var installedAppId=Unibase.Themes.Providers.DetailHelper.recordId;installedAppId!=null&&installedAppId!=undefined&&installedAppId!=0&&Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().exportAllDocType(installedAppId,!0).then(function(response){if(response.status==Unibase.Data.Status.Error)return MessageHelper.Instance().showError(response.message,"div_message"),!1;var appName=Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("_apptitle")).Value,filename=appName+"_appdoctype.xml",xmltext=response.result,pom=document.createElement("a"),bb=new Blob([xmltext],{type:"text/plain"});pom.setAttribute("href",window.URL.createObjectURL(bb));pom.setAttribute("download",filename);pom.dataset.downloadurl=["text/plain",pom.download,pom.href].join(":");pom.draggable=!0;pom.classList.add("dragout");pom.click()})}UpdateDocTypeIndex(){var instance=this,i=0;$(".doctypes_sortable_ul").find(".doctypes_sortable_list").each(function(){$(this).find(".AppDoctypeIndexnumber").val(i);$(this).find(".Indexnumber").val(i);$(this).find(".AppDoctypeIndexSpan").text(i);i++})}UpdateAppDoctype(AppDcotypeId){this.fileCacheHelper.loadJsFile("platform/datasources/requests/doctypes.js",function(){let appdoctypereq=new Unibase.Platform.DataSources.Requests.AppDoctype;appdoctypereq.AppDocTypeId=AppDcotypeId;appdoctypereq.ViewName=$("#txt_ViewName_"+AppDcotypeId).val().toString();appdoctypereq.RefColumn=$("#txt_RefColumn_"+AppDcotypeId).val().toString();Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().updateAppDpctype(appdoctypereq).then(function(response){response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"div_message"):(Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().MapView(AppDcotypeId,!1),$("#txt_ViewName_"+AppDcotypeId).val(response.result.ViewName),$("#txt_RefColumn_"+AppDcotypeId).val(response.result.RefColumn),MessageHelper.Instance().showSuccess(response.message,"div_message"))})})}loadParentDocTypes(DocTypeId){Unibase.Platform.DataSources.Managers.DocTypeManager.Instance().getDoctypeRelation(DocTypeId).then(function(result){for(var option='<option value="0">--select--<\/option>',s=0;s<result.result.length;s++)option+='<option value="'+result.result[s].ParentDocTypeId+'">'+result.result[s].ParentDoctypeName+"<\/option>";$("#ddlParentDocType_"+DocTypeId).append(option)})}DefaultDocType(doctypeid){var instance=this,isdefault;$(".li_doctypes").each(function(){Number($(this).find("#appdoctypelist1").find(".isdefault").val())!=doctypeid?$(this).find("#appdoctypelist1").find(".isdefault").removeAttr("checked"):$(this).find("#appdoctypelist1").find(".isdefault").attr("checked","true")});isdefault=$("#chkIsDefault_"+doctypeid).prop("checked");DataSources.Managers.DocTypeManager.Instance().saveAppDefaultDoctype(isdefault,doctypeid,Unibase.Themes.Providers.DetailHelper.recordId).then(function(response){var data=response.result;response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"div_message"):MessageHelper.Instance().showSuccess(response.message,"div_message")})}HideProperty(event){var sectionType=Unibase.Platform.Forms.Enums.SectionType.HiddenSection,PropertyId=$(event).attr("data-id"),PropertyName=$(event).attr("data-name"),ControlId=$(event).attr("data-controlid"),sectionid=Unibase.Platform.Forms.Components.FormBuilder.Instance().HiddenSectionId;Unibase.Platform.Forms.Components.PropertyEditor.Instance().openAddPropertyPage(PropertyId,PropertyName,ControlId,sectionid,"Hidden",sectionType,!1,Unibase.Platform.Forms.Components.FormBuilder.instance.FormId,Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson)}UnHideProperty(event){var PropertyId=$(event).attr("data-id"),FormPropertyId;$("#hidePropertyBtn"+PropertyId).removeClass("d-none");$("#editPropertyBtn"+PropertyId).addClass("d-none");$("#PropertyEye"+PropertyId).addClass("d-none");$("#PropertyEyeOff"+PropertyId).addClass("d-none");$("#docPropDiv-"+PropertyId).removeClass("selected focused-block");FormPropertyId=$(".propdata_"+PropertyId).attr("data-formpropertyid");FormPropertyId!=undefined?$(".delete_property_"+FormPropertyId).click():($(".hiddenproperty_"+PropertyId).remove(),Unibase.Platform.Forms.Components.FormBuilder.Instance().DeleteFormpropertyIds+="|"+FormPropertyId,Unibase.Platform.Forms.Components.FormBuilder.instance.formpropertyNames.splice(Number(FormPropertyId)))}EditProperty(event){var sectionType=Unibase.Platform.Forms.Enums.SectionType.HiddenSection,PropertyId=$(event).attr("data-id"),PropertyName=$(event).attr("data-name"),ControlId=$(event).attr("data-controlid"),FormPropertyId=$(".propdata_"+PropertyId).attr("data-formpropertyid");FormPropertyId!=undefined?$(".edit_property_"+FormPropertyId).click():Unibase.Platform.Forms.Components.PropertyEditor.Instance().openAddPropertyPage(PropertyId,PropertyName,ControlId,0,"Hidden",sectionType,!1,Unibase.Platform.Forms.Components.FormBuilder.instance.FormId,Unibase.Platform.Forms.Components.FormBuilder.instance.FormPropertiesJson)}SetasDefaultDocType(DocTypeId){$(".defaultDocType").length<1&&($(".more-btn").removeClass("default-btn"),$("#docPropToggleBtn-"+DocTypeId).addClass("default-btn"),Unibase.Platform.Forms.Components.FormBuilder.instance.DefaultDocTypeId=DocTypeId)}DeleteDefaultDocType(DocTypeId){$("#setAsDefaultDocTypeBtn_"+DocTypeId).removeClass("d-none");$("#DeleteDefaultDocTypeBtn_"+DocTypeId).addClass("d-none")}EditDocTypes(DocTypeId,installappid,formviewer,isFormBuilder){Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();var installedAppId;isFormBuilder!=!0&&(isFormBuilder=!1);formviewer==!0?(installedAppId=installappid,DocTypeBuilder.Instance().AddNewDocTypes(installedAppId,isFormBuilder,formviewer,DocTypeId)):(installedAppId=Unibase.Themes.Providers.DetailHelper.recordId,DocTypeBuilder.Instance().AddNewDocTypes(installedAppId,isFormBuilder,!1,DocTypeId))}BindDocTypeData(DocTypeId){var instance=this,instlledappid=0,_fileCacheHelper;instlledappid=instance.isFormViewer==!0||instance.isFormBuilder==!0?Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId:Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x=>x.Key.endsWith("_recordid")).Value);DocTypeBuilder.Instance().EditDoctypeRelation(DocTypeId);DocTypeBuilder.Instance().EditDocPropertyRelation(DocTypeId,instlledappid);DocTypeBuilder.Instance().EditDoctype(DocTypeId);_fileCacheHelper=this.fileCacheHelper;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getPropertiesByDocTypeId(DocTypeId).then(function(response){var primarykeychecked,NotNullchecked,IsUniqueChecked,IsContactChecked,IsExcludeFromAudit,html,docProp;response.result.sort(function(x,y){return x.IndexNumber-y.IndexNumber});$(".AddDocTypediv1").empty();for(let i=0;i<response.result.length;i++)primarykeychecked="",$.trim(response.result[i].DocPropertyName.toLowerCase())==$.trim(response.result[i].PrimaryKeyColumn.toLowerCase().toLowerCase())&&(primarykeychecked="checked"),NotNullchecked="",response.result[i].Not_Null==!0&&(NotNullchecked="checked"),IsUniqueChecked="",response.result[i].IsUnique==!0&&(IsUniqueChecked="checked"),IsContactChecked="",response.result[i].IsContact==!0&&(IsContactChecked="checked"),IsExcludeFromAudit="",response.result[i].IsExcludeFromAudit==!0&&(IsExcludeFromAudit="checked"),$("#txt_DocTypeName").val(response.result[i].DocTypeName.toLowerCase()),$("#hfdoctyeid").val(response.result[i].DocTypeId),$.trim(response.result[i].DocPropertyName.toLowerCase())==$.trim(response.result[i].PrimaryKeyColumn.toLowerCase())&&$("#ddl_Primarykey").append('<option value="'+response.result[i].PrimaryKeyColumn.toLowerCase()+'">'+response.result[i].PrimaryKeyColumn.toLowerCase()+"<\/option>"),$("#ddl_PartitionColumn").append('<option value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>"),html="",html+='<div class="row AddDocTypediv1 align-items-center" id="deleteRadioButtonDropDown_'+response.result[i].DocPropertyId+'"><input type="hidden" class="DoctypeIndexnumber" id="Indexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/><input type="hidden" class="Indexnumber" id="Indexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/> <input type="hidden" id="hfdoctyeid" value="'+response.result[i].DocTypeId+'" /><div class="col-sm-3"><input type="text" class="form-control txtDocPropertyName" id="txtDocPropertyName_'+response.result[i].DocPropertyId+'" onblur="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().appenddocproperties('+response.result[i].DocPropertyId+')" value="'+response.result[i].DocPropertyName.toLowerCase()+' " /> <input type="hidden" id="hfDocPropertyId" value="'+response.result[i].DocPropertyId+'" /><\/div><div class="col-sm-2"><select id="ddl_DataType_'+response.result[i].DocPropertyId+'" class="ddl_DataType form-control floating-label-control"><option selected value="'+response.result[i].DataTypeId+'">'+response.result[i].DataTypeName+'<\/option><\/select><\/div> <div class="col-sm-1"><input type="text" class="form-control" id="txtlength" value="'+response.result[i].Length+' " /><\/div><div class="col-sm-1"><input type="text" class="form-control" id="txtscale" value="'+response.result[i].Scale+' " /><\/div><div class="col-sm-1 text-center"><input type="checkbox" class="txtnotnull" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().notnullocproperties('+response.result[i].DocPropertyId+')" id="txtnotnull_'+response.result[i].DocPropertyId+'" value="'+response.result[i].Not_Null+'"'+NotNullchecked+' /><\/div><div class="col-sm-1 text-center"><input type="checkbox" class="txtIsUnique" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().IsUnique('+response.result[i].DocPropertyId+')" id="txtIsUnique_'+response.result[i].DocPropertyId+'" value="'+response.result[i].IsUnique+'"'+IsUniqueChecked+' /><\/div><div class="col-sm-1 text-center"><input type="checkbox" class=" txtIsContact" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().IsContact('+response.result[i].DocPropertyId+')" id="txtIsContact_'+response.result[i].DocPropertyId+'" value="'+response.result[i].IsContact+'"'+IsContactChecked+' /><\/div><div class="col-sm-1 text-center"><input type="checkbox" class=" txtDocpropertyIsExcludeFromAudit" onclick="Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DocPropertyIsExcludeFromAudit('+response.result[i].DocPropertyId+')" id="txtDocPropertyIsExcludeFromAudit_'+response.result[i].DocPropertyId+'" value="'+response.result[i].IsExcludeFromAudit+'"'+IsExcludeFromAudit+' /><\/div> <div class="col-sm-1" id="deleteRadioButton_'+response.result[i].DocPropertyId+'"><a href="Deletedocdiv:" class="pull-right btn-danger btn-sm fa fa-trash mt-6" onclick="return Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().Deletedocpropertydiv('+response.result[i].DocPropertyId+')"><\/a>',html+="<\/div>",docProp="",docProp='<option selected value="'+response.result[i].DocPropertyId+'">'+response.result[i].DocPropertyName.toLowerCase()+"<\/option>",$("#ddl_Parenttable").append(docProp),$("#ddl_DocPropertyParenttable").append(docProp),$(".DoctypeIndexnumber").val(response.result[i].IndexNumber),$(".AddDocTypediv:last").after("<div class='AddDocTypediv' id='divAddDocProperty_"+response.result[i].IndexNumber+"'><\/div>"),$("#divAddDocProperty_"+response.result[i].IndexNumber).append(html),$(".txtDocPropertyName").prop("disabled",!0),$(".AddDocTypediv select").prop("disabled",!0),DocTypeBuilder.Instance().loadEditDoctypes(response.result[i].DocPropertyId)}).then(function(){Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading()})})}EditDoctypeRelation(DocTypeId){var _fileCacheHelper=this.fileCacheHelper,relationindex=0;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDoctypeRelation(DocTypeId).then(function(response){response.result.sort(function(x,y){return x.IndexNumber-y.IndexNumber});for(let i=0;i<response.result.length;i++){relationindex=response.result[i].IndexNumber;let html="";html+='<div id="deleteDocTypeDiv_'+response.result[i].DocTypeRelationId+'"><div class="row rdopdiv1" ><input type="hidden" class="hfDoctypeRelationIndex" id="Indexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/><input type="hidden" class="hfDoctypeRelationId" id="DoctypeRelationId_'+response.result[i].IndexNumber+'" value="'+response.result[i].DocTypeRelationId+'"/><input type="hidden" class="Indexnumber" id="Indexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/><input type="hidden" id="ColumnText" value="'+$(".rdbText").val()+'" /><input type="hidden" id="ColumnValue" value="'+$(".rdbTextValue").val()+'" /><div class="col-sm-3"><input type="text" class="form-control" id="DocParenttable" value="'+response.result[i].DocPropertyName.toLowerCase()+'" /><input type="hidden" class="hfDoctypeRelationPropid" id="hfDoctypeRelationPropid_'+response.result[i].IndexNumber+'" value="'+response.result[i].DocPropertyId+'"/><\/div><div class="col-sm-2"><select id="ddlRelationtypeid_'+response.result[i].DocTypeRelationId+'" class="ddlRelationtype form-control floating-label-control"><\/select><input type="hidden" class="hfRelationtypeid" id="hfRelationtypeid_'+response.result[i].IndexNumber+'" value="'+response.result[i].RelationTypeId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddlRelatedtablename" value="'+response.result[i].ParentDoctypeName.toLowerCase()+'" /><input type="hidden" class="ddlRelatedtableid" id="ddlRelatedtableid_'+response.result[i].IndexNumber+'" value="'+response.result[i].ParentDocTypeId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddlpropertynameid" value="'+response.result[i].ParentDocPropertyName.toLowerCase()+'" /><input type="hidden" class="hfDoctypeRelationPropertyid" id="hfDoctypeRelationPropertyid_'+response.result[i].IndexNumber+'" value="'+response.result[i].ParentDocPropertyId+'"/><\/div><div class="col-sm-1"><a href="javascript:" class="pull-right btn-danger btn-sm fa fa-remove mt-5" onclick="return Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DeleteDoctypeOption('+response.result[i].DocTypeRelationId+')"><\/a><\/div>';html+="<\/div>";$(".hfDoctypeRelationIndex").val(response.result[i].IndexNumber);$(".AddRelationDocTypediv:last").after("<div class='AddRelationDocTypediv' id='AddRelationDocProperty_"+relationindex+"'><\/div>");$("#AddRelationDocProperty_"+relationindex).append(html);DocTypeBuilder.Instance().GetRelationType(response.result[i].DocTypeRelationId)}})})}EditDocPropertyRelation(DocTypeId,installedAppId){var _fileCacheHelper=this.fileCacheHelper,relationindex=0;_fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDocPropertyRelation(DocTypeId,installedAppId).then(function(response){response.result.sort(function(x,y){return x.IndexNumber-y.IndexNumber});for(let i=0;i<response.result.length;i++){relationindex=response.result[i].IndexNumber;let html="";html+='<div id="exculudeFromAuditdeleteDocPropertyDiv_'+response.result[i].DocPropertyRelationId+'"><div class="row exculudeFromAuditrdopdiv1" ><input type="hidden" class="hfExculudeFromAuditDocPropertyRelationIndex" id="ExculudeFromAuditIndexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/><input type="hidden" class="hfExculudeFromAuditDocPropertyRelationId" id="ExculudeFromAuditDoctypeRelationId_'+response.result[i].IndexNumber+'" value="'+response.result[i].DocPropertyRelationId+'"/><input type="hidden" class="ExculudeFromAuditIndexnumber" id="ExculudeFromAuditIndexnumber_'+response.result[i].IndexNumber+'" value="'+response.result[i].IndexNumber+'"/><input type="hidden" id="ColumnText" value="'+$(".rdbText").val()+'" /><input type="hidden" id="ColumnValue" value="'+$(".rdbTextValue").val()+'" /><div class="col-sm-2"><input type="text" class="form-control" id="ExculudeFromAuditDocParenttable" value="'+response.result[i].DocPropertyName.toLowerCase()+'" /><input type="hidden" class="hfDocPropertyRelationPropid" id="hfDocPropertyRelationPropid_'+response.result[i].IndexNumber+'" value="'+response.result[i].DocPropertyId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddl_Relateddocpropertytablename" value="'+response.result[i].ParentDoctypeName.toLowerCase()+'" /><input type="hidden" class="ddl_Relateddocpropertytableid" id="ddl_Relateddocpropertytableid_'+response.result[i].IndexNumber+'" value="'+response.result[i].ParentDocTypeId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddl_idvalueid" value="'+response.result[i].ParentDocTypeIdValueName.toLowerCase()+'" /><input type="hidden" class="hfDocPropertyRelationPropertyIdValueid" id="hfDocPropertyRelationPropertyIdValueid_'+response.result[i].IndexNumber+'" value="'+response.result[i].ParentDocTypeIdValue+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddl_textvalueid" value="'+response.result[i].ParentDocTypeTextValueName.toLowerCase()+'" /><input type="hidden" class="hfDoctypeRelationPropertyTextValueid" id="hfDoctypeRelationPropertyTextValueid_'+response.result[i].IndexNumber+'" value="'+response.result[i].ParentDocTypeTextValue+'"/><\/div><div class="col-sm-1"><a href="javascript:" class="pull-right btn-danger btn-sm fa fa-remove mt-5" onclick="return Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DeleteDocPropertyOption('+response.result[i].DocPropertyRelationId+')"><\/a><\/div>';html+="<\/div>";$(".hfExculudeFromAuditDocPropertyRelationIndex").val(response.result[i].IndexNumber);$(".ExculudeFromAuditAddRelationDocPropertydiv:last").after("<div class='ExculudeFromAuditAddRelationDocPropertydiv' id='ExculudeFromAuditAddRelationDocProperty_"+relationindex+"'><\/div>");$("#ExculudeFromAuditAddRelationDocProperty_"+relationindex).append(html)}})})}EditAppDocTypeRelation(response){var array;if(response!=null&&response.length>0){var instance=this,_fileCacheHelper=instance.fileCacheHelper,relationindex=0;for(let i=0;i<response.length;i++){array=new DataSources.Requests.AppDocTypeRelationArray;array.AppDocTypeId=response[i].AppDocTypeId;array.AppDocTypeRelationId=response[i].AppDoctypeRelationId;array.DocPropertyId=response[i].DocPropertyId;array.DocTypeId=response[i].DocTypeId;array.IndexNumber=response[i].IndexNumber;array.ParentDocTypeId=response[i].ParentDocTypeId;array.ParentDocPropertyId=response[i].ParentDocPropertyId;array.PrimaryKeyColumn=response[i].PrimaryKeyColumn;array.ParentRelationDoctTypeId=response[i].ParentRelationDoctTypeId;array.ParentRelationDoctTypeName=response[i].ParentRelationDoctTypeName;instance.appDocTypeRelationsArray.push(array);relationindex=response[i].IndexNumber;let html="";html+='<div class="appDocTypeRelationDiv" id="appDocTypeRelationDiv_'+response[i].AppDoctypeRelationId+'"><div class="row appDocTypeRelationdiv1" ><input type="hidden" class="hfappDocTypeRelationIndex" id="appDocTypeRelationIndexnumber_'+response[i].IndexNumber+'" value="'+response[i].IndexNumber+'"/><input type="hidden" class="hfappDocTypeRelationId" id="appDoctypeRelationId_'+response[i].IndexNumber+'" value="'+response[i].AppDoctypeRelationId+'"/><input type="hidden" class="appDocTypeRelationIndexnumber_'+response[i].AppDocTypeId+'" id="appDocTypeRelationIndexnumber_'+response[i].IndexNumber+'" value="'+response[i].IndexNumber+'"/><input type="hidden" class="hfappPresentDocTypeId_'+response[i].DocTypeId+'" id="hfappPresentDocTypeId_'+response[i].DocTypeId+'" value="'+response[i].DocTypeId+'"/><input type="hidden" id="ColumnText" value="'+$(".rdbText").val()+'" /><input type="hidden" id="ColumnValue" value="'+$(".rdbTextValue").val()+'" /><div class="col-sm-2"><input type="text" class="form-control" id="ddl_AppDocTypeDocProperty_'+response[i].AppDocTypeId+'" value="'+response[i].DocPropertyName.toLowerCase()+'" /><input type="hidden" class="hfAppDocTypeRelationPropid" id="hfAppDocTypeRelationPropid_'+response[i].IndexNumber+'" value="'+response[i].DocPropertyId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="ddl_RelatedAppDocTypetablenametext_'+response[i].DocTypeId+'" value="'+response[i].ParentDocTypeName.toLowerCase()+'" /><input type="hidden" class="ddl_Relatedappdoctypeid" id="ddl_Relatedappdoctypeid_'+response[i].IndexNumber+'" value="'+response[i].ParentDocTypeId+'"/><\/div><input type="hidden" class="selectedappdoctypeid" id="selectedappdoctypeid_'+response[i].DocTypeId+'" value="'+response[i].AppDocTypeId+'"/><div class="col-sm-3"><input type="text" class="form-control" id="ddl_RelatedAppDocTypeDocProperty_'+response[i].AppDocTypeId+'" value="'+response[i].ParentDocPropertyName.toLowerCase()+'" /><input type="hidden" class="hfAppDocTypeRelationPropertyId" id="hfAppDocTypeRelationPropertyId_'+response[i].IndexNumber+'" value="'+response[i].ParentDocPropertyId+'"/><\/div><div class="col-sm-3"><input type="text" class="form-control" id="appDocTypeParentPKColumn" value="'+response[i].PrimaryKeyColumn+'" /><input type="hidden" class="hfappDocTypeParentPKColumn" id="hfappDocTypeParentPKColumn_'+relationindex+'" value="'+response[i].PrimaryKeyColumn+'"/><\/div><div class="col-sm-1"><a href="javascript:" class="pull-right btn-danger btn-sm fa fa-remove mt-5" onclick="return Unibase.Platform.DataSources.Components.DocTypeBuilder.Instance().DeleteAppDocTypeOption('+response[i].AppDocTypeId+","+response[i].IndexNumber+')"><\/a><\/div>';html+="<\/div>";$(".AddRelationAppDocTypediv_"+response[i].AppDocTypeId+":last").after("<div class='AddRelationAppDocTypediv_"+response[i].AppDocTypeId+"' id ='AddRelationAppDocType_"+response[i].AppDocTypeId+"_"+response[i].IndexNumber+"' > <\/div>");$("#AddRelationAppDocType_"+response[i].AppDocTypeId+"_"+response[i].IndexNumber).append(html)}}}GetRelationType(DocTypeRelationId){this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().GetRelationType().then(function(response){for(var i=0;i<response.result.length;i++)DocTypeRelationId==0?$("#ddl_Relation").append('<option value="'+response.result[i].Value+'">'+response.result[i].SelectText+"<\/option>"):$("#ddlRelationtypeid_"+DocTypeRelationId+"").append('<option value="'+response.result[i].Value+'">'+response.result[i].SelectText+"<\/option>")})})}EditDoctype(DoctypeId){this.fileCacheHelper.loadJsFile("platform/datasources/managers/doctypemanager.js",function(){DataSources.Managers.DocTypeManager.Instance().getDoctype(DoctypeId).then(function(response){var value=0,IsExcludeFromAudit,IsIdentity;$("#txt_DocTypeName").val(response.result.DocTypeName.toLowerCase());$("#txt_DocTypeName").prop("disabled",!0);$("#ddl_Primarykey").prop("disabled",!0);$("#chkEnablePartition").prop("checked",response.result.EnablePartition);$("#ddl_PartitionColumn").val(response.result.PartitionColumn);response.result.DbType=="Sql"?(value=1,$("#ddl_Mongodbtype").val(value).trigger("change")):(value=2,$("#ddl_Mongodbtype").val(value).trigger("change"));IsExcludeFromAudit=Boolean(response.result.IsExcludeFromAudit);IsExcludeFromAudit==!0?($(".IsExcludeFromAudit_Doctype").prop("checked",!0),$(".IsExcludeFromAudit_Doctype").val("true")):($(".IsExcludeFromAudit_Doctype").prop("checked",!1),$(".IsExcludeFromAudit_Doctype").val("false"));IsIdentity=Boolean(response.result.IsIdentity);IsIdentity==!0?($(".IsIdentity_Doctype").prop("checked",!0),$(".IsIdentity_Doctype").val("true")):($(".IsIdentity_Doctype").prop("checked",!1),$(".IsIdentity_Doctype").val("true"))}).then(function(){eval("_floatingLabelHelper.init()")})})}static Instance(){return this.instance===undefined&&(this.instance=new DocTypeBuilder),this.instance}}Components.DocTypeBuilder=DocTypeBuilder})(Components=DataSources.Components||(DataSources.Components={}))})(DataSources=Platform.DataSources||(Platform.DataSources={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={}));