Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.form.builder.min.js 244KB

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={}));