{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./legacy/js/pages/edit/Util.js","webpack:///./legacy/js/pages/edit/edit.js","webpack:///./legacy/js/pages/edit/errorPanel.js"],"names":["getStickyValue","FieldId","sessionStorage","getItem","concat","setStickyValue","value","setItem","VR","window","Edit","self","Validating","Alerts","ApplicationValues","ErrorFields","EventYear","Fields","editModel","editField","load","ImageDataSource","kendo","data","DataSource","pageSize","ImageListWindow","State","TabCount","CurrentSignatureField","Ex","Meta","GridDocsRefreshCreated","LastFocusedField","$","document","on","e","which","target","is","preventDefault","activeElement","body","model","FocusNextField","shiftKey","AddErrorField","index","indexOf","push","Common","IsMobile","field","css","html","GetFieldErrorCount","AddNewRecord","button","id","attr","length","substring","input","message","Script","ExecuteScript","GridScript","Kind","EditNumber","ShowError","gridinfo","ispreload","eventid","EventId","Preloads","selection","EventName","SetupEditPage","CanOpen","GetPreloadData","SecurePost","result","Code","HandleInvalidResult","preloadId","PreloadId","CanLeavePage","onsuccess","parameter","IsDisplayOnly","CanSaveWithEdits","CanSaveWithoutEdits","CanSave","CanLeave","canClose","each","HasChange","handler","CanLeaveValidated","ShowMessageBox","CapitalizeEachWord","capitalizeNextLetterCodes","specialUpToLow","specialLowToUp","valueArr","split","outputWords","i","singleWord","charArr","j","charCode0","charCodeAt","String","fromCharCode","charCode","includes","nextCharCode","join","CheckIsComboBoxValueAllowed","elem","elemModel","type","name","returnValue","FieldValue","GetInputValue","comboBox","FieldType","multispaces","RegExp","test","replace","MoveLit","FieldName","AllowOther","OriginalValue","select","DefaultValue","nx","IsInList","SetFieldStatus","ValidationDropdownItems","found","k","curItem","toString","toLowerCase","ValueInt","ValueString","cbDataList","dataSource","CreateFieldValidator","isEnabled","IsEnabled","error","PatternError","InputPattern","HtmlEscape","InputMax","InputMin","InputStep","combobox","previousvalue","DoFieldValueChanged","PreviousValue","hasClass","console","log","prevStr","curStr","prevVal","curVal","ValidateField","status","FieldStatus","LastFocus","DoFilterFields","initEnabled","getKendoValidator","validate","kendoValidator","validateOnBlur","messages","errorTemplate","rules","required","isValid","state","invalidMessage","requirements","RequiredForTransmit","RequiredForRegister","val","validValue","FieldDataType","filter","c","valOtherLiteral","customRule","checkRequired","IsRequired","RequiredFlag","dontValidate","a","HasSaveError","validationSteps","valid","ErrorPanel","setError","location","isHardEdit","errorType","TakeActionOnField","dropdownBox","filterInput","Model","trigger","Event","keyCode","CreateImageViewer","image","FileType","Images","source","key","GetFieldValue","encodeURIComponent","url","GetRootURL","ImageSource","style","CreateImageWindow","windowHost","height","ToFloat","top","width","left","IsNavBurger","idstring","kendoWindow","animation","position","title","actions","close","setTimeout","open","iframe","find","elemenet","parents","parentWindow","isImage","Annotation","Annotations","AnnotationWidth","AnnotateWidth","AnnotationHeight","AnnotateHeight","canvas","Image","InitTiffImage","InitImage","visible","handle","description","HtmlString","Description","ImageSecurity","CanSetSecurity","CanInactivate","security","ApplicationFunction","checkid","checked","IsActive","CanPrintInactive","CanUpdateImage","CanSaveImage","CanToggleAnnote","kendoAutoComplete","transport","read","options","list","text","List","item","success","undefined","serverFiltering","kendoDropDownList","autoBind","dataTextField","dataValueField","change","editor","changed","dropdownlist","add","parent","inputs","CreateInputField","panelHtml","FieldLabel","InputType","ToFormattedValue","Case","testVal","ToDate","CreateNotesEditor","tools","IsNotesAdmin","CanSaveNotes","kendoEditor","event","CanNewNotes","notes","GetFieldModel","Note","dropdownList","modal","dialog","table","winheight","off","focus","CreateNotesList","secfunc","dropDownList","eventId","fieldId","fieldName","isActive","Post","response","parseJSON","Json","Notes","NotesCount","splice","Message","hide","note","ShortNotes","ModifyUserName","NotesId","CanDeleteNotes","create","CreateDate","modified","ModifyDate","ModifyUserId","noteslist","HtmlUnescape","selected","NotesIndex","DeleteNotes","DeleteImage","ImageId","parseInt","isNaN","images","imageWindow","destroy","refresh","kendoList","ShowImageWindow","ImageCount","DeleteRecord","removeClass","addClass","DisableByPassVariable","bypass","ByPassValue","AllowUnknown","DisplayEvent","CanClose","DisplayGridEvent","grid","row","GridEvent","dataItem","GridKey","getCookie","cname","decodedCookie","decodeURIComponent","cookie","ca","charAt","DoAfterSave","isNoEdits","ChangedValues","allValues","values","substr","Values","format","InputFormat","moment","toUpperCase","isRetained","editPageData","CRUDType","src","prop","Ajax","dataType","async","ForceSetFieldValue","errorData","Errors","ErrorMessage","Location","IsHardEdit","InitFields","alert","SyncEventAlertsCount","alerts","setDataSource","SaveCount","CreateAmendmentsMenu","CreateDocumentsMenu","SetupNotes","fieldVal","origVal","scenario","setFieldStatus","Array","isArray","map","x","cBox","ResetField","GetInputFields","SetFieldValue","DoRelatedFields","performLookup","valfiltertype","voidVal","webfiltertype","eventYear","responseFunction","lookupType","LookupType","request","Value","Filter","ValFilterType","VoidValue","WebFilterType","trim","lookup","DoFilterField","FilterValue","filterValues","GetFilterValues","VoidField","DropdownOptions","option","curValue","Label","FilterDependents","RelatedFields","DoSkipFields","autocomplete","Key","HasRelatedValue","Data","related","relatedModel","ExecuteOnDisplay","ShouldRunEdits","edit","Edits","EditType","f","Validate","script","OnDisplay","ExecuteOnSave","QueueManager","DequeueAll","OnSave","isInit","DependentFields","dependentId","dependentfield","IsEditable","SkipFields","skipField","skipvalues","SkipValues","isSkip","skipval","ind","SetReadOnly","ParamBypassed","FieldKeyDown","ctrlKey","altKey","metaKey","prev","stopPropagation","next","last","get","errorFields","errorExists","ReplaceDiacricals","fields","ShowPopupMenu","dataSet","DropDownList","sender","element","FieldKeyUp","input2","MaxLength","GetFieldRawValue","SkipOnEndField","isPrev","count","Prev","Next","first","FocusField","applyall","EditImage","headers","size","SetImageEditorSize","imagedit","cropper","minCanvasWidth","minCanvasHeight","minContainerHeight","minContainerWidth","zoomOnWheel","SlideBars","Setup","EditTiffImage","modalsize","editorid","canvases","section","imageedit","crop","TiffModalHeight","annote","annotes","dispose","wrapperEl","remove","SetupTiff","GetApplicationValue","date","Date","getFullYear","getMonth","getDate","DocPrinter","Document","DocParameter","DocTrackId","DocumentId","NumCopies","FaxReqId","FaxSigCode","FaxVersion","FirstDocNum","LastDocNum","GuiRole","GetChangedFields","GetCurrentTiffEditor","page","tiffpage","GetCurrentTiffEditorPage","GetEventYear","GetFieldData","indx","Mask","ToDateString","GetShippingTabData","Tab","GetShipCarrierAndTrackingNumber","slice","GetFieldErrors","qloc","ele","QueryLocation","prefix","GetFieldOverrides","GetOtherLiteralFields","returnNull","isFormatted","comboBoxReturnDisplayValue","Isactive","FilterFields","comboBoxOverloadFieldValue","buttons","radio","maskedtextbox","raw","multiselect","GetIsActive","GetStateFileNumber","InactivateImage","children","child","checkbox","CreateFunction","Function","dynscript","year","eventGroup","roleCode","userName","kind","fileName","SecurityEventYear","SecurityRoleCode","SecurityUserName","SecurityEventGroup","ex","_message","CanViewScriptEditor","jsEditorAnchor","nibble","Tabs","SetFieldStatusColor","FirstField","InitScanImage","Dynamsoft","DWT","RegisterEvent","DWObject","GetWebTwain","HowManyImagesInBuffer","CurrentImageIndexInBuffer","SourceCount","GetSourceNameItems","Load","tooltip","container","Initialize","nxLoading","start","SetupComboBoxKeyDown","Referrer","referrer","dataValue","SpecialEventId","ModTypeId","RegTypeCode","RegTypeDescription","MissingValues","EditSecurity","CanDeleteWithSFN","CanNumberOverride","IsCasEvent","IsCasEnabled","IsDataCached","IsKeyCached","SetupBackButton","SecurityUsername","SourceEvent","SourceEventId","MaxImageUpload","selectspan","removeAttr","errorPanel","SetupFields","SetupNextButtons","SetupSave","SetupErrorCount","SetupLinking","SetupActionMenus","SetupWindowKeyDown","SetupOnBeforeUnload","SetupOnUnload","SetupViewFieldDefs","OnResize","ResizeWindow","SetupAllControls","ValidateOnLoad","PageTitle","dcnt","curTabList","curField","lastedit","edittype","errorat","jqueryField","tempModel","fetch","then","newData","updatedValue","curOption","hasIssue","end","pageTitle","IsSaving","LoadImageFile","extensionOverwrite","appfunc","fileType","extension","lastIndexOf","imageextension","fileextension","content","dropdown","LoadTiffFile","PerformNextParagraph","Section","PopulateNotes","QueryField","SetStatus","RemoveErrorField","resetError","keepState","HasChangeOvrd","display","nav","NavHeight","RowChanged","timeout","Initialized","GetRowValue","SetVar","Save","hasEdits","isTwinSave","isScript","isAsync","byPassUpdateSecurity","currentSave","hasError","validator","curval","wasNotEditable","wasprotected","_isValidated","EnableField","Clear","SetFieldHeight","y","popover","requiredFields","requiredFlags","fld","err","href","regCode","modTypeid","overrides","errors","otherLits","editWindowHash","ShowSaveError","KeyFieldId","KeyFieldValue","third","opener","param","Alert","NewRecordHash","history","pushState","PrintShippingLabel","userLocationCode","mailFirstName","mailLastname","mailAddress1","mailCity","mailState","mailZip","tracking_number","amount","error_messages","print_label_format","ProcessTrackingNumber","isNormal","SetAlertStatus","alertcountfield","enable","addNewAlert","alertMessage","AlertId","alertsDropdown","isDark","runComboBoxFetch","cbDataSource","dataSourceList","SetupMaskedEdit","numbertextbox","tp","SetFieldValues","windowwidth","windowheight","headerheight","Math","round","max","isReadOnly","intInputId","startsWith","kendoMaskedTextBox","mask","unmaskOnPost","readonly","textBox","span","datepicker","numeric","inputAttr","errorSection","SetTiffEditorPage","cropped","mode","SetupControls","SetupScanImage","SetupFileLoad","SetupImageEdit","SetupViewImage","SetupReviewError","SetupNumberRecord","SetupEventActivation","SetupDocTracking","SetupTypeFromImage","Views","SetupAutoComplete","Keys","delay","SpellCheck","search","TypeFromImage","SetField","SetupButton","SetupCheckBox","isCreating","ValueOf","SetupDataSourceForComboBox","textProperty","valueProperty","fieldValue","DropDownValues","GetFieldIdFromFieldName","SetupDataSourceForDropDownList","ComboBoxTimeout","SetupComboBox","shouldUpdateFieldValue","curDropdownOption","groupdiv","combospan","kendoComboBox","suggest","dropDown","grep","selectedItem","d","errorMessage","panelId","panel","init","SetupDatePicker","SetupDateTimePicker","SetupGrid","SetupImage","SetupLabel","SetupMemoBox","SetupMultiSelect","SetupNumericTextBox","SetupRadioButton","SetupSignatureButton","SetupTextBox","SetupTimePicker","past","SpecialEdit","kendoDatePicker","depth","datePicker","setHours","dateString","newDate","setDate","kendoDateTimePicker","CanEdit","capitalizeFirstLetters","str","letter","BindDropDown","clonedData","changeRecordActiveStatus","deleteRecord","isactive","recordAction","params","ShowDeleteRecordMessageBox","deleteEventRecord","active","ShowInfo","always","firstTab","lastTab","tab","Sections","Name","tempStickyVal","prevTabList","scrollTop","indexTab","currentIndexTab","flag","tabList","SetupLoadFile","removeData","columns","Columns","Format","Title","Width","Result","column","Type","dataFields","dataModel","kendoGrid","schema","mobile","sortable","reorderable","scrollable","resizable","toolbar","Object","keys","pageable","selectable","navigatable","bottom","fieldid","CanAdd","ShowDocumentButton","header","gridfield","docSelection","resultDocs","Documents","tableHtml","IsFax","Id","gridDocBody","windowValue","canPrintSelection","Doc","SendPrintDocumentRequest","located","KeyValue","SelectRow","tbody","reload","inputFiles","files","inputFile","reader","FileReader","onload","onerror","readAsDataURL","fileload","annotation","InitEditorImage","SetupImageEditButtons","SetupImageEditAccept","SetupImageSaveButtons","InitTiffEditorImage","SetupTiffEditorButtons","SetupTiffEditAccept","SetupTiffSaveButtons","RecreateAnnote","CopyObjects","json","toJSON","JSON","stringify","getWidth","getHeight","HideAnnotation","cropannote","cropbox","CreateCroppedImage","Reset","IsHidden","ShowAnnotation","ShowAnnotationEditor","ShowCroppedAnnoteEditor","number","newext","JsonString","EventGroup","filename","imageLoad","pager","errorBtn","show","toggle","startHtml","replaceAll","openNew","LinkingSetupId","uploadLength","maskedEdit","MemoBoxRows","disabled","kendoMultiSelect","deley","multiSelect","isNumberReady","Number","ChangedFields","settings","decimals","parseFloat","min","step","kendoNumericTextBox","dataVal","CanNotes","menu","recordid","ShowNotes","notesBtn","unloading","footer","ShowErrorMessage","windowId","SetupPopupMenu","IsIOS","originalEvent","touches","pageX","touchobj","pageY","startx","starty","PopupTimeout","clearTimeout","action","PopupTarget","ShowWebSiteInfo","ShowFieldInfo","ShowFieldJEditor","UndoPopupMenu","casing","HandlePopupMenu","click","link","offset","scrollTo","CanSaveTwinWithSFN","stateFileNumber","KeyFields","RemoveAllImages","IfDisableSourceAfterAcquire","SelectSourceByIndex","OpenSource","AcquireImage","uuidv4","r","random","v","SelectedImagesCount","imagesize","GetSelectedImagesSize","EnumDWT_ImageType","IT_PNG","imagedata","SaveSelectedImagesToBase64Binary","SelectImages","TopazNumberOfTabletPoints","NumberOfTabletPoints","SignaturePad","minWidth","maxWidth","penColor","backgroundColor","SetSignatureButtonColor","Cleared","ClearTopazDisplay","clear","StopTopazInput","emptyPad","isEmpty","toDataURL","SigId","ToggleSignatureFocus","ShowSignature","signed","croped","targets","canvasid","RecreateTiffAnnote","Copy","jsons","object","canvassection","ResetTiff","GetCurrentEditorPage","SetupTiffViewerButtons","placement","pagenum","num","TiffJsonString","widths","heights","kendoTimePicker","eventHandler","listWindow","listview","CanDelete","kendoPager","kendoListView","template","ShowImageList","imagesBtn","onhelp","ShowFieldHelp","ShowImage","Extension","appendTo","Print","PrintDialog","args","isCancelled","printImages","Generate","ImagePrint","ToggleAnnotation","backup","UpdateImage","info","frame","fail","responseText","StackInfo","selectedid","CanDisplayInactive","pageInfo","isField","isDataField","isSign","canNote","hasValue","className","finish","noescape","StartTopazInput","context","retmod","TopazTmr","SetTabletState","TabletModelNumber","SetLCDCaptureMode","LcdRefresh","LCDSetWindow","SetJustifyMode","KeyPadClearHotSpotList","ClearSigWindow","SetDisplayXSize","SetDisplayYSize","SetImageXSize","SetImageYSize","SetSigWindow","isDisplay","fromDataURL","Signature","_ctx","host","CheckForErrorMessage","ValidDate","valDate","isLeapYear","dateParts","month","day","isDate","daysInMonth","theState","EditOnSaveOnly","isHard","msgID","PutFocusOnFirstWritableField","topMostControls","tabs","toArray","gadget","tabId","closest","editOnLoad","FieldPopup","ValidateSession","CreateWorkQueueHandler","ShowWorkQueues","SetupWorkQueueCounts","CreateMainMenus","CreatePopOverToolTop","SetupLogin","SetupTwoFactor","SetupLogout","SetupQuickSearch","SetupMessageRead","SetupOnResize","SetupConnection","CreateAmendments","CreateDocuments","FocusOnDisplay","Focus","panelData","actionKeys","o","q","getData","setState","React","Render","getElementById","Components","ValidationPanel","showActionKey","isValidationErr","CanOverride","showBypassKey","bypassButtons","txt","b","extend","actionButtons","timeAdded","breadCrumbs","onclick","events","onkeydown","onkeypress","btn","missingValues","HasMissingVariable","defaultValue","onChange"],"mappings":"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","file":"js/pages/edit.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./legacy/js/pages/edit/edit.js\");\n","export function getStickyValue(FieldId) {\r\n return sessionStorage.getItem(`sticky_${FieldId}`) || \"\";\r\n}\r\nexport function setStickyValue(FieldId, value) {\r\n sessionStorage.setItem(`sticky_${FieldId}`, value);\r\n}\r\n","import { errorPanel } from \"./errorPanel\";\r\nimport { getStickyValue, setStickyValue } from \"./Util\";\r\n\r\nvar VR = typeof window.VR !== \"undefined\" ? window.VR : {};\r\n\r\nVR.Edit = (function () {\r\n var self = {};\r\n self.Validating = false;\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n // Member Fields */\r\n self.Alerts = [];\r\n self.ApplicationValues = null;\r\n self.ErrorFields = [];\r\n self.EventYear = 0;\r\n self.Fields = [];\r\n self.editModel = null;\r\n self.editField = null;\r\n self.load = false;\r\n self.ImageDataSource = new kendo.data.DataSource({\r\n pageSize: 16\r\n });\r\n self.ImageListWindow = null;\r\n self.State = 0;\r\n self.TabCount = 0;\r\n self.CurrentSignatureField = null;\r\n self.Ex = {};\r\n self.Meta = {};\r\n self.GridDocsRefreshCreated = false;\r\n self.LastFocusedField = null;\r\n //Prevent the default browser action for the backspace key so that the browser doesn't try using the back button\r\n $(document).on(\"keydown\", function (e) {\r\n if (\r\n e.which === 8 &&\r\n !$(e.target).is(\r\n \"input:not([readonly]):not([type=radio]):not([type=checkbox]), textarea, [contentEditable], [contentEditable=true]\"\r\n )\r\n ) {\r\n e.preventDefault();\r\n }\r\n else if (e.which === 9) {\r\n if (self.LastFocusedField !== null && document.activeElement === document.body) {\r\n e.preventDefault();\r\n let model = $(\"#f\" + self.LastFocusedField).data(\"field\");\r\n self.FocusNextField(model, e.shiftKey);\r\n self.LastFocusedField = null;\r\n }\r\n }\r\n });\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Adds error field to the error field list.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.AddErrorField = function (model) {\r\n if (model == null) {\r\n return;\r\n }\r\n\r\n var index = self.ErrorFields.indexOf(model);\r\n if (index == -1) {\r\n self.ErrorFields.push(model);\r\n if (VR.Common.IsMobile()) {\r\n var field = $(\"#f\" + model.FieldId);\r\n field.css(\"border\", \"1px solid red\");\r\n $(\"#mobileErrorsBtnText\").html(`${self.GetFieldErrorCount()}`);\r\n }\r\n }\r\n }; //AddErrorField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Adds a new event record for grid.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.AddNewRecord = function (button) {\r\n if (!button) {\r\n return;\r\n }\r\n\r\n var id = $(button).attr(\"id\");\r\n if (id && id.length > 0) {\r\n id = id.substring(1);\r\n }\r\n\r\n var input = $(\"#f\" + id);\r\n var model = input.data(\"field\");\r\n if (!model) {\r\n return;\r\n }\r\n\r\n var message = VR.Script.ExecuteScript(input, model, {\r\n Script: model.GridScript,\r\n Kind: \"grid\",\r\n EditNumber: 0\r\n });\r\n\r\n if (message && message != \"OK\") {\r\n VR.Common.ShowError(message);\r\n return;\r\n }\r\n\r\n var gridinfo = input.data(\"grid\");\r\n if (!gridinfo) {\r\n return;\r\n }\r\n\r\n var ispreload = false;\r\n var eventid = gridinfo.EventId;\r\n if (self.Preloads && self.Preloads.length > 0) {\r\n ispreload = self.Preloads.indexOf(eventid) > -1;\r\n }\r\n\r\n if (!ispreload) {\r\n var selection =\r\n \"new-\" +\r\n gridinfo.EventId +\r\n \"|preload=|source=\" +\r\n self.EventName +\r\n \"|id=\" +\r\n self.EventId;\r\n VR.Common.SetupEditPage(selection, VR.Common.CanOpen);\r\n } else {\r\n var selection = self.GetPreloadData();\r\n VR.Common.SecurePost(\r\n \"data/preload\",\r\n selection,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Preload\", false);\r\n } else {\r\n var preloadId = result.PreloadId;\r\n var selection =\r\n \"new-\" +\r\n gridinfo.EventId +\r\n \"-preload=\" +\r\n preloadId +\r\n \"|source=\" +\r\n self.EventName +\r\n \"|id=\" +\r\n self.EventId;\r\n VR.Common.SetupEditPage(selection, false);\r\n }\r\n },\r\n false,\r\n \"data=\",\r\n false,\r\n true\r\n );\r\n }\r\n }; //AddNewRecord\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Checks to see if the user can leave the page.\r\n /// \r\n /// The onsucess handler.\r\n /// The field model.\r\n /// */\r\n self.CanLeavePage = function (onsuccess, parameter) {\r\n if (\r\n self.IsDisplayOnly ||\r\n (!self.CanSaveWithEdits && !self.CanSaveWithoutEdits) ||\r\n !self.CanSave ||\r\n self.CanLeave\r\n ) {\r\n if (onsuccess) {\r\n onsuccess(parameter);\r\n }\r\n } else {\r\n var canClose = true;\r\n var model = null;\r\n $.each(self.Fields, function (index, field) {\r\n if (field.HasChange) {\r\n canClose = false;\r\n model = field;\r\n return false;\r\n }\r\n });\r\n\r\n if (canClose) {\r\n if (onsuccess) {\r\n onsuccess(parameter);\r\n }\r\n } else {\r\n var handler = function (parameter) {\r\n self.CanLeaveValidated = true;\r\n if (onsuccess) {\r\n onsuccess(parameter);\r\n }\r\n };\r\n\r\n var message =\r\n \"You have unsaved changes. Do you want to leave this page?\";\r\n VR.Common.ShowMessageBox(message, handler, true, parameter);\r\n }\r\n }\r\n };\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Capitizes the first letter in each word of the string, then sets all other characters to lowercase\r\n /// \r\n /// Input string.\r\n /// Capitalized string.*/\r\n self.CapitalizeEachWord = function (value) {\r\n let capitalizeNextLetterCodes = [45, 39];\r\n // [-, ']\r\n //00df is small sharp s and is allowed, don't have capital sharp s 1e9e\r\n let specialUpToLow = {\r\n 200: 232, 209: 241, 192: 224, 193: 225, 194: 226, 195: 227, 196: 228, 197: 229, 198: 230, 210: 242, 211: 243, 212: 244, 213: 245, 214: 246,\r\n 216: 248, 199: 231, 200: 232, 201: 233, 202: 234, 203: 235, 217: 249, 218: 250, 219: 251, 220: 252, 204: 236, 205: 237, 206: 238, 207: 239,\r\n 221: 253, 208: 240, 222: 254, 376: 255,\r\n //7838: 223 //do not change sharp s capitalization for now\r\n };\r\n let specialLowToUp = {\r\n 232: 200, 241: 209, 224: 192, 225: 193, 226: 194, 227: 195, 228: 196, 229: 197, 230: 198, 242: 210, 243: 211, 244: 212, 245: 213, 246: 214,\r\n 248: 216, 231: 199, 232: 200, 233: 201, 234: 202, 235: 203, 249: 217, 250: 218, 251: 219, 252: 220, 236: 204, 237: 205, 238: 206, 239: 207,\r\n 253: 221, 240: 208, 254: 222, 255: 376,\r\n //223: 7838\r\n };\r\n \r\n let valueArr = value.split(\" \");\r\n let outputWords = [];\r\n for (let i = 0; i < valueArr.length; i++) {\r\n let singleWord = valueArr[i];\r\n let charArr = singleWord.split(\"\");\r\n for (let j = 0; j < charArr.length; j++) {\r\n if (j === 0) {\r\n let charCode0 = charArr[j].charCodeAt();\r\n if (charCode0 >= 97 && charCode0 <= 122) {\r\n //currently lowercase, make uppercase\r\n charArr[j] = String.fromCharCode(charCode0 - 32);\r\n }\r\n else if (typeof specialLowToUp[charCode0] === \"number\") {\r\n charArr[j] = String.fromCharCode(specialLowToUp[charCode0]);\r\n }\r\n }\r\n else {\r\n let charCode = charArr[j].charCodeAt();\r\n if (charCode >= 65 && charCode <= 90) {\r\n //currently uppercase, make lowercase\r\n charArr[j] = String.fromCharCode(charCode + 32);\r\n }\r\n else if (typeof specialUpToLow[charCode] === \"number\") {\r\n charArr[j] = String.fromCharCode(specialUpToLow[charCode]);\r\n }\r\n else if (capitalizeNextLetterCodes.includes(charCode) && j + 1 < charArr.length) {\r\n let nextCharCode = charArr[j + 1].charCodeAt();\r\n if (nextCharCode >= 97 && nextCharCode <= 122) {\r\n //currently lowercase, make uppercase\r\n charArr[j + 1] = String.fromCharCode(nextCharCode - 32);\r\n }\r\n else if (typeof specialLowToUp[nextCharCode] === \"number\") {\r\n charArr[j + 1] = String.fromCharCode(specialLowToUp[nextCharCode]);\r\n }\r\n if (!capitalizeNextLetterCodes.includes(nextCharCode)) {\r\n j++;\r\n }\r\n }\r\n }\r\n }\r\n outputWords.push(charArr.join(\"\"));\r\n }\r\n return outputWords.join(\" \");\r\n };\r\n\r\n self.CheckIsComboBoxValueAllowed = function (input) {\r\n var elem = $(input);\r\n var elemModel = (elem[0].type === \"radio\"\r\n ? $(`#${elem[0].name}`)\r\n : elem\r\n ).data(\"field\");\r\n var returnValue = true;\r\n var value = !!elemModel.FieldValue\r\n ? elemModel.FieldValue\r\n : self.GetInputValue(elem, true);\r\n var comboBox = elem.data(\"kendoComboBox\");\r\n\r\n if (elemModel.FieldType == \"ComboBox\") {\r\n var multispaces = RegExp(/\\s\\s+/g);\r\n if (multispaces.test(value)) {\r\n value = value.replace(/\\s\\s+/g, \" \");\r\n VR.Script.MoveLit(value, elemModel.FieldName);\r\n }\r\n if (value) {\r\n if (elemModel.AllowOther == true) {\r\n if (value != elemModel.OriginalValue\r\n && comboBox.select() === -1\r\n && value != elemModel.DefaultValue\r\n && !nx.IsInList(elemModel.FieldId)) {\r\n self.SetFieldStatus(comboBox.input, elemModel, \"literal\", null, null);\r\n }\r\n } else {\r\n if (comboBox.value() && comboBox.select() === -1 && !nx.IsInList(elemModel.FieldId)) {\r\n returnValue = false;\r\n }\r\n else if (elemModel.ValidationDropdownItems !== null) {\r\n let found = false;\r\n for (let k = 0; k < elemModel.ValidationDropdownItems.length && found === false; k++) {\r\n let curItem = elemModel.ValidationDropdownItems[k];\r\n found = value.toString().toLowerCase() === (curItem.ValueInt === null ? curItem.ValueString.toLowerCase() : curItem.ValueInt.toString());\r\n }\r\n if (found === false && elemModel.ValidationDropdownItems.length <= 1) {\r\n let cbDataList = comboBox.dataSource.data();\r\n for (let i = 0; i < cbDataList.length && found === false; i++) {\r\n let curItem = cbDataList[i];\r\n if (value.toString().toLowerCase() === curItem.value.toString().toLowerCase()) {\r\n found = true;\r\n }\r\n }\r\n }\r\n returnValue = found;\r\n }\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Creates a field validator.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.CreateFieldValidator = function (model) {\r\n if (\r\n model.FieldType &&\r\n model.FieldType != \"Button\" &&\r\n model.FieldType != \"Grid\" &&\r\n model.FieldType != \"Image\" &&\r\n model.FieldType != \"Label\" &&\r\n model.FieldType != \"CheckBox\"\r\n ) {\r\n var field = $(\"#f\" + model.FieldId);\r\n //VRS-5885\r\n var isEnabled = field.data(\"field\").IsEnabled;\r\n if (typeof (isEnabled) === \"boolean\") {\r\n field.data(\"initEnabled\", isEnabled);\r\n }\r\n else {\r\n field.data(\"initEnabled\", false);\r\n }\r\n\r\n var error = model.PatternError;\r\n if (model.InputPattern && model.InputPattern.length > 0) {\r\n if (!error || error.length == 0) {\r\n error = \"Invalid format.\";\r\n }\r\n $(field).attr(\"pattern\", VR.Common.HtmlEscape(model.InputPattern));\r\n $(field).attr(\"data-pattern-msg\", VR.Common.HtmlEscape(error));\r\n }\r\n\r\n if (model.InputMax) {\r\n $(field).attr(\"max\", VR.Common.HtmlEscape(model.InputMax));\r\n $(field).attr(\"data-max-msg\", \"The number exceeds maximum.\");\r\n }\r\n\r\n if (model.InputMin) {\r\n $(field).attr(\"min\", VR.Common.HtmlEscape(model.InputMin));\r\n $(field).attr(\"data-max-msg\", \"The number is below minimum.\");\r\n }\r\n\r\n if (model.InputStep) {\r\n $(field).attr(\"step\", VR.Common.HtmlEscape(model.InputStep));\r\n }\r\n\r\n if (model.FieldType != \"AutoComplete\" && model.FieldType != \"TextBox\") {\r\n //Delay OnChange for AutoComplete so that it won't fired many time unnecessarily.\r\n field.on(\"change\", function (e) {\r\n if (model.FieldType == \"ComboBox\") {\r\n var combobox = $(this).data(\"kendoComboBox\");\r\n var previousvalue = $(this).data(\"prevValue\");\r\n if (combobox.value() == previousvalue) {\r\n return;\r\n } else {\r\n $(this).data(\"prevValue\", combobox.value());\r\n }\r\n }\r\n\r\n self.DoFieldValueChanged(this);\r\n if (combobox) {\r\n model.PreviousValue = combobox.value();\r\n } else {\r\n model.PreviousValue = self.GetInputValue(this);\r\n }\r\n });\r\n }\r\n\r\n field.on(\"keydown\", function (e) {\r\n if (\r\n $(this).hasClass(\"readonly-text\") &&\r\n $(this).is(\":not([role='listbox'])\")\r\n ) {\r\n if (e.which != 9) {\r\n e.preventDefault();\r\n }\r\n }\r\n });\r\n\r\n field.on(\"blur\", function (e) {\r\n var field = $(this).data(\"field-name\");\r\n console.log(\"onblur field=\" + field);\r\n var model = $(this).data(\"field\");\r\n if ($(this).hasClass(\"readonly-text\") || !model || !model.IsEnabled) {\r\n return;\r\n }\r\n var prevStr;\r\n var curStr;\r\n var prevVal;\r\n var curVal;\r\n if (model.FieldType == \"TextBox\") {\r\n if (!model.PreviousValue) {\r\n if (model.OriginalValue != null) {\r\n model.PreviousValue = model.OriginalValue;\r\n }\r\n else {\r\n model.PreviousValue = \"\";\r\n }\r\n }\r\n prevStr = model.PreviousValue;\r\n curStr = self.GetInputValue(this); //do we want to pass in a false here for procesing before the DoFieldValueChanged?\r\n\r\n //VRS-5681 - run normal field value changed process when just clicking out of a field (mainly used to fix correct casing on field)\r\n if (model.FieldType != \"Button\") {\r\n self.DoFieldValueChanged(\"#f\" + model.FieldId);\r\n if (model.FieldType == \"Signature\") {\r\n self.ValidateField(\"#f\" + model.FieldId);\r\n }\r\n }\r\n }\r\n else {\r\n prevVal = ~~(model.OriginalValue && model.OriginalValue != \"\"); // this can't be right, only looks at the original value\r\n curVal = ~~(self.GetInputValue(this) && self.GetInputValue != \"\"); // the second step is to check if the function exists?\r\n }\r\n\r\n var status = ~~(\r\n model.FieldStatus &&\r\n (model.FieldStatus == \"skipped\" || model.FieldStatus == \"override\")\r\n );\r\n\r\n\r\n if (\r\n (model.FieldType == \"AutoComplete\" && model.HasChange) ||\r\n (curVal != prevVal && status == 1) || // does this do anything?\r\n (model.FieldType == \"TextBox\" && curStr != prevStr) //for text box do I need an equivalent status check or is the doField's check sufficient?\r\n ) {\r\n //Do not process OnChange for AutoComplete so that it won't fire many times unnecessarily.\r\n //Note that TextBox does not process for on change\r\n //note that DoFieldValueChanged is called in onchange for some controls and here for others or sometimes both\r\n self.DoFieldValueChanged(this); //skipped is handled inside of DoFieldValueChanged\r\n }\r\n\r\n // after we are done, the fieldvalue will\r\n // become the previousvalue for the next time through\r\n if (model.FieldType == \"TextBox\") {\r\n model.PreviousValue = self.GetInputValue(this);\r\n }\r\n VR.Script.LastFocus = { model: model, field: this };\r\n self.DoFilterFields(this);\r\n //VR.Diagnostic.AddEvent(new VR.Diagnostic.Event(\"Field Blur\", e));\r\n let initEnabled = $(e.target).data(\"initEnabled\");\r\n if (!initEnabled && $(e.target).getKendoValidator()) {\r\n $(e.target).getKendoValidator().validate();\r\n }\r\n\r\n });\r\n\r\n\r\n //the kendo validator functionality has been replaced with the ErrorPanel component.\r\n // the next part of removing the kendoValidator would possibly be placing the isValid function\r\n // into the field.onBlur event in place of validator.validate().\r\n field.kendoValidator({\r\n validateOnBlur: true,\r\n messages: {},\r\n errorTemplate:\r\n \"

#=message#

\",\r\n rules: {\r\n required: function (e) {\r\n return true; //bypass standard functionality by always returning true. isRequired checked in the isValid function.\r\n },\r\n isValid: function (e) {\r\n self.Validating = true;\r\n var elem = $(e);\r\n var state = elem.data(\"state\") || self.State;\r\n var elemModel = (elem[0].type === \"radio\"\r\n ? $(`#${elem[0].name}`)\r\n : elem\r\n ).data(\"field\");\r\n var invalidMessage = \"\";\r\n\r\n function requirements() {\r\n invalidMessage = \"This field is required to save the record.\";\r\n return (\r\n (!elemModel.RequiredForTransmit &&\r\n !elemModel.RequiredForRegister) ||\r\n (elemModel.RequiredForTransmit &&\r\n elemModel.FieldType === \"Hidden\") ||\r\n elem.val()\r\n );\r\n }\r\n function validValue() {\r\n invalidMessage = \"This field accepts numbers only.\";\r\n var returnValue = false;\r\n var val = self.GetInputValue(elem, true);\r\n\r\n if (\r\n val &&\r\n self.State === 0 &&\r\n elemModel.FieldDataType === \"integer\"\r\n ) {\r\n returnValue =\r\n val.split(\"\").filter(function (c) {\r\n return \"0123456789\".indexOf(c) == -1;\r\n }).length === 0;\r\n } else {\r\n returnValue = true;\r\n }\r\n return returnValue;\r\n }\r\n var val = self.GetInputValue(elem, true);\r\n if (val.length && elemModel.FieldType == \"DatePicker\") {\r\n return self.ValidateField(e);\r\n }\r\n function valOtherLiteral() {\r\n invalidMessage = \"Entry doesn't exist. Please select an entry from the list.\";\r\n return self.CheckIsComboBoxValueAllowed(elem);\r\n }\r\n function customRule() {\r\n invalidMessage = \"Custom validation error.\";\r\n return self.ValidateField(e);\r\n }\r\n function checkRequired() {\r\n invalidMessage = \"This field is required to save the record.\";\r\n if (elemModel.IsRequired && !elem.val()) {\r\n elemModel.RequiredFlag = true;\r\n }\r\n return elemModel.IsRequired ? elem.val() : true;\r\n }\r\n function dontValidate() {\r\n var a =\r\n !elemModel ||\r\n field.hasClass(\"readonly-text\") ||\r\n elemModel.HasSaveError;\r\n return a;\r\n }\r\n function validationSteps() {\r\n return (\r\n requirements() &&\r\n validValue() &&\r\n valOtherLiteral() &&\r\n customRule()\r\n );\r\n }\r\n\r\n var valid = checkRequired() && validationSteps();\r\n\r\n if (!valid) {\r\n self.ErrorPanel.setError({\r\n field: field,\r\n model: model,\r\n message: invalidMessage,\r\n location: null,\r\n isHardEdit: model.isHardEdit,\r\n errorType: \"validation\"\r\n });\r\n self.TakeActionOnField(\"skipped\", invalidMessage, null, field, model);\r\n self.AddErrorField(model);\r\n }\r\n self.Validating = false;\r\n return valid;\r\n }\r\n }\r\n });\r\n var data = field.data(\"field\");\r\n if (!data) {\r\n field.data(\"field\", model);\r\n }\r\n var dropdownBox = field.data(\"kendoDropDownList\");\r\n if (dropdownBox) {\r\n //now dropdowns may not have a filter we'll need to check to see if the input exists.\r\n if (dropdownBox.filterInput) {\r\n dropdownBox.filterInput.on(\"focus\", function () {\r\n var model = $(this).data(\"field\");\r\n if (model) {\r\n nx.Model = model;\r\n //model.Validated = false;\r\n console.log(\"onfocus model.FieldName=\" + model.FieldName);\r\n } else {\r\n nx.Model = null;\r\n console.log(\"onfocus nodata\");\r\n }\r\n if ($(this).val() == \"\")\r\n $(this).trigger($.Event(\"keydown\", { keyCode: 8 }));\r\n });\r\n }\r\n } else {\r\n field.on(\"focus\", function (e) {\r\n console.log(\"onfocus this=\" + $(this).attr(\"id\"));\r\n var model = $(this).data(\"field\");\r\n if (model) {\r\n nx.Model = model;\r\n //model.Validated = false;\r\n console.log(\"onfocus model.FieldName=\" + model.FieldName);\r\n } else {\r\n nx.Model = null;\r\n console.log(\"onfocus nodata\");\r\n }\r\n });\r\n }\r\n }\r\n }; //CreateFieldValidator\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Creates the HTML string for the image viewer.\r\n /// \r\n /// The image reqest ressponse model.\r\n /// The image model.\r\n /// The HTML string for the image editor.*/\r\n self.CreateImageViewer = function (result, image) {\r\n var type = result.FileType;\r\n if (type) {\r\n type = type.toLowerCase();\r\n }\r\n var html = \"\";\r\n if (!result || !result.Images || result.Images.length < 1) {\r\n return html;\r\n }\r\n\r\n if (result.Images.length == 1) {\r\n var source = result.Images[0];\r\n switch (type) {\r\n case \"bmp\":\r\n case \"gif\":\r\n case \"tiff\":\r\n case \"jpeg\":\r\n case \"png\":\r\n if (type == \"tiff\") {\r\n type = \"jpeg\";\r\n }\r\n html +=\r\n \"\";\r\n break;\r\n case \"pdf\":\r\n //var key = \"key=\" + source + \"|print=true|save=true|name=AttachedFile|dialog=true|copy=true|image=true\";\r\n var key =\r\n \"key=\" +\r\n source +\r\n \"|email=\" +\r\n true +\r\n \"|print=\" +\r\n true +\r\n \"|save=\" +\r\n true +\r\n \"|event=\" +\r\n self.EventName +\r\n \"|eventid=\" +\r\n self.EventId +\r\n \"|name=AttachedFile\" +\r\n \"|local=\" +\r\n self.GetFieldValue(\"LOCAL_FILE_NUMBER\") +\r\n \"|dialog=\" +\r\n true +\r\n \"|copy=\" +\r\n 1 +\r\n \"|printer=\" +\r\n \"|open=\" +\r\n false;\r\n var selection = \"selection=\" + encodeURIComponent(key);\r\n var url =\r\n VR.Common.GetRootURL() +\r\n \"report/report?selection=\" +\r\n encodeURIComponent(selection);\r\n html += \"\";\r\n break;\r\n default:\r\n html +=\r\n \"
\" +\r\n \"
\";\r\n break;\r\n }\r\n } else {\r\n html +=\r\n \"
\";\r\n html +=\r\n \"
Page 1 of \" +\r\n result.Images.length +\r\n \"
\";\r\n html += \"
\";\r\n html +=\r\n \"
\";\r\n $.each(result.Images, function (index, source) {\r\n var style = \"\";\r\n if (index > 0) {\r\n style = \"style=' display: none; '\";\r\n }\r\n html +=\r\n \"\";\r\n });\r\n html += \"
\";\r\n }\r\n\r\n return html;\r\n }; //CreateImageViewer\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Creates the image editor window.\r\n /// \r\n /// The element Id.\r\n /// The image reqest ressponse model.\r\n /// */\r\n self.CreateImageWindow = function (id, result) {\r\n var windowHost = $(\"#\" + id + \"-window\");\r\n windowHost.data(\"Image\", result);\r\n var height = $(\"nav\").height();\r\n height = VR.Common.ToFloat(height) + 20;\r\n var top = height + \"px\";\r\n var width = \"60%\";\r\n height = \"80%\";\r\n var left = \"20%\";\r\n if (VR.Common.IsMobile()) {\r\n if (VR.Common.IsNavBurger()) {\r\n width = \"98%\";\r\n left = \"1%\";\r\n } else {\r\n width = \"90%\";\r\n left = \"5%\";\r\n }\r\n }\r\n\r\n var idstring = VR.Common.HtmlEscape(id);\r\n\r\n windowHost.kendoWindow({\r\n animation: false,\r\n position: {\r\n top: top,\r\n left: left\r\n },\r\n height: height,\r\n width: width,\r\n title: \"Image Viewer\",\r\n actions: [\"Pin\", \"Close\"],\r\n close: function (e) {\r\n setTimeout(function () {\r\n $(\".k-window\").css(\"z-index\", \"1000\");\r\n }, 1000);\r\n },\r\n open: function (e) {\r\n var iframe = windowHost.find(\".edit-iframe\");\r\n $(iframe).css(\"display\", \"none\");\r\n var elemenet = windowHost.parents(\".k-window\");\r\n elemenet.css(\"z-index\", \"1000\");\r\n var parentWindow = windowHost.data(\"kendoWindow\");\r\n var result = windowHost.data(\"Image\");\r\n var type = result.FileType;\r\n if (type) {\r\n type = type.toLowerCase();\r\n }\r\n var isImage = false;\r\n switch (type) {\r\n case \"bmp\":\r\n case \"gif\":\r\n case \"tiff\":\r\n case \"jpeg\":\r\n case \"png\":\r\n isImage = true;\r\n break;\r\n }\r\n if (isImage) {\r\n parentWindow.Annotation = result.Annotations;\r\n parentWindow.AnnotationWidth = result.AnnotateWidth;\r\n parentWindow.AnnotationHeight = result.AnnotateHeight;\r\n if (result.Images.length > 1) {\r\n setTimeout(function (e) {\r\n var canvas = idstring + \"-canvas\";\r\n var image = idstring + \"-editor\";\r\n VR.Image.Annotation.InitTiffImage(canvas, image, parentWindow);\r\n }, 300);\r\n } else {\r\n setTimeout(function (e) {\r\n var canvas = idstring + \"-canvas\";\r\n var image = idstring + \"-editor\";\r\n VR.Image.Annotation.InitImage(canvas, image, parentWindow);\r\n }, 300);\r\n }\r\n }\r\n },\r\n visible: false\r\n });\r\n\r\n windowHost.css(\"z-index\", \"1000\");\r\n if (VR.Common.IsMobile()) {\r\n var parents = windowHost.parents(\".k-window\");\r\n var handle = parents.find(\".k-resize-se\");\r\n handle.css(\"opacity\", \"1\");\r\n handle.css(\"background-color\", \"#66f\");\r\n handle.css(\"z-index\", \"1010\");\r\n handle.css(\"width\", \"32px\");\r\n handle.css(\"height\", \"32px\");\r\n }\r\n\r\n var description = VR.Common.HtmlString(result.Description);\r\n var html = \"
\";\r\n if (\r\n self.ImageSecurity &&\r\n (self.ImageSecurity.CanSetSecurity || self.ImageSecurity.CanInactivate)\r\n ) {\r\n html += \"

\";\r\n if (self.ImageSecurity.CanSetSecurity) {\r\n var security = VR.Common.HtmlString(result.ApplicationFunction);\r\n html +=\r\n \"Application Function: \";\r\n }\r\n\r\n if (self.ImageSecurity.CanInactivate) {\r\n var checkid = VR.Common.HtmlEscape(id) + \"-check\";\r\n var checked = \"\";\r\n if (result.IsActive) {\r\n checked = \"checked='checked'\";\r\n }\r\n html +=\r\n \"\" +\r\n \"\";\r\n }\r\n html += \"

\";\r\n }\r\n\r\n html +=\r\n \"

Description: \";\r\n var type = result.FileType;\r\n if (type) {\r\n type = type.toLowerCase();\r\n }\r\n var isImage = false;\r\n switch (type) {\r\n case \"bmp\":\r\n case \"gif\":\r\n case \"tiff\":\r\n case \"jpeg\":\r\n case \"png\":\r\n isImage = true;\r\n break;\r\n }\r\n if (\r\n isImage &&\r\n (result.IsActive ||\r\n (self.ImageSecurity && self.ImageSecurity.CanPrintInactive))\r\n ) {\r\n html += \"\";\r\n }\r\n\r\n if (self.ImageSecurity && self.ImageSecurity.CanUpdateImage) {\r\n html += \"\";\r\n }\r\n if (result && result.CanSaveImage) {\r\n html += \"\";\r\n }\r\n\r\n html +=\r\n \"\";\r\n if (isImage && self.ImageSecurity && self.ImageSecurity.CanToggleAnnote) {\r\n html +=\r\n \"\";\r\n }\r\n html += \"

\";\r\n\r\n html +=\r\n \"
\" +\r\n \"
\" +\r\n \"
\" +\r\n \"
\";\r\n\r\n windowHost.html(html);\r\n\r\n windowHost.find(\"input[type='text']\").kendoAutoComplete({});\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var list = $(\"#\" + id + \"-imagewindow-appfunction-list\");\r\n var text = list.find(\".k-textbox\");\r\n var val = text.val();\r\n var url = VR.Common.GetRootURL(\"event/edit\");\r\n VR.Common.SecurePost(\r\n url + \"data/secfile\",\r\n val,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n data.push({ text: \" \", value: \"\" });\r\n $.each(result.List, function (index, item) {\r\n data.push({ text: item, value: item, key: item });\r\n });\r\n if (!!options) options.success(data);\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n return [];\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n\r\n var input = windowHost.find(\"input[type='search']\");\r\n input.kendoDropDownList({\r\n autoBind: false,\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n filter: \"contains\",\r\n change: function (e) {\r\n var editor = $(\"#\" + id + \"-editor\");\r\n var changed = editor.attr(\"data-changed\");\r\n if (!changed) {\r\n changed = \"\";\r\n }\r\n\r\n if (changed.indexOf(\"sec\") == -1) {\r\n changed += \"|sec\";\r\n }\r\n editor.attr(\"data-changed\", changed);\r\n },\r\n open: function (e) {\r\n //var dropDown = $(e.target)\r\n //if (!dropDown.is(\":not([readonly])\")) {\r\n // e.preventDefault();\r\n //}\r\n },\r\n height: 160\r\n });\r\n\r\n var dropdownlist = $(input).data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.dataSource.add({\r\n text: result.ApplicationFunction,\r\n value: result.ApplicationFunction\r\n });\r\n dropdownlist.select(0);\r\n }\r\n\r\n var parent = $(input).parents(\".k-dropdown\");\r\n $(parent).on(\"keypress\", function (e) {\r\n if (e.key == \"-\") {\r\n var dropdownlist = $(input).data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.open();\r\n $(input).select();\r\n }\r\n }\r\n });\r\n\r\n var inputs = windowHost.find(\".imagedit-input\");\r\n inputs.on(\"change\", function (e) {\r\n var type = $(this).attr(\"type\");\r\n switch (type) {\r\n case \"checkbox\":\r\n type = \"isactive\";\r\n break;\r\n default:\r\n type = \"desc\";\r\n break;\r\n }\r\n var editor = $(\"#\" + id + \"-editor\");\r\n var changed = editor.attr(\"data-changed\");\r\n if (!changed) {\r\n changed = \"\";\r\n }\r\n\r\n if (changed.indexOf(type) == -1) {\r\n changed += \"|\" + type;\r\n }\r\n editor.attr(\"data-changed\", changed);\r\n });\r\n\r\n var parent = windowHost.parents(\".k-window\");\r\n parent.css(\"z-index\", \"1000\");\r\n\r\n return windowHost;\r\n }; //CreateImageWindow\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Returns a HTML string for one input field.\r\n /// \r\n /// The field model.\r\n /// The HTML string for one input field*/\r\n self.CreateInputField = function (model) {\r\n var panelHtml =\r\n \"
\" + VR.Common.HtmlEscape(model.FieldLabel) + \"\";\r\n panelHtml +=\r\n \"

\" +\r\n \"
\";\r\n model.FieldValue = VR.Common.ToDate(model.FieldValue);\r\n\r\n return panelHtml;\r\n }; //CreateInputField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Creates notes editor.\r\n /// \r\n /// The grid.\r\n /// The grid row.\r\n /// */\r\n self.CreateNotesEditor = function () {\r\n var editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n if (!editor) {\r\n var tools = false;\r\n if (self.IsNotesAdmin || self.CanSaveNotes) {\r\n tools = [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"strikethrough\",\r\n \"justifyLeft\",\r\n \"justifyCenter\",\r\n \"justifyRight\",\r\n \"justifyFull\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"indent\",\r\n \"outdent\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n \"createTable\",\r\n \"addRowAbove\",\r\n \"addRowBelow\",\r\n \"addColumnLeft\",\r\n \"addColumnRight\",\r\n \"deleteRow\",\r\n \"deleteColumn\",\r\n \"formatting\",\r\n \"cleanFormatting\",\r\n \"fontName\",\r\n \"fontSize\",\r\n \"foreColor\",\r\n \"backColor\",\r\n \"print\",\r\n \"pdf\"\r\n ];\r\n }\r\n\r\n $(\"#notes-editor\").kendoEditor({\r\n tools: tools\r\n });\r\n\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var list = $(\"#note-secfunction-list\");\r\n var text = list.find(\".k-textbox\");\r\n var val = text.val();\r\n var url = VR.Common.GetRootURL(\"event/edit\");\r\n VR.Common.SecurePost(\r\n url + \"data/secfile\",\r\n val,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n data.push({ text: \" \", value: \"\" });\r\n $.each(result.List, function (index, item) {\r\n data.push({ text: item, value: item, key: item });\r\n });\r\n if (!!options) options.success(data);\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Notes\", true);\r\n return [];\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n\r\n var input = $(\"#note-secfunction\");\r\n input.kendoDropDownList({\r\n autoBind: false,\r\n filter: \"contains\",\r\n height: 180,\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n open: function (e) {\r\n //var dropDown = $(e.target)\r\n //if (!dropDown.is(\":not([readonly])\")) {\r\n // e.preventDefault();\r\n //}\r\n }\r\n });\r\n\r\n var parent = input.parents(\".k-dropdown\");\r\n $(parent).on(\"keypress\", function (e) {\r\n if (e.key == \"-\") {\r\n var dropdownlist = $(input).data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.open();\r\n $(input).select();\r\n }\r\n }\r\n });\r\n\r\n editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n\r\n var body = editor.body;\r\n $(body).on(\"contextmenu\", function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n if (!self.IsNotesAdmin && !self.CanNewNotes) {\r\n $(\"#notes-new\").css(\"diaplay\", \"none\");\r\n } else {\r\n $(\"#notes-new\").on(\"click\", function (e) {\r\n var editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n if (!editor) {\r\n return;\r\n }\r\n\r\n editor.value(\"\");\r\n var notes = {};\r\n var model = {};\r\n var id = $(\"#notes-list-body\").attr(\"data-field-id\");\r\n if (id == \"0\") {\r\n notes.FieldName = \"--Record--\";\r\n model.FieldLabel = \"--Record--\";\r\n } else {\r\n model = self.GetFieldModel(id);\r\n if (model == null) {\r\n notes.FieldName = \"\";\r\n model = { FieldLabel: \"\" };\r\n } else {\r\n notes.FieldName = model.FieldName;\r\n }\r\n }\r\n notes.IsActive = true;\r\n\r\n self.Note = notes;\r\n $(\"#note-field-name\").html(VR.Common.HtmlEscape(notes.FieldName));\r\n $(\"#note-field-label\").html(VR.Common.HtmlEscape(model.FieldLabel));\r\n $(\"#note-isactive\").attr(\"checked\", notes.IsActive);\r\n\r\n var dropdownList = $(\"#note-secfunction\").data(\"kendoDropDownList\");\r\n if (dropdownList != null) {\r\n dropdownList.select(-1);\r\n }\r\n\r\n $(\"#notes-body\").attr(\"data-notes-id\", \"0\");\r\n $(\"#notes-modal\").modal(\"show\");\r\n });\r\n }\r\n\r\n $(\"#noteslist-modal\").on(\"shown.bs.modal\", function (e) {\r\n var dialog = $(\"#noteslist-modal .modal-content\");\r\n var table = $(\"#notes-table\");\r\n var height = $(dialog).height();\r\n var winheight = $(window).height();\r\n\r\n if (height > winheight - 250) {\r\n height = winheight - 250;\r\n $(table).css(\"max-height\", height + \"px\");\r\n }\r\n });\r\n\r\n $(\"#notes-modal\").on(\"shown.bs.modal\", function (e) {\r\n $(document).off(\"focusin.modal\"); //Fix for KendoDropDownList closes immediately when the dopdown is opened. http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field\r\n var editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n if (editor) {\r\n editor.focus();\r\n }\r\n });\r\n\r\n $(\"#notes-modal\").on(\"hide.bs.modal\", function (e) {\r\n self.CreateNotesList();\r\n });\r\n\r\n if (!self.IsNotesAdmin && !self.CanSaveNotes) {\r\n $(\"#notes-save\").css(\"display\", \"none\");\r\n } else {\r\n $(\"#notes-save\").on(\"click\", function (e) {\r\n var editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n if (editor == null) {\r\n return;\r\n }\r\n\r\n var value = editor.value();\r\n value = VR.Common.HtmlEscape(value);\r\n\r\n var secfunc = \"\";\r\n var dropDownList = $(\"#note-secfunction\").data(\"kendoDropDownList\");\r\n if (dropDownList != null) {\r\n secfunc = dropDownList.value();\r\n }\r\n\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n var fieldId = $(\"#notes-list-body\").attr(\"data-field-id\");\r\n var fieldName = $(\"#note-field-name\").html();\r\n var id = $(\"#notes-body\").attr(\"data-notes-id\");\r\n var isActive = $(\"#note-isactive\").attr(\"checked\") == \"checked\";\r\n\r\n var selection =\r\n \"event=\" +\r\n event +\r\n \"|eventId=\" +\r\n eventId +\r\n \"|fieldId=\" +\r\n fieldId +\r\n \"|fieldName=\" +\r\n fieldName +\r\n \"|notesId=\" +\r\n id +\r\n \"|secfunc=\" +\r\n secfunc +\r\n \"|isActive=\" +\r\n isActive +\r\n \"|value=\" +\r\n value;\r\n\r\n selection = encodeURIComponent(selection);\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/notesupdate\";\r\n VR.Common.Post(\r\n url,\r\n { selection: selection, value: value },\r\n function (response) {\r\n //var json = VR.Common.DecryptData();\r\n var result = $.parseJSON(response.Json);\r\n\r\n if (result.Code == 0) {\r\n var id = $(\"#notes-body\").attr(\"data-notes-id\");\r\n if (id == \"0\") {\r\n self.Notes.push(result.Note);\r\n self.NotesCount++;\r\n if (VR.Common.IsMobile()) {\r\n $(\"#mobileNotesBtnText\").html(VR.Common.HtmlEscape(self.NotesCount));\r\n } else {\r\n $(\"#notes-count\").html(\"Notes count: \" + VR.Common.HtmlEscape(self.NotesCount));\r\n }\r\n } else {\r\n var index = self.Notes.indexOf(self.Note);\r\n if (index > -1) {\r\n self.Notes.splice(index, 1);\r\n if (index >= self.Notes.length) {\r\n self.Notes.push(result.Note);\r\n } else {\r\n self.Notes.splice(index, 0, result.Note);\r\n }\r\n }\r\n }\r\n $(\"#notes-modal\").modal(\"hide\");\r\n } else {\r\n $(\"#notes-error\").html(VR.Common.HtmlEscape(result.Message));\r\n VR.Common.HandleInvalidResult(result, \"Save Notes\", false);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }; //CreateNotesEditor\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Creates notes list.\r\n /// \r\n /// */\r\n self.CreateNotesList = function () {\r\n var id = $(\"#notes-list-body\").attr(\"data-field-id\");\r\n var model = null;\r\n if (id != \"0\") {\r\n model = $(\"#f\" + id).data(\"field\");\r\n }\r\n var html = \"\";\r\n if (self.Notes && self.Notes.length !== 0) {\r\n if (VR.Common.IsMobile()) {\r\n $(\"#notes-col-hdr-id\").hide();\r\n $(\"#notes-col-hdr-field\").hide();\r\n $(\"#notes-col-hdr-createdate\").hide();\r\n $(\"#notes-col-hdr-modusrid\").hide();\r\n $(\"#notes-col-hdr-moddate\").hide();\r\n $(\"#notes-col-hdr-active\").hide();\r\n $(\"#notes-col-hdr-appfunct\").hide();\r\n $.each(self.Notes, function (index, note) {\r\n if (model === null || model.FieldName === note.FieldName) {\r\n html += `${VR.Common.HtmlEscape(note.ShortNotes)}${VR.Common.HtmlEscape(note.ModifyUserName)}\r\n `;\r\n html += self.IsNotesAdmin || self.CanDeleteNotes\r\n ? \"\"\r\n : \"\";\r\n html += \"\";\r\n }\r\n });\r\n }\r\n else {\r\n $.each(self.Notes, function (index, note) {\r\n if (model == null || model.FieldName == note.FieldName) {\r\n var create = VR.Common.ToFormattedValue(note.CreateDate);\r\n var modified = VR.Common.ToFormattedValue(note.ModifyDate);\r\n html +=\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(note.NotesId) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(note.FieldName) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(note.ShortNotes) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(create) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(note.ModifyUserId) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(note.ModifyUserName) +\r\n \"\" +\r\n \"\" +\r\n VR.Common.HtmlEscape(modified) +\r\n \"\";\r\n html +=\r\n self.IsNotesAdmin || self.CanDeleteNotes\r\n ? \"\" + VR.Common.HtmlEscape(note.IsActive) + \"\"\r\n : \"\";\r\n html +=\r\n \"\" +\r\n VR.Common.HtmlEscape(note.ApplicationFunction) +\r\n \"\" +\r\n \"\";\r\n html +=\r\n self.IsNotesAdmin || self.CanDeleteNotes\r\n ? \"\"\r\n : \"\";\r\n html += \"\";\r\n }\r\n });\r\n }\r\n }\r\n\r\n var noteslist = $(\"#notes-list\");\r\n if (html.length == 0) {\r\n html = \"

No notes to show.

\";\r\n }\r\n\r\n noteslist.html(html);\r\n\r\n noteslist.find(\".notes-btn\").on(\"click\", function (e) {\r\n var id = $(this).attr(\"id\");\r\n if (id && id.length > 6) {\r\n id = id.substring(6);\r\n }\r\n\r\n if (!self.Notes) {\r\n return;\r\n } else {\r\n var notes = null;\r\n $.each(self.Notes, function (index, note) {\r\n if (note.NotesId == id) {\r\n notes = note;\r\n return false;\r\n }\r\n });\r\n\r\n if (notes != null) {\r\n var editor = $(\"#notes-editor\").data(\"kendoEditor\");\r\n if (!editor) {\r\n return;\r\n }\r\n\r\n var value = notes.Notes;\r\n value = VR.Common.HtmlUnescape(value);\r\n editor.value(value);\r\n self.Note = notes;\r\n var model = self.GetFieldModel(notes.FieldName);\r\n $(\"#note-field-name\").html(VR.Common.HtmlEscape(notes.FieldName));\r\n if (model) {\r\n $(\"#note-field-label\").html(VR.Common.HtmlEscape(model.FieldLabel));\r\n } else {\r\n $(\"#note-field-label\").html(VR.Common.HtmlEscape(notes.FieldName));\r\n }\r\n $(\"#note-isactive\").attr(\"checked\", notes.IsActive);\r\n var dropdownlist = $(\"#note-secfunction\").data(\"kendoDropDownList\");\r\n if (dropdownlist != null) {\r\n if (!notes.ApplicationFunction) {\r\n dropdownlist.select(-1);\r\n } else {\r\n dropdownlist.select(function (item) {\r\n return item.value == notes.ApplicationFunction;\r\n });\r\n var selected = dropdownlist.select();\r\n if (selected == -1) {\r\n var data = {\r\n text: notes.ApplicationFunction,\r\n value: notes.ApplicationFunction\r\n };\r\n dropdownlist.dataSource.add(data);\r\n dropdownlist.select(function (item) {\r\n return item.value == notes.ApplicationFunction;\r\n });\r\n selected = dropdownlist.select();\r\n }\r\n }\r\n }\r\n\r\n $(\"#notes-body\").attr(\"data-notes-id\", id);\r\n $(\"#notes-modal\").modal(\"show\");\r\n }\r\n }\r\n });\r\n\r\n if (self.IsNotesAdmin || self.CanDeleteNotes) {\r\n noteslist.find(\".notesd-btn\").on(\"click\", function (e) {\r\n var id = $(this).attr(\"id\");\r\n if (id && id.length > 7) {\r\n id = id.substring(7);\r\n }\r\n\r\n if (!self.Notes) {\r\n return;\r\n } else {\r\n var index = -1;\r\n $.each(self.Notes, function (i, note) {\r\n if (note.NotesId == id) {\r\n index = i;\r\n return false;\r\n }\r\n });\r\n\r\n if (index > -1) {\r\n self.NotesId = id;\r\n self.NotesIndex = index;\r\n VR.Common.ShowMessageBox(\r\n \"Do you want to delete this note?\",\r\n self.DeleteNotes,\r\n true\r\n );\r\n }\r\n }\r\n });\r\n }\r\n }; //CreateNotesList\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Deletes image.\r\n /// \r\n /// The image Id.\r\n /// */\r\n self.DeleteImage = function () {\r\n var id = self.ImageId;\r\n if (id && id.indexOf(\"image-\") > -1) {\r\n id = id.substring(\"image-\".length);\r\n }\r\n\r\n id = parseInt(id);\r\n if (isNaN(id)) {\r\n return;\r\n }\r\n\r\n var selected = null;\r\n $.each(self.ImageDataSource.data(), function (index, model) {\r\n if (model.ImageId == id) {\r\n selected = model;\r\n return false;\r\n }\r\n });\r\n\r\n if (!selected) {\r\n return;\r\n }\r\n\r\n VR.Common.SecurePost(\"data/imagedelete\", \"image=\" + id, function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n } else {\r\n var list = $(\"#image-list\");\r\n list.find(\".image\").off(\"dblclick\");\r\n var images = self.ImageDataSource.data();\r\n var index = images.indexOf(selected);\r\n if (index == -1) {\r\n return;\r\n }\r\n var image = images[index];\r\n var windowHost = $(\"#\" + image.ImageId + \"-window\");\r\n var imageWindow = windowHost.data(\"kendoWindow\");\r\n if (imageWindow) {\r\n imageWindow.destroy();\r\n }\r\n\r\n images.splice(index, 1);\r\n self.ImageDataSource.data(images);\r\n\r\n $(\"#image-pager\")\r\n .data(\"kendoPager\")\r\n .refresh();\r\n var kendoList = list.data(\"kendoListView\");\r\n kendoList.refresh();\r\n\r\n list.find(\".image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n\r\n self.ImageCount--;\r\n if (VR.Common.IsMobile()) {\r\n $(\"#mobileImagesBtnText\").html(VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n else {\r\n $(\"#images-count\").html(\"Image count: \" + VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n }\r\n });\r\n }; //DeleteImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Deletes notes.\r\n /// \r\n /// */\r\n self.DeleteNotes = function () {\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/notesdelete\";\r\n VR.Common.SecurePost(\r\n url,\r\n self.NotesId,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Delete Notes\", false);\r\n } else {\r\n var index = self.NotesIndex;\r\n\r\n self.Notes.splice(index, 1);\r\n self.CreateNotesList();\r\n self.NotesCount--;\r\n if (VR.Common.IsMobile()) {\r\n $(\"#mobileNotesBtnText\").html(VR.Common.HtmlEscape(self.NotesCount));\r\n } else {\r\n $(\"#notes-count\").html(\"Notes count: \" + VR.Common.HtmlEscape(self.NotesCount));\r\n }\r\n \r\n }\r\n },\r\n true,\r\n \"notesid=\",\r\n false,\r\n false\r\n );\r\n }; //DeleteNotes\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Deletes the current event record.\r\n /// \r\n /// */\r\n self.DeleteRecord = function () {\r\n var event = self.EventName;\r\n var eventid = self.EventId;\r\n var selection = \"name=\" + event + \"|id=\" + eventid;\r\n VR.Common.SecurePost(\"event/delete\", selection, function (result) {\r\n if (result.Code != 0) {\r\n if (result.Code == 1370) {\r\n VR.Common.ShowError(result.Message);\r\n } else {\r\n VR.Common.HandleInvalidResult(result, \"Delete Record\", false);\r\n }\r\n } else {\r\n $(\"#messagebox-title\").html(\"Event Record Deleted\");\r\n $(\"#messagebox-text\").html(\"This event record was deleted..\");\r\n $(\"#messagebox-codebox\").css(\"display\", \"none\");\r\n $(\"#messagebox-body\").css(\"display\", \"none\");\r\n $(\"#messagebox-text\").css(\"overflow\", \"hidden\");\r\n\r\n var message;\r\n if (VR.Common.CanOpen) {\r\n message = \"This window will close.\";\r\n } else {\r\n message = \"This window will be redirected to the dashboard.\";\r\n }\r\n\r\n $(\"#messagebox-footer\").html(message);\r\n $(\"#messagebox-header\").css(\"background-color\", \"#6495ed\");\r\n $(\"#messagebox-closebutton\").removeClass(\"btn-danger\");\r\n $(\"#messagebox-closebutton\").addClass(\"btn-primary\");\r\n\r\n $(\"#messagebox-modal\").modal(\"show\");\r\n\r\n self.CanLeaveValidated = true;\r\n\r\n $(\"#messagebox-modal\")\r\n .off(\"hidden.bs.modal\")\r\n .on(\"hidden.bs.modal\", function (e) {\r\n if (VR.Common.CanOpen) {\r\n window.close();\r\n } else {\r\n $(\"#dashboard-menu\").trigger(\"click\");\r\n }\r\n });\r\n }\r\n });\r\n }; //DeleteRecord\r\n\r\n self.DisableByPassVariable = function (bypass, model, isHardEdit) {\r\n if (!model) {\r\n return \"\";\r\n }\r\n // Show enabled bypass buttons only if the edit is soft (not a hard edit)\r\n if (model && !isHardEdit && model.ByPassValue && !model.AllowUnknown) {\r\n if (model.ByPassValue.indexOf(bypass.toString()) > -1) {\r\n return \"\";\r\n } else {\r\n return \"disabled\";\r\n }\r\n } else {\r\n return \"disabled\";\r\n }\r\n }; //DisableByPassVariable\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Displays the current grid event record.\r\n /// \r\n /// The grid event parameter.\r\n /// */\r\n self.DisplayEvent = function (parameter) {\r\n if (!parameter) {\r\n return;\r\n }\r\n\r\n if (\r\n (!self.CanSaveWithEdits && !self.CanSaveWithoutEdits) ||\r\n !self.CanSave ||\r\n self.CanClose\r\n ) {\r\n self.DisplayGridEvent(parameter);\r\n } else {\r\n var canClose = true;\r\n $.each(self.Fields, function (index, model) {\r\n if (model.HasChange) {\r\n canClose = false;\r\n return false;\r\n }\r\n });\r\n\r\n if (canClose) {\r\n self.DisplayGridEvent(parameter);\r\n } else {\r\n var handler = function (parameter) {\r\n self.CanLeaveValidated = true;\r\n self.DisplayGridEvent(parameter);\r\n };\r\n VR.Common.ShowMessageBox(\r\n \"You have unsaved changes. Do you want to leave this page?\",\r\n handler,\r\n true,\r\n parameter\r\n );\r\n }\r\n }\r\n }; //DisplayEvent\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Displays the current grid event record.\r\n /// \r\n /// The grid event parameter.\r\n /// */\r\n self.DisplayGridEvent = function (parameter) {\r\n var grid = parameter.grid;\r\n var row = parameter.selected;\r\n if (!grid || !row) {\r\n return;\r\n }\r\n\r\n var event = grid.GridEvent;\r\n var item = grid.dataItem(row);\r\n if (item == null) {\r\n return;\r\n }\r\n\r\n var eventId = item[grid.GridKey];\r\n if (eventId == null) {\r\n return;\r\n }\r\n\r\n var selection = event + \"-\" + eventId.toString();\r\n var input = $(\"#f\" + grid.FieldId);\r\n var model = input.data(\"field\");\r\n if (model && model.IsDisplayOnly) {\r\n selection += \"-false-displayonly\";\r\n }\r\n VR.Common.SetupEditPage(selection, VR.Common.CanOpen);\r\n }; //DisplayGridEvent\r\n\r\n\r\n function getCookie(cname) {\r\n var name = cname + \"=\";\r\n var decodedCookie = decodeURIComponent(document.cookie);\r\n var ca = decodedCookie.split(\";\");\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == \" \") {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Performs house keeping job for after save.\r\n /// \r\n /// The returned result.\r\n /// The event values\r\n /// */\r\n self.DoAfterSave = function (result, isNoEdits, ChangedValues) {\r\n if (!result) {\r\n return;\r\n }\r\n var allValues = [];\r\n var values = ChangedValues.split(\"|\");\r\n for (var i = 0; i < values.length; i++) {\r\n allValues.push(values[i].substr(values[i].indexOf(\"=\") + 1, values[i].length));\r\n }\r\n\r\n if (result.Values.length > 0) {\r\n $.each(result.Values, function (index, field) {\r\n var input = $(\"#f\" + field.FieldId);\r\n var model = $(input).data(\"field\");\r\n\r\n if (model) {\r\n\r\n // If a value for a field was sent to the server, but the server returned no value for this field, have that field keep its value\r\n // Else assign the value returned from the server to the field\r\n model.FieldValue = ((field.FieldValue === \"\" || field.FieldValue === null) && (allValues[index] !== \"\" || allValues[index] !== null)) ? allValues[index] : field.FieldValue;\r\n\r\n if (model.FieldType === \"DatePicker\") {\r\n let format = model.InputFormat;\r\n if (format == null || format == \"\") {\r\n format = \"MM/dd/yyyy\";\r\n }\r\n if (\r\n model.FieldValue &&\r\n model.FieldValue.indexOf(\"99\") < 0 &&\r\n model.FieldValue.indexOf(\"88\") < 0\r\n ) {\r\n model.FieldValue = moment(model.FieldValue).format(\r\n format.toUpperCase()\r\n );\r\n input.val(model.FieldValue);\r\n }\r\n }\r\n\r\n if (model.FieldType != \"Image\") {\r\n model.OriginalValue = model.FieldValue;\r\n if (model.isRetained && editPageData.CRUDType == \"Create\") {\r\n setStickyValue(model.FieldId, model.FieldValue);\r\n }\r\n } else {\r\n var value = $(\"#f\" + model.FieldId).attr(\"field-changed\");\r\n if (value != \"1\") {\r\n model.OriginalValue = model.FieldValue;\r\n } else {\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/imagesave\";\r\n var src = $(\"#f\" + model.FieldId).prop(\"src\");\r\n if (src && src != \"\" && src.indexOf(\"data:image/\") > -1) {\r\n src = src.replace(/\\+/g, \"#\");\r\n } else {\r\n src = null;\r\n }\r\n var eventId = self.EventId;\r\n var id = model.FieldValue;\r\n var selection =\r\n \"data=\" +\r\n src +\r\n \"|id=\" +\r\n id +\r\n \"|eventId=\" +\r\n eventId +\r\n \"|fieldId=\" +\r\n model.FieldId;\r\n selection = encodeURIComponent(selection);\r\n var data = { selection: selection };\r\n VR.Common.Ajax({\r\n type: \"POST\",\r\n url: url,\r\n data: data,\r\n success: function (response) {\r\n //var json = VR.Common.DecryptData(response.Json);\r\n var result = $.parseJSON(response.Json);\r\n\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Save Image\", true);\r\n } else {\r\n if (id == null || id == \"\" || id != result.Message) {\r\n model.FieldValue = result.Message;\r\n model.OriginalValue = model.FieldValue;\r\n }\r\n $(\"#f\" + model.FieldId).attr(\"field-changed\", \"\");\r\n }\r\n },\r\n dataType: \"json\",\r\n async: false\r\n });\r\n }\r\n }\r\n\r\n if (input.length > 0) {\r\n self.ForceSetFieldValue(input, model.FieldValue);\r\n }\r\n model.HasChange = false;\r\n\r\n var errorData = null;\r\n if (result.Errors && result.Errors.length > 0) {\r\n $.each(result.Errors, function (index, error) {\r\n if (model.FieldId == error.FieldId) {\r\n model.HasSaveError = true;\r\n errorData = error;\r\n return false;\r\n }\r\n });\r\n\r\n if (errorData != null) {\r\n model.ErrorMessage = errorData.Message;\r\n self.AddErrorField(model);\r\n self.ErrorPanel.setError({\r\n field: input,\r\n model: model,\r\n message: errorData.Message,\r\n location: errorData.Location,\r\n isHardEdit: errorData.IsHardEdit\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n self.InitFields(null, isNoEdits);\r\n\r\n // Remove the existing alerts\r\n self.Alerts.splice(0, self.Alerts.length);\r\n if (result.Alerts) {\r\n if (result.Alerts.length > 0) {\r\n // Populate the Alerts with the number of Actual alerts returned from the server\r\n $.each(result.Alerts, function (index, alert) {\r\n self.Alerts.push(alert);\r\n });\r\n }\r\n }\r\n self.SyncEventAlertsCount(result.Alerts.length);\r\n\r\n var alerts = $(\"#alerts-dropdown\").data(\"kendoDropDownList\");\r\n if (alerts) {\r\n var dataSource = new kendo.data.DataSource({\r\n data: self.Alerts\r\n });\r\n alerts.setDataSource(dataSource);\r\n alerts.select(0);\r\n alerts.trigger(\"change\");\r\n }\r\n\r\n if (result.Code == 0) {\r\n self.EventId = result.EventId;\r\n var title = $(\"#main-container\").attr(\"event-title\");\r\n title = title + \" : \" + self.EventId;\r\n $(\"#plugins\").html(VR.Common.HtmlEscape(title));\r\n self.SaveCount++;\r\n VR.Common.CreateAmendmentsMenu();\r\n VR.Common.CreateDocumentsMenu();\r\n self.SetupNotes();\r\n $(\"#mobileErrorsBtnText\").html(`${self.GetFieldErrorCount()}`);\r\n }\r\n }; //DoAfterSave\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs field value changed functions.\r\n /// \r\n /// The input field.\r\n /// */\r\n self.DoFieldValueChanged = function (input) {\r\n var model = $(input).data(\"field\");\r\n var curVal = self.GetInputValue(input, true);\r\n var fieldVal = model.FieldValue;\r\n var origVal = \"\";\r\n //VRS-5885\r\n if (typeof (model) === \"object\" && typeof (model.FieldValue) !== \"undefined\" && model.FieldValue !== null)\r\n {\r\n origVal = model.OriginalValue;\r\n }\r\n //below we use bitwise operators (https://www.w3schools.com/js/js_bitwise.asp)\r\n // the | is a bitwise OR which sets each bit to 1if one of two bits is 1\r\n // << Shifts left by pushing zeros in from the right and let the leftmost bits fall off. The number following << is the number of places to shift.\r\n // EXAMPLE: this is a new record and we are setting the value of the field for the first time.\r\n // fieldVal = 0 or 00000\r\n // curVal = 1 or 00001\r\n // fieldVal == curVal = 0 or 00000\r\n // this evaluates to (0 | 1 | 0) or:\r\n // scenario = 00000\r\n // 00010\r\n // 00000\r\n // result = 00010 or 2\r\n // EXAMPLE2: this is an existing record and we have changed the value of the field.\r\n // fieldVal = 1 or 00001\r\n // curVal = 1 or 00001\r\n // fieldVal == curVal = 0 or 00000\r\n // this evaluates to (0 | 1 | 0) or:\r\n // scenario = 00001\r\n // 00010\r\n // 00000\r\n // result = 00011 or 3\r\n var scenario =\r\n ~~(fieldVal && fieldVal != \"\") |\r\n (~~(curVal && curVal != \"\") << 1) |\r\n (~~(curVal == fieldVal) << 2);\r\n switch (scenario) {\r\n case 1:\r\n //curval != fieldVal, only prev val is set with a value != \"\"\r\n case 2:\r\n //curval != fieldVal, only curval is set with a value != \"\"\r\n case 3:\r\n var model = $(input).data(\"field\");\r\n if (model.AllowOther === true && model.FieldType === \"ComboBox\" && curVal !== \"\") {\r\n let setFieldStatus = Array.isArray(model.ValidationDropdownItems) && !model.ValidationDropdownItems.map(x => x.ValueInt === null ? x.ValueString : x.ValueInt).includes(curVal);\r\n if (setFieldStatus) {\r\n let cBox = $(input).data(\"kendoComboBox\");\r\n if (cBox) {\r\n //VRS-5885\r\n let data = null;\r\n if (typeof (cBox.dataSource) === \"object\") {\r\n data = cBox.dataSource.data();\r\n }\r\n if (data) {\r\n setFieldStatus = !data.map(x => x.value.toLowerCase()).includes(curVal.toLowerCase());\r\n }\r\n }\r\n }\r\n if (setFieldStatus) {\r\n self.SetFieldStatus(input, model, \"literal\", null, null);\r\n }\r\n else {\r\n self.ResetField(input);\r\n }\r\n }\r\n else\r\n {\r\n // both curval and fieldVal are set, but !=\r\n self.ResetField(input);\r\n }\r\n break;\r\n case 4:\r\n // curval = fieldVal because neither are set\r\n case 7:\r\n // curval = fieldVal, both are set\r\n // VRS-5670 Tom Barlock 1/29/2024 - commented out if statement\r\n //if (curVal == origVal) {\r\n // model.HasChange = false;\r\n // model.HasChangeOvrd = false;\r\n //}\r\n break;\r\n default:\r\n //nonsense conditions, throw some exception to handle it, or ignore\r\n }\r\n\r\n if (!model) {\r\n return;\r\n }\r\n\r\n var id = input.id;\r\n var name = $(input).attr(\"data-field-name\");\r\n if (name) {\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + name + \"']\");\r\n var inputs = self.GetInputFields(name);\r\n\r\n if (inputs.length > 0) {\r\n $.each(inputs, function (i, field) {\r\n var format = $(field).data(\"casing\") != \"ignore\";\r\n var value = self.GetInputValue(input, format);\r\n self.SetFieldValue(field, value, false, true);\r\n });\r\n }\r\n }\r\n\r\n // if form is initializing or field value has changed.\r\n if (self.State <= 0 || curVal != model.PreviousValue) {\r\n self.DoRelatedFields(input);\r\n }\r\n }; //DoFieldValueChanged\r\n function performLookup(\r\n fieldId,\r\n value,\r\n filter,\r\n valfiltertype,\r\n voidVal,\r\n webfiltertype,\r\n eventYear,\r\n responseFunction\r\n ) {\r\n var model = $(\"#f\" + fieldId).data(\"field\");\r\n if (VR.Edit.State <= 0) return;\r\n let lookupType = null;\r\n if (model && typeof (model.LookupType) === \"string\") {\r\n lookupType = model.LookupType;\r\n }\r\n var url = \"data/lookup\";\r\n var request = {\r\n FieldId: fieldId,\r\n Value: ((value || \"\") + \"\").replace(/\\|\\|/g, \"\").replace(/\\|$/, \"\"),\r\n Filter: ((filter || \"\") + \"\").replace(/\\|\\|/g, \"\").replace(/\\|$/, \"\"),\r\n ValFilterType: ((valfiltertype || \"\") + \"\")\r\n .replace(/\\|\\|/g, \"\")\r\n .replace(/\\|$/, \"\"),\r\n VoidValue: ((voidVal || \"\") + \"\").replace(/\\|\\|/g, \"\").replace(/\\|$/, \"\"),\r\n WebFilterType: ((webfiltertype || \"\") + \"\")\r\n .replace(/\\|\\|/g, \"\")\r\n .replace(/\\|$/, \"\"),\r\n EventYear: VR.Edit.EventYear,\r\n LookupType: lookupType\r\n };\r\n request.Value = request.Value.trim();\r\n\r\n VR.Common.SecurePost(\r\n url,\r\n { lookup: request },\r\n function (e) {\r\n responseFunction(e);\r\n },\r\n false\r\n );\r\n }\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs filter field change.\r\n /// \r\n /// The input field.\r\n /// The filter value.\r\n /// */\r\n self.DoFilterField = function (input, value) {\r\n var model = $(input).data(\"field\");\r\n if (!model || model.FieldType != \"ComboBox\") {\r\n return;\r\n }\r\n\r\n if (!model.FilterValue || model.FilterValue != value) {\r\n model.FilterValue = value;\r\n var filterValues = self.GetFilterValues(model);\r\n filterValues = filterValues;\r\n var voidVal = \"\";\r\n if (model && model.VoidField) {\r\n voidVal = self.GetFieldValue(model.VoidField);\r\n }\r\n voidVal = voidVal;\r\n var url = VR.Common.GetRootURL(\"event/edit\");\r\n var field = model;\r\n\r\n var valfiltertype = \"\";\r\n if (model && model.ValFilterType) {\r\n valfiltertype = model.ValFilterType;\r\n }\r\n valfiltertype = encodeURIComponent(valfiltertype);\r\n var webfiltertype = \"\";\r\n if (model && model.WebFilterType) {\r\n webfiltertype = model.WebFilterType;\r\n }\r\n webfiltertype = encodeURIComponent(webfiltertype);\r\n\r\n //var webfiltertype = model.WebFilterType;\r\n //var valfiltertype = model.ValFilterType;\r\n performLookup(\r\n model.FieldId,\r\n \"\",\r\n filterValues,\r\n valfiltertype,\r\n voidVal,\r\n webfiltertype,\r\n self.EventYear,\r\n function (result) {\r\n var data = [];\r\n var index = -1;\r\n var value = self.GetFieldValue(model.FieldId);\r\n var comboBox = $(input).data(\"kendoComboBox\");\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Lookup\", true);\r\n }\r\n else if (result.DropdownOptions) {\r\n for (let i = 0; i < result.DropdownOptions.length; i++) {\r\n let option = result.DropdownOptions[i];\r\n let curValue = option.ValueInt === null ? option.ValueString : option.ValueInt;\r\n if (value == curValue) {\r\n index = i;\r\n }\r\n data.push({ text: option.Label, value: curValue });\r\n }\r\n if (comboBox) {\r\n comboBox.dataSource.data(data);\r\n comboBox.refresh();\r\n if (index > -1) {\r\n comboBox.select(index);\r\n }\r\n }\r\n }\r\n else if (result.List) {\r\n for (var i = 0; i < result.List.length; i++) {\r\n var val = result.List[i];\r\n if (value == val) {\r\n index = i;\r\n }\r\n data.push({ text: val, value: val });\r\n }\r\n\r\n if (data.length == 0) {\r\n //data.push({ text: \"\", value: \"\" });\r\n }\r\n if (comboBox) {\r\n comboBox.dataSource.data(data);\r\n comboBox.refresh();\r\n if (index > -1) {\r\n comboBox.select(index);\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }; //DoFilterField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs filter field changes.\r\n /// \r\n /// The input field.\r\n /// */\r\n self.DoFilterFields = function (input) {\r\n var model = $(input).data(\"field\");\r\n if (model && model.FilterDependents && model.FilterDependents.length > 0) {\r\n var value = self.GetInputValue(input);\r\n $.each(model.FilterDependents, function (index, id) {\r\n var field = $(\"#f\" + id);\r\n self.DoFilterField(field, value);\r\n });\r\n }\r\n }; //DoFilterFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs related field functions.\r\n /// \r\n /// The input field.\r\n /// */\r\n self.DoRelatedFields = function (input) {\r\n var model = $(input).data(\"field\");\r\n if (!model) {\r\n return;\r\n }\r\n\r\n if (!model.RelatedFields || model.RelatedFields.length == 0) {\r\n self.DoSkipFields(input);\r\n return;\r\n }\r\n\r\n var key = null;\r\n switch (model.FieldType) {\r\n case \"AutoComplete\":\r\n var autocomplete = $(input).data(\"kendoAutoComplete\");\r\n if (autocomplete != null) {\r\n var val = autocomplete.value();\r\n var list = autocomplete.dataSource.data();\r\n var index = -1;\r\n if (list && list.length > 0) {\r\n $.each(list, function (i, data) {\r\n if (data != null && data.text == val) {\r\n if (data.key != null) {\r\n key = data.key;\r\n }\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n break;\r\n case \"ComboBox\":\r\n var combobox = $(input).data(\"kendoComboBox\");\r\n if (combobox != null) {\r\n var dataItem = combobox.dataItem();\r\n if (dataItem != null && dataItem.key != null) {\r\n key = dataItem.key;\r\n \r\n }\r\n }\r\n break;\r\n }\r\n\r\n var value = $(input).val();\r\n if (!value) {\r\n value = \"\";\r\n }\r\n if (value != \"\" && !nx.IsInList(model.FieldId)) {\r\n value = \"OTHER\";\r\n }\r\n var request = {\r\n RelatedFields: model.RelatedFields,\r\n Value: value,\r\n FieldId: model.FieldId\r\n };\r\n\r\n if (key != null) {\r\n request.Key = key;\r\n }\r\n if (model && model.VoidField) {\r\n var voidVal = self.GetFieldValue(model.VoidField);\r\n request.VoidValue = voidVal;\r\n }\r\n\r\n request.Filter = self.GetFilterValues(model);\r\n\r\n var url = VR.Common.GetRootURL(\"/event/edit\") + \"data/related\";\r\n VR.Common.SecurePost(\r\n url,\r\n { request: request },\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Related\", true);\r\n return;\r\n }\r\n model.HasRelatedValue =\r\n result.Code == 0 && result.Data && result.Data.length > 0;\r\n self.DoSkipFields(input);\r\n $.each(model.RelatedFields, function (index, id) {\r\n var data = null;\r\n if (model.HasRelatedValue) {\r\n for (var i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].FieldId == id) {\r\n data = result.Data[i];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n var related = $(\"#f\" + id);\r\n var relatedModel = related.data(\"field\");\r\n if (model.HasRelatedValue) {\r\n if (data != null) {\r\n var value = VR.Common.ToFormattedValue(data.FieldValue);\r\n self.SetFieldValue(related, value, true, true);\r\n }\r\n }\r\n\r\n setTimeout(function (e) {\r\n if (id != model.FieldId) {\r\n self.DoRelatedFields(related);\r\n self.DoSkipFields(related);\r\n if (\r\n relatedModel &&\r\n relatedModel.FilterDependents &&\r\n relatedModel.FilterDependents.length > 0\r\n )\r\n self.DoFilterFields(related);\r\n }\r\n }, 10);\r\n });\r\n },\r\n false,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }; //DoRelatedFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Executes OnDisplay script.\r\n /// \r\n /// */\r\n self.ExecuteOnDisplay = function () {\r\n //var prevState = self.State;\r\n if (VR.Edit.EventId > 0) {\r\n for (var field in VR.Edit.Fields) {\r\n if (VR.Edit.Fields[field].ShouldRunEdits) {\r\n for (var edit in VR.Edit.Fields[field].Edits) {\r\n if (\r\n VR.Edit.Fields[field].Edits[edit].EditType == \"alert\" &&\r\n (VR.Edit.Fields[field].FieldStatus == \"alerttrigger\" ||\r\n !VR.Edit.Fields[field].FieldStatus)\r\n ) {\r\n var f = $(\"#f\" + VR.Edit.Fields[field].FieldId);\r\n var model = f.data(\"field\");\r\n\r\n VR.Script.Validate(f, model, edit);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n var script = self.OnDisplay;\r\n if (!script || script == \"\") {\r\n return;\r\n }\r\n var message = VR.Script.ExecuteScript(\r\n {},\r\n {},\r\n { EditNumber: 0, Script: script, Kind: \"ondisplay\" }\r\n );\r\n if (message !== null && message !== \"\") {\r\n VR.Common.ShowError(message);\r\n }\r\n\r\n self.State = 1;\r\n }; //ExecuteOnDisplay\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Executes OnSave script.\r\n /// \r\n /// */\r\n self.ExecuteOnSave = function () {\r\n VR.Common.QueueManager.DequeueAll();\r\n var script = self.OnSave;\r\n if (!script || script == \"\") {\r\n return;\r\n }\r\n\r\n var edit = { EditNumber: 0, Script: script, Kind: \"onsave\" };\r\n VR.Script.ExecuteScript({}, {}, edit);\r\n return edit;\r\n }; //ExecuteOnSave\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs skip field logic.\r\n /// \r\n /// The input field.\r\n /// The value to inidcate if this is an initilization.\r\n /// */\r\n self.DoSkipFields = function (input, isInit) {\r\n //if ($(input).hasClass(\"readonly-text\")) {\r\n // return;\r\n //}\r\n\r\n var model = $(input).data(\"field\");\r\n if (!model || !model.DependentFields || model.DependentFields.length == 0) {\r\n return;\r\n }\r\n\r\n $.each(model.DependentFields, function (index, dependentId) {\r\n var dependentfield = $(\"#f\" + dependentId);\r\n var data = $(dependentfield).data(\"field\");\r\n //if ((isInit && dependentfield.hasClass(\"readonly-text\")) || !data || data.IsEnabled == false || data.IsDisplayOnly == true) {\r\n // return;\r\n //}\r\n if (!data || data.IsEditable == false || data.IsDisplayOnly == true) {\r\n return;\r\n }\r\n\r\n $.each(data.SkipFields, function (i, skipField) {\r\n var field = $(\"#f\" + skipField.FieldId);\r\n var value = self.GetInputValue(field).toUpperCase();\r\n if (value == null) {\r\n value = \"\";\r\n }\r\n var skipvalues = skipField.SkipValues || [];\r\n var isSkip = false;\r\n for (var i = 0; i < skipvalues.length; i++) {\r\n var skipval = skipvalues[i];\r\n if (skipval) {\r\n switch (skipval.Value.toUpperCase()) {\r\n case \"NOT=BLANK\":\r\n if (model.FieldType == \"CheckBox\") {\r\n isSkip = $(field).prop(\"checked\");\r\n } else {\r\n isSkip = value != \"\";\r\n }\r\n break;\r\n case \"NOT=OTHER\":\r\n isSkip = value != \"OTHER\";\r\n isSkip = VR.Script.IsInList(skipField.FieldId);\r\n break;\r\n case \"NOT=\":\r\n if (!skipval.SkipValues) {\r\n isSkip = value != \"\";\r\n } else {\r\n isSkip = true;\r\n $.each(skipval.SkipValues, function (ind, val) {\r\n if (val.toUpperCase() == value) {\r\n isSkip = false;\r\n }\r\n if (!isSkip) {\r\n return false;\r\n }\r\n });\r\n }\r\n break;\r\n case \"BLANK\":\r\n if (model.FieldType == \"CheckBox\") {\r\n isSkip = !$(field).prop(\"checked\");\r\n } else {\r\n isSkip = value == \"\";\r\n }\r\n break;\r\n default:\r\n isSkip = skipval.Value.toUpperCase() == value;\r\n break;\r\n }\r\n }\r\n\r\n if (isSkip) {\r\n break;\r\n }\r\n }\r\n self.SetReadOnly(dependentfield, isSkip);\r\n //Setting ParamBypassed propery on each dependent field so we can use IsfieldSkipped function to write edits.\r\n // These are set in Event Screen Designer > Attributes > Skip Fields On\r\n data.ParamBypassed = !!isSkip;\r\n if (isSkip) {\r\n return false;\r\n }\r\n });\r\n });\r\n }; //DoSkipFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Keydown event handler for fields\r\n /// \r\n /// The event handler argument.\r\n /// */\r\n self.FieldKeyDown = function (e) {\r\n if (e.ctrlKey || e.altKey || e.metaKey) {\r\n return;\r\n }\r\n\r\n console.log(\r\n \"e.key=\" + e.key + \",e.which=\" + e.which + \",e.ctrlKey=\" + e.ctrlKey\r\n );\r\n\r\n switch (e.which) {\r\n // helps make the next focused item be a field in our form\r\n case 9:\r\n var model = $(e.target).data(\"field\");\r\n if (!model) {\r\n var parent = $(e.target).parents(\".edit-field\");\r\n if (parent.length < 1) {\r\n if ($(e.target).hasClass(\"grid-button\")) {\r\n if (e.shiftKey) {\r\n if ($(e.target).prev(\"button\").hasClass(\"grid-button\")) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(e.target).prev().focus();\r\n return;\r\n } \r\n }\r\n else {\r\n if ($(e.target).next(\"button\").hasClass(\"grid-button\")) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(e.target).next().focus();\r\n return;\r\n } \r\n } \r\n }\r\n else\r\n parent = $(e.target).parents(\".edit-group\"); //For grid buttons.\r\n }\r\n var inputs = parent.find(\".input-field\");\r\n $.each(inputs, function (index, input) {\r\n var id = $(input).attr(\"id\");\r\n if (id) {\r\n var index = id.indexOf(\"f\");\r\n if (index == 0) {\r\n model = $(input).data(\"field\");\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (!model) {\r\n if (e.target === $('#validation-panel').find('.MuiCard-root').last().find('button:not(.Mui-disabled)').last().get(0)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $('#save-button').focus();\r\n }\r\n else\r\n return;\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (model.FieldType != \"Button\") {\r\n self.DoFieldValueChanged(\"#f\" + model.FieldId);\r\n if (model.FieldType == \"Signature\") {\r\n self.ValidateField(\"#f\" + model.FieldId);\r\n }\r\n }\r\n var input = $(\"#f\" + model.FieldId);\r\n self.DoSkipFields(input);\r\n \r\n self.FocusNextField(model, e.shiftKey);\r\n\r\n if (model.FieldType === \"ComboBox\") {\r\n var errorFields = self.ErrorFields;\r\n var errorExists = false;\r\n for (var i = 0; i < errorFields.length && !errorExists; i++) {\r\n if (errorFields[i].FieldId === model.FieldId) {\r\n errorExists = true;\r\n }\r\n }\r\n if (!errorExists) {\r\n var valid = self.CheckIsComboBoxValueAllowed(input);\r\n if (!valid) {\r\n self.ErrorPanel.setError({\r\n field: input,\r\n model: model,\r\n message: \"Entry doesn't exist. Please select a value from the list.\",\r\n location: null,\r\n isHardEdit: model.isHardEdit,\r\n errorType: \"validation\"\r\n });\r\n self.TakeActionOnField(\"skipped\", \"Entry doesn't exist. Please select a value from the list.\", null, input, model);\r\n self.AddErrorField(model);\r\n }\r\n }\r\n }\r\n break;\r\n case 192:\r\n VR.Script.ReplaceDiacricals(e);\r\n break;\r\n case 46:\r\n var fields = $(e.target);\r\n if (fields.length > 0) {\r\n if (\r\n fields.attr(\"readonly\") === \"readonly\" ||\r\n fields.attr(\"disabled\") === \"disabled\"\r\n ) {\r\n break;\r\n }\r\n }\r\n break;\r\n case 113: //F2\r\n self.ShowPopupMenu(e);\r\n break;\r\n case 13: //enter\r\n if (nx && nx.Model && nx.Model.FieldId > 0) {\r\n var input = $(\"#f\" + nx.Model.FieldId);\r\n var model = input.data(\"field\");\r\n if (model && model.FieldType != \"MemoEdit\" && e.keyCode == 13) {\r\n e.preventDefault();\r\n } else if (model.FieldType == \"ComboBox\") {\r\n var dropdownlist = input.data(\"kendoComboBox\");\r\n var dataSet =\r\n model.DropDownList ||\r\n $.map(dropdownlist.dataSource.data(), function (data) {\r\n return data.text;\r\n });\r\n\r\n for (var i = 0; i < dataSet.length; i++) {\r\n if (\r\n dataSet[i]\r\n .toLowerCase()\r\n .indexOf(e.sender.element.val().toLowerCase()) == 0\r\n ) {\r\n VR.Script.MoveLit(dataSet[i], model.FieldName);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n }; //FieldKeyDown\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Keyup event handler for fields.\r\n /// \r\n /// The event handler argument.\r\n /// */\r\n self.FieldKeyUp = function (e) {\r\n var input = $(e.target);\r\nvar model = input.data(\"field\");\r\n if (!model) {\r\n var parent = input.parents(\".edit-field\");\r\n if (parent.length < 1) {\r\n parent = input.parents(\".edit-group\"); //For grid buttons.\r\n }\r\n var inputs = parent.find(\".input-field\");\r\n $.each(inputs, function (index, input2) {\r\n var id = $(input2).attr(\"id\");\r\n if (id) {\r\n var index = id.indexOf(\"f\");\r\n if (index == 0) {\r\n input = $(input2);\r\n model = input.data(\"field\");\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (!model) {\r\n return;\r\n }\r\n\r\n if (e.which < 32 || e.which > 126 || e.altKey || e.ctrlKey || e.metaKey) {\r\n return;\r\n }\r\n\r\n if (!model.MaxLength) {\r\n return;\r\n }\r\n\r\n var value = self.GetFieldRawValue(model.FieldId);\r\n //var value = self.GetFieldValue(model.FieldId);\r\n if (\r\n value != null &&\r\n value.toString().length >= model.MaxLength &&\r\n model.FieldType != \"ComboBox\"\r\n ) {\r\n e.preventDefault();\r\n if (e.target.value != $(\"#f\" + model.FieldId).val()) {\r\n $(\"#f\" + model.FieldId).val(e.target.value);\r\n }\r\n if (SkipOnEndField) {\r\n var input = $(\"#f\" + model.FieldId);\r\n self.DoSkipFields(input);\r\n self.FocusNextField(model, e.shiftKey && e.which == 8); //make sure the previous test is using tab too!\r\n }\r\n }\r\n }; //FieldKeyUp\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets focus on the first field.\r\n /// \r\n /// */\r\n //self.FocusFirstField = function () {\r\n // var model = self.FirstField;\r\n // if (!model && self.Fields && self.Fields.length > 0) {\r\n // $.each(self.Fields, function (index, model) {\r\n // if (model.FieldType != \"Hidden\" && model.FieldType != \"Label\" && model.FieldType != \"Image\") {\r\n // self.FirstField = model;\r\n // return false;\r\n // }\r\n // });\r\n // }\r\n\r\n // if (!model) {\r\n // return;\r\n // }\r\n\r\n // var input = $(\"#f\" + model.FieldId);\r\n // if (!input || input.length < 1) {\r\n // return;\r\n // }\r\n\r\n // var gadget = null;\r\n // switch (model.FieldType) {\r\n // case \"AutoComplete\": gadget = $(input).data(\"kendoAutoComplete\"); break;\r\n // case \"ComboBox\": gadget = $(input).data(\"kendoComboBox\"); break;\r\n // case \"MultiSelect\": gadget = $(input).data(\"kendoMultiSelect\"); break;\r\n // case \"NumericTextBox\": gadget = $(input).data(\"kendoNumericTextBox\"); break;\r\n // case \"RadioButton\": gadget = $(input).find(\"input:first\"); break;\r\n // }\r\n\r\n // if (gadget) {\r\n // gadget.focus();\r\n // } else {\r\n // $(input).focus();\r\n // }\r\n\r\n // VR.Image.TypeFromImage.Model = model;\r\n //}; //FocusFirstField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets focus on the next field.\r\n /// \r\n /// The field model.\r\n /// The value to indicate if focusing on the previous field.\r\n /// */\r\n self.FocusNextField = function (model, isPrev) {\r\n if (!model) {\r\n return;\r\n }\r\n var count = self.Fields.length;\r\n var input = $(\"#f\" + model.FieldId);\r\n var next = model;\r\n while (count) {\r\n if (isPrev) {\r\n next = next.Prev;\r\n } else {\r\n next = next.Next;\r\n }\r\n\r\n if (!next) {\r\n if ($('#validation-panel').is(\":visible\")) {\r\n $('#validation-panel').find('.MuiCard-root').first().find('button').first().get(0).focus();\r\n return;\r\n }\r\n else {\r\n $('#save-button').focus();\r\n return;\r\n }\r\n }\r\n\r\n if (\r\n next.FieldType != \"Hidden\" &&\r\n next.FieldType != \"Label\" &&\r\n next.FieldType != \"Image\" &&\r\n next.FieldType != \"Grid\"\r\n ) {\r\n input = $(\"#f\" + next.FieldId);\r\n if (\r\n !input.hasClass(\"readonly-text\") &&\r\n input.attr(\"aria-disabled\") != \"true\" &&\r\n input.is(\":not(:disabled)\") &&\r\n !input.attr(\"readonly\")\r\n ) {\r\n model = next;\r\n break;\r\n }\r\n }\r\n else if (next.FieldType === \"Grid\") {\r\n input = $(\"#p\" + next.FieldId);\r\n if (\r\n !input.hasClass(\"readonly-text\") &&\r\n input.attr(\"aria-disabled\") != \"true\" &&\r\n input.is(\":not(:disabled)\") &&\r\n !input.attr(\"readonly\")\r\n ) {\r\n input.find(\"input\").focus();\r\n return;\r\n }\r\n }\r\n count--;\r\n }\r\n\r\n if (!model || !input || input.length < 1) {\r\n return;\r\n }\r\n\r\n VR.Script.FocusField({ input: input[0], model: model }, false);\r\n }; //FocusNextField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets field value forciblly.\r\n /// \r\n /// The input field.\r\n /// The field value.\r\n /// The value to indicate if the change is applied to all fields with the same field name.\r\n /// */\r\n self.ForceSetFieldValue = function (input, value, applyall) {\r\n var field = $(input).data(\"field\");\r\n if (field) {\r\n self.SetFieldValue(input, value, applyall);\r\n }\r\n }; //ForceSetFieldValue\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Show image editor.\r\n /// \r\n /// The source image editor.\r\n /// */\r\n self.EditImage = function (editor) {\r\n var modal = $(\"#imageeditor-modal\");\r\n $(\"#imageeditor-extension\")\r\n .css(\"display\", \"\")\r\n .parent()\r\n .css(\"display\", \"\");\r\n $(\"#imageeditor-filetype\").css(\"display\", \"none\");\r\n var headers = modal.find(\".imageeditor-headers\");\r\n headers.css(\"display\", \"none\");\r\n var size = self.SetImageEditorSize(modal);\r\n $(\"#imageedit-canvassection, #imageedit-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n var id = editor.attr(\"id\");\r\n var image = editor.find(\".edit-image\");\r\n var source = image.attr(\"src\");\r\n $(\"#imageedit-filesource\").css(\"display\", \"none\");\r\n $(\"#imageedit-buttons\").css(\"display\", \"\");\r\n $(\"#imageedit-slidebars\").css(\"display\", \"\");\r\n $(\"#imageedit-annotationsection\").css(\"display\", \"\");\r\n $(\"#imageedit-editsection\").css(\"display\", \"\");\r\n $(\"#imageedit-acceptbutton\").css(\"display\", \"\");\r\n $(\"#imageedit-savetodatabse, #imageedit-savetofile\").css(\"display\", \"none\");\r\n var imagedit = $(\"#imageedit-editor\");\r\n imagedit.css(\"display\", \"\");\r\n imagedit.attr(\"src\", source);\r\n imagedit.attr(\"data-editor\", id);\r\n imagedit.cropper(\"destroy\");\r\n imagedit.cropper({\r\n minCanvasWidth: size.width,\r\n minCanvasHeight: size.height,\r\n minContainerHeight: size.height,\r\n minContainerWidth: size.width,\r\n zoomOnWheel: false\r\n });\r\n $(\"#imageedit-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#imageedit-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#imageedit-dragbutton\").addClass(\"active\");\r\n $(\"#imageedit-cropbutton\").removeClass(\"active\");\r\n $(\"#imageeditor-title\").html(\"Image Editor\");\r\n VR.Image.SlideBars.Setup();\r\n\r\n modal.attr(\"data-fileload\", \"\");\r\n modal.modal(\"show\");\r\n }; //EditImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Show Tiff Image editor.\r\n /// \r\n /// The source image editor.\r\n /// */\r\n self.EditTiffImage = function (editor) {\r\n var modal = $(\"#tiffeditor-modal\");\r\n var modalsize = self.SetImageEditorSize(modal);\r\n var headers = modal.find(\".imageeditor-headers\");\r\n headers.css(\"display\", \"none\");\r\n $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n $(\"#tiffeditor-buttons\").css(\"display\", \"\");\r\n $(\"#tiffeditor-editsection\").css(\"display\", \"\");\r\n $(\"#tiffeditor-acceptbutton\").css(\"display\", \"\");\r\n $(\"#tiffeditor-savetodatabse, #tiffeditor-savetofile\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n\r\n var editorid = editor.attr(\"id\");\r\n var images = editor.find(\"img\");\r\n var size = images.length;\r\n\r\n var canvases = $(\"#tiffeditor-canvassection\");\r\n //canvases.css(\"display\", \"none\");\r\n var section = $(\"#tiffeditor-editsection\");\r\n section.attr(\"data-image-size\", size);\r\n section.attr(\"data-page-number\", 0);\r\n section.attr(\"data-editor\", editorid);\r\n $(\"#tiffeditor-pagenumber\").html(\"Page 1 of \" + size);\r\n\r\n var html = \"\";\r\n $.each(images, function (index, image) {\r\n var source = $(image).attr(\"src\");\r\n var style = \" display : none;\";\r\n if (index == 0) {\r\n style = \"\";\r\n }\r\n html +=\r\n \"
\" +\r\n \"
\";\r\n });\r\n section.html(html);\r\n section.css(\"display\", \"\");\r\n for (var i = 0; i < size; i++) {\r\n var imageedit = $(\"#tiffeditor-page\" + (i + 1));\r\n imageedit.cropper({\r\n minCanvasWidth: modalsize.width,\r\n minCanvasHeight: modalsize.height,\r\n minContainerHeight: modalsize.height,\r\n minContainerWidth: modalsize.width,\r\n crop: function (e) { }\r\n });\r\n\r\n if (i == 0) {\r\n $(\"#tiffeditor-pagesection\" + (i + 1)).css(\"display\", \"\");\r\n var cropper = modal.find(\".cropper-container\");\r\n if (cropper.length > 0) {\r\n self.TiffModalHeight = cropper.css(\"height\");\r\n }\r\n }\r\n }\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-dragbutton\").addClass(\"active\");\r\n $(\"#tiffeditor-cropbutton\").removeClass(\"active\");\r\n\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n html +=\r\n \"
\";\r\n }\r\n canvases.html(html);\r\n\r\n var annote = $(\"#tiffeditor-annotationsection\");\r\n var annotes = annote.data(\"canvas\");\r\n if (annotes) {\r\n $.each(annotes, function (index, canvas) {\r\n canvas.dispose();\r\n $(canvas.wrapperEl).remove();\r\n });\r\n }\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n var style = \"style='display:none;'\";\r\n if (i == 0) {\r\n style = \"\";\r\n }\r\n html +=\r\n \"\";\r\n }\r\n annote.html(html);\r\n annote = $(\"#tiffeditor-canvasannote\");\r\n annotes = annote.data(\"canvas\");\r\n if (annotes) {\r\n $.each(annotes, function (index, canvas) {\r\n canvas.dispose();\r\n $(canvas.wrapperEl).remove();\r\n });\r\n }\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n var style = \"style='display:none;'\";\r\n var id = \"tiffeditor-canvasannote\" + (i + 1);\r\n html +=\r\n \"
\";\r\n }\r\n annote.html(html);\r\n VR.Image.SlideBars.SetupTiff();\r\n modal.attr(\"data-fileload\", \"\");\r\n modal.modal(\"show\");\r\n }; //EditTiffImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the application value.\r\n /// \r\n /// The application value name.\r\n /// The current input.\r\n /// The application value.*/\r\n self.GetApplicationValue = function (name, input) {\r\n var returnValue = null;\r\n\r\n //Somewhere/sometime the code was changed from always requiring a string ('f12345' or 'FIELD_NAME') to allowing\r\n //the field ID as an integer (12345 or 'FIELD_NAME'). The indexOf below returns an error on the ID so we'll\r\n //get the field name here and use it for this function.\r\n if (typeof name == \"number\") {\r\n var model = $(input).data(\"field\");\r\n name = model.FieldName;\r\n }\r\n\r\n if (!name) {\r\n return returnValue;\r\n }\r\n\r\n if (name.indexOf(\"CURRENT_\") == 0) {\r\n name = name.substring(\"CURRENT_\".length);\r\n }\r\n if (name.indexOf(\"@\") == 0) {\r\n name = name.substring(\"@\".length);\r\n }\r\n\r\n switch (name) {\r\n case \"DATE\":\r\n case \"TODAY\":\r\n var date = new Date();\r\n returnValue = new Date(\r\n date.getFullYear(),\r\n date.getMonth(),\r\n date.getDate()\r\n );\r\n break;\r\n case \"NOW\":\r\n returnValue = new Date();\r\n break;\r\n case \"CURRENTSFN\":\r\n returnValue = self.GetFieldValue(\"STATE_FILE_NUMBER\");\r\n break;\r\n case \"DOCPRINTER\":\r\n returnValue = self.DocPrinter;\r\n break;\r\n case \"DOCUMENT\":\r\n returnValue = self.Document;\r\n break;\r\n case \"DOCRBVALUE\":\r\n returnValue = self.DocParameter;\r\n break;\r\n case \"DOCTRACKID\":\r\n returnValue = self.DocTrackId;\r\n break;\r\n case \"DOCUMENTID\":\r\n returnValue = self.DocumentId;\r\n break;\r\n case \"NUMCOPIES\":\r\n returnValue = self.NumCopies;\r\n break;\r\n case \"FAXRECVID\":\r\n returnValue = 0;\r\n break;\r\n case \"FAXREQID\":\r\n returnValue = self.FaxReqId;\r\n break;\r\n case \"FAXSIGCODE\":\r\n returnValue = self.FaxSigCode;\r\n break;\r\n case \"FAXVERSION\":\r\n returnValue = self.FaxVersion;\r\n break;\r\n case \"FIRSTDOCNUM\":\r\n returnValue = self.FirstDocNum;\r\n break;\r\n case \"FORMSTATE\":\r\n returnValue = self.State;\r\n break;\r\n case \"LASTDOCNUM\":\r\n returnValue = self.LastDocNum;\r\n break;\r\n case \"EVENTID\":\r\n returnValue = self.EventId;\r\n break;\r\n case \"EVENTNAME\":\r\n returnValue = self.EventName;\r\n break;\r\n case \"GUIROLE\":\r\n returnValue = self.GuiRole;\r\n break;\r\n case \"PRINT_BLANK\":\r\n returnValue = false;\r\n break;\r\n default:\r\n if (self.ApplicationValues == null) {\r\n var url = VR.Common.GetRootURL() + \"data/appvalue\";\r\n VR.Common.Ajax({\r\n type: \"POST\",\r\n url: url,\r\n data: null,\r\n success: function (response) {\r\n //var json = VR.Common.DecryptData(response.Json);\r\n var result = $.parseJSON(response.Json);\r\n\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(\r\n result,\r\n \"Application Value\",\r\n true\r\n );\r\n } else {\r\n self.ApplicationValues = result.Values;\r\n }\r\n },\r\n dataType: \"json\",\r\n async: false\r\n });\r\n }\r\n\r\n returnValue = self.ApplicationValues[name];\r\n if (typeof returnValue === \"undefined\") {\r\n returnValue = null;\r\n }\r\n break;\r\n }\r\n\r\n if (returnValue == null) {\r\n returnValue = \"\";\r\n }\r\n\r\n return returnValue;\r\n }; //GetApplicationValue\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets changed fields.\r\n /// \r\n /// The fieldId/string value pair of all changed fields.*/\r\n self.GetChangedFields = function () {\r\n var data = \"\";\r\n $.each(self.Fields, function (index, model) {\r\n if (model.HasChange) {\r\n data += model.FieldId + \"|\";\r\n }\r\n });\r\n\r\n return data;\r\n }; //GetChangedFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the current tiff editor.\r\n /// \r\n /// The current tiff editor.*/\r\n self.GetCurrentTiffEditor = function () {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var page = parseInt(section.attr(\"data-page-number\"));\r\n if (isNaN(page) || page < 0) {\r\n page = 0;\r\n }\r\n\r\n var tiffpage = $(\"#tiffeditor-page\" + (page + 1));\r\n return tiffpage;\r\n }; //GetCurrentTiffEditor\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the current tiff editor page.\r\n /// \r\n /// The current tiff editor page.*/\r\n self.GetCurrentTiffEditorPage = function () {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var page = section.attr(\"data-page-number\");\r\n page = parseInt(page);\r\n if (isNaN(page) || page < 0) {\r\n page = 0;\r\n }\r\n\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (page + 1));\r\n return tiffpage;\r\n }; //GetCurrentTiffEditorPage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the event year.\r\n /// \r\n /// The event year.*/\r\n self.GetEventYear = function () {\r\n var returnValue = self.GetFieldValue(\"EVENT_YEAR\", true);\r\n return returnValue;\r\n }; //GetEventYear\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field values of all fields.\r\n /// \r\n /// The fieldId/string value pair of all field values.*/\r\n self.GetFieldData = function () {\r\n var data = \"\";\r\n\r\n $.each(self.Fields, function (indx, model) {\r\n var value = self.GetFieldValue(model.FieldId);\r\n if (model.FieldType == \"MaskedTextBox\") {\r\n if (!!model.Mask) {\r\n value = VR.Edit.GetFieldRawValue(model.FieldId);\r\n } else {\r\n value = model.OriginalValue;\r\n }\r\n } else if (model.FieldDataType == \"date\") {\r\n value = VR.Common.ToDateString(value);\r\n value = value.replace(/([8]{2}|[9]{2})\\//g, \"01/\");\r\n //value = value.replace(/[9]{4}/g, '0001');\r\n }\r\n data += model.FieldId + \"=\" + value + \"|\";\r\n });\r\n\r\n return data;\r\n }; //GetFieldData\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets Shipping tab data\r\n /// \r\n /// The fieldId/string value pair of all field values.*/\r\n self.GetShippingTabData = function () {\r\n var data = \"\";\r\n\r\n $.each(self.Fields, function (indx, model) {\r\n if (model.Tab == \"Shipping\" && model.FieldType !== \"Button\" && model.FieldName !== \"Label Layout\" && model.FieldName !== \"carrier_name_id\"\r\n && model.FieldName !== \"Estimated Cost\" && model.FieldName !== \"SHIPPING_LABEL_TRACKING_NUMBER\") {\r\n var value = self.GetFieldValue(model.FieldId);\r\n if (model.FieldType == \"MaskedTextBox\") {\r\n if (!!model.Mask) {\r\n value = VR.Edit.GetFieldRawValue(model.FieldId);\r\n } else {\r\n value = model.OriginalValue;\r\n }\r\n }\r\n data += model.FieldName + \"=\" + value + \"|\";\r\n }\r\n });\r\n return data;\r\n };\r\n\r\n self.GetShipCarrierAndTrackingNumber = function () {\r\n var data = \"\";\r\n\r\n $.each(self.Fields, function (indx, model) {\r\n if (model.Tab == \"Shipping\" && (model.FieldName == \"Carrier_Name\" || model.FieldName == \"SHIPPING_LABEL_TRACKING_NUMBER\")) {\r\n var value = self.GetFieldValue(model.FieldId);\r\n data += model.FieldName + \"=\" + value + \"|\";\r\n }\r\n });\r\n return data.slice(0, -1);\r\n };\r\n\r\n\r\n //GetFieldData\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field errors.\r\n /// \r\n /// The fieldId/string value pair of all field errors.*/\r\n self.GetFieldErrors = function () {\r\n var data = \"\";\r\n $.each(self.Fields, function (index, model) {\r\n if (model.ErrorMessage && model.ErrorMessage != \"\") {\r\n data += model.FieldId + \"=\" + model.ErrorMessage + \"|\";\r\n }\r\n });\r\n\r\n return data;\r\n }; //GetFieldErrors\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field error count.\r\n /// \r\n /// The query location (if applicable).\r\n /// The integer field error count.*/\r\n self.GetFieldErrorCount = function (qloc) {\r\n var errorFields;\r\n if (!!qloc) {\r\n errorFields = self.ErrorFields.filter(ele => ele.QueryLocation == qloc);\r\n } else {\r\n errorFields = self.ErrorFields;\r\n }\r\n return errorFields.length;\r\n }; // GetFieldErrorCount\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field model.\r\n /// \r\n /// The field Id or field name.\r\n /// The field model object.*/\r\n self.GetFieldModel = function (field) {\r\n var value = null;\r\n var prefix = null;\r\n if (field && field.toString().length > 0) {\r\n prefix = field.substring(0, 1);\r\n }\r\n\r\n if (prefix == \"f\" || prefix == \"p\" || prefix == \"g\") {\r\n field = field.substring(1);\r\n }\r\n\r\n var id = parseInt(field);\r\n if (!isNaN(id)) {\r\n var input = $(\"#f\" + id.toString());\r\n if (input.length > 0) {\r\n value = $(input).data(\"field\");\r\n }\r\n } else {\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + field + \"']\");\r\n var inputs = self.GetInputFields(field);\r\n if (inputs.length > 0) {\r\n value = $(inputs).data(\"field\");\r\n }\r\n }\r\n\r\n return value;\r\n }; //GetFieldModel\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field overrides.\r\n /// \r\n /// The fieldId/string value pair of all field overrides.*/\r\n self.GetFieldOverrides = function () {\r\n var data = \"\";\r\n $.each(self.Fields, function (index, model) {\r\n if (model.FieldStatus && model.FieldStatus != \"\") {\r\n var location = (model.QueryLocation && model.FieldStatus !== \"alerttrigger\") ? model.QueryLocation : \"\";\r\n\r\n if (!location) {\r\n location = \"\";\r\n } else if (location.length > 0) {\r\n location = \",\" + location;\r\n }\r\n\r\n if (model.FieldStatus !== \"literal\") {\r\n data += model.FieldId + \"=\" + model.FieldStatus + location + \"|\";\r\n }\r\n }\r\n });\r\n\r\n return data;\r\n }; //GetFieldOverrides\r\n\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Gets all the fields that have the status of \"literal\"\r\n /// \r\n /// data, which contains the fieldid plus the fieldstatus combined */\r\n self.GetOtherLiteralFields = function() {\r\n var data = \"\";\r\n $.each(self.Fields, function (index, model) {\r\n\r\n // if the field currently has an orange background then add to data\r\n if (model.AllowOther === true && model.FieldStatus === \"literal\") {\r\n data += model.FieldId + \"=literal|\";\r\n }\r\n });\r\n\r\n return data;\r\n }; //GetOtherLiteralFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the field value.\r\n /// \r\n /// The field Id or field name.\r\n /// The value to indicate if null sould be return if the field is not found.\r\n /// The field value in a string format.*/\r\n self.GetFieldValue = function (field, returnNull, isFormatted, comboBoxReturnDisplayValue) {\r\n var value = null;\r\n var id = parseInt(field);\r\n if (!isNaN(id)) {\r\n var input = $(\"#f\" + id.toString());\r\n if (input.length > 0) {\r\n var model = $(input).data(\"field\");\r\n if (model.FieldType == \"MaskedTextBox\" && !!model.Mask && isFormatted) {\r\n value = VR.Edit.GetInputValue(input, true, false, comboBoxReturnDisplayValue);\r\n } else {\r\n value = VR.Edit.GetInputValue(input, false, true, comboBoxReturnDisplayValue);\r\n }\r\n }\r\n } else {\r\n //var inputs = $(\"#tab-content\").find(\".input-field[data-field-name='\" + field + \"']\");\r\n var inputs = self.GetInputFields(field);\r\n if (inputs.length > 0) {\r\n var model = $(inputs[0]).data(\"field\");\r\n if (model.FieldType == \"MaskedTextBox\" && !!model.Mask && isFormatted) {\r\n value = VR.Edit.GetInputValue(inputs[0], true, false, comboBoxReturnDisplayValue);\r\n }\r\n else if (model.FieldType == \"TimePicker\" && VR.Common.IsMobile()) {\r\n value = VR.Edit.GetInputValue(inputs[0], false, false, comboBoxReturnDisplayValue).replace(\":\", \"\");\r\n }\r\n else {\r\n value = VR.Edit.GetInputValue(inputs[0], false, true, comboBoxReturnDisplayValue);\r\n }\r\n }\r\n }\r\n\r\n if ((value == \"\" || value == null) && field == \"ISACTIVE\") {\r\n value = self.Isactive;\r\n }\r\n\r\n if (!returnNull && value == null) {\r\n value = \"\";\r\n }\r\n return value;\r\n }; //GetFieldValue\r\n self.GetFieldRawValue = function (field, returnNull) {\r\n var value = null;\r\n var id = parseInt(field);\r\n if (!isNaN(id)) {\r\n var input = $(\"#f\" + id.toString());\r\n if (input.length > 0) {\r\n var model = $(input).data(\"field\");\r\n value = VR.Edit.GetInputValue(input, false);\r\n }\r\n } else {\r\n var inputs = self.GetInputFields(field);\r\n if (inputs.length > 0) {\r\n var model = $(inputs[0]).data(\"field\");\r\n value = VR.Edit.GetInputValue(inputs[0], false);\r\n }\r\n }\r\n if (value == null && field == \"ISACTIVE\") {\r\n value = self.Isactive;\r\n }\r\n\r\n if (!returnNull && value == null) {\r\n value = \"\";\r\n }\r\n return value;\r\n }; //GetRawFieldValue\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the filter values.\r\n /// \r\n /// The field model.\r\n /// The field value in a string format.*/\r\n self.GetFilterValues = function (model) {\r\n var value = \"\";\r\n if (model && model.FilterFields && model.FilterFields.length > 0) {\r\n for (var i = 0; i < model.FilterFields.length; i++) {\r\n var id = model.FilterFields[i];\r\n value += self.GetFieldValue(id).toString() + \"|\";\r\n }\r\n }\r\n\r\n return value;\r\n }; //GetFilterValues\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the input fields.\r\n /// \r\n /// The field name.\r\n /// The input field list.*/\r\n self.GetInputFields = function (field) {\r\n if (!field) {\r\n return null;\r\n }\r\n\r\n var inputs = $(\"#tab-content\").find(\r\n \".input-field[data-field-name='\" + field + \"']\"\r\n );\r\n if (inputs.length <= 0) {\r\n field = field.toUpperCase();\r\n inputs = $(\"#tab-content\").find(\r\n \".input-field[data-field-name='\" + field + \"']\"\r\n );\r\n }\r\n\r\n return inputs;\r\n }; //GetInputFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the input field value.\r\n /// \r\n /// The input field.\r\n /// The value to indicate if formatted value should be returned.\r\n /// isFormatted did nothing prior to 6/17/2020, now it can affect the string handling\r\n /// The field value in a string format.*/\r\n self.GetInputValue = function (input, isFormatted, comboBoxOverloadFieldValue, comboBoxReturnDisplayValue) {\r\n var value = null;\r\n var model = $(input).data(\"field\");\r\n if (model) {\r\n switch (model.FieldType) {\r\n case \"CheckBox\":\r\n value = $(input).prop(\"checked\");\r\n if (value) {\r\n value = \"Y\";\r\n } else {\r\n value = \"N\";\r\n }\r\n break;\r\n case \"ComboBox\":\r\n var comboBox = $(input).data(\"kendoComboBox\");\r\n if (!!comboBox) {\r\n if (\r\n !!comboBox.dataSource &&\r\n comboBox.dataSource.data().length > 0\r\n ) {\r\n var text = comboBox.text();\r\n value = comboBox.value();\r\n var data = comboBox.dataSource.data();\r\n var found = false;\r\n for (var item = 0; item < data.length; item++) {\r\n if (typeof (data[item].text) !== \"undefined\" && typeof (data[item].text) !== \"null\" &&\r\n typeof (text) !== \"undefined\" && typeof (text) !== \"null\"\r\n ) {\r\n if (data[item].text.toString().toUpperCase() == text.toString().toUpperCase()) {\r\n value = comboBoxReturnDisplayValue === true ? data[item].text : data[item].value;\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (!found) value = text;\r\n } else {\r\n value = comboBox.text();\r\n if (value === \"\" && model.FieldValue !== null && model.FieldValue !== \"\" && comboBoxOverloadFieldValue === true) {\r\n value = model.FieldValue;\r\n }\r\n }\r\n } else {\r\n value = $(input).val();\r\n }\r\n if (!!value && typeof value == \"string\") {\r\n if ($(input).data(\"casing\") != \"ignore\") {\r\n // In ComboBox ?Need to account for isFormatted = false?\r\n switch (model.Case) {\r\n case \"upper\":\r\n value = value.toUpperCase();\r\n break;\r\n case \"lower\":\r\n value = value.toLowerCase();\r\n break;\r\n case \"capitalize\":\r\n // In ComboBox ?Need to account for isFormatted = false?\r\n value = self.CapitalizeEachWord(value);\r\n break;\r\n }\r\n }\r\n value = value.trim();\r\n }\r\n break;\r\n case \"RadioButton\":\r\n var buttons = $(input).find(\"input\");\r\n $.each(buttons, function (index, radio) {\r\n var val = $(radio).prop(\"checked\");\r\n if (val) {\r\n value = $(radio).val();\r\n }\r\n });\r\n break;\r\n case \"Image\":\r\n value = model.FieldValue;\r\n break;\r\n case \"MonthPicker\":\r\n case \"DatePicker\":\r\n case \"MaskedTextBox\":\r\n var maskedtextbox = $(input).data(\"kendoMaskedTextBox\");\r\n if (maskedtextbox) {\r\n value = isFormatted ? maskedtextbox.value() : maskedtextbox.raw();\r\n if (model.FieldType == \"DatePicker\" && value) {\r\n value = maskedtextbox.value();\r\n }\r\n } else {\r\n value = $(input).val();\r\n }\r\n break;\r\n case \"MultiSelect\":\r\n var multiselect = $(input).data(\"kendoMultiSelect\");\r\n if (multiselect) {\r\n var list = multiselect.value();\r\n if (list && list.length > 0) {\r\n value = \"\";\r\n for (var i = 0; i < list.length; i++) {\r\n if (i > 0) {\r\n value += \"*\";\r\n }\r\n value += list[i].trim();\r\n }\r\n }\r\n } else {\r\n value = $(input).val();\r\n }\r\n break;\r\n case \"Signature\":\r\n var model = $(input).data(\"field\"); // this line is redundant to the earlier setting of model?\r\n if (model) {\r\n value = model.FieldValue;\r\n if (value) {\r\n value = value.toString();\r\n }\r\n }\r\n break;\r\n default:\r\n value = $(input).val();\r\n break;\r\n }\r\n\r\n if (!!value && typeof value == \"string\") {\r\n if ($(input).data(\"casing\") != \"ignore\") {\r\n //need to check prev value against current value\r\n //VRS-3752 Casing does not work on an already saved record.\r\n //check if the value has changed, they might just be tabbing through and not want their\r\n //beautiful field recapitalized.\r\n //note that OriginalValue may be null while value is \"\"\r\n //This routime works on Textboxes, to work with other controls need code in OnBlur to manage PreviousValue\r\n //\r\n if (model.FieldType == \"TextBox\") {\r\n if ((model.PreviousValue == null && model.OriginalValue != value) || (model.PreviousValue != null && model.PreviousValue != value)) {\r\n if (isFormatted == null || isFormatted == true) {\r\n switch (model.Case) {\r\n case \"upper\":\r\n value = value.toUpperCase();\r\n break;\r\n case \"lower\":\r\n value = value.toLowerCase();\r\n break;\r\n case \"capitalize\":\r\n value = self.CapitalizeEachWord(value);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // ComboBox handles its value in the switch statement above, so we exclude it here\r\n else if (model.FieldType != null && model.FieldType != \"ComboBox\") {\r\n if ($(input).data(\"casing\") != \"ignore\") {\r\n switch (model.Case) {\r\n case \"upper\":\r\n value = value.toUpperCase();\r\n break;\r\n case \"lower\":\r\n value = value.toLowerCase();\r\n break;\r\n case \"capitalize\":\r\n value = self.CapitalizeEachWord(value);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n value = value.trim();\r\n }\r\n }\r\n\r\n if (value == null) {\r\n value = \"\";\r\n }\r\n\r\n return value;\r\n }; //GetInputValue\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets the isactive value for the current event Id.\r\n /// \r\n /// The current event Id.*/\r\n self.GetIsActive = function () {\r\n var value = self.GetFieldValue(\"ISACTIVE\", true);\r\n\r\n return value;\r\n }; //GetIsActive\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Gets field values of all fields for preload.\r\n /// \r\n /// The field name/string value pair of all field values.*/\r\n self.GetPreloadData = function () {\r\n var data = self.EventName + \"|\";\r\n\r\n $.each(self.Fields, function (indx, model) {\r\n var value = self.GetFieldValue(model.FieldId);\r\n if (model.FieldDataType == \"date\") {\r\n value = VR.Common.ToDateString(value);\r\n }\r\n data += model.FieldName + \"=\" + value + \"|\";\r\n });\r\n\r\n return data;\r\n }; //GetPreloadData\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Get the state file number.\r\n /// \r\n /// The state file number.*/\r\n self.GetStateFileNumber = function () {\r\n var returnValue = self.GetFieldValue(\"STATE_FILE_NUMBER\", true);\r\n return returnValue;\r\n }; //GetStateFileNumber\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Inactivates image.\r\n /// \r\n /// The image Id.\r\n /// */\r\n self.InactivateImage = function (id) {\r\n if (id && id.indexOf(\"image-\") > -1) {\r\n id = id.substring(\"image-\".length);\r\n }\r\n\r\n id = parseInt(id);\r\n if (isNaN(id)) {\r\n return;\r\n }\r\n\r\n var selected = null;\r\n $.each(self.ImageDataSource.data(), function (index, model) {\r\n if (model.ImageId == id) {\r\n selected = model;\r\n return false;\r\n }\r\n });\r\n\r\n if (!selected) {\r\n return;\r\n }\r\n\r\n VR.Common.SecurePost(\r\n \"data/imagetoggle\",\r\n \"image=\" + id + \"|active=\" + selected.IsActive,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n } else {\r\n var list = $(\"#image-list\");\r\n list.find(\".image\").off(\"dblclick\");\r\n selected.IsActive = !selected.IsActive;\r\n $(\"#image-pager\")\r\n .data(\"kendoPager\")\r\n .refresh();\r\n var list = $(\"#image-list\");\r\n var kendoList = list.data(\"kendoListView\");\r\n kendoList.refresh();\r\n\r\n list.find(\".image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n\r\n var element = null;\r\n $.each(kendoList.element.children(), function (index, child) {\r\n if (child.id == \"image-\" + id) {\r\n element = child;\r\n return false;\r\n }\r\n });\r\n kendoList.select(element);\r\n\r\n var checkbox = $(\"#\" + selected.ImageId + \"-check\");\r\n checkbox.trigger(\"click\");\r\n }\r\n }\r\n );\r\n }; //InactivateImage\r\n\r\n self.CreateFunction = function (script) {\r\n return new Function(script);\r\n }; //CreateFunction\r\n\r\n self.dynscript = function (\r\n model,\r\n edit,\r\n year,\r\n eventGroup,\r\n roleCode,\r\n userName,\r\n kind\r\n ) {\r\n return function () {\r\n if (!!model.FieldId) {\r\n VR.Script.EditNumber = edit.EditNumber;\r\n VR.Script.Edit = edit;\r\n }\r\n try {\r\n console.log(\"running edit \" + model.FieldId + \":\" + edit.EditNumber);\r\n var fileName = \"f\" + model.FieldId + \"_e\" + edit.EditNumber;\r\n if (!model.FieldId) {\r\n var year = VR.Edit.SecurityEventYear;\r\n var roleCode = VR.Edit.SecurityRoleCode;\r\n var userName = VR.Edit.SecurityUserName;\r\n var eventGroup = VR.Edit.SecurityEventGroup;\r\n var kind = edit.Kind;\r\n fileName =\r\n eventGroup +\r\n \"-\" +\r\n roleCode +\r\n \"-\" +\r\n userName +\r\n \"-\" +\r\n year +\r\n \"-\" +\r\n kind;\r\n }\r\n VR.Edit.CreateFunction(\r\n \"//# sourceURL=\" + fileName + \".js\\r\\n\" + edit.Script\r\n )();\r\n } catch (ex) {\r\n var _message = ex;\r\n if (ex.message) _message = ex.message;\r\n if (\r\n CanViewScriptEditor &&\r\n _message.indexOf(\"Script.ErrMessage:\") == -1\r\n ) {\r\n var jsEditorAnchor = \"\";\r\n var nibble = \"\";\r\n if (!model.FieldId) {\r\n nibble = encodeURIComponent(\r\n \"eventYear=\" +\r\n year +\r\n \"|eventGroup=\" +\r\n eventGroup +\r\n \"|role_code=\" +\r\n roleCode +\r\n \"|user_name=\" +\r\n userName\r\n );\r\n //nibble = encodeURI(nibble);\r\n jsEditorAnchor =\r\n 'here';\r\n alert(\r\n \"there was an error in \" +\r\n kind +\r\n \" role edit. Click \" +\r\n jsEditorAnchor +\r\n \" to edit the script.

\" +\r\n _message\r\n );\r\n } else {\r\n nibble = encodeURIComponent(\r\n \"FieldId=\" + model.FieldId + \"|Edit_Number=\" + edit.EditNumber\r\n );\r\n //nibble = encodeURI(nibble);\r\n jsEditorAnchor =\r\n 'here';\r\n alert(\r\n \"there was an error in edit \" +\r\n model.FieldId +\r\n \":\" +\r\n edit.EditNumber +\r\n \". Click \" +\r\n jsEditorAnchor +\r\n \" to edit the script.

\" +\r\n _message\r\n );\r\n }\r\n }\r\n if (_message.indexOf(\"Script.ErrMessage:\") == 0) {\r\n throw _message.replace(\"Script.ErrMessage:\", \"\");\r\n }\r\n console.error(ex);\r\n }\r\n };\r\n }; //dynscript\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Initialize fields.\r\n /// \r\n /// The index to the the tab to initialize or null for all fields.\r\n /// */\r\n self.InitFields = function (index, isNoEdits) {\r\n if (isNoEdits) return;\r\n\r\n var fields;\r\n if (index == null) {\r\n fields = self.Fields;\r\n } else if (\r\n !self.Tabs ||\r\n self.Tabs.length == 0 ||\r\n index < -1 ||\r\n index > self.Tabs.length\r\n ) {\r\n return;\r\n } else {\r\n fields = self.Tabs[index];\r\n }\r\n\r\n if (!fields || fields.length < 1) {\r\n return;\r\n }\r\n\r\n $.each(fields, function (index, model) {\r\n var input = $(\"#f\" + model.FieldId);\r\n self.DoSkipFields(input, true);\r\n\r\n if (\r\n (model.IsEditable == false || model.IsDisplayOnly == true) &&\r\n !$(input).hasClass(\"readonly-text\")\r\n ) {\r\n self.SetReadOnly(input, true);\r\n }\r\n self.SetFieldStatusColor(input, model);\r\n\r\n if (\r\n !self.FirstField &&\r\n !$(input).hasClass(\"readonly-text\") &&\r\n model.FieldType != \"Hidden\" &&\r\n model.FieldType != \"Label\" &&\r\n model.FieldType != \"Image\" &&\r\n model.FieldType != \"Button\"\r\n ) {\r\n self.FirstField = model;\r\n }\r\n });\r\n }; //InitFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Initialzes the image scan.\r\n /// \r\n /// */\r\n self.InitScanImage = function () {\r\n Dynamsoft.DWT.RegisterEvent(\"OnWebTwainReady\", function (e) {\r\n self.DWObject = Dynamsoft.DWT.GetWebTwain(\"dwtcontrolContainer\");\r\n self.DWObject.RegisterEvent(\"OnPostAllTransfers\", function () {\r\n var buttons = $(\"#scanimage-buttons\");\r\n var size = self.DWObject.HowManyImagesInBuffer;\r\n if (size && size > 1) {\r\n buttons.css(\"visibility\", \"visible\");\r\n self.DWObject.CurrentImageIndexInBuffer = 0;\r\n $(\"#scanimage-pagenumber\").html(\r\n \"Page: \" +\r\n (self.DWObject.CurrentImageIndexInBuffer + 1) +\r\n \" of \" +\r\n self.DWObject.HowManyImagesInBuffer\r\n );\r\n self.DWObject.RegisterEvent(\"OnTopImageInTheViewChanged\", function (\r\n index\r\n ) {\r\n self.DWObject.CurrentImageIndexInBuffer = index;\r\n $(\"#scanimage-pagenumber\").html(\r\n \"Page: \" +\r\n (self.DWObject.CurrentImageIndexInBuffer + 1) +\r\n \" of \" +\r\n self.DWObject.HowManyImagesInBuffer\r\n );\r\n });\r\n } else {\r\n buttons.css(\"visibility\", \"hidden\");\r\n }\r\n });\r\n\r\n var list = [];\r\n for (var i = 0; i < self.DWObject.SourceCount; i++) {\r\n list.push(self.DWObject.GetSourceNameItems(i));\r\n }\r\n\r\n var source = $(\"#scanner-source\");\r\n source.kendoDropDownList({\r\n dataSource: list\r\n });\r\n\r\n var modal = $(\"#scanimage-modal\");\r\n modal.find(\".ds-dwt-container-box\").css(\"margin-left\", \"150px\");\r\n });\r\n\r\n Dynamsoft.DWT.Load();\r\n\r\n var buttons = $(\"#scanimage-buttons\");\r\n var button = buttons.find(\".btn-primary\");\r\n button.tooltip({\r\n container: \"body\",\r\n trigger: \"hover\"\r\n });\r\n\r\n button.on(\"click\", function (e) {\r\n var id = $(this).attr(\"id\");\r\n if (id == \"scanimage-previousbutton\") {\r\n if (self.DWObject.CurrentImageIndexInBuffer > 0) {\r\n self.DWObject.CurrentImageIndexInBuffer -= 1;\r\n }\r\n } else {\r\n if (\r\n self.DWObject.CurrentImageIndexInBuffer + 1 <\r\n self.DWObject.HowManyImagesInBuffer\r\n ) {\r\n self.DWObject.CurrentImageIndexInBuffer += 1;\r\n }\r\n }\r\n });\r\n }; //InitScanImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Initialzes the Edit view.\r\n /// \r\n /// */\r\n self.Initialize = function () {\r\n nxLoading.start(\"Loading fields. Please wait...\");\r\n VR.Common.SetupComboBoxKeyDown();\r\n self.Referrer = document.referrer;\r\n self.State = -1;\r\n var dataValue = $(\"#data-value\");\r\n var value = dataValue.attr(\"data-value\");\r\n if (!value) return;\r\n var result = $.parseJSON(value);\r\n dataValue.attr(\"data-value\", \"\");\r\n self.EventName = result.EventName;\r\n self.SpecialEventId = result.SpecialEventId;\r\n self.EventId = result.EventId;\r\n self.EventYear = result.EventYear;\r\n self.GuiRole = result.GuiRole;\r\n self.ModTypeId = result.ModTypeId;\r\n self.RegTypeCode = result.RegTypeCode;\r\n self.RegTypeDescription = result.RegTypeDescription;\r\n self.Isactive = result.Isactive;\r\n self.ImageSecurity = result.ImageSecurity;\r\n self.ImageCount = result.ImageCount;\r\n self.MissingValues = result.MissingValues;\r\n self.NotesCount = result.NotesCount;\r\n self.Preloads = result.Preloads;\r\n self.CanClose = result.EditSecurity && result.EditSecurity.CanClose;\r\n self.CanDeleteWithSFN =\r\n result.EditSecurity && result.EditSecurity.CanDeleteWithSFN;\r\n self.CanLeave = result.EditSecurity && result.EditSecurity.CanLeave;\r\n self.CanNumberOverride =\r\n result.EditSecurity && result.EditSecurity.CanNumberOverride;\r\n self.CanSave = result.EditSecurity && result.EditSecurity.CanSave;\r\n self.CanSaveWithEdits = self.CanSave;\r\n self.CanSaveWithoutEdits =\r\n result.EditSecurity && result.EditSecurity.CanSaveWithoutEdits;\r\n self.IsCasEvent = result.IsCasEvent;\r\n self.IsCasEnabled = result.IsCasEnabled;\r\n self.IsDataCached = result.IsDataCached;\r\n self.IsDisplayOnly = result.IsDisplayOnly;\r\n self.IsKeyCached = result.IsKeyCached;\r\n self.CanLeaveValidated = false;\r\n self.SaveCount = 0;\r\n self.SetupBackButton();\r\n self.OnDisplay = result.OnDisplay;\r\n self.OnSave = result.OnSave;\r\n self.SecurityEventYear = result.SecurityEventYear;\r\n self.SecurityRoleCode = result.SecurityRoleCode;\r\n self.SecurityUserName = result.SecurityUsername || \"ALL\";\r\n self.SecurityEventGroup = result.SecurityEventGroup;\r\n self.SourceEvent = result.SourceEvent;\r\n self.SourceEventId = result.SourceEventId;\r\n self.MaxImageUpload = parseInt(editPageData.MaxImageUpload);\r\n\r\n if (isNaN(self.MaxImageUpload)) {\r\n self.MaxImageUpload = 15728640;\r\n } else {\r\n self.MaxImageUpload = self.MaxImageUpload * 1048576 * 1.5;\r\n }\r\n\r\n if (!!result.Alerts) {\r\n self.Alerts = result.Alerts;\r\n }\r\n\r\n $(\"#alerts-dropdown\").kendoDropDownList({\r\n dataTextField: \"Message\",\r\n dataValueField: \"FieldName\",\r\n dataSource: self.Alerts\r\n });\r\n var selectspan = $(\"#alerts-dropdown\").parent().find(\"span.k-select\");\r\n $(selectspan).removeAttr(\"aria-label\");\r\n $(\"#alert-span\").css(\"display\", \"\");\r\n self.SyncEventAlertsCount(self.Alerts.length);\r\n\r\n if (VR.Common.Location === \"/event/edit\") {\r\n self.ErrorPanel = errorPanel();\r\n }\r\n self.SetupFields(result);\r\n self.SetupNextButtons();\r\n $(\"#loading-image\").css(\"display\", \"none\");\r\n $(\"#edit-header\").css(\"display\", \"block\");\r\n self.SetupSave(\"save-button\", true, false);\r\n self.SetupSave(\"editsave-menu\", true, false);\r\n self.SetupSave(\"saverec-menu\", false, false);\r\n self.SetupSave(\"savetwin-menu\", true, true);\r\n self.SetupSave(\"savetwinnoedit-menu\", false, true);\r\n self.SetupNotes();\r\n self.SetupErrorCount();\r\n self.SetupLinking();\r\n self.SetupActionMenus();\r\n self.SetupWindowKeyDown();\r\n self.SetupOnBeforeUnload();\r\n self.SetupOnUnload();\r\n VR.Common.SetupViewFieldDefs();\r\n VR.Common.OnResize(self.ResizeWindow);\r\n self.SetupAllControls();\r\n self.State = 1;\r\n self.ValidateOnLoad(editPageData.PageTitle);\r\n\r\n var dcnt = -1;\r\n for (let i = 0; i < self.Tabs.length; i++) {\r\n let curTabList = self.Tabs[i];\r\n for (let j = 0; j < curTabList.length; j++) {\r\n let curField = curTabList[j];\r\n if (curField.Edits && curField.ShouldRunEdits) {\r\n // Check to see if the field has edits\r\n var parameter = {\r\n message: null,\r\n location: null,\r\n lastedit: null,\r\n edittype: null,\r\n errorat: null,\r\n state: self.State\r\n };\r\n var jqueryField = $(\"#f\" + curField.FieldId);\r\n $.each(curField.Edits, function (index, edit) {\r\n // iterate through the edits\r\n if (edit.EditType == \"alert\") {\r\n // check for edits with the alert type\r\n var tempModel = $(jqueryField).data(\"field\");\r\n if (typeof(tempModel) === \"object\") {\r\n VR.Edit.editModel = tempModel;\r\n }\r\n VR.Script.Validate(jqueryField, curField, edit, parameter);\r\n }\r\n });\r\n }\r\n if (curField.FieldType === \"ComboBox\" && curField.FieldValue !== null && curField.FieldValue !== \"\" &&\r\n (curField.ValidationDropdownItems === null || curField.ValidationDropdownItems.length === 0))\r\n {\r\n let field = $(\"#f\" + curField.FieldId);\r\n let comboBox = field.data(\"kendoComboBox\");\r\n let dataSource = comboBox.dataSource;\r\n dataSource.fetch().then(function () {\r\n let newData = dataSource.data();\r\n let updatedValue = false;\r\n for (let k = 0; k < newData.length && !updatedValue; k++) {\r\n let curOption = newData[k];\r\n if (curOption.text === comboBox.value()) {\r\n self.SetFieldValue(field, curOption.value);\r\n updatedValue = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (curField.FieldType === \"ComboBox\" && curField.FieldValue) {\r\n let elem = $(\"#f\" + curField.FieldId);\r\n let elemModel = $(\"#f\" + curField.FieldId).data(\"field\");\r\n\r\n let hasIssue = false;\r\n var value = !!elemModel.FieldValue\r\n ? elemModel.FieldValue\r\n : self.GetInputValue(elem, true);\r\n var comboBox = elem.data(\"kendoComboBox\");\r\n\r\n var multispaces = RegExp(/\\s\\s+/g);\r\n if (multispaces.test(value)) {\r\n value = value.replace(/\\s\\s+/g, \" \");\r\n VR.Script.MoveLit(value, elemModel.FieldName);\r\n }\r\n if (value) {\r\n if (elemModel.AllowOther == true) {\r\n if (value != elemModel.OriginalValue\r\n && comboBox.select() === -1\r\n && value != elemModel.DefaultValue\r\n && !nx.IsInList(elemModel.FieldId)) {\r\n self.SetFieldStatus(comboBox.input, elemModel, \"literal\", null, null);\r\n }\r\n } else {\r\n if (comboBox.value() && comboBox.select() === -1 && !nx.IsInList(elemModel.FieldId)) {\r\n hasIssue = true;\r\n }\r\n else if (elemModel.ValidationDropdownItems !== null) {\r\n let found = false;\r\n if (elemModel.ValidationDropdownItems.length > 0) {\r\n for (let k = 0; k < elemModel.ValidationDropdownItems.length && found === false; k++) {\r\n let curItem = elemModel.ValidationDropdownItems[k];\r\n found = value.toString().toLowerCase() === (curItem.ValueInt === null ? curItem.ValueString.toLowerCase() : curItem.ValueInt.toString());\r\n }\r\n }\r\n else if (nx.IsInList(elemModel.FieldId)) {\r\n found = true;\r\n }\r\n hasIssue = !found;\r\n }\r\n }\r\n }\r\n\r\n if (hasIssue) {\r\n self.ErrorPanel.setError({\r\n field: elem,\r\n model: elemModel,\r\n message: \"Entry doesn't exist. Please select a value from the list.\",\r\n location: null,\r\n isHardEdit: elemModel.isHardEdit,\r\n errorType: \"validation\"\r\n });\r\n self.TakeActionOnField(\"skipped\", \"Entry doesn't exist. Please select a value from the list.\", null, elem, elemModel);\r\n self.AddErrorField(elemModel);\r\n }\r\n }\r\n }\r\n }\r\n\r\n nxLoading.end();\r\n }; //Initialze\r\n\r\n self.ValidateOnLoad = function (pageTitle) {\r\n if (!pageTitle.includes(\"New\")) {\r\n $.each(self.Fields, function (index, model) {\r\n if (model.FieldStatus == \"skipped\") {\r\n self.load = true;\r\n model.HasSaveError = true;\r\n model.ShouldRunEdits = true;\r\n self.ValidateField($(\"#f\" + model.FieldId)); \r\n }\r\n self.load = false;\r\n });\r\n }\r\n };\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Returns if the record is being saved.\r\n /// \r\n /// */\r\n self.IsSaving = function () {\r\n return self.State == 2 || self.State == 3;\r\n }; //IsSaving\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Loads image or a file to the web server.\r\n /// \r\n /// */\r\n self.LoadImageFile = function (extensionOverwrite) {\r\n var source = $(\"#image-data\").prop(\"data-src\");\r\n if (source == \"\") {\r\n return;\r\n }\r\n\r\n var modal = $(\"#imageeditor-modal\");\r\n var headers = modal.find(\".imageeditor-headers\");\r\n headers.css(\"display\", \"\");\r\n $(\"#imageedit-acceptbutton\").css(\"display\", \"none\");\r\n $(\"#imageedit-savetodatabse, #imageedit-savetofile\").css(\"display\", \"\");\r\n\r\n var appfunc = $(\"#imageedit-appfunction\");\r\n if (appfunc.length > 0) {\r\n var dropdownlist = appfunc.data(\"kendoDropDownList\");\r\n if (!dropdownlist) {\r\n appfunc.css(\"width\", \"200px\");\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var list = $(\"#imageedit-appfunction-list\");\r\n var text = list.find(\".k-textbox\");\r\n var val = text.val();\r\n var url = VR.Common.GetRootURL(\"event/edit\");\r\n VR.Common.SecurePost(\r\n url + \"data/secfile\",\r\n val,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n data.push({ text: \" \", value: \"\" });\r\n $.each(result.List, function (index, item) {\r\n data.push({ text: item, value: item, key: item });\r\n });\r\n if (!!options) options.success(data);\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n return [];\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n\r\n appfunc.kendoDropDownList({\r\n autoBind: false,\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n filter: \"contains\",\r\n height: 150\r\n });\r\n\r\n var parent = appfunc.parents(\".k-dropdown\");\r\n $(parent).on(\"keypress\", function (e) {\r\n if (e.key == \"-\") {\r\n var dropdownlist = appfunc.data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.open();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n var fileType = $(\"#image-file-group\").attr(\"data-file-type\");\r\n var source = $(\"#image-data\").prop(\"data-src\");\r\n var extension = $(\"#image-file\").val();\r\n if (!extension) {\r\n return;\r\n }\r\n\r\n var index = extension.lastIndexOf(\".\");\r\n if (index == -1 || extension.length - index <= 1) {\r\n extension = \"\";\r\n } else {\r\n extension = extension.substring(index + 1).toLowerCase();\r\n }\r\n\r\n switch (extension) {\r\n case \"tif\": //change tif to tiff\r\n extension = \"tiff\";\r\n break;\r\n case \"jpg\": //change jpg to jpeg\r\n extension = \"jpeg\";\r\n break;\r\n }\r\n\r\n var imageextension = $(\"#imageeditor-extension\");\r\n var fileextension = $(\"#imageeditor-filetype\");\r\n\r\n $(\"#imageedit-canvassection, #imageedit-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n $(\"#image-data\").prop(\"data-extension\", extension);\r\n if (fileType == \"0\" && extension != \"tiff\") {\r\n var size = self.SetImageEditorSize(modal);\r\n\r\n $(\"#imageedit-filesource\").css(\"display\", \"none\");\r\n $(\"#imageedit-buttons\").css(\"display\", \"\");\r\n $(\"#imageedit-editsection\").css(\"display\", \"\");\r\n $(\"#imageedit-slidebars\").css(\"display\", \"\");\r\n $(\"#imageedit-annotationsection\").css(\"display\", \"\");\r\n var imagedit = $(\"#imageedit-editor\");\r\n imagedit.css(\"display\", \"\");\r\n imagedit.attr(\"src\", source);\r\n imagedit.cropper(\"destroy\");\r\n imagedit.cropper({\r\n minCanvasWidth: size.width,\r\n minCanvasHeight: size.height,\r\n minContainerHeight: size.height,\r\n minContainerWidth: size.width,\r\n crop: function (e) { }\r\n });\r\n $(\"#imageedit-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#imageedit-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#imageedit-dragbutton\").addClass(\"active\");\r\n $(\"#imageedit-cropbutton\").removeClass(\"active\");\r\n $(\"#imageeditor-title\").html(\"Image Editor\");\r\n VR.Image.SlideBars.Setup();\r\n modal.attr(\"data-fileload\", \"\");\r\n } else {\r\n var content = $(modal).find(\".modal-dialog\");\r\n content.css(\"height\", \"\");\r\n content.css(\"width\", \"\");\r\n content.css(\"margin-left\", \"\");\r\n\r\n source = VR.Common.GetRootURL() + \"/images/\";\r\n switch (extension) {\r\n case \"csv\":\r\n case \"doc\":\r\n case \"docx\":\r\n case \"exe\":\r\n case \"pdf\":\r\n case \"rtf\":\r\n case \"tiff\":\r\n case \"txt\":\r\n case \"xls\":\r\n case \"xlsx\":\r\n case \"zip\":\r\n source += extension + \".png\";\r\n break;\r\n default:\r\n source += \"data.png\";\r\n break;\r\n }\r\n $(\"#imageedit-filesource\").attr(\"src\", source);\r\n $(\"#imageedit-filesource\").css(\"display\", \"\");\r\n $(\"#imageedit-editor\").css(\"display\", \"none\");\r\n $(\"#imageedit-buttons\").css(\"display\", \"none\");\r\n $(\"#imageedit-editsection\").css(\"display\", \"none\");\r\n $(\"#imageedit-slidebars\").css(\"display\", \"none\");\r\n $(\"#imageedit-annotationsection\").css(\"display\", \"none\");\r\n $(\"#imageeditor-title\").html(\"File Load\");\r\n modal.attr(\"data-fileload\", \"1\");\r\n }\r\n\r\n var description = $(\"#imagename-text\").val();\r\n $(\"#imageedit-description\").val(description);\r\n\r\n modal.attr(\"data-annotation\", \"\");\r\n modal.modal(\"show\");\r\n if (extensionOverwrite) {\r\n var dropdown = $(\"#imageeditor-extension\").data(\"kendoDropDownList\");\r\n if (dropdown) dropdown.value(extensionOverwrite);\r\n }\r\n }; //LoadImageFile\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Loads a Tiff images to the web server.\r\n /// \r\n /// */\r\n self.LoadTiffFile = function () {\r\n var modal = $(\"#tiffeditor-modal\");\r\n var headers = modal.find(\".imageeditor-headers\");\r\n headers.css(\"display\", \"\");\r\n $(\"#tiffeditor-acceptbutton\").css(\"display\", \"none\");\r\n $(\"#tiffeditor-savetodatabse, #tiffeditor-savetofile\").css(\"display\", \"\");\r\n\r\n var appfunc = $(\"#tiffeditor-appfunction\");\r\n if (appfunc.length > 0) {\r\n var dropdownlist = appfunc.data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.select(-1);\r\n } else {\r\n appfunc.css(\"width\", \"200px\");\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var list = $(\"#tiffeditor-appfunction-list\");\r\n var text = list.find(\".k-textbox\");\r\n var val = text.val();\r\n var url = VR.Common.GetRootURL(\"event/edit\");\r\n VR.Common.SecurePost(\r\n url + \"data/secfile\",\r\n val,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n data.push({ text: \" \", value: \"\" });\r\n $.each(result.List, function (index, item) {\r\n data.push({ text: item, value: item, key: item });\r\n });\r\n if (!!options) options.success(data);\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n return [];\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n\r\n appfunc.kendoDropDownList({\r\n autoBind: false,\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n filter: \"contains\",\r\n height: 150\r\n });\r\n\r\n var parent = appfunc.parents(\".k-dropdown\");\r\n $(parent).on(\"keypress\", function (e) {\r\n if (e.key == \"-\") {\r\n var dropdownlist = appfunc.data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.open();\r\n }\r\n }\r\n });\r\n VR.Image.SlideBars.SetupTiff();\r\n }\r\n }\r\n\r\n $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n $(\"#tiffeditor-buttons\").css(\"display\", \"\");\r\n $(\"#tiffeditor-editsection\").css(\"display\", \"\");\r\n\r\n $(\"#tiffeditor-description\").val(\"\");\r\n\r\n modal.attr(\"data-annotation\", \"\");\r\n modal.modal(\"show\");\r\n }; //LoadTiffFile\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Performs next paragraph function.\r\n /// \r\n /// The keydown event handler argument.\r\n /// */\r\n self.PerformNextParagraph = function (e) {\r\n var model = $(e.target).data(\"field\");\r\n if (!model) {\r\n var parent = $(e.target).parents(\".edit-field\");\r\n if (parent.length < 1) {\r\n parent = $(e.target).parents(\".edit-group\"); //For grid buttons.\r\n }\r\n var inputs = parent.find(\".input-field\");\r\n $.each(inputs, function (index, input) {\r\n var id = $(input).attr(\"id\");\r\n if (id) {\r\n var index = id.indexOf(\"f\");\r\n if (index == 0) {\r\n model = $(input).data(\"field\");\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (!model) {\r\n return;\r\n }\r\n\r\n var first = null;\r\n var section = model.Section;\r\n var count = self.Fields.length;\r\n var input = $(\"#f\" + model.FieldId);\r\n var next = model;\r\n model = null;\r\n while (count) {\r\n next = next.Next;\r\n if (next.Section == section) {\r\n count--;\r\n continue;\r\n }\r\n\r\n if (!next) {\r\n break;\r\n }\r\n\r\n if (next.FieldType != \"Hidden\" && !first) {\r\n first = next;\r\n }\r\n if (\r\n next.FieldType != \"Hidden\" &&\r\n next.FieldType != \"Label\" &&\r\n next.FieldType != \"Image\" &&\r\n next.FieldType != \"Button\"\r\n ) {\r\n input = $(\"#f\" + next.FieldId);\r\n if (!input.hasClass(\"readonly-text\")) {\r\n model = next;\r\n break;\r\n }\r\n }\r\n count--;\r\n }\r\n\r\n if (!model || !input || input.length < 1) {\r\n if (!first) {\r\n return;\r\n } else {\r\n VR.Script.FocusField(\r\n { input: \"#\" + first.FieldId, model: first },\r\n false\r\n );\r\n return;\r\n }\r\n } else {\r\n VR.Script.FocusField({ input: input[0], model: model }, false);\r\n }\r\n }; //PerformNextParagraph\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Populate notes from the web service call result.\r\n /// \r\n /// The web call result.\r\n /// */\r\n self.PopulateNotes = function (result) {\r\n self.Notes = null;\r\n var noteslist = $(\"#notes-list\");\r\n if (!result || !result.List || result.List.length == 0) {\r\n noteslist.html(\"

No notes to show.

\");\r\n self.Notes = [];\r\n } else {\r\n self.Notes = result.List;\r\n self.CreateNotesList();\r\n }\r\n }; //PopulateNotes\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Set query location for the field.\r\n /// \r\n /// The target field.\r\n /// */\r\n self.QueryField = function (target) {\r\n var text = $(\"#fieldquery-text\");\r\n text.val(\"\");\r\n text.data(\"target\", target);\r\n var dropdown = $(\"#fieldquery-location\").data(\"kendoDropDownList\");\r\n if (dropdown) {\r\n dropdown.select(0);\r\n $(\"#fieldquery-modal\").modal(\"show\");\r\n } else {\r\n VR.Common.SecurePost(\"data/querylocations\", null, function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n //data.push({ text: \"\", value: \"\" });\r\n\r\n $.each(result.List, function (index, item) {\r\n data.push({ text: item, value: item });\r\n });\r\n\r\n $(\"#fieldquery-location\").kendoDropDownList({\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: data\r\n });\r\n\r\n $(\"#fieldquery-modal\").modal(\"show\");\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Query Locations\", true);\r\n return [];\r\n }\r\n });\r\n\r\n $(\"#fieldquery-modal\").on(\"shown.bs.modal\", function (e) {\r\n $(\"#fieldquery-text\").focus();\r\n });\r\n\r\n $(\"#fieldquery-accept\").on(\"click\", function (e) {\r\n var target = $(\"#fieldquery-text\").data(\"target\");\r\n if (target) {\r\n target = $(target);\r\n var message = $(\"#fieldquery-text\").val();\r\n var model = target.data(\"field\");\r\n var location = \"\";\r\n var dropdown = $(\"#fieldquery-location\").data(\"kendoDropDownList\");\r\n if (dropdown) {\r\n location = dropdown.value();\r\n }\r\n\r\n self.SetStatus(target, model, \"queried\", message, location);\r\n $(target).focus();\r\n }\r\n\r\n $(\"#fieldquery-text\").data(\"target\", null);\r\n });\r\n }\r\n }; //QueryField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Removes error field from error field list.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.RemoveErrorField = function (model) {\r\n self.ErrorPanel.resetError(model.FieldId);\r\n var index = self.ErrorFields.indexOf(model);\r\n if (index > -1) {\r\n self.ErrorFields.splice(index, 1);\r\n if (VR.Common.IsMobile()) {\r\n var field = $(\"#f\" + model.FieldId);\r\n field.css(\"border\", \"1px solid rgb(187,220,235)\");\r\n $(\"#mobileErrorsBtnText\").html(`${self.GetFieldErrorCount()}`);\r\n }\r\n }\r\n }; //RemoveErrorField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Resets the field status.\r\n /// \r\n /// The field.\r\n /// The value to indicate if the previous changed state needs to be preserved.\r\n /// */\r\n self.ResetField = function (sender, keepState) {\r\n var field = $(sender);\r\n var model = field.data(\"field\");\r\n if (model) {\r\n if (model.FieldStatus != null) {\r\n var status = \"input-\" + model.FieldStatus;\r\n field.removeClass(status);\r\n switch (model.FieldType) {\r\n case \"CheckBox\":\r\n case \"RadioButton\":\r\n field.removeClass(\"checkbox-radio-skipped\");\r\n field.removeClass(\"checkbox-radio-overridden\");\r\n field.removeClass(\"checkbox-radio-queried\");\r\n break;\r\n case \"ComboBox\":\r\n case \"NumericTextBox\":\r\n field\r\n .parents(\".edit-field\")\r\n .find(\"input\")\r\n .removeClass(status);\r\n break;\r\n case \"MultiSelect\":\r\n var parent = field.parents(\".edit-field\");\r\n var input = parent.find(\".k-multiselect-wrap \");\r\n input.removeClass(status);\r\n break;\r\n }\r\n }\r\n\r\n model.FieldStatus = null;\r\n model.ErrorMessage = null;\r\n //model.HasError = false;\r\n if (!keepState) {\r\n var curVal = self.GetInputValue(field, true);\r\n model.HasChange = (curVal == model.OriginalValue) ? false : true;\r\n model.HasChangeOvrd = null;\r\n }\r\n model.QueryLocation = null;\r\n\r\n self.SetStatus(field, model, null, null, null);\r\n }\r\n }; //ResetField\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Handles window resize event.\r\n /// \r\n /// */\r\n self.ResizeWindow = function () {\r\n var display = $(\"#alert-span\").css(\"display\");\r\n $(\"body\").css(\"padding-top\", 0);\r\n if (VR.Common.IsNavBurger()) {\r\n $(\"#navbar-bottom\").css(\"display\", \"\");\r\n $(\"#tab-control\").css(\"display\", \"none\");\r\n if (display != \"none\") {\r\n $(\"#alert-span\").css(\"display\", \"block\");\r\n $(\"#alert-span\").css(\"margin-top\", \"10px\");\r\n }\r\n } else {\r\n $(\"#navbar-bottom\").css(\"display\", \"none\");\r\n $(\"#tab-control\").css(\"display\", \"\");\r\n if (display != \"none\") {\r\n $(\"#alert-span\").css(\"display\", \"\");\r\n $(\"#alert-span\").css(\"margin-top\", \"\");\r\n }\r\n }\r\n\r\n var cropper = $(\"#tiffeditor-modal\").find(\".cropper-container\");\r\n if (cropper.length > 0 && self.TiffModalHeight) {\r\n setTimeout(function (e) {\r\n cropper.css(\"height\", self.TiffModalHeight);\r\n }, 100);\r\n }\r\n\r\n var nav = $(\"nav\");\r\n if (nav.length > 1) {\r\n nav = nav[0];\r\n }\r\n\r\n self.NavHeight = $(nav).height();\r\n }; //ResizeWindow\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// RowChanged event handler.\r\n /// \r\n /// The event argument.\r\n /// */\r\n self.RowChanged = function (e) {\r\n var grid = this;\r\n var selected = this.select();\r\n if (selected && selected.length > 0) {\r\n selected = selected[0];\r\n if (selected) {\r\n $(selected)\r\n .off(\"dblclick\")\r\n .on(\"dblclick\", function (e) {\r\n if (!grid.IsEditable && !grid.IsDisplayOnly) {\r\n return;\r\n }\r\n self.DisplayEvent({ grid: grid, selected: this });\r\n });\r\n }\r\n }\r\n\r\n if (grid) {\r\n var input = $(\"#f\" + grid.FieldId);\r\n var model = input.data(\"field\");\r\n if (model) {\r\n var timeout = 10;\r\n if (!grid.Initialized) {\r\n timeout = 50;\r\n }\r\n grid.Initialized = true;\r\n setTimeout(function () {\r\n //$(selected).focus();\r\n var value = VR.Script.GetRowValue(model.FieldId, grid.GridKey);\r\n VR.Script.SetVar(value, grid.GridKey);\r\n if (grid.IsKeyCached) {\r\n VR.Common.CreateDocumentsMenu(grid.GridEvent, value);\r\n } else {\r\n VR.Common.CreateDocumentsMenu();\r\n }\r\n self.ValidateField(input);\r\n }, timeout);\r\n }\r\n }\r\n }; //RowChanged\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the save.\r\n /// \r\n /// The value to indicate if edits needs to be performed.\r\n /// The value to indicate if this is twin save.\r\n /// The value to indicate if this is script save.\r\n /// The value to indicate if async post should be performed.\r\n /// */\r\n self.Save = function (\r\n hasEdits,\r\n isTwinSave,\r\n isScript,\r\n isAsync,\r\n byPassUpdateSecurity\r\n ) {\r\n var currentSave = self.IsSaving();\r\n var returnValue = null;\r\n //self.SetupAllControls();\r\n\r\n if (!byPassUpdateSecurity) byPassUpdateSecurity = false;\r\n\r\n nxLoading.start(\"Saving record. Please wait...\");\r\n\r\n var hasError = false;\r\n\r\n var x = function (state) {\r\n return function (index, model) {\r\n self.RemoveErrorField(model);\r\n model.RequiredFlag = false;\r\n if (model.FieldStatus != \"overridden\" && model.FieldStatus != \"queried\" && model.FieldStatus != \"literal\") {\r\n model.FieldStatus = null;\r\n }\r\n var input = $(\"#f\" + model.FieldId);\r\n input.data(\"state\", state);\r\n var validator = $(input).data(\"kendoValidator\");\r\n // Fields enabled state at the time of save captured in wasprotected var\r\n if (model.FieldType == \"CheckBox\") {\r\n validator = $(input).kendoValidator().data(\"kendoValidator\");\r\n let curval = $(\"#f\" + model.FieldId)[0].checked ? \"Y\" : \"N\";\r\n if (model.OriginalValue != curval) {\r\n model.FieldValue = curval;\r\n model.HasChange = (model.HasChangeOvrd == null) ? true : model.HasChangeOvrd;\r\n }\r\n }\r\n if (validator && model && model.ShouldRunEdits) {\r\n if (hasEdits) {\r\n var wasNotEditable = !model.IsEditable;\r\n var wasprotected = !model.IsEnabled;\r\n validator._isValidated = false;\r\n if (wasNotEditable) {\r\n // Fields must be editable in order for edits to run. This will handle the role protected fields.\r\n model.IsEditable = true;\r\n }\r\n if (validator._isValidated === false && model.IsEnabled === false) {\r\n // Temporarily enable the field so that the kendo validator will run for the field on save\r\n model.IsEnabled = true;\r\n nx.EnableField(model.FieldId, \"f\", true);\r\n }\r\n }\r\n var error = !validator.validate();\r\n var index = self.ErrorFields.indexOf(model);\r\n error = error || index > -1;\r\n if (error == true) {\r\n VR.Common.QueueManager.Clear();\r\n self.SetFieldHeight(this, model, false);\r\n self.AddErrorField(model);\r\n } else if (model.FieldType == \"Signature\" || model.FieldType == \"CheckBox\") {\r\n if (\r\n !self.ValidateField(input)\r\n ) {\r\n VR.Common.QueueManager.Clear();\r\n self.SetFieldHeight(this, model, false);\r\n }\r\n index = self.ErrorFields.indexOf(model);\r\n error = error || index > -1;\r\n }\r\n hasError = error || hasError;\r\n if (wasNotEditable) {\r\n // Set the IsEditable property back to false.\r\n model.IsEditable = false;\r\n }\r\n if (wasprotected) {\r\n // Set the field back to disabled if it was disabled prior to the user hitting save\r\n model.IsEnabled = false;\r\n nx.EnableField(model.FieldId, \"f\", false);\r\n }\r\n }\r\n }\r\n };\r\n var y = x(isScript ? self.State = 3 : self.State = 2);\r\n try {\r\n $(\"#error-popover\").popover(\"hide\");\r\n\r\n var requiredFields = self.Fields.filter(ele => !!ele.IsRequired);\r\n if (requiredFields) {\r\n $.each(requiredFields, y);\r\n var requiredFlags = requiredFields.filter(fld => !!fld.RequiredFlag);\r\n if (requiredFlags.length > 0) {\r\n nxLoading.end();\r\n return;\r\n }\r\n }\r\n\r\n if (hasEdits) {\r\n try {\r\n $.each(self.Fields, y);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n if (hasError && hasEdits) {\r\n VR.Common.QueueManager.Clear();\r\n } else {\r\n var href = VR.Common.GetRootURL(\"event/edit\") + \"event/save\";\r\n var event = self.EventName;\r\n if (event == null) {\r\n event = \"\";\r\n }\r\n var eventId = self.EventId;\r\n var regCode = self.RegTypeCode;\r\n if (regCode == null) {\r\n regCode = \"\";\r\n }\r\n var modTypeid = self.ModTypeId;\r\n if (modTypeid == null || modTypeid == 0) {\r\n modTypeid = \"\";\r\n }\r\n var value = self.GetFieldData().slice(0, -1);\r\n var overrides = self.GetFieldOverrides().slice(0, -1);\r\n var errors = self.GetFieldErrors().slice(0, -1);\r\n var changed = self.GetChangedFields();\r\n var otherLits = self.GetOtherLiteralFields().slice(0, -1);\r\n var selection =\r\n \"hash=\" +\r\n editWindowHash +\r\n \"|name=\" +\r\n event +\r\n \"|id=\" +\r\n eventId +\r\n \"|overrides=\" +\r\n overrides +\r\n \"|otherLits=\" +\r\n otherLits +\r\n \"|errors=\" +\r\n errors +\r\n \"|changed=\" +\r\n changed +\r\n \"|hasEdits=\" +\r\n hasEdits +\r\n \"|regcode=\" +\r\n regCode +\r\n \"|mod=\" +\r\n modTypeid +\r\n \"|count=\" +\r\n self.SaveCount +\r\n \"|eventYear=\" +\r\n self.EventYear +\r\n \"|value=\" +\r\n value +\r\n \"|byPassUpdateSecurity=\" +\r\n byPassUpdateSecurity +\r\n \"|specialEventId=\" +\r\n self.SpecialEventId;\r\n var data = { selection: selection };\r\n VR.Common.Ajax({\r\n type: \"POST\",\r\n url: href,\r\n data: data,\r\n success: function (response) {\r\n var result = $.parseJSON(response.Json);\r\n var values = value;\r\n\r\n if (result.Code != 0) {\r\n if (!isScript) {\r\n if (result.Errors && result.Errors.length > 0) {\r\n self.DoAfterSave(result, !hasEdits);\r\n self.ShowSaveError(result.Message, true);\r\n } else if (result.Code == 999999) {\r\n VR.Common.HandleInvalidResult(result, \"Save\", false);\r\n } else {\r\n self.ShowSaveError(result.Message, true);\r\n }\r\n VR.Common.QueueManager.Clear();\r\n }\r\n returnValue = result.Message;\r\n } else {\r\n self.DoAfterSave(result, !hasEdits, values);\r\n if (result.KeyFieldId != null && result.KeyFieldValue != null) {\r\n nx.MoveLit(result.KeyFieldValue, result.KeyFieldId);\r\n }\r\n var edit = null;\r\n if (hasEdits) {\r\n edit = self.ExecuteOnSave();\r\n }\r\n var third = \"false\";\r\n if (!isScript) {\r\n if (edit && edit.Message) {\r\n //A message is shown. No message here.\r\n } else if (isTwinSave) {\r\n if (window.opener) {\r\n VR.Common.ShowMessageBox(\r\n \"The twin record saved successfully.\\r\\nDo you want to close the current window?\",\r\n function (param) {\r\n window.close();\r\n },\r\n true\r\n );\r\n } else {\r\n VR.Script.Alert(\"The twin record saved successfully.\");\r\n }\r\n } else {\r\n if (window.opener) {\r\n VR.Common.ShowMessageBox(\r\n \"The record saved successfully.\\r\\nDo you want to close the current window?\",\r\n function (param) {\r\n window.close();\r\n },\r\n [\"yes\", \"no\"]\r\n );\r\n } else {\r\n VR.Script.Alert(\"The record saved successfully.\");\r\n }\r\n }\r\n }\r\n //need to push the record id to the url so if we come off the page and come back\r\n //we'll know what record id to lookup!\r\n if (result.PreloadId && result.PreloadId != \"\") {\r\n third = \"preload%25\" + result.PreloadId;\r\n }\r\n //5503 GR. comment the capitalize\r\n $(\"#plugins\").text(\r\n // capitalizeFirstLetters(editPageData.PageTitle.split(':')[0]) + \": \" + result.EventId//original code\r\n editPageData.PageTitle.split(':')[0] + \": \" + result.EventId\r\n );\r\n if (typeof(result.NewRecordHash) === \"string\" && result.NewRecordHash !== \"\") {\r\n history.pushState(\r\n null,\r\n null,\r\n \"edit?selection=eventedit%3D\" +\r\n result.NewRecordHash\r\n );\r\n }\r\n }\r\n },\r\n dataType: \"json\",\r\n async: isAsync\r\n });\r\n }\r\n } finally {\r\n if (currentSave) { // do not reset state until all save operations completed\r\n } else {\r\n self.State = 1;\r\n }\r\n }\r\n\r\n if (returnValue == null) {\r\n returnValue = \"\";\r\n }\r\n\r\n setTimeout(function () {\r\n nxLoading.end();\r\n }, 3000);\r\n\r\n return returnValue;\r\n }; //Save\r\n\r\n self.PrintShippingLabel = function (userLocationCode, mailFirstName, mailLastname, mailAddress1, mailCity, mailState, mailZip) {\r\n var returnValue = {\r\n tracking_number: null,\r\n amount: null\r\n };\r\n var selection = self.GetShippingTabData()\r\n + \"userLocation=\" + userLocationCode + \"|\"\r\n + \"mailToFirstName=\" + mailFirstName + \"|\"\r\n + \"mailToLastname=\" + mailLastname + \"|\"\r\n + \"mailToAddress1=\" + mailAddress1 + \"|\"\r\n + \"mailToCity=\" + mailCity + \"|\"\r\n + \"mailToState=\" + mailState + \"|\"\r\n + \"mailToZip=\" + mailZip;\r\n\r\n var data = { selection: selection };\r\n VR.Common.Ajax({\r\n type: \"POST\",\r\n url: VR.Common.GetRootURL() + \"event/printshippinglabel\",\r\n data: data,\r\n success: function (response) {\r\n if (response.error_messages == null) {\r\n returnValue.tracking_number = response.tracking_number;\r\n returnValue.amount = response.amount;\r\n window.open(response.print_label_format);\r\n }\r\n else {\r\n VR.Common.ShowError(response.error_messages, \"Shipping Label could not be created\");\r\n }\r\n },\r\n dataType: \"json\",\r\n async: false\r\n });\r\n nx.MoveLit(returnValue.tracking_number, \"SHIPPING_LABEL_TRACKING_NUMBER\");\r\n nx.MoveLit(returnValue.amount, \"Estimated Cost\");\r\n };\r\n\r\n\r\n self.ProcessTrackingNumber = function () {\r\n\r\n var selection = self.GetShipCarrierAndTrackingNumber();\r\n\r\n var data = { selection: selection };\r\n VR.Common.Ajax({\r\n type: \"POST\",\r\n url: VR.Common.GetRootURL() + \"event/processtrackingnumber\",\r\n data: data,\r\n success: function (response) {\r\n if (response[0].Key == \"error_messages\") {\r\n VR.Common.ShowError(response[0].Value, \"Unable to find Tracking Number\");\r\n }\r\n else {\r\n window.open(response[0].Value);\r\n }\r\n },\r\n dataType: \"json\",\r\n async: true\r\n });\r\n };\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the field height.\r\n /// \r\n /// The input field.\r\n /// The field model.\r\n /// The value to indicate if the height is the normal height.\r\n /// */\r\n self.SetFieldHeight = function (field, model, isNormal) {\r\n if (!field || !model) {\r\n return;\r\n }\r\n\r\n var parent = $(field).parents(\".edit-field\");\r\n switch (model.FieldType) {\r\n case \"MemoEdit\":\r\n case \"RadioButton\":\r\n break;\r\n default:\r\n if (isNormal) {\r\n parent.css(\"height\", \"\");\r\n } else {\r\n var section = parent.find(\".k-invalid-msg\");\r\n var display = section.css(\"display\");\r\n if (section.length > 0 && display != \"none\") {\r\n parent.css(\"height\", \"inherit\");\r\n } else {\r\n parent.css(\"height\", \"\");\r\n }\r\n }\r\n break;\r\n }\r\n }; //SetFieldHeight\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the currrent field status.\r\n /// \r\n /// The input field.\r\n /// The field model.\r\n /// The field status.\r\n /// The error message.\r\n /// The query location.\r\n /// */\r\n self.SetFieldStatus = function (field, model, status, message, location) {\r\n //model.HasError = false;\r\n model.FieldStatus = null;\r\n model.QueryLocation = null;\r\n if (status && status != \"rekeyed\") {\r\n model.FieldStatus = status;\r\n model.ErrorMessage = message;\r\n model.QueryLocation = location;\r\n }\r\n if (status != \"alerttrigger\") {\r\n self.SetAlertStatus(model.FieldName, false, null);\r\n }\r\n self.SetFieldStatusColor(field, model);\r\n }; //SetFieldStatus\r\n\r\n self.SyncEventAlertsCount = function (count) {\r\n if (VR.Common.IsMobile()) {\r\n if (count === 0) {\r\n $(\"#alert-span\").css(\"display\", \"none\");\r\n } else {\r\n $(\"#alert-span\").css(\"display\", \"inline\");\r\n }\r\n }\r\n var alertcountfield = $('input[data-field-name=\"ALERT_COUNT\"]');\r\n if (!!alertcountfield) {\r\n // update the alerts count field\r\n self.SetFieldValue(alertcountfield, count, true);\r\n }\r\n $(\"#alerts-count\").text(count);\r\n var alerts = $(\"#alerts-dropdown\").data(\"kendoDropDownList\");\r\n if (!!alerts) {\r\n if (count === 0) {\r\n $(\"#alerts-count\").addClass(\"label-default\");\r\n $(\"#alerts-count\").removeClass(\"label-danger\");\r\n $(\".alerts-dropdown > .k-dropdown-wrap.k-state-default\").removeClass(\r\n \"alerts-danger\"\r\n );\r\n alerts.enable(false);\r\n } else {\r\n alerts.enable(true);\r\n $(\"#alerts-count\").removeClass(\"label-default\");\r\n $(\"#alerts-count\").addClass(\"label-danger\");\r\n $(\".alerts-dropdown > .k-dropdown-wrap.k-state-default\").addClass(\r\n \"alerts-danger\"\r\n );\r\n }\r\n }\r\n }; //SyncEventAlertsCount\r\n\r\n self.SetAlertStatus = function (fieldName, addNewAlert, alertMessage) {\r\n if (addNewAlert) {\r\n // to add alerts - check to see it it already exist priot to adding\r\n var count = 0;\r\n for (var i = 0; i < self.Alerts.length; i++) {\r\n var item = self.Alerts[i];\r\n if (item.FieldName == fieldName && item.Message == alertMessage) {\r\n count++;\r\n }\r\n }\r\n if (count === 0) {\r\n self.Alerts.push({\r\n AlertId: 0,\r\n FieldName: fieldName,\r\n Message: alertMessage\r\n });\r\n }\r\n } else {\r\n // remove the item if it exists\r\n for (var i = 0; i < self.Alerts.length; i++) {\r\n var item = self.Alerts[i];\r\n if (!!fieldName && !!alertMessage) {\r\n // if fieldname and alert are provided remove specific alert\r\n if (item.FieldName == fieldName && item.Message == alertMessage) {\r\n self.Alerts.splice(i, 1);\r\n }\r\n } else {\r\n if (item.FieldName == fieldName) {\r\n // if alert message is not provided remove all alerts for the field\r\n self.Alerts.splice(i, 1);\r\n }\r\n }\r\n }\r\n }\r\n // update the dropdowns datasource with the updated alerts object\r\n var alertsDropdown = $(\"#alerts-dropdown\").data(\"kendoDropDownList\");\r\n if (alertsDropdown) {\r\n var dataSource = new kendo.data.DataSource({\r\n data: self.Alerts\r\n });\r\n alertsDropdown.setDataSource(dataSource);\r\n alertsDropdown.select(0);\r\n alertsDropdown.trigger(\"change\");\r\n }\r\n // update the alerts count field\r\n self.SyncEventAlertsCount(self.Alerts.length);\r\n }; //SetAlertStatus\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the currrent field status color.\r\n /// \r\n /// The input field.\r\n /// The field model.\r\n /// */\r\n self.SetFieldStatusColor = function (field, model) {\r\n field = $(field);\r\n if (field.hasClass(\"readonly-text\")) {\r\n return;\r\n }\r\n\r\n var isDark = $(\"#isdarkgadget\").val();\r\n var status = model.FieldStatus;\r\n if (status && status != \"rekeyed\") {\r\n status = \"input-\" + status;\r\n field.addClass(status);\r\n switch (model.FieldType) {\r\n case \"CheckBox\":\r\n case \"RadioButton\":\r\n status = \"checkbox-radio-\" + model.FieldStatus;\r\n field.addClass(status);\r\n break;\r\n case \"ComboBox\":\r\n case \"NumericTextBox\":\r\n field\r\n .parents(\".edit-field\")\r\n .find(\"input\")\r\n .addClass(status);\r\n break;\r\n case \"MultiSelect\":\r\n var parent = field.parents(\".edit-field\");\r\n var input = parent.find(\".k-multiselect-wrap\");\r\n input.addClass(status);\r\n break;\r\n case \"MaskedTextBox\":\r\n break;\r\n }\r\n if (isDark) {\r\n field.css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (isDark) {\r\n field.css(\"color\", \"\");\r\n }\r\n field.removeClass(\"input-overridden\");\r\n field.removeClass(\"input-queried\");\r\n field.removeClass(\"input-skipped\");\r\n switch (model.FieldType) {\r\n case \"CheckBox\":\r\n case \"RadioButton\":\r\n var inputs = field.parents(\".edit-field\");\r\n inputs.removeClass(\"checkbox-radio-skipped\");\r\n inputs.removeClass(\"checkbox-radio-overridden\");\r\n inputs.removeClass(\"checkbox-radio-queried\");\r\n break;\r\n case \"ComboBox\":\r\n case \"NumericTextBox\":\r\n var inputs = field.parents(\".edit-field\").find(\"input\");\r\n inputs.removeClass(\"input-overridden\");\r\n inputs.removeClass(\"input-queried\");\r\n inputs.removeClass(\"input-skipped\");\r\n inputs.removeClass(\"input-literal\");\r\n break;\r\n case \"MultiSelect\":\r\n var parent = field.parents(\".edit-field\");\r\n var inputs = parent.find(\".k-multiselect-wrap\");\r\n inputs.removeClass(\"input-overridden\");\r\n inputs.removeClass(\"input-queried\");\r\n inputs.removeClass(\"input-skipped\");\r\n break;\r\n case \"MaskedTextBox\":\r\n break;\r\n }\r\n }\r\n }; //SetFieldStatusColor\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets field value.\r\n /// \r\n /// The input field.\r\n /// The field value.\r\n /// The value to indicate if the change is applied to all fields with the same field name.\r\n /// */\r\n self.SetFieldValue = function (input, value, applyall, runComboBoxFetch) {\r\n var field = $(input).data(\"field\");\r\n if (field) {\r\n switch (field.FieldType) {\r\n case \"CheckBox\":\r\n $(input).prop(\"checked\", value === true || value == \"Y\");\r\n break;\r\n case \"ComboBox\":\r\n var comboBox = $(input).data(\"kendoComboBox\");\r\n if (comboBox) {\r\n let cbDataSource = comboBox.dataSource;\r\n if (cbDataSource && VR.Edit.State > 0 && runComboBoxFetch === true) {\r\n //VRS-5459 - the combobox data set uses this element to get the value to load the list, so set it before fetching items\r\n //the value we get in the method is the SAVE value, but the value typically needed for the server search is the DISPLAY value\r\n //find the display value if possible from the existing combobox options, if not, set the lookup type to \"value\" and use SAVE value passed in to method\r\n let dataSourceList = cbDataSource.data();\r\n let found = false;\r\n for (let i = 0; i < dataSourceList.length && found === false; i++) {\r\n let dataItem = dataSourceList[i];\r\n if (dataItem.value == value) {\r\n found = true;\r\n $(\"#f\" + field.FieldId).parent().find(\"input[name='f\" + field.FieldId + \"_input']\").val(dataItem.text);\r\n field.LookupType = \"label\";\r\n }\r\n }\r\n if (!found) {\r\n //we need to set this to have the lookup process use the SAVE value instead of the normal DISPLAY value\r\n field.LookupType = \"value\";\r\n $(\"#f\" + field.FieldId).parent().find(\"input[name='f\" + field.FieldId + \"_input']\").val(value);\r\n }\r\n cbDataSource.fetch().then(function () {\r\n var list = comboBox.list;\r\n if (list) {\r\n var selected = false;\r\n //if (!nxLoading.IsLoading()) comboBox.search($(input).val());\r\n comboBox.select(function (dataItem) {\r\n selected = dataItem && dataItem.value == value;\r\n return selected;\r\n });\r\n if (selected == false) {\r\n comboBox.text(value);\r\n }\r\n }\r\n $(input).data(\"prevValue\", comboBox.value());\r\n });\r\n }\r\n else {\r\n var list = comboBox.list;\r\n if (list) {\r\n var selected = false;\r\n //if (!nxLoading.IsLoading()) comboBox.search($(input).val());\r\n comboBox.select(function (dataItem) {\r\n selected = dataItem && dataItem.value == value;\r\n return selected;\r\n });\r\n if (selected == false) {\r\n comboBox.text(value);\r\n }\r\n }\r\n $(input).data(\"prevValue\", comboBox.value());\r\n }\r\n }\r\n break;\r\n case \"RadioButton\":\r\n var buttons = $(input).find(\"input\");\r\n $.each(buttons, function (index, radio) {\r\n var val = $(radio).val();\r\n if (val == value) {\r\n radio.checked = true;\r\n } else {\r\n radio.checked = false;\r\n }\r\n });\r\n break;\r\n case \"MonthPicker\":\r\n case \"DatePicker\":\r\n case \"MaskedTextBox\":\r\n var maskedtextbox = $(input).data(\"kendoMaskedTextBox\");\r\n if (!maskedtextbox) {\r\n //we may want to set up month and date pickers here as well, but that will be for another ticket\r\n if (field.FieldType === \"MaskedTextBox\") {\r\n VR.Edit.SetupMaskedEdit(field);\r\n maskedtextbox = $(input).data(\"kendoMaskedTextBox\");\r\n }\r\n }\r\n if (maskedtextbox) {\r\n maskedtextbox.value(value);\r\n }\r\n break;\r\n case \"Signature\":\r\n var model = $(input).data(\"field\");\r\n if (model) {\r\n model.FieldValue = value;\r\n }\r\n break;\r\n case \"NumericTextBox\":\r\n var numbertextbox = $(input).data(\"kendoNumericTextBox\");\r\n if (numbertextbox) {\r\n numbertextbox.value(value);\r\n }\r\n break;\r\n case \"TimePicker\":\r\n var tp = $(input).data(\"kendoTimePicker\");\r\n if (tp) {\r\n tp.value(value);\r\n }\r\n break;\r\n }\r\n if (\r\n field.FieldType != \"MaskedTextBox\" &&\r\n field.FieldType != \"DatePicker\" &&\r\n field.FieldType != \"MonthPicker\" &&\r\n field.FieldType != \"TimePicker\"\r\n ) {\r\n $(input).val(value);\r\n }\r\n //VRS-5885\r\n var fieldVal = \"\";\r\n if (typeof (field) === \"object\" && typeof(field.FieldValue) !== \"undefined\" && field.FieldValue !== null) {\r\n fieldVal = field.FieldValue;\r\n }\r\n var origVal = \"\";\r\n if (typeof (field) === \"object\" && typeof (field.OriginalValue) !== \"undefined\" && field.OriginalValue !== null) {\r\n origVal = field.OriginalValue;\r\n }\r\n if (fieldVal != value) {\r\n field.HasChange = (!!field.HasChangeOvrd) ? field.HasChangeOvrd : true;\r\n field.PreviousValue = fieldVal;\r\n }\r\n field.FieldValue = value;\r\n\r\n if (applyall) {\r\n var fieldName = $(input).attr(\"data-field-name\");\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + fieldName + \"']\");\r\n var inputs = self.GetInputFields(fieldName);\r\n var id = $(input).attr(\"id\");\r\n $.each(inputs, function (index, input) {\r\n var fieldId = $(input).attr(\"id\");\r\n if (fieldId != id) {\r\n self.SetFieldValue(input, value);\r\n }\r\n });\r\n }\r\n }\r\n }; //SetFieldValue\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets field value.\r\n /// \r\n /// The input field.\r\n /// The field value.\r\n /// The value to indicate if the change is applied to all fields with the same field name.\r\n /// */\r\n self.SetFieldValues = function (input, value, applyall) {\r\n var id = parseInt(input);\r\n if (!isNaN(id)) {\r\n self.SetFieldValue(\"#f\" + id, value, applyall);\r\n } else {\r\n var inputs = $(input);\r\n if (inputs.length == 0) {\r\n //inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + input + \"']\");\r\n inputs = self.GetInputFields(input);\r\n }\r\n if (inputs.length > 0) {\r\n self.SetFieldValue(inputs[0], value, applyall);\r\n }\r\n }\r\n }; //SetFieldValues\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the modal editor size and returns the width and height of cropper object to be created.\r\n /// \r\n /// The modal object.\r\n /// The width and height of cropper object to be created.*/\r\n self.SetImageEditorSize = function (modal) {\r\n var returnValue = { width: 0, height: 0 };\r\n if (!modal) {\r\n return returnValue;\r\n }\r\n\r\n var headers = modal.find(\".imageeditor-headers\");\r\n var visible = null;\r\n if (headers.length > 0) {\r\n visible = $(headers[0]).css(\"display\");\r\n }\r\n var windowwidth = $(window).width();\r\n var windowheight = $(window).height();\r\n var width = windowwidth;\r\n var height = windowheight;\r\n if (windowwidth < 768) {\r\n height *= 0.65;\r\n } else {\r\n height *= 0.9;\r\n }\r\n if (visible == \"\" || (visible && visible != \"none\")) {\r\n var headers = modal.find(\".imageeditor-header\");\r\n var headerheight = headers.length * 30;\r\n height -= headerheight;\r\n }\r\n\r\n height -= 40; //For sliders and annotation buttons\r\n height = Math.round(height);\r\n width *= 0.94;\r\n width = Math.round(width);\r\n var content = $(modal).find(\".modal-dialog\");\r\n content.css(\"height\", height + \"px\");\r\n content.css(\"width\", width + \"px\");\r\n content.css(\"margin-left\", Math.round((windowwidth - width) / 2) + \"px\");\r\n\r\n height -= 150;\r\n width -= 100;\r\n if (windowwidth >= 768) {\r\n height = Math.max(400, height);\r\n width = Math.max(550, width);\r\n } else {\r\n height = Math.max(250, height);\r\n width = Math.max(280, width);\r\n }\r\n\r\n returnValue.height = height;\r\n returnValue.width = width;\r\n\r\n return returnValue;\r\n }; //SetImageEditorSize\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets read-only status.\r\n /// \r\n /// The input field.\r\n /// The value to indicate if the field is read-only.\r\n /// */\r\n self.SetReadOnly = function (input, isReadOnly) {\r\n var isDark = $(\"#isdarkgadget\").val();\r\n var intInputId = parseInt(input);\r\n if (!isNaN(intInputId)) {\r\n input = \"#f\" + intInputId;\r\n } else if (typeof input === \"string\") {\r\n if (!input.startsWith(\"#\")) {\r\n input = \"#\" + input;\r\n }\r\n }\r\n var field = $(input).data(\"field\");\r\n if (field) {\r\n switch (field.FieldType) {\r\n case \"MaskedTextBox\":\r\n if (isReadOnly) {\r\n $(input).addClass(\"readonly-text\");\r\n $(input).attr(\"disabled\", true);\r\n field.IsEnabled = false;\r\n } else {\r\n if (field.IsEditable == true) {\r\n $(input).removeClass(\"readonly-text\");\r\n $(input).removeAttr(\"disabled\");\r\n $(input).parent(\"span\").removeClass(\"readonly-text k-state-disabled\");\r\n field.IsEnabled = true;\r\n $(input).kendoMaskedTextBox({\r\n mask: field.Mask,\r\n unmaskOnPost: false\r\n });\r\n }\r\n }\r\n case \"AutoComplete\":\r\n var autocomplete = $(input).data(\"kendoAutoComplete\");\r\n if (autocomplete) {\r\n if (isReadOnly) {\r\n field.IsEnabled = false;\r\n autocomplete.readonly(true);\r\n $(input).css(\"background-color\", \"silver\");\r\n if (isDark) {\r\n $(input).css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n autocomplete.readonly(false);\r\n $(input).css(\"background-color\", \"\");\r\n if (isDark) {\r\n $(input).css(\"color\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case \"ComboBox\":\r\n var comboBox = $(input).data(\"kendoComboBox\");\r\n if (comboBox) {\r\n var fieldId = field.FieldId;\r\n var textBox = $(input)\r\n .parent()\r\n .find(\"input[name='f\" + fieldId + \"_input']\");\r\n var parent = $(input).parent();\r\n var span = $(parent).find(\"span\");\r\n if (isReadOnly) {\r\n comboBox.readonly(true);\r\n comboBox.enable(false);\r\n field.IsEnabled = false;\r\n $(span).css(\"background-color\", \"silver\");\r\n $(textBox).css(\"background-color\", \"silver\");\r\n if (isDark) {\r\n $(span).css(\"color\", \"black\");\r\n $(textBox).css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n comboBox.readonly(false);\r\n comboBox.enable();\r\n $(span).css(\"background-color\", \"\");\r\n $(textBox).css(\"background-color\", \"\");\r\n if (isDark) {\r\n $(span).css(\"color\", \"\");\r\n $(textBox).css(\"color\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case \"MonthPicker\":\r\n case \"DatePicker\":\r\n var datepicker = $(input).data(\"kendoDatePicker\");\r\n if (datepicker) {\r\n if (isReadOnly) {\r\n datepicker.readonly();\r\n datepicker.enable(false);\r\n field.IsEnabled = false;\r\n $(input).css(\"background-color\", \"silver\");\r\n if (isDark) {\r\n $(input).css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n datepicker.enable(true);\r\n $(input).css(\"background-color\", \"\");\r\n if (isDark) {\r\n $(input).css(\"color\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case \"NumericTextBox\":\r\n var numeric = $(input).data(\"kendoNumericTextBox\");\r\n if (numeric) {\r\n var inputs = $(input)\r\n .parents(\".edit-field\")\r\n .find(\"input\");\r\n if (isReadOnly) {\r\n field.IsEnabled = false;\r\n numeric.readonly(true);\r\n inputs.addClass(\"readonly-text\");\r\n inputs.css(\"background-color\", \"silver\");\r\n if (isDark) {\r\n $(inputs).css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n numeric.readonly(false);\r\n inputs.removeClass(\"readonly-text\");\r\n inputs.css(\"background-color\", \"\");\r\n if (isDark) {\r\n $(inputs).css(\"color\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case \"Button\":\r\n var buttons = $(input);\r\n if (isReadOnly) {\r\n buttons.attr(\"disabled\", \"disabled\");\r\n field.IsEnabled = false;\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n buttons.removeAttr(\"disabled\");\r\n }\r\n }\r\n break;\r\n case \"RadioButton\":\r\n var radio = \"#f\" + field.FieldId + \" *\";\r\n var inputAttr = $(input);\r\n if (isReadOnly) {\r\n $(radio).prop(\"disabled\", true);\r\n inputAttr.attr(\"aria-disabled\", \"true\")\r\n field.IsEnabled = false;\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n $(radio).prop(\"disabled\", false);\r\n inputAttr.attr(\"aria-disabled\", \"false\")\r\n }\r\n } \r\n break;\r\n case \"Signature\":\r\n var buttons = $(input);\r\n if (isReadOnly) {\r\n buttons.attr(\"disabled\", \"disabled\");\r\n field.IsEnabled = false;\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n buttons.removeAttr(\"disabled\");\r\n }\r\n }\r\n break;\r\n case \"MultiSelect\":\r\n var multiselect = $(input).data(\"kendoMultiSelect\");\r\n if (multiselect) {\r\n $(input).removeClass(\"readonly-text\");\r\n multiselect.readonly(isReadOnly);\r\n var parents = $(input).parents(\".edit-field\");\r\n var text = parents.find(\".k-multiselect-wrap\");\r\n if (isReadOnly) {\r\n field.IsEnabled = false;\r\n text.addClass(\"readonly-text\");\r\n text.css(\"background-color\", \"silver\");\r\n if (isDark) {\r\n $(text).css(\"color\", \"black\");\r\n }\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n text.removeClass(\"readonly-text\");\r\n text.css(\"background-color\", \"\");\r\n if (isDark) {\r\n $(text).css(\"color\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n if (isReadOnly) {\r\n $(input).addClass(\"readonly-text\");\r\n $(input).attr(\"disabled\", true);\r\n field.IsEnabled = false;\r\n } else {\r\n if (field.IsEditable == true) {\r\n field.IsEnabled = true;\r\n $(input).removeClass(\"readonly-text\");\r\n $(input).removeAttr(\"disabled\");\r\n }\r\n }\r\n }\r\n }\r\n }; //SetReadOnly\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the currrent field status.\r\n /// \r\n /// The input field.\r\n /// The field model.\r\n /// The field status.\r\n /// The error message.\r\n /// The query location.\r\n /// */\r\n self.SetStatus = function (field, model, status, message, location) {\r\n if (!model) {\r\n return;\r\n }\r\n\r\n var inputs = self.GetInputFields(model.FieldName);\r\n if (status == \"skipped\" || status == \"rekeyed\") {\r\n $.each(inputs, function (index, input) {\r\n if (status == \"rekeyed\") {\r\n self.DoFieldValueChanged(input);\r\n }\r\n });\r\n }\r\n\r\n self.SetFieldStatus(field, model, status, message, location);\r\n var errorSection = $(\"#f\" + model.FieldId + \"-msg\");\r\n if (errorSection) {\r\n errorSection.css(\"display\", \"none\");\r\n }\r\n\r\n $.each(inputs, function (index, input) {\r\n var data = $(input).data(\"field\");\r\n if (data != model) {\r\n self.SetFieldStatus(input, data, status, message, location);\r\n //data.FieldStatus = model.FieldStatus;\r\n //data.ErrorMessage = model.ErrorMessage;\r\n //data.QueryLocation = model.QueryLocation;\r\n }\r\n });\r\n\r\n //self.SetFieldHeight(this, model, true);\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + model.FieldName + \"']\");\r\n }; //SetStatus\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets the current page for the Tiff Image editor.\r\n /// \r\n /// The cropper section.\r\n /// The page number.\r\n /// The TIFF page length.\r\n /// */\r\n self.SetTiffEditorPage = function (section, page, size) {\r\n if (!size | !section || page < 0 || page >= size) {\r\n return;\r\n }\r\n section.attr(\"data-page-number\", page);\r\n var canvases = $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\");\r\n for (var i = 0; i < size; i++) {\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (i + 1));\r\n if (i != page) {\r\n tiffpage.css(\"display\", \"none\");\r\n } else {\r\n var cropped = tiffpage.attr(\"data-cropped\");\r\n if (!cropped) {\r\n canvases.css(\"display\", \"none\");\r\n section.css(\"display\", \"\");\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"visible\");\r\n tiffpage.css(\"display\", \"\");\r\n var mode = tiffpage.attr(\"mode\");\r\n if (mode == \"1\") {\r\n $(\"#tiffeditor-cropbutton\").trigger(\"click\");\r\n } else {\r\n $(\"#tiffeditor-dragbutton\").trigger(\"click\");\r\n }\r\n } else {\r\n canvases.css(\"display\", \"\");\r\n section.css(\"display\", \"none\");\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"hidden\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"hidden\");\r\n for (var i = 0; i < size; i++) {\r\n var tiffpage = $(\"#tiffeditor-canvas\" + (i + 1));\r\n if (i == page) {\r\n tiffpage.css(\"display\", \"\");\r\n } else {\r\n tiffpage.css(\"display\", \"none\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n page++;\r\n $(\"#tiffeditor-pagenumber\").html(\"Page \" + page + \" of \" + size);\r\n }; //SetTiffEditorPage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up all controls.\r\n /// \r\n /// */\r\n self.SetupAllControls = function () {\r\n if (self.Tabs && self.Tabs.length > 0) {\r\n for (var i = 0; i < self.Tabs.length; i++) {\r\n self.SetupControls(i);\r\n }\r\n self.InitFields();\r\n }\r\n }; //SetupAllControls\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the Action menu.\r\n /// \r\n /// */\r\n self.SetupActionMenus = function () {\r\n self.SetupScanImage();\r\n self.SetupFileLoad();\r\n self.SetupImageEdit();\r\n self.SetupViewImage();\r\n self.SetupReviewError();\r\n self.SetupNumberRecord();\r\n self.SetupEventActivation();\r\n self.SetupDocTracking();\r\n self.SetupTypeFromImage();\r\n $(\"#runviews-menu\").on(\"click\", function (e) {\r\n VR.Script.Views();\r\n });\r\n\r\n $(\"#action-menu\")\r\n .find(\"a\")\r\n .on(\"click\", function (e) {\r\n if (VR.Common.IsNavBurger()) {\r\n $(\"#top-button\").trigger(\"click\");\r\n }\r\n });\r\n }; //SetpActionMenus\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the AutoComplete control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupAutoComplete = function (model) {\r\n var field = $(\"#f\" + model.FieldId);\r\n if (model.FieldType == \"TextBox\") {\r\n field.kendoAutoComplete({});\r\n } else {\r\n var dataSource = [];\r\n if (model.DropDownList) {\r\n dataSource = model.DropDownList;\r\n } else {\r\n var fieldId = model.FieldId;\r\n dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var input = $(\"#f\" + fieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n var val = $(input).val();\r\n var model = $(input).data(\"field\");\r\n var filter = self.GetFilterValues(model);\r\n var voidVal = \"\";\r\n if (model && model.VoidField) {\r\n voidVal = self.GetFieldValue(model.VoidField);\r\n }\r\n voidVal = encodeURIComponent(voidVal);\r\n var valfiltertype = \"\";\r\n if (model && model.ValFilterType) {\r\n valfiltertype = model.ValFilterType;\r\n }\r\n valfiltertype = encodeURIComponent(valfiltertype);\r\n var webfiltertype = \"\";\r\n if (model && model.WebFilterType) {\r\n webfiltertype = model.WebFilterType;\r\n }\r\n webfiltertype = encodeURIComponent(webfiltertype);\r\n performLookup(\r\n fieldId,\r\n val,\r\n filter,\r\n valfiltertype,\r\n voidVal,\r\n webfiltertype,\r\n self.EventYear,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n if (!result.List || result.List.length == 0) {\r\n //data.push({ text: \"\", value: \"\" });\r\n } else {\r\n for (var i = 0; i < result.List.length; i++) {\r\n var value = result.List[i];\r\n var key = null;\r\n if (result.Keys && result.Keys.length > i) {\r\n key = result.Keys[i];\r\n }\r\n //if (value == model.FieldValue) {\r\n // index = i;\r\n //}\r\n data.push({ text: value, key: key });\r\n }\r\n }\r\n\r\n if (!!options) options.success(data);\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Lookup\", false);\r\n return [];\r\n }\r\n }\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n }\r\n\r\n field.kendoAutoComplete({\r\n dataSource: dataSource,\r\n dataTextField: \"text\",\r\n delay: 200,\r\n filter: \"contains\"\r\n });\r\n }\r\n field.attr(\"spellcheck\", model.SpellCheck);\r\n field.on(\"keypress\", function (e) {\r\n var model = $(this).data(\"field\");\r\n if (model && model.FieldStatus != null) {\r\n self.ResetField(this, true);\r\n }\r\n model.HasChange = (model.HasChangeOvrd == null) ? false : model.HasChangeOvrd;\r\n });\r\n\r\n field.on(\"keydown\", function (e) {\r\n var value = $(this).val();\r\n if (!value && e.which == 8) {\r\n e.preventDefault();\r\n var autocomplete = $(this).data(\"kendoAutoComplete\");\r\n if (autocomplete) {\r\n autocomplete.search(\"\");\r\n }\r\n } else {\r\n self.FieldKeyDown(e);\r\n }\r\n });\r\n field.on(\"keyup\", self.FieldKeyUp);\r\n\r\n field.on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupAutoComplete\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the back button.\r\n /// \r\n /// */\r\n self.SetupBackButton = function () {\r\n if (\r\n !self.Referrer ||\r\n self.Referrer.toLowerCase().indexOf(\"/event/edit\") == -1\r\n ) {\r\n $(\"#previouspage-button\").css(\"display\", \"none\");\r\n }\r\n\r\n $(\"#previouspage-button\").on(\"click\", function () {\r\n self.CanLeavePage(function () {\r\n if (self.SourceEvent && self.SourceEventId && self.SourceEventId > 0) {\r\n var selection = self.SourceEvent + \"-\" + self.SourceEventId;\r\n VR.Common.SetupEditPage(selection, VR.Common.CanOpen);\r\n } else {\r\n window.location.href = self.Referrer;\r\n }\r\n });\r\n });\r\n }; //SetupBackButton\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the Button control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupButton = function (model) {\r\n var input = $(\"#f\" + model.FieldId);\r\n $(input).attr(\"data-field-name\", model.FieldName);\r\n $(input).on(\"click\", function (e) {\r\n self.ErrorPanel.resetError(model.FieldId);\r\n $.each(model.Edits, function (index, edit) {\r\n if (model.ShouldRunEdits) {\r\n VR.Script.ExecuteScript(input, model, edit);\r\n }\r\n });\r\n });\r\n\r\n $(input).on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n\r\n input.on(\"keydown\", self.FieldKeyDown);\r\n\r\n var parent = input.parents(\".edit-field\");\r\n $(parent).css(\"height\", \"auto\");\r\n }; //SetupButton\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the CheckBox control.\r\n /// \r\n /// The field model.\r\n /// The value to indicate if the field is to be created.\r\n /// */\r\n self.SetupCheckBox = function (model, isCreating) {\r\n if (isCreating) {\r\n var html =\r\n \"\";\r\n\r\n var section = $(\"#p\" + model.FieldId);\r\n $(section).html(html);\r\n $(section).addClass(\"input-field\");\r\n }\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n $(input).prop(\"checked\", [\"Y\", \"T\"].includes(model.FieldValue));\r\n input.on(\"keydown\", self.FieldKeyDown);\r\n\r\n input.on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n\r\n input.on(\"change blur\", function (e) {\r\n if (nx.ValueOf(model.FieldId) == \"Y\" || nx.ValueOf(model.FieldId) == \"T\") { \r\n $(input).attr(\"checked\", \"checked\");\r\n } else {\r\n $(input).removeAttr(\"checked\");\r\n }\r\n self.DoFieldValueChanged(\"#f\" + model.FieldId);\r\n if (model.Edits.length > 0) {\r\n self.ValidateField(input);\r\n e.preventDefault();\r\n \r\n self.DoSkipFields(input);\r\n //self.FocusNextField(model, e.shiftKey); \r\n }\r\n });\r\n }; //SetupCheckBox\r\n self.SetupDataSourceForComboBox = function (\r\n fieldName,\r\n textProperty,\r\n valueProperty,\r\n model,\r\n fieldValue\r\n ) {\r\n if (!fieldValue) fieldValue = \"\";\r\n return {\r\n DropDownList: $.map(model, function (row) {\r\n return row[textProperty];\r\n }),\r\n DropDownValues: $.map(model, function (row) {\r\n return row[valueProperty];\r\n }),\r\n FieldValue: fieldValue,\r\n FieldId: self.GetFieldIdFromFieldName(fieldName)\r\n };\r\n }; //SetupDataSourceForComboBox\r\n self.SetupDataSourceForDropDownList = function (\r\n fieldName,\r\n textProperty,\r\n valueProperty,\r\n model\r\n ) {\r\n return {\r\n List: $.map(model, function (row) {\r\n return row[textProperty];\r\n }),\r\n Keys: $.map(model, function (row) {\r\n return row[valueProperty];\r\n })\r\n };\r\n }; //SetupDataSourceForDropDownList\r\n self.GetFieldIdFromFieldName = function (fieldName) {\r\n var field = $(\"input[data-field-name='\" + fieldName + \"']\");\r\n if (!!field && field.length > 0) {\r\n return field.attr(\"id\").substring(1);\r\n } else {\r\n return \"\";\r\n }\r\n }; //GetFieldIdFromName\r\n self.ComboBoxTimeout = null;\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up ComboBox.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupComboBox = function (model) {\r\n var dataSource = [];\r\n var index = -1;\r\n var autoBind = false;\r\n model.FieldType = \"ComboBox\";\r\n var filter = \"\";\r\n let shouldUpdateFieldValue = null;\r\n\r\n if (model.DropDownList && model.DropDownValues) {\r\n if (model.ValidationDropdownItems) {\r\n for (let i = 0; i < model.ValidationDropdownItems.length; i++) {\r\n let curItem = model.ValidationDropdownItems[i];\r\n let curValue = curItem.ValueInt === null ? curItem.ValueString : curItem.ValueInt;\r\n if (curValue == model.FieldValue) {\r\n index = i;\r\n }\r\n else if (model.FieldValue == curItem.Label) {\r\n index = i;\r\n shouldUpdateFieldValue = curValue;\r\n }\r\n dataSource.push({ text: curItem.Label, value: curValue });\r\n }\r\n }\r\n else {\r\n for (var i = 0; i < model.DropDownList.length; i++) {\r\n var value = model.DropDownValues[i];\r\n\r\n if (value == model.FieldValue) {\r\n index = i;\r\n }\r\n if (value.trim() != \"\") {\r\n dataSource.push({ text: model.DropDownList[i], value: value });\r\n }\r\n }\r\n }\r\n autoBind = true;\r\n }\r\n else {\r\n filter = \"startswith\";\r\n var fieldId = model.FieldId;\r\n dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var input = $(\"#f\" + fieldId)\r\n .parent()\r\n .find(\"input[name='f\" + fieldId + \"_input']\");\r\n var val = $(input).val();\r\n var model = $(\"#f\" + fieldId).data(\"field\");\r\n let filter = self.GetFilterValues(model);\r\n var voidVal = \"\";\r\n if (model && model.VoidField) {\r\n voidVal = self.GetFieldValue(model.VoidField);\r\n }\r\n var valfiltertype = \"\";\r\n if (model && model.ValFilterType) {\r\n valfiltertype = model.ValFilterType;\r\n }\r\n valfiltertype = encodeURIComponent(valfiltertype);\r\n var webfiltertype = \"\";\r\n if (model && model.WebFilterType) {\r\n webfiltertype = model.WebFilterType;\r\n }\r\n webfiltertype = encodeURIComponent(webfiltertype);\r\n performLookup(\r\n fieldId,\r\n val,\r\n filter,\r\n valfiltertype,\r\n voidVal,\r\n webfiltertype,\r\n self.EventYear,\r\n function (result) {\r\n model.LookupType = null; //reset lookup type so that we don't always use one value over another\r\n if (result.Code == 0) {\r\n var data = [];\r\n if (!result.List || result.List.length == 0) {\r\n //data.push({ text: \"\", value: \"\" });\r\n } else {\r\n model.DropDownList = result.List;\r\n model.DropDownValues = result.Keys;\r\n model.ValidationDropdownItems = result.DropdownOptions;\r\n for (var i = 0; i < result.DropdownOptions.length; i++) {\r\n var curDropdownOption = result.DropdownOptions[i];\r\n data.push({\r\n text: curDropdownOption.Label,\r\n value: curDropdownOption.ValueInt === null ? curDropdownOption.ValueString : curDropdownOption.ValueInt\r\n });\r\n }\r\n }\r\n if (!!options) options.success(data);\r\n // this is Kendo magic\r\n else {\r\n // we need to apply the changes here if options is not assigned.\r\n $(\"#f\" + fieldId)\r\n .data(\"kendoComboBox\")\r\n .setDataSource(data);\r\n }\r\n if (!input.is(\":focus\")) {\r\n $(\"#f\" + fieldId)\r\n .data(\"kendoComboBox\")\r\n .close();\r\n }\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Lookup\", true);\r\n return [];\r\n }\r\n }\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n }\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n if (!model.AllowOther) {\r\n input.addClass(\"combobox-no-literals\");\r\n }\r\n if (model.WebFilterType != \"\" && model.WebFilterType != null) {\r\n filter = model.WebFilterType;\r\n }\r\n var groupdiv = $(\"#g\" + model.FieldId + \">div>div\");\r\n var combospan = groupdiv.find(\"div > span.k-combobox\");\r\n $(input).kendoComboBox({\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n delay: 200,\r\n filter: filter,\r\n autoBind: autoBind,\r\n suggest: true,\r\n open: function (e) {\r\n var dropDown = $(e.sender.element);\r\n if (!dropDown.is(\":not([readonly])\")) {\r\n e.preventDefault();\r\n }\r\n }\r\n });\r\n var selectspan = $(input).parent().find(\"span.k-select\");\r\n $(selectspan).attr(\"aria-label\", model.FieldLabel + \" Select\");\r\n $(\"[name='f\" + model.FieldId + \"_input']\").attr(\r\n \"spellcheck\",\r\n model.SpellCheck\r\n );\r\n var comboBox = $(input).data(\"kendoComboBox\");\r\n var dataSource = comboBox.dataSource.data();\r\n var index = -1;\r\n\r\n if (shouldUpdateFieldValue !== null) {\r\n self.SetFieldValue(input, shouldUpdateFieldValue);\r\n }\r\n\r\n if (model.DefaultValue !== null && model.DropDownList !== null) {\r\n index = model.DropDownList.indexOf(model.DefaultValue);\r\n }\r\n\r\n if (model.FieldValue !== null && model.FieldValue !== \"\") {\r\n if ($.grep(dataSource, function (item) { return (item.value ? item.value : item.text) == model.FieldValue }).length == 0) {\r\n\r\n if (index == -1) {\r\n if (model.ValidationDropdownItems) {\r\n let selectedItem = model.ValidationDropdownItems.find(d => (d.ValueInt == null ? d.ValueString : d.ValueInt) == model.FieldValue);\r\n if (selectedItem) {\r\n comboBox.dataSource.add({\r\n text: selectedItem.Label,\r\n value: selectedItem.ValueInt == null ? selectedItem.ValueString : selectedItem.ValueInt\r\n });\r\n }\r\n else {\r\n comboBox.dataSource.add({\r\n text: model.FieldValue,\r\n value: model.FieldValue\r\n });\r\n }\r\n }\r\n else {\r\n comboBox.dataSource.add({\r\n text: model.FieldValue,\r\n value: model.FieldValue\r\n });\r\n }\r\n \r\n comboBox.value(model.FieldValue);\r\n }\r\n else {\r\n comboBox.value(comboBox.text());\r\n }\r\n }\r\n }\r\n\r\n if ((model.FieldValue !== null && model.FieldValue !== \"\") && (model.DefaultValue !== null && model.DropDownList !== null)) {\r\n if ($.grep(dataSource, function (item) { return (item.value ? item.value : item.text) == model.FieldValue }).length == 0) {\r\n\r\n comboBox.dataSource.add({\r\n text: model.FieldValue,\r\n value: model.FieldValue\r\n });\r\n comboBox.value(model.FieldValue);\r\n \r\n }\r\n }\r\n\r\n if (model.FieldName === \"\" && model.DefaultValue !== null && model.DefaultValue !== \"\") {\r\n if (\r\n $.grep(dataSource, function (item) { return item.text == model.DefaultValue }).length == 0\r\n ) {\r\n comboBox.dataSource.add({\r\n text: model.DefaultValue,\r\n value: model.DefaultValue\r\n });\r\n }\r\n comboBox.value(model.DefaultValue);\r\n }\r\n\r\n var errorMessage = \"\";\r\n\r\n if (self.EventId == 0) {\r\n self.DoFieldValueChanged(input);\r\n /*if (!!model.DefaultValue && model.DropDownList !== null) {\r\n model.FieldValue = model.DropDownValues[model.DropDownList.indexOf(model.DefaultValue)];\r\n if (!!model.FieldValue && model.DropDownList !== null) {\r\n model.FieldValue = model.DropDownList[model.DropDownList.indexOf(model.DefaultValue)];\r\n }\r\n if (typeof (model.FieldValue) === \"undefined\") {\r\n errorMessage = \"The default value specified for \" + model.FieldName + \"(\" + model.FieldId + \") is not an existing value within the \" + model.FieldName + \" combobox. Select an existing value as a default or change to accept other literal\";\r\n }\r\n }*/\r\n }\r\n\r\n /*\r\n // this is no longer needed with the combobox changes (VRS-4617 and VRS-4711)\r\n if ((model.FieldValue !== null && model.FieldValue !== \"\")) {\r\n if (!!model.DropDownList && !!model.DropDownValues && errorMessage === \"\" && model.DropDownValues.includes(model.FieldValue)) {\r\n model.FieldValue = model.DropDownList[model.DropDownValues.indexOf(model.FieldValue)];\r\n }\r\n }\r\n */\r\n\r\n if (self.EventId == 0 && !model.FieldValue) {\r\n model.FieldValue = model.DefaultValue;\r\n }\r\n\r\n $(input).data(\"prevValue\", model.FieldValue);\r\n\r\n comboBox.select(function (dataItem) {\r\n if (errorMessage !== \"\" && (model.FieldValue.toLowerCase() !== model.DefaultValue.toLowerCase())) {\r\n console.log(errorMessage);\r\n return;\r\n }\r\n if (model.FieldValue === null) {\r\n model.FieldValue = \"\";\r\n }\r\n\r\n return dataItem.value.toString().toLowerCase() === model.FieldValue.toString().toLowerCase();\r\n });\r\n\r\n if (!!model.FieldStatus) {\r\n self.SetStatus(comboBox.input, model, model.FieldStatus, null, null);\r\n }\r\n\r\n comboBox.input.on(\"keydown\", function (e) {\r\n self.FieldKeyDown(e);\r\n });\r\n $(input).on(\"touchstart\", function (e) {\r\n var model = null;\r\n model = $(e.target).data(\"field\");\r\n nx.FocusField({ input: e.target, model: model }, true);\r\n });\r\n if (filter != \"\") {\r\n comboBox.input.attr(\"maxlength\", model.MaxLength);\r\n }\r\n comboBox.input.on(\"keyup\", self.FieldKeyUp);\r\n comboBox.input.on(\"focus\", function (e) {\r\n var model = $(\r\n \"#\" +\r\n $(this)\r\n .attr(\"name\")\r\n .replace(\"_input\", \"\")\r\n ).data(\"field\");\r\n if (model) {\r\n nx.Model = model;\r\n model.PreviousValue = this.value;\r\n $(this).select();\r\n //model.Validated = false;\r\n console.log(\"onfocus model.FieldName=\" + model.FieldName);\r\n } else {\r\n nx.Model = null;\r\n console.log(\"onfocus nodata\");\r\n }\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n\r\n }; //SetupComboBox\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the controls.\r\n /// The list of fields.\r\n /// \r\n /// */\r\n self.SetupControls = function (index) {\r\n if (\r\n index == null ||\r\n !self.Tabs ||\r\n self.Tabs.length == 0 ||\r\n index < -1 ||\r\n index > self.Tabs.length\r\n ) {\r\n return;\r\n }\r\n var fields = self.Tabs[index];\r\n if (!fields || fields.length < 1) {\r\n return;\r\n }\r\n var panelId = \"tab-panel\" + index.toString();\r\n var panel = $(\"#\" + panelId);\r\n var init = $(panel).attr(\"data-init\");\r\n if (init != \"0\") {\r\n return;\r\n }\r\n\r\n $.each(fields, function (index, model) {\r\n switch (model.FieldType) {\r\n case \"AutoComplete\":\r\n self.SetupAutoComplete(model);\r\n break;\r\n case \"Button\":\r\n self.SetupButton(model);\r\n break;\r\n case \"CheckBox\":\r\n self.SetupCheckBox(model);\r\n break;\r\n case \"ComboBox\":\r\n self.SetupComboBox(model);\r\n break;\r\n case \"DatePicker\":\r\n self.SetupDatePicker(model);\r\n break;\r\n case \"DateTimePicker\":\r\n self.SetupDateTimePicker(model);\r\n break;\r\n case \"DropDownList\":\r\n self.SetupComboBox(model);\r\n break;\r\n case \"Grid\":\r\n self.SetupGrid(model);\r\n break;\r\n case \"Hidden\":\r\n break;\r\n case \"Image\":\r\n self.SetupImage(model);\r\n break;\r\n case \"Label\": self.SetupLabel(model); break;\r\n case \"MaskedTextBox\":\r\n self.SetupMaskedEdit(model);\r\n break;\r\n case \"MemoEdit\":\r\n self.SetupMemoBox(model);\r\n break;\r\n case \"MonthPicker\":\r\n self.SetupDatePicker(model);\r\n break;\r\n case \"MultiSelect\":\r\n self.SetupMultiSelect(model);\r\n break;\r\n case \"NumericTextBox\":\r\n self.SetupNumericTextBox(model);\r\n break;\r\n case \"RadioButton\":\r\n self.SetupRadioButton(model);\r\n break;\r\n case \"Signature\":\r\n self.SetupSignatureButton(model);\r\n break;\r\n case \"TextBox\":\r\n self.SetupTextBox(model);\r\n break;\r\n case \"TimePicker\":\r\n self.SetupTimePicker(model);\r\n break;\r\n }\r\n\r\n self.CreateFieldValidator(model);\r\n });\r\n\r\n //self.InitFields(index);\r\n\r\n $(panel).attr(\"data-init\", \"1\");\r\n }; //SetupControls\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Sets up DatePicker.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupDatePicker = function (model) {\r\n var format = model.InputFormat;\r\n var input = $(\"#f\" + model.FieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n if (model.FieldType == \"DatePicker\") {\r\n if (format == null || format == \"\") {\r\n format = \"MM/dd/yyyy\";\r\n }\r\n if (\r\n model.FieldValue &&\r\n model.FieldValue.indexOf(\"99\") < 0 &&\r\n model.FieldValue.indexOf(\"88\") < 0\r\n ) {\r\n model.FieldValue = moment(model.FieldValue).format(\r\n format.toUpperCase()\r\n );\r\n input.val(model.FieldValue);\r\n }\r\n var past =\r\n $.grep(model.Edits, function (edit, i) {\r\n return edit.SpecialEdit && edit.SpecialEdit.toUpperCase() == \"PAST\";\r\n }).length > 0;\r\n $(input).kendoDatePicker({\r\n //max: new Date(model.InputMax),\r\n //min: new Date(model.InputMin),\r\n max: past ? new Date() : undefined,\r\n format: format,\r\n //change: function (e) {\r\n // self.DoFieldValueChanged(input);\r\n //},\r\n close: function (e) {\r\n self.ResetField(\"#f\" + model.FieldId);\r\n }\r\n });\r\n var selectspan = $(input).parent().find(\"span.k-select\");\r\n $(selectspan).attr(\"aria-label\", model.FieldLabel + \" Select\");\r\n $(input).kendoMaskedTextBox({\r\n mask: \"00/00/0000\"\r\n });\r\n } else {\r\n if (format == null || format == \"\") {\r\n format = \"MMMM yyyy\";\r\n }\r\n if (model.FieldValue) {\r\n model.FieldValue = moment(model.FieldValue).format(\r\n format.toUpperCase()\r\n );\r\n input.val(model.FieldValue);\r\n }\r\n $(input).kendoDatePicker({\r\n //max: new Date(model.InputMax),\r\n //min: new Date(model.InputMin),\r\n start: \"year\",\r\n depth: \"year\",\r\n format: format,\r\n //change: function (e) {\r\n // self.DoFieldValueChanged(input);\r\n //},\r\n close: function (e) {\r\n self.ResetField(\"#f\" + model.FieldId);\r\n }\r\n });\r\n var selectspan = $(input).parent().find(\"span.k-select\");\r\n $(selectspan).attr(\"aria-label\", model.FieldLabel + \" Select\");\r\n }\r\n\r\n $(input).on(\"keydown\", function (e) {\r\n if (e.which == 9) {\r\n self.FieldKeyDown(e);\r\n }\r\n });\r\n\r\n $(input).on(\"keypress\", function (e) {\r\n var datePicker = $(this).data(\"kendoDatePicker\");\r\n var model = $(this).data(\"field\");\r\n if (!model || model.FieldType != \"DatePicker\") {\r\n return;\r\n }\r\n switch (e.which) {\r\n case 84:\r\n case 116:\r\n e.preventDefault();\r\n var date = new Date();\r\n date.setHours(0, 0, 0, 0);\r\n datePicker.value(date);\r\n //self.DoFieldValueChanged(input);\r\n break;\r\n case 66:\r\n case 70:\r\n case 98:\r\n case 102:\r\n e.preventDefault();\r\n var dateString = datePicker.value();\r\n if (dateString == null || dateString == \"\") {\r\n dateString = new Date();\r\n }\r\n var value = new Date(dateString);\r\n if (!isNaN(value)) {\r\n var add = 1;\r\n if (e.which == 66 || e.which == 98) {\r\n add = -1;\r\n }\r\n var newDate = new Date(value);\r\n newDate.setDate(value.getDate() + add);\r\n datePicker.value(newDate);\r\n //self.DoFieldValueChanged(input);\r\n }\r\n break;\r\n case 85:\r\n case 117:\r\n e.preventDefault();\r\n $(this).val(\"99/99/9999\");\r\n break;\r\n case 88:\r\n case 120:\r\n e.preventDefault();\r\n $(this).val(\"88/88/8888\");\r\n }\r\n });\r\n\r\n $(input).on(\"focus\", function (e) {\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n })\r\n\r\n //$(input).on(\"keyup\", self.FieldKeyUp);\r\n\r\n //$(input).on(\"focus\", function (e) {\r\n // $(this).select();\r\n // VR.Image.TypeFromImage.SetField(model, this);\r\n //});\r\n }; //SetupDatePicker\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up DateTimePicker.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupDateTimePicker = function (model) {\r\n var input = $(\"#f\" + model.FieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n //var date = new Date(model.FieldValue);\r\n $(input).kendoDateTimePicker({\r\n //change: function (e) {\r\n // self.DoFieldValueChanged(input);\r\n //},\r\n //max: new Date(model.InputMax),\r\n //min: new Date(model.InputMin),\r\n value: model.FieldValue ? new Date(model.FieldValue) : \"\"\r\n });\r\n var selectspan = $(input).parent().find(\"span.k-select\");\r\n $(selectspan).attr(\"aria-label\", model.FieldLabel + \" Select\");\r\n $(input).data(\"kendoDateTimePicker\").readonly(!model.CanEdit);\r\n\r\n $(input).on(\"keydown\", function (e) {\r\n if ($(this).hasClass(\"readonly-text\")) {\r\n if (e.which != 9) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n self.FieldKeyDown(e);\r\n });\r\n\r\n $(input).on(\"keypress\", function (e) {\r\n var datePicker = $(this).data(\"kendoDateTimePicker\");\r\n switch (e.which) {\r\n case 84:\r\n case 116:\r\n e.preventDefault();\r\n var date = new Date();\r\n date.setHours(0, 0, 0, 0);\r\n datePicker.value(date);\r\n self.DoFieldValueChanged(input);\r\n break;\r\n case 66:\r\n case 70:\r\n case 98:\r\n case 102:\r\n e.preventDefault();\r\n var value = new Date(datePicker.value());\r\n if (!isNaN(value)) {\r\n var add = 1;\r\n if (e.which == 66 || e.which == 98) {\r\n add = -1;\r\n }\r\n var newDate = new Date(value);\r\n newDate.setDate(value.getDate() + add);\r\n datePicker.value(newDate);\r\n self.DoFieldValueChanged(input);\r\n }\r\n break;\r\n case 85:\r\n case 117:\r\n e.preventDefault();\r\n $(this).val(\"99/99/9999\");\r\n break;\r\n case 78:\r\n case 110:\r\n e.preventDefault();\r\n $(this).val(\"88/88/8888\");\r\n }\r\n });\r\n\r\n $(input).on(\"keyup\", self.FieldKeyUp);\r\n\r\n $(input).on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupDateTimePicker\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up document tracking.\r\n /// \r\n /// */\r\n self.SetupDocTracking = function () {\r\n $(\"#docktrack-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n var selection = \"doctrack-\" + eventId + \"|event=\" + event;\r\n selection = \"search=\" + encodeURIComponent(selection);\r\n var url =\r\n VR.Common.GetRootURL(\"event/edit\") +\r\n \"event/search?selection=\" +\r\n encodeURIComponent(selection);\r\n nxLoading.start(\"Loading page. Please wait...\");\r\n if (VR.Common.CanOpen) {\r\n window.open(url);\r\n nxLoading.end();\r\n } else {\r\n window.location.href = url;\r\n }\r\n });\r\n }; //SetupDocTracking\r\n self.TakeActionOnField = function (key, message, location, field, model) {\r\n if (key === \"rekeyed\") {\r\n VR.Script.FocusField({ input: field, model: model }, true);\r\n self.RemoveErrorField(model);\r\n model.FieldStatus = null;\r\n } else {\r\n if (key === \"queried\" || key === \"overridden\") {\r\n self.RemoveErrorField(model);\r\n }\r\n self.SetStatus(field, model, key, message, location);\r\n }\r\n }; //TakeActionOnField\r\n\r\n function capitalizeFirstLetters(str) {\r\n return str.toLowerCase().replace(/^\\w|\\s\\w/g, function (letter) {\r\n return letter.toUpperCase();\r\n });\r\n }\r\n\r\n self.BindDropDown = function (data, model, input) {\r\n var clonedData = data.slice(0);\r\n\r\n var groupdiv = $(\"#g\" + model.FieldId + \">div>div\");\r\n $(\"#f\" + model.FieldId).kendoDropDownList({\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: clonedData,\r\n open: function (e) {\r\n if (input.attr(\"readonly\")) {\r\n e.preventDefault();\r\n }\r\n }\r\n });\r\n var readonly = input.attr(\"readonly\");\r\n var parent = $(input).parents(\".k-dropdown\");\r\n $(parent).on(\"keydown\", function (e) {\r\n self.FieldKeyDown(e);\r\n });\r\n $(parent).on(\"keypress\", function (e) {\r\n var input = $(\"#f\" + model.FieldId);\r\n if ($(input).hasClass(\"readonly-text\")) {\r\n return;\r\n }\r\n if (e.key == \" \") {\r\n if (!readonly) {\r\n var dropdownlist = $(input).data(\"kendoDropDownList\");\r\n if (dropdownlist) {\r\n dropdownlist.open();\r\n $(input).select();\r\n }\r\n }\r\n }\r\n });\r\n if (readonly) {\r\n input.data(\"field\", model);\r\n self.SetReadOnly(input, true);\r\n }\r\n }; //BindDropDown\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up event activation.\r\n /// \r\n /// */\r\n self.SetupEventActivation = function () {\r\n $(function () {\r\n $(\"#deleterecs-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n VR.Edit.changeRecordActiveStatus(e, true);\r\n });\r\n $(\"#activaterec-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n VR.Edit.changeRecordActiveStatus(e, false);\r\n });\r\n });\r\n }; //SetupEventActivation\r\n\r\n self.changeRecordActiveStatus = function(e, deleteRecord) {\r\n var isactive = self.GetIsActive();\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n var recordAction;\r\n if (isactive == 'T') {\r\n recordAction = (deleteRecord ? 'delete' : 'inactivate');\r\n } else {\r\n recordAction = (deleteRecord ? 'delete' : 'activate')\r\n }\r\n if (!eventId || eventId == 0) {\r\n VR.Common.ShowError(\"The new record cannot be activated/inactivated.\");\r\n return;\r\n }\r\n if (deleteRecord) {\r\n isactive = \"\";\r\n }\r\n let params = { deleteRecord, isactive, event, eventId, recordAction };\r\n VR.Common.ShowDeleteRecordMessageBox(\"Are you sure you want to \" + recordAction + \" this record?\", null, [\"yes\", \"no\"], params, deleteEventRecord, \"Record Confirmation\");\r\n \r\n }\r\n\r\n function deleteEventRecord(params) {\r\n nxLoading.start(\"Posting. Please wait...\");\r\n VR.Common.SecurePost(\r\n \"event/activate\",\r\n {\r\n request: {\r\n name: params.event,\r\n id: params.eventId,\r\n active: params.isactive,\r\n hide: params.deleteRecord ? \"T\" : \"F\"\r\n }\r\n },\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Activate/Inactivate\", true);\r\n } else {\r\n params.isactive = params.isactive == \"T\" || params.deleteRecord ? \"F\" : \"T\";\r\n var inputs = self.GetInputFields(\"ISACTIVE\");\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(input, params.isactive);\r\n var model = $(input).data(\"field\");\r\n if (model) {\r\n model.HasChange = false;\r\n model.OriginalValue = params.isactive;\r\n }\r\n });\r\n\r\n self.Isactive = params.isactive;\r\n if (params.isactive == \"T\") {\r\n $(\"#hidden-record\").css(\"display\", \"none\");\r\n VR.Common.ShowInfo(\"The record was \" + params.recordAction + \"d.\");\r\n } else {\r\n $(\"#hidden-record\").css(\"display\", \"\");\r\n VR.Common.ShowInfo(\"The record was \" + params.recordAction + \"d.\");\r\n }\r\n }\r\n }\r\n ).always(function () {\r\n nxLoading.end();\r\n });\r\n }\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up fields.\r\n /// \r\n /// The result from the web service.\r\n /// */\r\n self.SetupFields = function (result) {\r\n self.Tabs = [];\r\n if (result.Tabs && result.Tabs.length > 0) {\r\n var firstTab = 0;\r\n var lastTab = result.Tabs.length - 1;\r\n var first = null;\r\n var last = null;\r\n $.each(result.Tabs, function (index, tab) {\r\n var fields = [];\r\n if (tab.Sections) {\r\n $.each(tab.Sections, function (index, section) {\r\n $.each(section.Fields, function (index, model) {\r\n model.Tab = tab.Name;\r\n model.Section = section.Name;\r\n\r\n if (model.isRetained && editPageData.CRUDType == \"Create\") {\r\n let tempStickyVal = getStickyValue(model.FieldId);\r\n if (tempStickyVal === \"\") {\r\n setStickyValue(model.FieldId, model.FieldValue);\r\n }\r\n else {\r\n model.FieldValue = tempStickyVal;\r\n }\r\n }\r\n\r\n model.FieldValue = VR.Common.ToFormattedValue(model.FieldValue);\r\n model.OriginalValue = VR.Common.ToFormattedValue(\r\n model.OriginalValue\r\n );\r\n if (!!model.FieldValue && model.FieldValue == model.OriginalValue) {\r\n model.PreviousValue = model.OriginalValue;\r\n } else {\r\n model.PreviousValue = \"\";\r\n }\r\n model.HasChange = false;\r\n model.HasChangeOvrd = null;\r\n if (model.FieldValue && self.EventId == 0) {\r\n model.HasChange = true;\r\n }\r\n fields.push(model);\r\n self.Fields.push(model);\r\n $(\"#f\" + model.FieldId).data(\"field\", model);\r\n if (!first) {\r\n first = model;\r\n }\r\n if (last) {\r\n last.Next = model;\r\n model.Prev = last;\r\n }\r\n last = model;\r\n });\r\n });\r\n\r\n self.Tabs.push(fields);\r\n }\r\n });\r\n\r\n if (first) {\r\n first.Prev = last;\r\n last.Next = null;\r\n }\r\n\r\n $(\"#bottom-menu\")\r\n .find(\"a\")\r\n .on(\"click\", function (e) {\r\n var id = $(e.target).attr(\"data-target\");\r\n $(\"#tabs\")\r\n .find(\"a[aria-controls=\" + id + \"]\")\r\n .trigger(\"click\");\r\n $(\"#bottom-button\").trigger(\"click\");\r\n });\r\n\r\n if (self.Tabs.length > 0) {\r\n self.SetupControls(0);\r\n $(\"#tab-content\").css(\"display\", \"\");\r\n\r\n if (VR.Common.IsMobile()) {\r\n $(\"#tab-content\").css({\r\n \"overflow-y\": \"scroll\",\r\n \"-webkit-overflow-scrolling\": \"touch\",\r\n \"max-height\": \"65vh\"\r\n });\r\n }\r\n }\r\n\r\n $(\".tab\").on(\"click\", function (e) {\r\n var prevTabList = $(\"#tabs\").find(\"a[aria-expanded=true]\");\r\n if (prevTabList.length > 0) {\r\n $(prevTabList[0]).attr(\"tabindex\", \"-1\");\r\n }\r\n var id = $(this).attr(\"data-index\");\r\n $(this).attr(\"tabindex\", \"0\");\r\n id = parseInt(id, 10);\r\n self.SetupControls(id);\r\n $(\"#tab-content\").scrollTop(0);\r\n });\r\n $(\".tab\").on(\"keydown\", function (e) {\r\n var id = $(this).attr(\"data-index\");\r\n var indexTab = parseInt(id, 10);\r\n var currentIndexTab = indexTab;\r\n var flag = false;\r\n\r\n switch (e.key) {\r\n case 'ArrowLeft':\r\n if (currentIndexTab === firstTab) {\r\n indexTab = lastTab;\r\n } else {\r\n indexTab = indexTab - 1;\r\n }\r\n flag = true;\r\n break;\r\n case 'ArrowRight':\r\n if (currentIndexTab === lastTab) {\r\n indexTab = firstTab;\r\n } else {\r\n indexTab = indexTab + 1;\r\n }\r\n flag = true;\r\n break;\r\n case 'Home':\r\n if (currentIndexTab !== firstTab) {\r\n indexTab = firstTab;\r\n flag = true;\r\n }\r\n break;\r\n case 'End':\r\n if (currentIndexTab !== lastTab) {\r\n indexTab = lastTab;;\r\n flag = true;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (flag) {\r\n id = \"tab-panel\" + indexTab;\r\n var tabList = $(\"#tabs\").find(\"a[aria-controls=\" + id + \"]:not([aria-expanded=true])\");\r\n if (tabList.length > 0) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n $(tabList[0]).trigger(\"click\");\r\n tabList.focus();\r\n }\r\n }\r\n });\r\n }\r\n\r\n var isactive = self.GetIsActive();\r\n if (!isactive || isactive.toUpperCase() == \"T\") {\r\n $(\"#hidden-record\").css(\"display\", \"none\");\r\n } else {\r\n $(\"#hidden-record\").css(\"display\", \"\");\r\n }\r\n }; //SetupFields\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up loading of files.\r\n /// \r\n /// */\r\n self.SetupFileLoad = function () {\r\n $(\"#loadfile-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n if (!self.EventId || self.EventId == 0) {\r\n VR.Common.ShowError(\"Please save this record first.\");\r\n return;\r\n }\r\n\r\n $(\"#imagefile-title\").html(\"Load File\");\r\n $(\"#image-file-group\").attr(\"data-file-type\", \"1\");\r\n $(\"#imagefile-button\").attr(\"accept\", \"*\");\r\n $(\"#imagename-text\").val(\"\");\r\n $(\"#image-file\").val(\"\");\r\n $(\"#image-data\").prop(\"data-src\", \"\");\r\n $(\"#image-file-error\").html(\"\");\r\n $(\"#imageedit-isactive\").attr(\"checked\", true);\r\n $(\"#imagefile-modal\").modal(\"show\");\r\n });\r\n\r\n $(\"#loadimage-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n if (!self.EventId || self.EventId == 0) {\r\n VR.Common.ShowError(\"Please save this record first.\");\r\n return;\r\n }\r\n\r\n $(\"#imagefile-title\").html(\"Load Image\");\r\n $(\"#image-file-group\").attr(\"data-file-type\", \"0\");\r\n $(\"#imagefile-button\").attr(\"accept\", \"image/*\");\r\n $(\"#imagename-text\").val(\"\");\r\n $(\"#image-file\").val(\"\");\r\n $(\"#image-data\").prop(\"data-src\", \"\");\r\n $(\"#image-file-error\").html(\"\");\r\n $(\"#imageedit-isactive\").attr(\"checked\", true);\r\n $(\"#imagefile-modal\").modal(\"show\");\r\n });\r\n\r\n self.SetupLoadFile();\r\n }; //SetupFileLoad\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up Grid.\r\n /// \r\n /// The result from the web service.\r\n /// */\r\n self.SetupGrid = function (model) {\r\n var field = model;\r\n var section = $(\"#p\" + model.FieldId);\r\n var grid = $(section).data(\"kendoGrid\");\r\n if (grid) {\r\n return;\r\n }\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n input.removeData(\"field\");\r\n\r\n $(section).html(\"\");\r\n $(section).addClass(\"input-field\");\r\n\r\n var eventId = self.EventId;\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/grid\";\r\n var selection = \"eventId=\" + eventId + \"|fieldId=\" + model.FieldId;\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Grid\", true);\r\n return;\r\n }\r\n\r\n var columns = [];\r\n if (result.Columns) {\r\n for (var i = 0; i < result.Columns.length; i++) {\r\n var model = result.Columns[i];\r\n columns[i] = {\r\n field: model.FieldName,\r\n format: model.Format,\r\n title: model.Title,\r\n width: model.Width\r\n };\r\n }\r\n }\r\n\r\n var dataSource = result.Result;\r\n if (!dataSource) {\r\n dataSource = [];\r\n }\r\n\r\n $.each(dataSource, function (index, row) {\r\n if (result && result.Columns) {\r\n for (var i = 0; i < result.Columns.length; i++) {\r\n var column = result.Columns[i];\r\n row[column.FieldName] = VR.Common.ToDate(row[column.FieldName]);\r\n if (column.Type === \"string\" && typeof row[column.FieldName] === \"string\" && row[column.FieldName].toLowerCase() === \"null\") {\r\n row[column.FieldName] = row[column.FieldName] + \" \";\r\n }\r\n }\r\n }\r\n });\r\n\r\n var dataFields = {};\r\n if (result && result.Columns) {\r\n for (var i = 0; i < result.Columns.length; i++) {\r\n var column = result.Columns[i];\r\n dataFields[column.FieldName] = { type: column.Type };\r\n }\r\n }\r\n\r\n var dataModel = {\r\n fields: dataFields\r\n };\r\n\r\n $(section).kendoGrid({\r\n change: self.RowChanged,\r\n dataSource: {\r\n data: dataSource,\r\n schema: {\r\n model: dataModel\r\n }\r\n },\r\n columns: columns,\r\n height: 300,\r\n mobile: false, //by setting the mobile option to false the grids will render properly on mobile devices today.\r\n sortable: true,\r\n reorderable: true,\r\n scrollable: true,\r\n resizable: true,\r\n toolbar: [\"search\"],\r\n search: {\r\n fields: Object.keys(dataFields)\r\n },\r\n pageable: { pageSize: 10000 },\r\n selectable: \"row\",\r\n navigatable: true\r\n });\r\n $(\".k-grid-content\").css(\"height\", \"200px\");\r\n $(section).css(\"width\", \"90%\");\r\n $(section).css(\"height\", \"300px\");\r\n $(\"#g\" + field.FieldId).css(\"padding-left\", \"17px\");\r\n $(\"#l\" + field.FieldId).css(\"padding-left\", \"0\");\r\n if (field.IsEditable || field.IsDisplayOnly) {\r\n var bottom = $(\"#f\" + field.FieldId + \"-msg\");\r\n bottom.removeClass(\"invalid-msg\");\r\n var fieldid = VR.Common.HtmlEscape(field.FieldId);\r\n var html = \"
\";\r\n if (columns.length > 0) {\r\n html +=\r\n \"\";\r\n }\r\n\r\n if (result.CanAdd && field.IsEditable && !field.IsDisplayOnly) {\r\n html +=\r\n \"\";\r\n }\r\n if (result.ShowDocumentButton) {\r\n html += \"\";\r\n }\r\n bottom.html(html);\r\n bottom.css(\"display\", \"\");\r\n var buttons = bottom.find(\".grid-button\");\r\n buttons.on(\"click\", function (e) {\r\n var id = $(this).attr(\"id\");\r\n var header = \"\";\r\n if (id && id.length > 1) {\r\n header = id.substring(0, 1);\r\n id = id.substring(1);\r\n }\r\n\r\n if (header == \"a\") {\r\n if (self.EventId == 0) {\r\n VR.Common.ShowError(\"Please save this event record first.\");\r\n return;\r\n }\r\n self.CanLeavePage(self.AddNewRecord, this);\r\n }\r\n else if (header == \"d\") {\r\n var gridfield = $(\"#p\" + id);\r\n var grid = gridfield.data(\"kendoGrid\");\r\n var row = grid.select();\r\n if (row) {\r\n self.CanLeavePage(self.DisplayGridEvent, {\r\n grid: grid,\r\n selected: row\r\n });\r\n }\r\n }\r\n else if (header == \"o\") {\r\n var gridfield = $(\"#p\" + id);\r\n var grid = gridfield.data(\"kendoGrid\");\r\n var row = grid.select();\r\n if (row) {\r\n let item = grid.dataItem(row);\r\n if (item == null) {\r\n return;\r\n }\r\n let eventId = item[result.Key];\r\n if (eventId) {\r\n let docSelection = \"name=\" + result.EventName + \"|id=\" + eventId.toString() + \"|year=\" + VR.Edit.GetEventYear();\r\n nxLoading.start(\"Loading documents. Please wait...\");\r\n VR.Common.SecurePost(\"report/documents\", docSelection, function (resultDocs) {\r\n nxLoading.end();\r\n $(\"#griddocs-modal\").modal(\"show\");\r\n if (resultDocs.Code === 0 && Array.isArray(resultDocs.Documents)) {\r\n let tableHtml = \"\";\r\n for (let i = 0; i < resultDocs.Documents.length; i++) {\r\n tableHtml += \"\" + resultDocs.Documents[i].Name + \"\" + (resultDocs.Documents[i].IsFax == true ? \"Yes\" : \"No\") +\r\n \"\";\r\n }\r\n var gridDocBody = $(\"#griddocs-table-body\");\r\n if (tableHtml.length == 0) {\r\n tableHtml = \"

No documents

\";\r\n }\r\n gridDocBody.html(tableHtml);\r\n gridDocBody.find(\".griddocs-table-btn\").on(\"click\", function (e) {\r\n let id = $(this).attr(\"id\");\r\n id = id.substring(4);\r\n let windowValue = $(\"#footer-data\").attr(\"data-window\");\r\n let canPrintSelection = \"name=\" + result.EventName + \"|id=\" + id + \"|eventid=\" + eventId + \"|year=|number=|window=\" + windowValue +\r\n \"|cas=\" + VR.Edit.IsCasEvent.toString();\r\n VR.Doc.SendPrintDocumentRequest(canPrintSelection);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n buttons.on(\"keydown\", self.FieldKeyDown);\r\n }\r\n\r\n var grid = $(section).data(\"kendoGrid\");\r\n\r\n //Delay so that the documents can be properly queried.\r\n setTimeout(function (e) {\r\n var located = false;\r\n if (result.KeyValue) {\r\n located = VR.Script.SelectRow(\r\n field.FieldId,\r\n result.Key,\r\n result.KeyValue\r\n );\r\n }\r\n\r\n if (!located) {\r\n var row = grid.tbody.find(\"tr:eq(0)\");\r\n grid.select(row);\r\n }\r\n }, 10);\r\n grid.GridKey = result.Key;\r\n grid.GridEvent = result.EventName;\r\n grid.FieldId = field.FieldId;\r\n grid.IsEditable = field.IsEditable;\r\n grid.IsDisplayOnly = field.IsDisplayOnly;\r\n grid.IsKeyCached = result.IsKeyCached;\r\n\r\n var table = $(section).find(\"table\");\r\n if (table && table.length > 0) {\r\n table = table[0];\r\n }\r\n $(table).attr(\"id\", \"f\" + field.FieldId);\r\n $(table).attr(\"data-field-name\", field.FieldName);\r\n $(table).addClass(\"input-field\");\r\n $(table).data(\"field\", field);\r\n $(table).data(\"grid\", result);\r\n $(table).on(\"keydown\", self.FieldKeyDown);\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n if (!self.GridDocsRefreshCreated) {\r\n $(\"#griddocs-close-refresh\").on(\"click\", function () {\r\n location.reload();\r\n });\r\n self.GridDocsRefreshCreated = true;\r\n }\r\n }; //SetupGrid\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up image.\r\n /// \r\n /// The result from the web service.\r\n /// */\r\n self.SetupImage = function (model) {\r\n var field = $(\"#f\" + model.FieldId);\r\n field.data(\"field\", model);\r\n var button = $(\"#b\" + model.FieldId);\r\n button.on(\"change\", function () {\r\n var val = $(this).val();\r\n var inputFiles = this.files;\r\n if (inputFiles == undefined || inputFiles.length == 0) {\r\n return;\r\n }\r\n\r\n var inputFile = inputFiles[0];\r\n\r\n var reader = new FileReader();\r\n reader.onload = function (event) {\r\n if (!event || !event.target || !event.target.result) {\r\n VR.Common.ShowError(\r\n \"Could not load file. This is possibly the file is too large.\",\r\n \"Error\"\r\n );\r\n } else if (event.target.result.length > self.MaxImageUpload) {\r\n VR.Common.ShowError(\"The image exceeds the limit (\" + editPageData.MaxImageUpload +\"MB)\", \"Error\");\r\n return;\r\n }\r\n field.prop(\"src\", event.target.result);\r\n field.attr(\"field-changed\", \"1\");\r\n var model = field.data(\"field\");\r\n if (model) {\r\n model.HasChange = (model.HasChangeOvrd == null) ? false : model.HasChangeOvrd;\r\n }\r\n };\r\n reader.onerror = function (event) {\r\n VR.Common.ShowError(\r\n \"Could not load file. This is possibly the file is too large.\",\r\n \"Error\"\r\n );\r\n field.prop(\"src\", null);\r\n field.prop(\"alt\", \"Load error\");\r\n var model = field.data(\"field\");\r\n if (model) {\r\n model.HasChange = (model.HasChangeOvrd == null) ? false : model.HasChangeOvrd;\r\n }\r\n };\r\n reader.readAsDataURL(inputFile);\r\n });\r\n\r\n var parent = field.parents(\".edit-field\");\r\n\r\n parent.find(\".btn-danger\").on(\"click\", function (e) {\r\n field.prop(\"src\", \"\");\r\n field.attr(\"field-changed\", \"1\");\r\n var model = field.data(\"field\");\r\n if (model) {\r\n model.HasChange = (model.HasChangeOvrd == null) ? false : model.HasChangeOvrd;\r\n }\r\n });\r\n\r\n $(parent).css(\"height\", \"auto\");\r\n var buttons = $(parent).find(\".btn\");\r\n buttons.on(\"keydown\", self.FieldKeyDown);\r\n }; //SetupImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the the image editors.\r\n /// \r\n /// */\r\n self.SetupImageEdit = function () {\r\n var modal = $(\"#imageeditor-modal\");\r\n\r\n modal.on(\"show.bs.modal\", function (e) {\r\n var editor = $(\"#imageedit-editor\");\r\n editor.attr(\"data-scaleX\", \"\");\r\n editor.attr(\"data-scaleY\", \"\");\r\n $(\"#imageedit-annotetoggle, #imageedit-editannot\").css(\"display\", \"\");\r\n });\r\n\r\n modal.on(\"shown.bs.modal\", function (e) {\r\n $(document).off(\"focusin.modal\"); //Fix for KendoDropDownList closes immediately when the dopdown is opened. http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field\r\n var fileload = $(this).attr(\"data-fileload\");\r\n if (!fileload) {\r\n var annotation = $(this).attr(\"data-annotation\");\r\n var width = $(this).attr(\"data-annotewidth\");\r\n var height = $(this).attr(\"data-annoteheight\");\r\n VR.Image.Annotation.InitEditorImage(\r\n $(\"#imageedit-editsection\"),\r\n $(\"#imageedit-annotationsection\"),\r\n { annote: annotation, width: width, height: height }\r\n );\r\n }\r\n $(\"#imageedit-dragbutton\").trigger(\"click\");\r\n });\r\n\r\n self.SetupImageEditButtons();\r\n self.SetupImageEditAccept();\r\n self.SetupImageSaveButtons();\r\n\r\n modal = $(\"#tiffeditor-modal\");\r\n\r\n modal.on(\"show.bs.modal\", function (e) { });\r\n\r\n modal.on(\"shown.bs.modal\", function (e) {\r\n $(document).off(\"focusin.modal\"); //Fix for KendoDropDownList closes immediately when the dopdown is opened. http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field\r\n $(\"#tiffeditor-dragbutton\").trigger(\"click\");\r\n var annotation = $(this).attr(\"data-annotation\");\r\n var width = $(this).attr(\"data-annotewidth\");\r\n var height = $(this).attr(\"data-annoteheight\");\r\n VR.Image.Annotation.InitTiffEditorImage(\r\n $(\"#tiffeditor-editsection\"),\r\n $(\"#tiffeditor-annotationsection\"),\r\n { annote: annotation, width: width, height: height }\r\n );\r\n });\r\n\r\n self.SetupTiffEditorButtons();\r\n self.SetupTiffEditAccept();\r\n self.SetupTiffSaveButtons();\r\n }; // SetupImageEdit\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the accept button for the image editor.\r\n /// \r\n /// */\r\n self.SetupImageEditAccept = function () {\r\n $(\"#imageedit-acceptbutton\").on(\"click\", function () {\r\n var imagedit = $(\"#imageedit-editor\");\r\n var id = imagedit.attr(\"data-editor\");\r\n var editor = $(\"#\" + id);\r\n var image = editor.find(\".edit-image\");\r\n var section = $(\"#imageedit-canvassection\");\r\n var data = null;\r\n var display = section.css(\"display\");\r\n if (display != \"none\") {\r\n var canvas = section.children(\"img\");\r\n if (canvas.length > 0) {\r\n data = canvas.attr(\"src\");\r\n } else {\r\n data = \"\";\r\n }\r\n }\r\n\r\n if (data == null) {\r\n data = $(\"#image-data\").prop(\"data-src\");\r\n }\r\n\r\n image.attr(\"src\", data);\r\n var changed = editor.attr(\"data-changed\");\r\n if (!changed) {\r\n changed = \"\";\r\n }\r\n\r\n if (changed.indexOf(\"image\") == -1) {\r\n changed += \"|image\";\r\n }\r\n\r\n id = id.replace(\"editor\", \"canvas\");\r\n if (display != \"none\") {\r\n VR.Image.Annotation.RecreateAnnote(image, \"imageedit-canvasannote\", id);\r\n } else {\r\n VR.Image.Annotation.CopyObjects(\"imageedit-annotationsection\", id);\r\n }\r\n var parent = $(\"#\" + id).parent();\r\n var canvas = parent.data(\"canvas\");\r\n var json = canvas.toJSON([\r\n \"order\",\r\n \"originalText\",\r\n \"originalWidth\",\r\n \"originalHeight\"\r\n ]);\r\n json = JSON.stringify(json);\r\n var width = canvas.getWidth();\r\n var height = canvas.getHeight();\r\n editor.attr(\"annotation\", json);\r\n editor.attr(\"annote-width\", width);\r\n editor.attr(\"annote-height\", height);\r\n\r\n if (changed.indexOf(\"annote\") == -1) {\r\n changed += \"|annote\";\r\n }\r\n\r\n editor.attr(\"data-changed\", changed);\r\n $(\"#imageeditor-modal\").modal(\"hide\");\r\n });\r\n }; //SetupImagEditAccept\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up buttons for image editor.\r\n /// \r\n /// */\r\n self.SetupImageEditButtons = function () {\r\n $(\"#imageedit-buttons\")\r\n .find(\".btn-imageedit\")\r\n .tooltip({\r\n container: \"body\",\r\n trigger: \"hover\"\r\n });\r\n\r\n $(\"#imageedit-dragbutton\").on(\"click\", function (e) {\r\n var section = $(\"#imageedit-editsection\");\r\n var item = section.find(\".cropper-modal\");\r\n item.css(\"opacity\", \"0\");\r\n item = section.find(\".cropper-crop-box\");\r\n item.css(\"display\", \"none\");\r\n $(\"#imageedit-editor\").cropper(\"setDragMode\", \"move\");\r\n $(\"#imageedit-dragbutton\").addClass(\"active\");\r\n $(\"#imageedit-cropbutton\").removeClass(\"active\");\r\n });\r\n\r\n $(\"#imageedit-cropbutton\").on(\"click\", function (e) {\r\n var section = $(\"#imageedit-editsection\");\r\n var item = section.find(\".cropper-modal\");\r\n item.css(\"opacity\", \"0.5\");\r\n item = section.find(\".cropper-crop-box\");\r\n item.css(\"display\", \"\");\r\n $(\"#imageedit-editor\").cropper(\"setDragMode\", \"crop\");\r\n $(\"#imageedit-dragbutton\").removeClass(\"active\");\r\n $(\"#imageedit-cropbutton\").addClass(\"active\");\r\n VR.Image.Annotation.HideAnnotation();\r\n });\r\n\r\n $(\"#imageedit-getimagebutton\").on(\"click\", function (e) {\r\n var section = $(\"#imageedit-editsection\");\r\n var item = section.find(\".cropper-crop-box\");\r\n var display = item.css(\"display\");\r\n if (display == \"none\") {\r\n return;\r\n }\r\n\r\n section.css(\"display\", \"none\");\r\n //var editor = $(\"#imageedit-editor\");\r\n //var width;\r\n //var height;\r\n //if ($(window).width() >= 768) {\r\n // var imageData = editor.cropper('getImageData');\r\n // width = Math.round(imageData.naturalWidth) + \"px\";\r\n // height = Math.round(imageData.naturalHeight) + \"px\";\r\n //} else {\r\n // var modal = $(\"#imageeditor-modal\");\r\n // var size = self.SetImageEditorSize(modal);\r\n // width = size.width + \"px\";\r\n // height = size.height + \"px\";\r\n //}\r\n //var canvas = editor.cropper(\"getCroppedCanvas\");\r\n //$(canvas).css(\"max-height\", height);\r\n //$(canvas).css(\"max-width\", width);\r\n var editor = $(\"#imageedit-editor\");\r\n var annote = $(\"#imageedit-annotation\");\r\n var cropped = $(\"#imageedit-canvassection\");\r\n var cropannote = $(\"#imageedit-canvasannote\");\r\n var cropbox = $(\".cropper-crop-box\")\r\n VR.Image.CreateCroppedImage(section, editor, annote, cropped, cropannote, cropbox);\r\n //section.html(canvas);\r\n cropped.css(\"display\", \"\");\r\n cropannote.css(\"display\", \"\");\r\n $(\"#imageedit-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"hidden\");\r\n $(\"#imageedit-slidebars\").css(\"visibility\", \"hidden\");\r\n //$(\"#imageedit-annotetoggle, #imageedit-editannot, #imageedit-slidebars\").css(\"display\", \"none\");\r\n });\r\n\r\n $(\"#imageedit-resetbutton\").on(\"click\", function (e) {\r\n var editor = $(\"#imageedit-editor\");\r\n editor.cropper(\"reset\");\r\n editor.attr(\"data-scaleX\", \"\");\r\n editor.attr(\"data-scaleY\", \"\");\r\n $(\"#imageedit-canvassection, #imageedit-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n $(\"#imageedit-editsection, #imageedit-annotationsection\").css(\r\n \"display\",\r\n \"\"\r\n );\r\n $(\"#imageedit-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#imageedit-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#imageedit-dragbutton\").trigger(\"click\");\r\n VR.Image.SlideBars.Reset();\r\n $(\r\n \"#imageedit-annotetoggle, #imageedit-editannot, #imageedit-slidebars\"\r\n ).css(\"display\", \"\");\r\n });\r\n\r\n $(\"#imageedit-annotetoggle\").on(\"click\", function () {\r\n var cropped = $(\"#imageedit-canvassection\");\r\n var display = cropped.css(\"display\");\r\n if (display == \"none\") {\r\n if (VR.Image.Annotation.IsHidden()) {\r\n $(\"#imageedit-resetbutton\").trigger(\"click\");\r\n VR.Image.Annotation.ShowAnnotation();\r\n } else {\r\n VR.Image.Annotation.HideAnnotation();\r\n }\r\n } else {\r\n var cropannote = $(\"#imageedit-canvasannote\");\r\n var display = cropannote.css(\"display\");\r\n if (display == \"none\") {\r\n cropannote.css(\"display\", \"\");\r\n } else {\r\n cropannote.css(\"display\", \"none\");\r\n }\r\n }\r\n });\r\n\r\n $(\"#imageedit-editannot\").on(\"click\", function () {\r\n var cropped = $(\"#imageedit-canvassection\");\r\n var display = cropped.css(\"display\");\r\n if (display == \"none\") {\r\n $(\"#imageedit-resetbutton\").trigger(\"click\");\r\n VR.Image.Annotation.ShowAnnotation();\r\n VR.Image.Annotation.ShowAnnotationEditor(\r\n \"imageedit-editsection\",\r\n \"imageedit-annotationsection\"\r\n );\r\n } else {\r\n VR.Image.Annotation.ShowCroppedAnnoteEditor(\r\n \"imageedit-canvassection\",\r\n \"imageedit-canvasannote\"\r\n );\r\n }\r\n });\r\n }; //SetupImageEditButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the image save buttons.\r\n /// \r\n /// */\r\n self.SetupImageSaveButtons = function () {\r\n $(\"#imageedit-savetodatabse, #imageedit-savetofile\").on(\"click\", function (\r\n e\r\n ) {\r\n var modal = $(\"#imageeditor-modal\");\r\n modal.modal(\"hide\");\r\n var location = \"D\";\r\n var id = $(this).attr(\"id\");\r\n if (id == \"imageedit-savetofile\") {\r\n location = \"P\";\r\n }\r\n\r\n var event = self.EventName;\r\n var appfunc = $(\"#imageedit-appfunction\");\r\n if (appfunc.length == 0) {\r\n appfunc = \"\";\r\n } else {\r\n appfunc = appfunc.val();\r\n }\r\n var isactive = $(\"#imageedit-isactive\");\r\n if (isactive.length == 0) {\r\n isactive = true;\r\n } else {\r\n isactive = isactive.attr(\"checked\");\r\n if (isactive == \"checked\") {\r\n isactive = true;\r\n }\r\n }\r\n var description = $(\"#imageedit-description\").val();\r\n var fileType = $(\"#image-file-group\").attr(\"data-file-type\");\r\n var data = null;\r\n var display = \"\";\r\n if (fileType == \"0\") {\r\n var section = $(\"#imageedit-canvassection\");\r\n display = section.css(\"display\");\r\n if (display != \"none\") {\r\n var image = section.children(\"img\");\r\n if (image.length > 0) {\r\n data = image.attr(\"src\");\r\n } else {\r\n data = \"\";\r\n }\r\n }\r\n }\r\n\r\n if (data == null) {\r\n data = $(\"#image-data\").prop(\"data-src\");\r\n }\r\n\r\n if (data && data != \"\") {\r\n if (data.length > self.MaxImageUpload) {\r\n VR.Common.ShowError(\"The file size exceeds the limit (\" + editPageData.MaxImageUpload+\"MB).\");\r\n return;\r\n }\r\n data = data.replace(/\\+/g, \"#\");\r\n } else {\r\n data = \"\";\r\n }\r\n\r\n var year = self.GetFieldValue(\"EVENT_YEAR\");\r\n var number = self.GetFieldValue(\"STATE_FILE_NUMBER\", true);\r\n var extension = $(\"#image-data\").prop(\"data-extension\");\r\n if (extension) {\r\n extension = extension.toLowerCase();\r\n switch (extension) {\r\n case \"jpg\":\r\n extension = \"jpeg\";\r\n break;\r\n case \"tif\":\r\n extension = \"tiff\";\r\n break;\r\n }\r\n }\r\n\r\n var newext;\r\n if ($(\"#imageeditor-filetype\").css(\"display\") == \"none\") {\r\n var imageextension = $(\"#imageeditor-extension\");\r\n var dropdown = imageextension.data(\"kendoDropDownList\");\r\n if (dropdown) {\r\n newext = dropdown.value();\r\n } else {\r\n newext = imageextension.val();\r\n }\r\n } else {\r\n newext = extension;\r\n }\r\n\r\n var annote = { json: \"\", width: \"\", height: \"\" };\r\n var fileload = modal.attr(\"data-fileload\");\r\n if (!fileload) {\r\n if (display != \"none\") {\r\n annote = VR.Image.Annotation.JsonString(\r\n \"imageedit-canvasannote-canvas\"\r\n );\r\n } else {\r\n annote = VR.Image.Annotation.JsonString(\"imageedit-annotation\");\r\n }\r\n }\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/imageload\";\r\n var selection = {\r\n EventGroup: event,\r\n eventId: self.EventId,\r\n appfunc: appfunc,\r\n isactive: isactive,\r\n description: description,\r\n location: location,\r\n extension: extension,\r\n newext: newext,\r\n year: year,\r\n number: number,\r\n annote: annote.json,\r\n width: annote.width,\r\n height: annote.height,\r\n data: data,\r\n filename: $(\"#imageedit-filename\").val()\r\n };\r\n VR.Common.SecurePost(\r\n url,\r\n { imageLoad: selection },\r\n function (result) {\r\n if (result.Code != 0 || result.Image == null) {\r\n VR.Common.HandleInvalidResult(result, \"File Load\", false);\r\n } else {\r\n var list = $(\"#image-list\");\r\n list.find(\".image\").off(\"dblclick\");\r\n var images = self.ImageDataSource.data();\r\n if (images.length == 0) {\r\n images = [];\r\n }\r\n images.push(result.Image);\r\n self.ImageDataSource.data(images);\r\n\r\n var pager = $(\"#image-pager\").data(\"kendoPager\");\r\n if (pager) {\r\n pager.refresh();\r\n }\r\n var kendoList = list.data(\"kendoListView\");\r\n if (kendoList) {\r\n kendoList.refresh();\r\n\r\n list.find(\".image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n }\r\n\r\n self.ImageCount++;\r\n if (VR.Common.IsMobile()) {\r\n $(\"#mobileImagesBtnText\").html(VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n else {\r\n $(\"#images-count\").html(\"Image count: \" + VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n });\r\n }; //SetupImageSaveButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the errors button and count.\r\n /// \r\n /// */\r\n self.SetupErrorCount = function () {\r\n if (VR.Common.IsMobile()) {\r\n let errorBtn = $(\"#errors-count\");\r\n errorBtn.show();\r\n $('#validation-panel').hide();\r\n errorBtn.removeClass();\r\n errorBtn.addClass(\"glyphicon glyphicon-warning-sign\");\r\n errorBtn.html(`${self.GetFieldErrorCount()}`);\r\n errorBtn.css({ \"font-size\": \"30px\", \"display\": \"inline\", \"padding\": \"10px 8px\" });\r\n $(\"#mobileErrorsBtnText\").css({ \"font-size\": \"30px\", \"position\": \"relative\", \"top\": \"-5px\", \"left\": \"5px\", \"color\": \"black\", \"font-weight\": \"bold\" });\r\n errorBtn.on(\"touchend\", function (e) {\r\n $(\"#validation-panel\").toggle();\r\n });\r\n }\r\n }; //SetupErrorCount\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up Label.\r\n /// \r\n /// The result from the web service.\r\n /// */\r\n self.SetupLabel = function (model) {\r\n let startHtml = $(\"#p\" + model.FieldId + \" > label\").html();\r\n $(\"#p\" + model.FieldId + \" > label\").html(startHtml.replaceAll(\"\\n\", \"
\"));\r\n }; //SetupLabel\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up linking.\r\n /// \r\n /// */\r\n self.SetupLinking = function () {\r\n $(\".linking-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n var openNew = $(this).attr(\"data-opennew\");\r\n $(this).removeAttr(\"data-opennew\");\r\n var target = $(this).attr(\"data-target\");\r\n if (!target) {\r\n target = \"\";\r\n }\r\n $(this).removeAttr(\"data-target\");\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n var value = self.GetFieldData();\r\n var selection = \"event=\" + event + \"|id=\" + eventId + \"|value=\" + value;\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"event/linking\";\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n if (!result || result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Linking\", true);\r\n } else {\r\n nxLoading.start(\"Loading page. Please wait...\");\r\n var href = VR.Common.GetRootURL();\r\n var selection =\r\n e.target.id +\r\n \"|\" +\r\n result.LinkingSetupId +\r\n \"|\" +\r\n self.IsCasEvent +\r\n \"|\" +\r\n target;\r\n selection = \"search=\" + encodeURIComponent(selection);\r\n href +=\r\n \"event/search?selection=\" +\r\n encodeURIComponent(selection);\r\n if (VR.Common.CanOpen || openNew) {\r\n window.open(href);\r\n nxLoading.end();\r\n } else {\r\n window.location.href = href;\r\n }\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n });\r\n }; //SetupLinking\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the load file dialog box.\r\n /// \r\n /// */\r\n self.SetupLoadFile = function () {\r\n $(\"#imagefile-modal\").on(\"shown.bs.modal\", function (e) {\r\n $(\"#imagename-text\").focus();\r\n });\r\n var uploadLength = null\r\n $(\"#imagefile-button\").on(\"change\", function (e) {\r\n var val = $(this).val();\r\n if (val == \"\") {\r\n return;\r\n }\r\n $(\"#image-file\").val(val);\r\n var inputFiles = this.files;\r\n if (inputFiles == undefined || inputFiles.length == 0) {\r\n return;\r\n }\r\n var inputFile = inputFiles[0];\r\n var filename = \"\";\r\n if (inputFile) {\r\n filename = inputFile.name;\r\n }\r\n\r\n $(\"#imageedit-filename\").html(filename);\r\n\r\n var reader = new FileReader();\r\n reader.onload = function (event) {\r\n if (!event || !event.target || !event.target.result) {\r\n VR.Common.ShowError(\r\n \"Could not load file. This is possibly the file is too large.\",\r\n \"Error\"\r\n );\r\n $(\"#image-data\").prop(\"data-src\", \"\");\r\n }\r\n uploadLength = event.target.result.length\r\n $(\"#image-data\").prop(\"data-src\", event.target.result);\r\n $(\"#imagefile-button\").val(\"\");\r\n };\r\n\r\n reader.onerror = function (event) {\r\n VR.Common.ShowError(\r\n \"Could not load file. This is possibly the file is too large.\",\r\n \"Error\"\r\n );\r\n $(\"#image-data\").prop(\"data-src\", \"\");\r\n };\r\n reader.readAsDataURL(inputFile);\r\n });\r\n\r\n $(\"#loadfile-button\").on(\"click\", function (e) {\r\n var val = $(\"#image-file\").val();\r\n if (!val || val == \"\") {\r\n $(\"#image-file-error\").html(\"Please select a file\");\r\n return;\r\n }\r\n\r\n if (uploadLength > self.MaxImageUpload) {\r\n VR.Common.ShowError(\"The image exceeds the limit (\" + editPageData.MaxImageUpload + \"MB)\", \"Error\", null, 7500);\r\n $(\"#image-data\").prop(\"data-src\", \"\");\r\n return;\r\n } else {\r\n $(\"#image-file-error\").html(\"\");\r\n $(\"#imagefile-modal\").modal(\"hide\");\r\n self.LoadImageFile();\r\n }\r\n\r\n \r\n });\r\n }; //SetupLoadFile\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up fields.\r\n /// \r\n /// The result from the web service.\r\n /// */\r\n self.SetupMaskedEdit = function (model) {\r\n var input = $(\"#f\" + model.FieldId);\r\n var maskedtextbox = $(input).data(\"kendoMaskedTextBox\");\r\n if (!maskedtextbox) {\r\n input.attr(\"autocomplete\", \"off\");\r\n input.kendoMaskedTextBox({\r\n mask: model.Mask,\r\n unmaskOnPost: false\r\n });\r\n }\r\n\r\n input.on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n\r\n input.on(\"keydown\", function (e) {\r\n if (\r\n $(this).hasClass(\"readonly-text\") &&\r\n $(this).is(\":not([role='listbox'])\")\r\n ) {\r\n if (e.which != 9) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n self.FieldKeyDown(e);\r\n });\r\n\r\n input.on(\"keyup\", self.FieldKeyUp);\r\n\r\n input.on(\"keypress\", function (e) {\r\n var maskedEdit = $(this).data(\"kendoMaskedTextBox\");\r\n var model = $(this).data(\"field\");\r\n if (\r\n !model ||\r\n (maskedEdit.options && maskedEdit.options.mask != \"00/00/0000\")\r\n ) {\r\n return;\r\n }\r\n switch (e.which) {\r\n case 84:\r\n case 116:\r\n e.preventDefault();\r\n var date = new Date();\r\n maskedEdit.value(VR.Common.ToDateString(date.setHours(0, 0, 0, 0)));\r\n break;\r\n case 66:\r\n case 70:\r\n case 98:\r\n case 102:\r\n e.preventDefault();\r\n var value = new Date(maskedEdit.value());\r\n if (!isNaN(value)) {\r\n var add = 1;\r\n if (e.which == 66 || e.which == 98) {\r\n add = -1;\r\n }\r\n var newDate = new Date(value);\r\n newDate.setDate(value.getDate() + add);\r\n maskedEdit.value(VR.Common.ToDateString(newDate));\r\n }\r\n break;\r\n case 85:\r\n case 117:\r\n e.preventDefault();\r\n maskedEdit.value(\"99/99/9999\");\r\n break;\r\n case 78:\r\n case 110:\r\n e.preventDefault();\r\n maskedEdit.value(\"88/88/8888\");\r\n break;\r\n case 9: self.FieldKeyDown(e);\r\n }\r\n });\r\n }; //SetupMaskedEdit\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the Button control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupMemoBox = function (model) {\r\n //var value = VR.Common.HtmlEscape(model.FieldValue);\r\n //var html = \"\";\r\n //$(\"#p\" + model.FieldId).html(html);\r\n var panel = $(\"#p\" + model.FieldId);\r\n panel.css(\"height\", \"auto\");\r\n var input = $(\"#f\" + model.FieldId);\r\n $(input).val(model.FieldValue);\r\n input.attr(\"autocomplete\", \"off\");\r\n input.attr(\"spellcheck\", model.SpellCheck);\r\n input.attr(\"maxlength\", model.MaxLength);\r\n input.attr(\"rows\", model.MemoBoxRows);\r\n input.on(\"keydown\", self.FieldKeyDown);\r\n input.on(\"keyup\", self.FieldKeyUp);\r\n input.on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupMemoBox\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the MultiSelect control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupMultiSelect = function (model) {\r\n var input = $(\"#f\" + model.FieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n input.removeData(\"field\");\r\n var disabled = input.attr(\"disabled\");\r\n var value = VR.Common.HtmlEscape(model.FieldValue);\r\n var html =\r\n \"\";\r\n var panel = $(\"#p\" + model.FieldId);\r\n $(panel).html(html);\r\n\r\n var dataSource = [];\r\n if (model.DropDownList && model.DropDownValues) {\r\n if (model.DropDownList && model.DropDownValues) {\r\n for (var i = 0; i < model.DropDownList.length; i++) {\r\n dataSource.push({\r\n text: model.DropDownList[i],\r\n value: model.DropDownValues[i]\r\n });\r\n }\r\n }\r\n } else {\r\n var fieldId = model.FieldId;\r\n dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n var input = $(\"#f\" + fieldId)\r\n .parent()\r\n .find(\"input\");\r\n var val = $(input).val();\r\n val = encodeURIComponent(val);\r\n var model = $(input).data(\"field\");\r\n var filter = self.GetFilterValues(model);\r\n var voidVal = \"\";\r\n if (model && model.VoidField) {\r\n voidVal = self.GetFieldValue(model.VoidField);\r\n }\r\n performLookup(\r\n fieldId,\r\n val,\r\n filter,\r\n \"\",\r\n voidVal,\r\n \"\",\r\n self.EventYear,\r\n function (result) {\r\n if (result.Code == 0) {\r\n var data = [];\r\n if (result.List) {\r\n for (var i = 0; i < result.List.length; i++) {\r\n var value = result.List[i];\r\n data.push({ text: value, value: value });\r\n }\r\n }\r\n\r\n if (!!options) options.success(data);\r\n else {\r\n // we need to apply the changes here if options is not assigned.\r\n $(\"#f\" + fieldId)\r\n .data(\"kendoComboBox\")\r\n .setDataSource(data);\r\n }\r\n if (!input.is(\":focus\")) {\r\n $(\"#f\" + fieldId)\r\n .data(\"kendoComboBox\")\r\n .close();\r\n }\r\n return data;\r\n } else {\r\n options.error(result);\r\n VR.Common.HandleInvalidResult(result, \"Lookup\", true);\r\n return [];\r\n }\r\n }\r\n );\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n }\r\n\r\n var list = null;\r\n if (model.FieldValue && model.FieldValue != \"\") {\r\n list = model.FieldValue.split(\"*\");\r\n }\r\n\r\n var values = [];\r\n if (list && list.length > 0) {\r\n for (var i = 0; i < list.length; i++) {\r\n var val = list[i];\r\n values.push({ text: val, value: val });\r\n }\r\n }\r\n\r\n input = $(\"#f\" + model.FieldId);\r\n $(input).kendoMultiSelect({\r\n autoBind: false,\r\n dataTextField: \"text\",\r\n dataValueField: \"value\",\r\n dataSource: dataSource,\r\n deley: 2000,\r\n filter: \"contains\",\r\n value: values\r\n });\r\n\r\n input.addClass(\"input-field\");\r\n input.attr(\"data-field-name\", model.FieldName);\r\n input.data(\"field\", model);\r\n if (disabled) {\r\n self.SetReadOnly(input, true);\r\n }\r\n var multiSelect = panel.find(\".k-input\");\r\n multiSelect.on(\"keydown\", self.FieldKeyDown);\r\n multiSelect.on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupMultiSelect\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the next button.\r\n /// \r\n /// */\r\n self.SetupNextButtons = function () {\r\n $(\"#tab-content\")\r\n .find(\".btn-next\")\r\n .on(\"click\", function (e) {\r\n var target = $(this).attr(\"data-target\");\r\n var model = $(\"#f\" + target).data(\"field\");\r\n if (model) {\r\n var index = self.Fields.indexOf(model);\r\n for (var i = 0; i < self.Fields.length; i++) {\r\n index = (index + 1) % self.Fields.length;\r\n model = self.Fields[index];\r\n if (\r\n model.FieldType != \"Hidden\" &&\r\n model.FieldType != \"Label\" &&\r\n model.IsEnabled &&\r\n model.IsEditable\r\n ) {\r\n break;\r\n }\r\n }\r\n\r\n if (model && model.FieldId) {\r\n VR.Script.FocusField(\r\n { input: \"#f\" + model.FieldId, model: model },\r\n false\r\n );\r\n }\r\n }\r\n });\r\n }; //SetupNextButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up record numbering.\r\n /// \r\n /// */\r\n self.SetupNumberRecord = function () {\r\n $(\"#numberrec-menu\").on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n var isactive = self.GetIsActive();\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n if (!eventId || eventId == 0) {\r\n VR.Common.ShowError(\"The new record cannot be numbered.\");\r\n return;\r\n }\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='STATE_FILE_NUMBER']\");\r\n var fields = self.GetInputFields(\"STATE_FILE_NUMBER\");\r\n if (fields.length == 0) {\r\n VR.Common.ShowError(\"The state file number field not found.\");\r\n return;\r\n }\r\n\r\n var value = self.GetFieldValue(\"STATE_FILE_NUMBER\");\r\n if (value && !self.CanNumberOverride) {\r\n VR.Common.ShowError(\"The state file number field already exists.\");\r\n return;\r\n }\r\n\r\n var isNumberReady = false;\r\n //inputs = $(\"#tab-content\").find(\"input[data-field-name='OK_TO_NUMBER']\");\r\n var inputs = self.GetInputFields(\"OK_TO_NUMBER\");\r\n if (inputs.length == 0) {\r\n isNumberReady = true;\r\n } else {\r\n value = self.GetFieldValue(\"OK_TO_NUMBER\");\r\n if (value == \"Y\") {\r\n isNumberReady = true;\r\n }\r\n }\r\n\r\n if (isNumberReady) {\r\n //inputs = $(\"#tab-content\").find(\"input[data-field-name='REGISTER_READY']\");\r\n inputs = self.GetInputFields(\"REGISTER_READY\");\r\n if (inputs.length == 0) {\r\n isNumberReady = true;\r\n } else {\r\n value = self.GetFieldValue(\"REGISTER_READY\");\r\n if (value == \"Y\") {\r\n isNumberReady = true;\r\n }\r\n }\r\n }\r\n\r\n if (!isNumberReady) {\r\n VR.Common.ShowError(\r\n \"The indicator field on the form in the event record indicates that the record is not \" +\r\n \"ready to number because of errors or incomplete entries. Please complete the record \" +\r\n \"properly and try again.\"\r\n );\r\n return;\r\n }\r\n\r\n var regCode = self.GetFieldValue(\"REG_TYPE_CODE\", true);\r\n var eventYear = self.GetFieldValue(\"EVENT_YEAR\", true);\r\n var modTypeid = self.ModTypeId;\r\n if (modTypeid == null || modTypeid == 0) {\r\n modTypeid = \"\";\r\n }\r\n\r\n var selection =\r\n \"name=\" +\r\n event +\r\n \"|id=\" +\r\n eventId +\r\n \"|regtype=\" +\r\n regCode +\r\n \"|year=\" +\r\n eventYear +\r\n \"|modtype=\" +\r\n modTypeid;\r\n nxLoading.start(\"Posting. Please wait...\");\r\n VR.Common.SecurePost(\r\n \"event/number\",\r\n selection,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Number\", false);\r\n } else {\r\n var inputs = $(\"#tab-content\").find(\r\n \"input[data-field-name='STATE_FILE_NUMBER']\"\r\n );\r\n if (inputs.length > 0) {\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(input, result.Number);\r\n var model = $(input).data(\"field\");\r\n if (model) {\r\n model.HasChange = false;\r\n model.OriginalValue = result.Number;\r\n }\r\n });\r\n }\r\n\r\n if (result.ChangedFields && result.ChangedFields.length > 0) {\r\n $.each(result.ChangedFields, function (index, field) {\r\n var inputs = $(\"#tab-content\").find(\r\n \"input[data-field-name='\" + field.FieldName + \"']\"\r\n );\r\n $.each(inputs, function (i, input) {\r\n self.SetFieldValue(input, field.Value);\r\n var model = $(input).data(\"field\");\r\n if (model) {\r\n model.HasChange = false;\r\n model.OriginalValue = field.Value;\r\n }\r\n });\r\n });\r\n }\r\n\r\n VR.Common.ShowInfo(\"The record numbered.\");\r\n if (!self.CanDeleteWithSFN) {\r\n $(\"#deleterecs-menu\").hide();\r\n }\r\n }\r\n },\r\n false\r\n ).always(function () {\r\n nxLoading.end();\r\n });\r\n });\r\n }; //SetupNumberRecord\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the NumericTextBox control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupNumericTextBox = function (model) {\r\n var format = model.InputFormat;\r\n if (!format || format == \"\") {\r\n format = \"c\";\r\n }\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n var settings = {\r\n format: format,\r\n decimals: 3,\r\n display: \"initial\"\r\n };\r\n var max = parseFloat(model.InputMax);\r\n if (!isNaN(max)) settings.max = max;\r\n var min = parseFloat(model.InputMin);\r\n if (!isNaN(min)) settings.min = min;\r\n var step = parseFloat(model.InputStep);\r\n if (!isNaN(step) && step !== 0) settings.step = step;\r\n input.kendoNumericTextBox(settings);\r\n input.data(\"kendoNumericTextBox\").value(model.FieldValue);\r\n\r\n input.on(\"keydown\", self.FieldKeyDown);\r\n input.on(\"keyup\", self.FieldKeyUp);\r\n input.prop(\"type\", \"number\");\r\n input.on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupNumericTextBox\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the notes.\r\n /// \r\n /// */\r\n self.SetupNotes = function () {\r\n var dataVal = $(\"#data-value\");\r\n var value = dataVal.attr(\"data-note\");\r\n if (value != \"\") {\r\n self.CanNotes =\r\n value && value.length == 5 && value.substring(0, 1) == \"1\";\r\n self.CanSaveNotes =\r\n value && value.length == 5 && value.substring(1, 2) == \"1\";\r\n self.CanNewNotes =\r\n value && value.length == 5 && value.substring(2, 3) == \"1\";\r\n self.CanDeleteNotes =\r\n value && value.length == 5 && value.substring(3, 4) == \"1\";\r\n self.IsNotesAdmin =\r\n value && value.length == 5 && value.substr(4, 1) == \"1\";\r\n }\r\n var menu = $(\"#shownotes-menu\");\r\n var recordid = self.EventId;\r\n if (!self.CanNotes || recordid == 0) {\r\n menu.css(\"display\", \"none\");\r\n if (VR.Common.IsMobile()) {\r\n $(\"#notes-count\").css(\"display\", \"none\");\r\n }\r\n } else {\r\n menu.css(\"display\", \"block\");\r\n menu.on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function (e) {\r\n self.ShowNotes(\"0\");\r\n });\r\n let notesBtn = $(\"#notes-count\");\r\n if (VR.Common.IsMobile()) {\r\n notesBtn.removeClass();\r\n notesBtn.addClass(\"glyphicon glyphicon-comment\");\r\n notesBtn.html(`${self.NotesCount}`);\r\n notesBtn.css({ \"font-size\": \"30px\", \"display\": \"inline\", \"padding\": \"10px 8px\" });\r\n $(\"#mobileNotesBtnText\").css({ \"font-size\": \"30px\", \"position\": \"relative\", \"top\": \"-5px\", \"left\": \"5px\", \"color\": \"black\", \"font-weight\": \"bold\" });\r\n notesBtn.on(\"touchend\", function (e) {\r\n self.ShowNotes(\"0\");\r\n });\r\n } else {\r\n notesBtn.on(\"dblclick\", function (e) {\r\n self.ShowNotes(\"0\");\r\n });\r\n notesBtn.on(\"keydown\", function (e) {\r\n if (e.which === 13 || e.which === 32)\r\n self.ShowNotes(\"0\");\r\n });\r\n }\r\n }\r\n dataVal.attr(\"data-note\", \"\");\r\n }; //SetupNotes\r\n\r\n /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up onbeforeunload.\r\n /// \r\n /// */\r\n self.SetupOnBeforeUnload = function () {\r\n var unloading = false;\r\n $(window).on(\"beforeunload\", function (e) {\r\n if (self.IsDisplayOnly) {\r\n return;\r\n }\r\n if (self.CanLeaveValidated == true) {\r\n self.CanLeaveValidated = false;\r\n return;\r\n }\r\n var returnValue = \"\";\r\n if (\r\n (!self.CanSaveWithEdits && !self.CanSaveWithoutEdits) ||\r\n !self.CanSave ||\r\n self.CanClose\r\n ) {\r\n return;\r\n }\r\n\r\n $.each(self.Fields, function (index, model) {\r\n if (model.HasChange) {\r\n returnValue = \"You have unsaved changes. \";\r\n }\r\n });\r\n setTimeout(function () {\r\n if (!unloading) {\r\n nxLoading.end();\r\n }\r\n }, 4000);\r\n if (returnValue) {\r\n return returnValue;\r\n }\r\n return true;\r\n });\r\n $(window).on(\"unload\", function () {\r\n unloading = true;\r\n });\r\n }; //SetupOnBeforeUnload\r\n\r\n /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up on unload event handler.\r\n /// \r\n /// */\r\n self.SetupOnUnload = function () {\r\n if (self.IsDataCached && self.EventId > 0) {\r\n var selection = \"event=\" + self.EventName + \"|id=\" + self.EventId;\r\n VR.Common.SecurePost(\"data/eventcache\", selection, function (result) {\r\n if (result.Code == 1460) {\r\n var url = self.Referrer;\r\n var footer;\r\n if (url && url.indexOf(\"/event/edit\") < 0) {\r\n footer =\r\n \"This page will go back to one of previously visited pages where you can go safely.\";\r\n url = self.Referrer;\r\n } else {\r\n footer = \"\\n This page will go back to the home page.\";\r\n url = VR.Common.GetRootURL();\r\n }\r\n self.CanLeaveValidated = true;\r\n VR.Common.ShowErrorMessage(result, \"Data Check\", footer, function () {\r\n window.location.href = url;\r\n });\r\n } else if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Data Check\", false);\r\n }\r\n });\r\n }\r\n\r\n $(window).on(\"unload\", function () {\r\n if (self.EventId == 0) {\r\n return;\r\n }\r\n var windowId = $(\"#footer-data\").attr(\"data-window\");\r\n var selection =\r\n \"window=\" +\r\n windowId +\r\n \"|event=\" +\r\n self.EventName +\r\n \"|id=\" +\r\n self.EventId;\r\n VR.Common.SecurePost(\"home/close\", selection, function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Close\", true);\r\n }\r\n });\r\n });\r\n }; //SetupOnUnload\r\n\r\n /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up general popup menu.\r\n /// \r\n /// */\r\n self.SetupPopupMenu = function () {\r\n $(document).on(\"contextmenu\", function (event) {\r\n self.ShowPopupMenu(event);\r\n });\r\n\r\n $(document).on(\"mousedown\", function (event) {\r\n if (!$(event.target).parents(\".custom-menu\").length > 0) {\r\n $(\".custom-menu\").hide(100);\r\n }\r\n });\r\n\r\n if (VR.Common.IsIOS()) {\r\n $(\"#undofieldmenu-popupmenu\").html(\"Hide Field Popup Menu\");\r\n\r\n $(document).on(\"touchstart\", function (event) {\r\n console.log(\"touchstart\");\r\n var display = $(\".custom-menu\").css(\"display\");\r\n console.log(\"display=\" + display);\r\n if (display != \"none\") {\r\n console.log(\"touchstart exit\");\r\n return;\r\n }\r\n console.log(\"event.originalEvent=\" + event.originalEvent);\r\n console.log(\r\n \"event.originalEvent.touches=\" + event.originalEvent.touches\r\n );\r\n console.log(\r\n \"event.originalEvent.touches[0]=\" + event.originalEvent.touches[0]\r\n );\r\n console.log(\r\n \"event.originalEvent.touches[0].pageX=\" +\r\n event.originalEvent.touches[0].pageX\r\n );\r\n if (event.originalEvent.touches.length < 1) {\r\n console.log(\"touchstart return\");\r\n return;\r\n }\r\n var touchobj = event.originalEvent.touches[0];\r\n console.log(\"touchobj.pageX=\" + touchobj.pageX);\r\n console.log(\"touchobj.pageY=\" + touchobj.pageY);\r\n var startx = touchobj.pageX;\r\n var starty = touchobj.pageY;\r\n console.log(\"startx=\" + startx);\r\n console.log(\"starty=\" + starty);\r\n self.PopupTimeout = setTimeout(function (e) {\r\n console.log(\"touchstart-timeout\");\r\n self.ShowPopupMenu({\r\n target: event.target,\r\n pageX: startx,\r\n pageY: starty\r\n });\r\n }, 2000);\r\n });\r\n }\r\n\r\n if (VR.Common.IsIOS()) {\r\n $(document).on(\"touchend\", function (event) {\r\n console.log(\"touchend\");\r\n if (self.PopupTimeout) {\r\n console.log(\"self.PopupTimeout\");\r\n clearTimeout(self.PopupTimeout);\r\n self.PopupTimeout = null;\r\n } else if (!$(event.target).parents(\".custom-menu\").length > 0) {\r\n $(\".custom-menu\").hide(100);\r\n }\r\n });\r\n }\r\n\r\n $(\".custom-menu li\").on(\"click\", function () {\r\n var action = $(this).attr(\"data-action\");\r\n var id = $(self.PopupTarget).attr(\"id\");\r\n var model = $(self.PopupTarget).data(\"field\");\r\n switch (action) {\r\n case \"about\":\r\n VR.Common.ShowWebSiteInfo();\r\n break;\r\n case \"field\":\r\n VR.Common.ShowFieldInfo(self.PopupTarget);\r\n break;\r\n case \"js-editor\":\r\n VR.Common.ShowFieldJEditor(self.PopupTarget);\r\n VR.Script.FocusField({ input: id, model: model }, true);\r\n break;\r\n case \"notes\":\r\n var prefix = null;\r\n if (id && id.toString().length > 0) {\r\n prefix = id.toString().substring(0, 1);\r\n }\r\n if (prefix == \"f\" || prefix == \"p\" || prefix == \"g\") {\r\n id = id.substring(1);\r\n }\r\n self.ShowNotes(id);\r\n break;\r\n case \"undo\":\r\n VR.Common.UndoPopupMenu();\r\n $(\"#showbrowserpopup-menu\").css(\"display\", \"none\");\r\n $(\"#showfieldpopup-menu\").css(\"display\", \"\");\r\n break;\r\n case \"query\":\r\n self.QueryField(self.PopupTarget);\r\n break;\r\n case \"reset\":\r\n self.ResetField(self.PopupTarget);\r\n break;\r\n case \"page\":\r\n $(\"#pageinfo-modal\").modal(\"show\");\r\n break;\r\n case \"date\":\r\n case \"clear\":\r\n case \"default\":\r\n var value = \"\";\r\n if (action == \"date\") {\r\n var d = new Date();\r\n value = VR.Common.ToDateString(d);\r\n } else if (action == \"default\") {\r\n var model = $(self.PopupTarget).data(\"field\");\r\n if (model) {\r\n value = model.DefaultValue;\r\n }\r\n }\r\n\r\n self.SetFieldValue(self.PopupTarget, value, true);\r\n VR.Script.FocusField({ input: id, model: model }, true);\r\n break;\r\n case \"casing\":\r\n var casing = \"keep\";\r\n var model = $(self.PopupTarget).data(\"field\");\r\n if ($(self.PopupTarget).data(\"casing\") != \"ignore\") {\r\n casing = \"ignore\";\r\n } else {\r\n switch (model.Case) {\r\n case \"capitalize\":\r\n case \"upper\":\r\n case \"lower\":\r\n casing = \"keep\";\r\n break;\r\n default:\r\n casing = \"ignore\";\r\n break;\r\n }\r\n }\r\n var fields = self.GetInputFields(model.FieldName);\r\n for (var i = 0; i < fields.length; i++) {\r\n $(fields[i]).data(\"casing\", casing);\r\n }\r\n if (casing != \"ignore\") {\r\n switch (model.Case) {\r\n case \"capitalize\":\r\n case \"upper\":\r\n case \"lower\":\r\n $(self.PopupTarget).val(\r\n self.GetFieldValue(model.FieldName, true)\r\n );\r\n break;\r\n }\r\n }\r\n VR.Script.FocusField({ input: id, model: model }, true);\r\n break;\r\n default:\r\n VR.Image.Annotation.HandlePopupMenu(action);\r\n break;\r\n }\r\n $(\".modal-x\").click(function () {\r\n VR.Script.FocusField({ input: id, model: model }, true);\r\n });\r\n $(\".custom-menu\").hide(100);\r\n });\r\n }; //SetupPopupMenu\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the RadioButton control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupRadioButton = function (model) {\r\n var panel = $(\"#p\" + model.FieldId);\r\n panel.css(\"height\", \"auto\");\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n input.on(\"keydown\", function (e) {\r\n self.FieldKeyDown(e);\r\n if (e.key === \"Tab\") {\r\n self.ValidateField(input);\r\n VR.Image.TypeFromImage.SetField(model, input);\r\n }\r\n });\r\n input.on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupRadioButton\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the review error/query.\r\n /// \r\n /// */\r\n self.SetupReviewError = function () {\r\n $(\"#reviewerror-modal\").on(\"show.bs.modal\", function (e) {\r\n var html = \"\";\r\n $.each(self.Fields, function (index, model) {\r\n if (\r\n !$(\"#f\" + model.FieldId).hasClass(\"readonly-text\") &&\r\n model.FieldStatus &&\r\n model.FieldStatus != \"alerttrigger\" &&\r\n model.FieldStatus != \"skipped\" &&\r\n model.FieldStatus != \"literal\"\r\n ) {\r\n html +=\r\n \"\" +\r\n model.FieldName +\r\n \"\" +\r\n VR.Common.HtmlEscape(model.FieldLabel) +\r\n \"\" +\r\n model.FieldStatus +\r\n \"\";\r\n }\r\n });\r\n\r\n var list = $(\"#reviewerror-list\");\r\n list.html(html);\r\n\r\n if (html.length > 0) {\r\n $(\"#reviewerror-section\").css(\"display\", \"\");\r\n $(\"#reviewerror-noerror\").css(\"display\", \"none\");\r\n } else {\r\n $(\"#reviewerror-section\").css(\"display\", \"none\");\r\n $(\"#reviewerror-noerror\").css(\"display\", \"\");\r\n }\r\n\r\n list.find(\".review-btn\").on(\"click\", function (e) {\r\n var link = $(this).attr(\"id\");\r\n if (!link || link.length < 7) {\r\n return;\r\n }\r\n\r\n link = \"#f\" + link.substring(7);\r\n link = $(link);\r\n if (link.length < 1) {\r\n return;\r\n }\r\n var model = link.data(\"field\");\r\n if (!model) {\r\n return;\r\n }\r\n\r\n switch (model.FieldType) {\r\n case \"ComboBox\":\r\n case \"MultiSelect\":\r\n var parent = link.parents(\".edit-field\");\r\n if (parent.length < 1) {\r\n return;\r\n }\r\n link = parent.find(\".k-input\");\r\n if (link.length < 1) {\r\n return;\r\n }\r\n break;\r\n }\r\n\r\n var tab = link.parents(\"[role=tabpanel]\");\r\n var id = tab.attr(\"id\");\r\n $(\"#tabs\")\r\n .find(\"a[aria-controls=\" + id + \"]\")\r\n .trigger(\"click\");\r\n var position = link.offset();\r\n var offset = $(\"nav\").height();\r\n offset = VR.Common.ToFloat(offset);\r\n if (isNaN(offset)) {\r\n offset = 50;\r\n }\r\n offset -= 50;\r\n\r\n $(\"#reviewerror-modal\").modal(\"hide\");\r\n window.scrollTo(0, position.top - 70 - offset);\r\n $(link).focus();\r\n });\r\n });\r\n\r\n $(\"#reviewerror-modal\").on(\"shown.bs.modal\", function (e) {\r\n var dialog = $(\"#reviewerror-modal .modal-content\");\r\n var table = $(\"#reviewerror-table\");\r\n var height = $(dialog).height();\r\n var winheight = $(window).height();\r\n\r\n if (height > winheight - 250) {\r\n height = winheight - 250;\r\n $(table).css(\"max-height\", height + \"px\");\r\n }\r\n });\r\n\r\n if (VR.Common.IsNavBurger()) {\r\n $(\"#reviewoverridesqueries-menu\").on(\"touchend\", function (e) {\r\n console.log(\"inside review error mobile\");\r\n $(\"#reviewerror-modal\").modal(\"show\");\r\n });\r\n }\r\n }; //SetupReviewError\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the save.\r\n /// \r\n /// The target object.\r\n /// The value to indicate if edits need to run.\r\n /// The value to indicate if this is twin save.\r\n /// */\r\n self.SetupSave = function (target, hasEdits, isTwinSave) {\r\n $(\"#\" + target).on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", function () {\r\n if (!isTwinSave) {\r\n self.Save(hasEdits, isTwinSave, false, true);\r\n } else {\r\n var selection = \"name=\" + self.EventName;\r\n VR.Common.SecurePost(\r\n \"event/twinsave\",\r\n selection,\r\n function (result) {\r\n if (result.Code != 0 || !result.List) {\r\n if (!result.List) {\r\n result = null;\r\n }\r\n VR.Common.HandleInvalidResult(result, \"Twin Save\", false);\r\n } else {\r\n $.each(result.List, function (i, field) {\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + field.FieldName + \"']\");\r\n var inputs = self.GetInputFields(field.FieldName);\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(\r\n input,\r\n field.Value == null ? \"\" : field.Value\r\n );\r\n });\r\n });\r\n if (!result.CanSaveTwinWithSFN) {\r\n var stateFileNumber = self.GetStateFileNumber();\r\n if (stateFileNumber) {\r\n var message =\r\n \"Cannot create a twin after record has been assigned a state file number.\";\r\n if (result.List.length > 0) {\r\n message +=\r\n \"\\nThe field values on the form were changed due to the setting in the twin save table.\";\r\n }\r\n self.ShowSaveError(message);\r\n return;\r\n }\r\n }\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='STATE_FILE_NUMBER']\");\r\n var inputs = self.GetInputFields(\"STATE_FILE_NUMBER\");\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(input, \"\");\r\n });\r\n //inputs = $(\"#tab-content\").find(\"input[data-field-name='LOCAL_FILE_NUMBER']\");\r\n inputs = self.GetInputFields(\"LOCAL_FILE_NUMBER\");\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(input, \"\");\r\n });\r\n if (result.KeyFields) {\r\n $.each(result.KeyFields, function (i, field) {\r\n //var inputs = $(\"#tab-content\").find(\"input[data-field-name='\" + field + \"']\");\r\n var inputs = self.GetInputFields(field);\r\n $.each(inputs, function (index, input) {\r\n self.SetFieldValue(input, 0);\r\n });\r\n });\r\n }\r\n self.EventId = 0;\r\n var title = $(\"#main-container\").attr(\"event-title\");\r\n title = title + \" : Twin Save\";\r\n $(\"#plugins\").html(VR.Common.HtmlEscape(title));\r\n self.Save(hasEdits, true, false, true);\r\n }\r\n },\r\n true,\r\n \"eventname=\"\r\n );\r\n }\r\n });\r\n }; //SetupSave\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the image scanning.\r\n /// \r\n /// */\r\n self.SetupScanImage = function () {\r\n var menu = $(\"#scanimage-menu\");\r\n if (VR.Common.IsMobile()) {\r\n menu.css(\"display\", \"none\");\r\n return;\r\n }\r\n\r\n var modal = $(\"#scanimage-modal\");\r\n menu.on(\"click\", function () {\r\n if (!self.EventId || self.EventId < 1) {\r\n VR.Common.ShowError(\r\n \"Cannot attach an image until you save the record.\"\r\n );\r\n return;\r\n }\r\n var buttons = $(\"#scanimage-buttons\");\r\n if (!self.DWObject) {\r\n self.InitScanImage();\r\n } else {\r\n self.DWObject.RemoveAllImages();\r\n }\r\n\r\n buttons.css(\"visibility\", \"hidden\");\r\n modal.modal(\"show\");\r\n });\r\n\r\n modal.on(\"shown.bs.modal\", function (e) { });\r\n\r\n var button = modal.find(\".btn-success\");\r\n button.on(\"click\", function (e) {\r\n if (!self.DWObject) {\r\n return;\r\n }\r\n\r\n self.DWObject.IfDisableSourceAfterAcquire = true;\r\n var dropdown = $(\"#scanner-source\").data(\"kendoDropDownList\");\r\n if (dropdown) {\r\n var selected = dropdown.select();\r\n self.DWObject.SelectSourceByIndex(selected);\r\n }\r\n self.DWObject.OpenSource();\r\n self.DWObject.AcquireImage();\r\n });\r\n\r\n button = modal.find(\".btn-default\");\r\n button.on(\"click\", function (e) {\r\n if (!self.DWObject || self.DWObject.HowManyImagesInBuffer < 1) {\r\n return;\r\n }\r\n\r\n self.DWObject.RemoveAllImages();\r\n $(\"#scanimage-pagenumber\").html(\"\");\r\n });\r\n function uuidv4() {\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (\r\n c\r\n ) {\r\n var r = (Math.random() * 16) | 0,\r\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n $(\"#scanimage-acceptbutton\").on(\"click\", function (e) {\r\n $(\"#scanimage-modal\").modal(\"hide\");\r\n var size = self.DWObject.HowManyImagesInBuffer;\r\n if (!size || size < 1) {\r\n return;\r\n }\r\n self.DWObject.SelectedImagesCount = 1;\r\n if (size == 1) {\r\n var imagesize = self.DWObject.GetSelectedImagesSize(\r\n Dynamsoft.DWT.EnumDWT_ImageType.IT_PNG\r\n );\r\n //the function SaveSelectedImagesToBase64Binary is listed as a deprecated method in Dynamsoft documentation, but seems to work as expected in this version\r\n //if we update the Dynamsoft library in the future, this method may not work as expected\r\n //https://www.dynamsoft.com/web-twain/docs-archive/v17.2.1/info/schedule/deprecated.html?ver=17.2.1#related-to-input-and-output\r\n //the new recommended method is ConvertToBase64, which is an async method, which would likely require quite a few changes for multi-page scans\r\n //https://www.dynamsoft.com/web-twain/docs-archive/v17.2.1/info/api/WebTwain_IO.html?ver=17.2.1#converttobase64\r\n var imagedata = self.DWObject.SaveSelectedImagesToBase64Binary();\r\n if (!imagedata) {\r\n return;\r\n }\r\n imagedata = \"data:image/png;base64,\" + imagedata;\r\n $(\"#image-data\").prop(\"data-src\", imagedata);\r\n $(\"#image-file-group\").attr(\"data-file-type\", \"0\");\r\n $(\"#image-file\").val(\"scanned.png\");\r\n $(\"#imageedit-isactive\").attr(\"checked\", true);\r\n $(\"#imageedit-filename\").val(uuidv4());\r\n self.LoadImageFile(\"TIFF\");\r\n } else {\r\n var modal = $(\"#tiffeditor-modal\");\r\n var modalsize = self.SetImageEditorSize(modal);\r\n\r\n var canvases = $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\");\r\n canvases.css(\"display\", \"none\");\r\n var section = $(\"#tiffeditor-editsection\");\r\n section.attr(\"data-image-size\", size);\r\n section.attr(\"data-page-number\", 0);\r\n $(\"#tiffeditor-pagenumber\").html(\"Page 1 of \" + size);\r\n var html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n self.DWObject.SelectedImagesCount = 1;\r\n //self.DWObject.SetSelectedImageIndex(0, i); //deprecated in Dynamsoft v17.2.1, replaced with SelectImages\r\n self.DWObject.SelectImages([i]);\r\n var imagesize = self.DWObject.GetSelectedImagesSize(\r\n Dynamsoft.DWT.EnumDWT_ImageType.IT_PNG\r\n );\r\n //see note above about SaveSelectedImagesToBase64Binary\r\n var imagedata = self.DWObject.SaveSelectedImagesToBase64Binary();\r\n if (!imagedata) {\r\n return;\r\n }\r\n imagedata = \"data:image/png;base64,\" + imagedata;\r\n var style = \" display : none;\";\r\n if (i == 0) {\r\n style = \"\";\r\n }\r\n html +=\r\n \"
\" +\r\n \"
\";\r\n }\r\n section.html(html);\r\n for (var i = 0; i < size; i++) {\r\n var imageedit = $(\"#tiffeditor-page\" + (i + 1));\r\n imageedit.cropper({\r\n minCanvasWidth: modalsize.width,\r\n minCanvasHeight: modalsize.height,\r\n minContainerHeight: modalsize.height,\r\n minContainerWidth: modalsize.width,\r\n crop: function (e) { }\r\n });\r\n if (i == 0) {\r\n $(\"#tiffeditor-pagesection\" + (i + 1)).css(\"display\", \"\");\r\n var cropper = modal.find(\".cropper-container\");\r\n if (cropper.length > 0) {\r\n self.TiffModalHeight = cropper.css(\"height\");\r\n }\r\n }\r\n }\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-dragbutton\").addClass(\"active\");\r\n $(\"#tiffeditor-cropbutton\").removeClass(\"active\");\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n html +=\r\n \"
\";\r\n }\r\n $(\"#tiffeditor-canvassection\").html(html);\r\n var annote = $(\"#tiffeditor-annotationsection\");\r\n var annotes = annote.data(\"canvas\");\r\n if (annotes) {\r\n $.each(annotes, function (index, canvas) {\r\n canvas.dispose();\r\n $(canvas.wrapperEl).remove();\r\n });\r\n }\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n var style = \"style='display:none;'\";\r\n if (i == 0) {\r\n style = \"\";\r\n }\r\n html +=\r\n \"\";\r\n }\r\n annote.html(html);\r\n\r\n annote = $(\"#tiffeditor-canvasannote\");\r\n annotes = annote.data(\"canvas\");\r\n if (annotes) {\r\n $.each(annotes, function (index, canvas) {\r\n canvas.dispose();\r\n $(canvas.wrapperEl).remove();\r\n });\r\n }\r\n html = \"\";\r\n for (var i = 0; i < size; i++) {\r\n var style = \"style='display:none;'\";\r\n var id = \"tiffeditor-canvasannote\" + (i + 1);\r\n html +=\r\n \"
\";\r\n }\r\n annote.html(html);\r\n\r\n $(\"#tiffeditor-isactive\").attr(\"checked\", true);\r\n self.LoadTiffFile();\r\n }\r\n });\r\n }; //SetupScanImage\r\n\r\n self.TopazNumberOfTabletPoints = function () {\r\n try {\r\n return NumberOfTabletPoints();\r\n } catch (e) {\r\n return 0;\r\n }\r\n }; //TopazNumberOfTabletPoints\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the Signature Button control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupSignatureButton = function (model) {\r\n if (!self.SignaturePad) {\r\n var canvas = $(\"#signaturepad-canvas\");\r\n\r\n if (canvas.length > 0) {\r\n self.SignaturePad = new SignaturePad(canvas[0]);\r\n self.SignaturePad.minWidth = 2.5;\r\n self.SignaturePad.maxWidth = 2.5;\r\n self.SignaturePad.penColor = \"rgb(24, 24, 128)\";\r\n self.SignaturePad.backgroundColor = \"rgb(255, 255, 255)\";\r\n self.SetSignatureButtonColor(model);\r\n $(\"#signature-clear\").on(\"click\", function (e) {\r\n model.Cleared = true;\r\n try {\r\n self.ClearTopazDisplay();\r\n } catch (e) { }\r\n self.SignaturePad.clear();\r\n });\r\n\r\n $(\"#signature-cancel\").on(\"click\", function (e) {\r\n try {\r\n self.StopTopazInput();\r\n } catch (e) { }\r\n self.SignaturePad.off();\r\n });\r\n\r\n $(\"#signature-mouse\").on(\"click\", function (e) {\r\n self.SignaturePad.on();\r\n $(\"#signature-mouse\").css(\"display\", \"none\");\r\n });\r\n\r\n $(\"#signature-save\").on(\"click\", function (e) {\r\n model = self.CurrentSignatureField;\r\n var emptyPad =\r\n self.SignaturePad.isEmpty() &&\r\n self.TopazNumberOfTabletPoints() == 0;\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/sign\";\r\n var data = self.SignaturePad.toDataURL();\r\n if (\r\n data &&\r\n data != \"\" &&\r\n data.indexOf(\"data:image/\") > -1 &&\r\n emptyPad == false\r\n ) {\r\n data = data.replace(/\\+/g, \"#\");\r\n } else {\r\n data = null;\r\n }\r\n if (self.CurrentSignatureField != null) {\r\n var event = self.EventName;\r\n var eventId = self.EventId;\r\n var selection =\r\n \"event=\" +\r\n event +\r\n \"|eventId=\" +\r\n eventId +\r\n \"|fieldId=\" +\r\n model.FieldId +\r\n \"|sign=\" +\r\n data;\r\n\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n if (result.Code == 0) {\r\n model.FieldValue = result.SigId;\r\n self.ValidateField($(\"#f\" + model.FieldId)[0]);\r\n var input = \"#f\" + model.FieldId;\r\n var field = $(input);\r\n self.SetFieldValue(field, result.SigId, true);\r\n if (!!field) {\r\n nx.ResetField(field);\r\n if (!!model.FieldValue && !emptyPad) {\r\n self.ToggleSignatureFocus(field, true);\r\n } else {\r\n self.ToggleSignatureFocus(field, false);\r\n }\r\n }\r\n } else {\r\n VR.Common.HandleInvalidResult(result, \"Signature\", false);\r\n }\r\n\r\n $(\"#signature-modal\").modal(\"hide\");\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n self.SetSignatureButtonColor(model);\r\n alert(\r\n \"Warning, your signature will not get saved until you save the record.\"\r\n );\r\n }\r\n try {\r\n self.StopTopazInput();\r\n } catch (e) { }\r\n self.CurrentSignatureField = null;\r\n });\r\n }\r\n }\r\n\r\n var field = $(\"#f\" + model.FieldId);\r\n self.SetSignatureButtonColor(model);\r\n if (!!field) {\r\n if (!!model.FieldValue) {\r\n self.ToggleSignatureFocus(field, true);\r\n } else {\r\n self.ToggleSignatureFocus(field, false);\r\n }\r\n }\r\n\r\n $(field).data(\"field\", model);\r\n $(field).on(\"click\", function (e) {\r\n self.CurrentSignatureField = $(this).data(\"field\");\r\n self.ShowSignature(this, false);\r\n self.SignaturePad.off();\r\n });\r\n field.on(\"keydown\", self.FieldKeyDown);\r\n field.on(\"focus\", function (e) {\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n });\r\n }; //SetupSignatureButton\r\n self.ToggleSignatureFocus = function (field, signed) {\r\n if (signed == true) {\r\n field.removeClass(\"btn-signature-unsigned\");\r\n field.addClass(\"btn-signature-signed\");\r\n field.text(\"Signed\");\r\n } else {\r\n field.addClass(\"btn-signature-unsigned\");\r\n field.removeClass(\"btn-signature-signed\");\r\n field.text(\"Sign\");\r\n }\r\n }; //ToggleSignatureFocus\r\n\r\n self.SetSignatureButtonColor = function (model) {\r\n var emptyPad =\r\n self.SignaturePad.isEmpty() && self.TopazNumberOfTabletPoints() == 0;\r\n var fieldValue = model.Cleared || !model.FieldValue;\r\n if (emptyPad && fieldValue) {\r\n $(\"#f\" + model.FieldId).css(\"background\", \"#22B3FC\");\r\n $(\"#f\" + model.FieldId).css(\"color\", \"#FFFFFF\");\r\n } else {\r\n $(\"#f\" + model.FieldId).css(\"background\", \"#FFFFFF\");\r\n $(\"#f\" + model.FieldId).css(\"color\", \"#555555\");\r\n }\r\n }; //SetSignatureButtonColor\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up the text box control.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupTextBox = function (model) {\r\n var field = $(\"#f\" + model.FieldId);\r\n field.attr(\"autocomplete\", \"off\");\r\n field.attr(\"spellcheck\", model.SpellCheck);\r\n $(field).val(model.FieldValue);\r\n $(field).on(\"keypress\", function (e) {\r\n var model = $(this).data(\"field\");\r\n if (model && model.FieldStatus != null) {\r\n self.ResetField(this, true);\r\n }\r\n });\r\n\r\n $(field).on(\"keydown\", self.FieldKeyDown);\r\n $(field).on(\"keyup\", self.FieldKeyUp);\r\n\r\n $(field).on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n\r\n if ($(field).val() != model.FieldValue) {\r\n $(this).data(\"casing\", \"ignore\"); // Does this line do anything calls (_this_) not (_field_)\r\n // should this line be removed?\r\n }\r\n }; //SetupTextBox\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the TIFF image editor accept button.\r\n /// \r\n /// */\r\n self.SetupTiffEditAccept = function () {\r\n $(\"#tiffeditor-acceptbutton\").on(\"click\", function () {\r\n var imagedit = $(\"#tiffeditor-editsection\");\r\n var id = imagedit.attr(\"data-editor\");\r\n var editor = $(\"#\" + id);\r\n var images = editor.find(\"img\");\r\n var size = images.length;\r\n var changed = false;\r\n size = parseInt(size);\r\n for (var i = 0; i < size; i++) {\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (i + 1));\r\n var imageedit = $(\"#tiffeditor-page\" + (i + 1));\r\n var croped = tiffpage.attr(\"mode\");\r\n if (croped == \"1\") {\r\n var canvas = $(\"#tiffeditor-canvas\" + (i + 1));\r\n if (canvas.length > 0) {\r\n var canvas = canvas.find(\"img\");\r\n if (canvas.length > 0) {\r\n var data = $(canvas).attr(\"src\");\r\n if (data) {\r\n var image = editor.find(\"img[data-page-number='\" + i + \"']\");\r\n image.attr(\"src\", data);\r\n changed = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n var changed = editor.attr(\"data-changed\");\r\n if (!changed) {\r\n changed = \"\";\r\n }\r\n if (changed.indexOf(\"image\") == -1) {\r\n changed += \"|image\";\r\n }\r\n\r\n var canvases = $(\"#tiffeditor-annotationsection\").data(\"canvas\");\r\n var parent = editor.parents(\".k-window\");\r\n parent = parent.find(\"canvas\");\r\n if (parent.length > 1) {\r\n parent = $(parent[0]);\r\n }\r\n parent = parent.parent();\r\n var targets = parent.data(\"canvas\");\r\n if (targets && targets.length > 0) {\r\n $.each(canvases, function (index, canvas) {\r\n if (index < targets.length) {\r\n var target = targets[index];\r\n var cropped = $(\"#tiffeditor-pagesection\" + (index + 1)).attr(\r\n \"mode\"\r\n );\r\n if (cropped == \"1\") {\r\n var image = editor.find(\"img[data-page-number='\" + index + \"']\");\r\n var canvasid = id.replace(\"-editor\", \"-canvas\");\r\n VR.Image.Annotation.RecreateTiffAnnote(\r\n index,\r\n image,\r\n \"tiffeditor-canvasannote\",\r\n canvasid\r\n );\r\n } else {\r\n VR.Image.Annotation.Copy(canvas, target);\r\n }\r\n }\r\n });\r\n }\r\n\r\n var jsons = \"\";\r\n $.each(canvases, function (index, canvas) {\r\n var object;\r\n var cropped = $(\"#tiffeditor-pagesection\" + (index + 1)).attr(\"mode\");\r\n if (cropped == \"1\") {\r\n var annote = $(\"#tiffeditor-canvasannote\" + (index + 1));\r\n object = annote.data(\"canvas\");\r\n } else {\r\n object = canvas;\r\n }\r\n\r\n var json = \"\";\r\n if (object) {\r\n json = object.toJSON([\r\n \"order\",\r\n \"originalText\",\r\n \"originalWidth\",\r\n \"originalHeight\"\r\n ]);\r\n json = JSON.stringify(json);\r\n }\r\n jsons += json + \"|\";\r\n });\r\n\r\n if (jsons.length > 0) {\r\n jsons = jsons.substring(0, jsons.length - 1);\r\n }\r\n\r\n var width = \"\";\r\n var height = \"\";\r\n if (canvases && canvases.length > 0) {\r\n for (var i = 0; i < canvases.length; i++) {\r\n var cropped = $(\"#tiffeditor-pagesection\" + (i + 1)).attr(\"mode\");\r\n if (cropped == \"1\") {\r\n var annote = $(\"#tiffeditor-canvasannote\" + (i + 1));\r\n var object = annote.data(\"canvas\");\r\n width += object.getWidth() + \"|\";\r\n height += object.getHeight() + \"|\";\r\n } else {\r\n width += canvases[i].getWidth() + \"|\";\r\n height += canvases[i].getHeight() + \"|\";\r\n }\r\n }\r\n }\r\n\r\n editor.attr(\"annotation\", jsons);\r\n editor.attr(\"annote-width\", width);\r\n editor.attr(\"annote-height\", height);\r\n\r\n if (changed.indexOf(\"annote\") == -1) {\r\n changed += \"|annote\";\r\n }\r\n editor.attr(\"data-changed\", changed);\r\n\r\n $(\"#tiffeditor-modal\").modal(\"hide\");\r\n });\r\n }; //SetupTiffEditAccept\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the TIFF image editor buttons.\r\n /// \r\n /// */\r\n self.SetupTiffEditorButtons = function () {\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-imageedit\")\r\n .tooltip({\r\n container: \"body\",\r\n trigger: \"hover\"\r\n });\r\n\r\n $(\"#tiffeditor-dragbutton\").on(\"click\", function (e) {\r\n var tiffpage = self.GetCurrentTiffEditorPage();\r\n var item = tiffpage.find(\".cropper-modal\");\r\n item.css(\"opacity\", \"0\");\r\n item = tiffpage.find(\".cropper-crop-box\");\r\n item.css(\"display\", \"none\");\r\n var editor = self.GetCurrentTiffEditor();\r\n editor.cropper(\"setDragMode\", \"move\");\r\n $(\"#tiffeditor-dragbutton\").addClass(\"active\");\r\n $(\"#tiffeditor-cropbutton\").removeClass(\"active\");\r\n tiffpage.attr(\"mode\", \"0\");\r\n });\r\n\r\n $(\"#tiffeditor-cropbutton\").on(\"click\", function (e) {\r\n var tiffpage = self.GetCurrentTiffEditorPage();\r\n\r\n var item = tiffpage.find(\".cropper-modal\");\r\n item.css(\"opacity\", \"0.5\");\r\n item = tiffpage.find(\".cropper-crop-box\");\r\n item.css(\"display\", \"\");\r\n var editor = self.GetCurrentTiffEditor();\r\n editor.cropper(\"setDragMode\", \"crop\");\r\n $(\"#tiffeditor-dragbutton\").removeClass(\"active\");\r\n $(\"#tiffeditor-cropbutton\").addClass(\"active\");\r\n tiffpage.attr(\"mode\", \"1\");\r\n VR.Image.Annotation.HideAnnotation(true);\r\n });\r\n\r\n $(\"#tiffeditor-getimagebutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n var page = section.attr(\"data-page-number\");\r\n size = parseInt(size);\r\n page = parseInt(page);\r\n if (isNaN(page) || page < 0 || page >= size) {\r\n return;\r\n }\r\n\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (page + 1));\r\n var item = tiffpage.find(\".cropper-crop-box\");\r\n var display = item.css(\"display\");\r\n if (display == \"none\") {\r\n return;\r\n }\r\n\r\n //var editor = $(\"#tiffeditor-page\" + (page + 1));\r\n //var width;\r\n //var height;\r\n //if ($(window).width() >= 768) {\r\n // var imageData = editor.cropper('getCanvasData');\r\n // var width = Math.round(imageData.width) + \"px\";\r\n // var height = Math.round(imageData.height) + \"px\";\r\n //} else {\r\n // var modal = $(\"#tiffeditor-modal\");\r\n // var size = self.SetImageEditorSize(modal);\r\n // var width = size.width + \"px\";\r\n // var height = size.height + \"px\";\r\n //}\r\n //var canvas = editor.cropper(\"getCroppedCanvas\");\r\n //$(canvas).css(\"max-height\", height);\r\n //$(canvas).css(\"max-width\", width);\r\n //var canvassection = $(\"#tiffeditor-canvas\" + (page + 1));\r\n //canvassection.html(canvas);\r\n //canvassection.css(\"display\", \"\");\r\n for (var i = 1; i <= size + 1; i++) {\r\n if (i !== page + 1) {\r\n $(\"#tiffeditor-canvas\" + i).css(\"display\", \"none\");\r\n $(\"#tiffeditor-canvasannote\" + i).css(\"display\", \"none\");\r\n }\r\n }\r\n\r\n var editor = $(\"#tiffeditor-page\" + (page + 1));\r\n var annote = $(\"#tiffeditor-annotate\" + (page + 1));\r\n var cropped = $(\"#tiffeditor-canvas\" + (page + 1));\r\n var cropannote = $(\"#tiffeditor-canvasannote\" + (page + 1));\r\n var cropbox = $(\".cropper-crop-box\");\r\n VR.Image.CreateCroppedImage(\r\n tiffpage,\r\n editor,\r\n annote,\r\n cropped,\r\n cropannote,\r\n cropbox\r\n );\r\n\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"hidden\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"hidden\");\r\n tiffpage.attr(\"data-cropped\", \"1\");\r\n tiffpage.css(\"display\", \"none\");\r\n var canvases = $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\");\r\n canvases.css(\"display\", \"\");\r\n section.css(\"display\", \"none\");\r\n });\r\n\r\n $(\"#tiffeditor-resetbutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n for (var i = 0; i < size; i++) {\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (i + 1));\r\n if (i == 0) {\r\n tiffpage.css(\"display\", \"\");\r\n } else {\r\n tiffpage.css(\"display\", \"none\");\r\n }\r\n var editor = $(\"#tiffeditor-page\" + (i + 1));\r\n editor.cropper(\"reset\");\r\n editor.attr(\"data-scaleX\", \"\");\r\n editor.attr(\"data-scaleY\", \"\");\r\n tiffpage.attr(\"data-cropped\", \"\");\r\n var canvassection = $(\"#tiffeditor-canvas\" + (i + 1));\r\n canvassection.css(\"display\", \"none\");\r\n\r\n var item = tiffpage.find(\".cropper-modal\");\r\n item.css(\"opacity\", \"0\");\r\n item = tiffpage.find(\".cropper-crop-box\");\r\n item.css(\"display\", \"none\");\r\n editor.cropper(\"setDragMode\", \"move\");\r\n tiffpage.attr(\"mode\", \"0\");\r\n }\r\n\r\n section.css(\"display\", \"\").attr(\"data-page-number\", \"0\");\r\n $(\"#tiffeditor-canvassection,#tiffeditor-canvasannote\").css(\r\n \"display\",\r\n \"none\"\r\n );\r\n $(\"#tiffeditor-buttons\")\r\n .find(\".btn-cropbutton\")\r\n .css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-slidebars\").css(\"visibility\", \"visible\");\r\n $(\"#tiffeditor-dragbutton\").trigger(\"click\");\r\n VR.Image.Annotation.ShowAnnotation(true);\r\n VR.Image.SlideBars.ResetTiff();\r\n });\r\n\r\n $(\"#tiffeditor-prevbutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n var page = section.attr(\"data-page-number\");\r\n size = parseInt(size);\r\n page = parseInt(page);\r\n if (isNaN(page) || page < 1) {\r\n return;\r\n }\r\n page--;\r\n self.SetTiffEditorPage(section, page, size);\r\n VR.Image.Annotation.SetTiffEditorPage(page);\r\n });\r\n\r\n $(\"#tiffeditor-nextbutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n var page = section.attr(\"data-page-number\");\r\n size = parseInt(size);\r\n page = parseInt(page);\r\n if (isNaN(page) || page + 1 >= size) {\r\n return;\r\n }\r\n page++;\r\n self.SetTiffEditorPage(section, page, size);\r\n VR.Image.Annotation.SetTiffEditorPage(page);\r\n });\r\n\r\n $(\"#tiffeditor-firstbutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n size = parseInt(size);\r\n if (isNaN(size)) {\r\n return;\r\n }\r\n self.SetTiffEditorPage(section, 0, size);\r\n VR.Image.Annotation.SetTiffEditorPage(0);\r\n });\r\n\r\n $(\"#tiffeditor-lastbutton\").on(\"click\", function (e) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n size = parseInt(size);\r\n if (isNaN(size)) {\r\n return;\r\n }\r\n self.SetTiffEditorPage(section, size - 1, size);\r\n VR.Image.Annotation.SetTiffEditorPage(size - 1);\r\n });\r\n\r\n $(\"#tiffeditor-annotetoggle\").on(\"click\", function () {\r\n var page = VR.Image.GetCurrentEditorPage();\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (page + 1));\r\n var cropped = tiffpage.attr(\"data-cropped\");\r\n if (cropped) {\r\n var page = $(\"#tiffeditor-canvasannote\" + (page + 1));\r\n var display = page.css(\"display\");\r\n if (display != \"none\") {\r\n page.css(\"display\", \"none\");\r\n } else {\r\n page.css(\"display\", \"\");\r\n }\r\n } else if (VR.Image.Annotation.IsHidden(true)) {\r\n $(\"#tiffeditor-resetbutton\").trigger(\"click\");\r\n } else {\r\n VR.Image.Annotation.HideAnnotation(true);\r\n }\r\n });\r\n\r\n $(\"#tiffeditor-editannot\").on(\"click\", function () {\r\n var page = VR.Image.GetCurrentEditorPage();\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (page + 1));\r\n var cropped = tiffpage.attr(\"data-cropped\");\r\n if (!cropped) {\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n size = parseInt(size);\r\n $(\"#tiffeditor-resetbutton\").trigger(\"click\");\r\n self.SetTiffEditorPage(section, page, size);\r\n VR.Image.Annotation.SetTiffEditorPage(page);\r\n VR.Image.Annotation.ShowAnnotationEditor(\r\n \"tiffeditor-editsection\",\r\n \"tiffeditor-annotationsection\"\r\n );\r\n } else {\r\n page++;\r\n var annote = \"tiffeditor-canvasannote\" + page;\r\n var cropped = \"tiffeditor-canvas\" + page;\r\n VR.Image.Annotation.ShowCroppedAnnoteEditor(cropped, annote);\r\n }\r\n });\r\n }; //SetupTiffEditorButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the TIFF image viewer buttons.\r\n /// \r\n /// */\r\n self.SetupTiffViewerButtons = function (windowHost) {\r\n var buttons = windowHost.find(\r\n \".imageviewer-firstbutton, .imageviewer-prevbutton, .imageviewer-nextbutton, .imageviewer-lastbutton\"\r\n );\r\n buttons.tooltip({\r\n container: \"body\",\r\n placement: \"bottom\",\r\n trigger: \"hover\"\r\n });\r\n\r\n buttons.on(\"click\", function (e) {\r\n var section = windowHost.find(\".imageviewer-imagesection\");\r\n var pagenum = section.attr(\"data-page-number\");\r\n var size = section.attr(\"data-pages\");\r\n pagenum = parseInt(pagenum);\r\n size = parseInt(size);\r\n if (isNaN(pagenum) || isNaN(size)) {\r\n return;\r\n }\r\n\r\n if ($(this).hasClass(\"imageviewer-firstbutton\")) {\r\n pagenum = 0;\r\n } else if ($(this).hasClass(\"imageviewer-lastbutton\")) {\r\n pagenum = size - 1;\r\n } else if ($(this).hasClass(\"imageviewer-prevbutton\")) {\r\n pagenum--;\r\n if (pagenum < 0) {\r\n pagenum = 0;\r\n }\r\n } else {\r\n pagenum++;\r\n if (pagenum >= size) {\r\n pagenum = size - 1;\r\n }\r\n }\r\n\r\n var images = section.find(\"img\");\r\n $.each(images, function (index, image) {\r\n var num = $(image).attr(\"data-page-number\");\r\n num = parseInt(num);\r\n if (isNaN(num)) {\r\n return;\r\n }\r\n\r\n if (num == pagenum) {\r\n $(image).css(\"display\", \"\");\r\n } else {\r\n $(image).css(\"display\", \"none\");\r\n }\r\n });\r\n\r\n var canvases = windowHost.find(\"canvas\");\r\n $.each(canvases, function (index, canvas) {\r\n var display = \"none\";\r\n if (index == pagenum) {\r\n display = \"\";\r\n }\r\n $(canvas).css(\"display\", display);\r\n });\r\n\r\n section.attr(\"data-page-number\", pagenum);\r\n var page = section.find(\".imageviewer-pagenumber\");\r\n page.html(\"Page \" + (pagenum + 1) + \" of \" + size);\r\n });\r\n }; //SetupTiffViewerButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the TIFF image editor save buttons.\r\n /// \r\n /// */\r\n self.SetupTiffSaveButtons = function () {\r\n $(\"#tiffeditor-savetodatabse, #tiffeditor-savetofile\").on(\"click\", function (\r\n e\r\n ) {\r\n $(\"#tiffeditor-modal\").modal(\"hide\");\r\n var location = \"D\";\r\n var id = $(this).attr(\"id\");\r\n if (id == \"tiffeditor-savetofile\") {\r\n location = \"P\";\r\n }\r\n\r\n var event = self.EventName;\r\n var appfunc = $(\"#tiffeditor-appfunction\");\r\n if (appfunc.length == 0) {\r\n appfunc = \"\";\r\n } else {\r\n appfunc = appfunc.val();\r\n }\r\n var isactive = $(\"#tiffeditor-isactive\");\r\n if (isactive.length == 0) {\r\n isactive = true;\r\n } else {\r\n isactive = isactive.attr(\"checked\");\r\n if (isactive == \"checked\") {\r\n isactive = true;\r\n }\r\n }\r\n var description = $(\"#tiffeditor-description\").val();\r\n var section = $(\"#tiffeditor-editsection\");\r\n var size = section.attr(\"data-image-size\");\r\n size = parseInt(size);\r\n var data = \"\";\r\n for (var i = 0; i < size; i++) {\r\n var tiffpage = $(\"#tiffeditor-pagesection\" + (i + 1));\r\n var cropped = tiffpage.attr(\"data-cropped\");\r\n if (cropped && cropped == \"1\") {\r\n var canvas = $(\"#tiffeditor-canvas\" + (i + 1) + \" > img\");\r\n if (canvas.length > 0) {\r\n data += \"!\" + canvas.attr(\"src\");\r\n }\r\n } else {\r\n var page = $(\"#tiffeditor-page\" + (i + 1));\r\n data += \"!\" + page.attr(\"src\");\r\n }\r\n }\r\n\r\n if (data) {\r\n data = data.substring(1).replace(/\\+/g, \"#\");\r\n }\r\n\r\n var annote = VR.Image.Annotation.TiffJsonString(\r\n \"tiffeditor-annotationsection\"\r\n );\r\n\r\n var year = self.GetFieldValue(\"EVENT_YEAR\");\r\n var number = self.GetFieldValue(\"STATE_FILE_NUMBER\", true);\r\n\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/tifffilesave\";\r\n var selection = {\r\n EventGroup: event,\r\n eventId: self.EventId,\r\n appfunc: appfunc,\r\n isactive: isactive,\r\n description: description,\r\n location: location,\r\n size: size,\r\n year: year,\r\n number: number,\r\n annote: annote.jsons,\r\n width: annote.widths,\r\n height: annote.heights,\r\n data: data\r\n };\r\n VR.Common.SecurePost(\r\n url,\r\n { imageLoad: selection },\r\n function (result) {\r\n if (result.Code != 0 || result.Image == null) {\r\n VR.Common.HandleInvalidResult(result, \"Tiff File Load\", false);\r\n } else {\r\n var list = $(\"#image-list\");\r\n list.find(\".image\").off(\"dblclick\");\r\n var images = self.ImageDataSource.data();\r\n if (images.length == 0) {\r\n images = [];\r\n }\r\n images.push(result.Image);\r\n self.ImageDataSource.data(images);\r\n\r\n var pager = $(\"#image-pager\").data(\"kendoPager\");\r\n if (pager) {\r\n pager.refresh();\r\n }\r\n var kendoList = list.data(\"kendoListView\");\r\n if (kendoList) {\r\n kendoList.refresh();\r\n\r\n list.find(\".image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n }\r\n\r\n self.ImageCount++;\r\n if (VR.Common.IsMobile()) {\r\n $(\"#mobileImagesBtnText\").html(VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n else {\r\n $(\"#images-count\").html(\"Image count: \" + VR.Common.HtmlEscape(self.ImageCount));\r\n }\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n });\r\n }; //SetupTiffSaveButtons\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the timer picker.\r\n /// \r\n /// The field model.\r\n /// */\r\n self.SetupTimePicker = function (model) {\r\n var format = model.InputFormat;\r\n if (!format || format == \"\") {\r\n format = \"HH:mm\";\r\n }\r\n\r\n var input = $(\"#f\" + model.FieldId);\r\n input.attr(\"autocomplete\", \"off\");\r\n input.kendoTimePicker({\r\n format: format\r\n });\r\n $(input).data(\"kendoTimePicker\").readonly(!model.CanEdit);\r\n\r\n input.on(\"keydown\", self.FieldKeyDown);\r\n input.on(\"keyup\", self.FieldKeyUp);\r\n input.on(\"focus\", function (e) {\r\n $(this).select();\r\n VR.Image.TypeFromImage.SetField(model, this);\r\n VR.Edit.LastFocusedField = model.FieldId;\r\n });\r\n }; //SetupTimePicker\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the type from image.\r\n /// \r\n /// */\r\n self.SetupTypeFromImage = function () {\r\n VR.Image.TypeFromImage.Setup();\r\n }; //SetupTypeFromImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Setsup the view images.\r\n /// \r\n /// */\r\n self.SetupViewImage = function () {\r\n var menu = $(\"#imagelist-menu\");\r\n if (menu.length < 1) {\r\n return;\r\n }\r\n\r\n var eventHandler = function (e) {\r\n var kendoWindow = $(\"#imagelist-window\").data(\"kendoWindow\");\r\n if (!kendoWindow) {\r\n var height = self.NavHeight;\r\n height = VR.Common.ToFloat(height) + 10;\r\n var top = height + \"px\";\r\n\r\n var listWindow = $(\"#imagelist-window\");\r\n listWindow.kendoWindow({\r\n animation: false,\r\n position: {\r\n top: top,\r\n left: \"10%\"\r\n },\r\n width: \"80%\",\r\n title: \"Images/Documents\",\r\n actions: [\"Pin\", \"Close\"],\r\n close: function (e) {\r\n setTimeout(function () {\r\n $(\".k-window\").css(\"z-index\", \"1000\");\r\n }, 1000);\r\n },\r\n open: function (e) {\r\n var elemenet = listWindow.parents(\".k-window\");\r\n elemenet.css(\"z-index\", \"1000\");\r\n },\r\n visible: false\r\n });\r\n\r\n listWindow.find(\".btn-success\").on(\"click\", function (e) {\r\n var listview = $(\"#image-list\").data(\"kendoListView\");\r\n var selected = listview.select();\r\n if (selected.length > 0) {\r\n self.ShowImageWindow(selected[0].id);\r\n }\r\n });\r\n\r\n var button = listWindow.find(\".btn-danger\");\r\n if (!self.ImageSecurity || !self.ImageSecurity.CanDelete) {\r\n button.css(\"display\", \"none\");\r\n } else {\r\n button.on(\"click\", function () {\r\n var listview = $(\"#image-list\").data(\"kendoListView\");\r\n var selected = listview.select();\r\n if (selected.length > 0) {\r\n self.ImageId = selected[0].id;\r\n VR.Common.ShowMessageBox(\r\n \"Do you want to delete this item?\",\r\n self.DeleteImage,\r\n true\r\n );\r\n }\r\n });\r\n }\r\n\r\n button = listWindow.find(\".btn-warning\");\r\n if (!self.ImageSecurity || !self.ImageSecurity.CanInactivate) {\r\n button.css(\"display\", \"none\");\r\n } else {\r\n button.on(\"click\", function () {\r\n var listWindow = $(\"#image-list\").data(\"kendoListView\");\r\n var selected = listWindow.select();\r\n if (selected.length > 0) {\r\n self.InactivateImage(selected[0].id);\r\n }\r\n });\r\n }\r\n\r\n listWindow.find(\".btn-primary\").on(\"click\", function () {\r\n $(\"#imagelist-window\")\r\n .data(\"kendoWindow\")\r\n .close();\r\n });\r\n\r\n if (VR.Common.IsMobile()) {\r\n var parents = listWindow.parents(\".k-window\");\r\n var handle = parents.find(\".k-resize-se\");\r\n handle.css(\"opacity\", \"1\");\r\n handle.css(\"background-color\", \"#66f\");\r\n handle.css(\"z-index\", \"1010\");\r\n handle.css(\"width\", \"32px\");\r\n handle.css(\"height\", \"32px\");\r\n }\r\n\r\n $(\"#image-pager\").kendoPager({\r\n dataSource: self.ImageDataSource\r\n });\r\n\r\n $(\"#image-list\").kendoListView({\r\n dataSource: self.ImageDataSource,\r\n selectable: true,\r\n template: kendo.template(\r\n \"
#: Description #
\"\r\n )\r\n });\r\n\r\n var isDark = $(\"#isdarkgadget\").val();\r\n if (isDark) {\r\n $(\"#image-list\").css(\"background-color\", \"#444\");\r\n }\r\n\r\n var parent = $(\"#image-list\").parents(\".k-window\");\r\n parent.css(\"z-index\", \"1000\");\r\n\r\n $(\"#imagelist-window\").css(\"display\", \"\");\r\n }\r\n self.ShowImageList();\r\n };\r\n\r\n menu.on(VR.Common.IsNavBurger() ? \"touchend\" : \"click\", eventHandler);\r\n let imagesBtn = $(\"#images-count\");\r\n if (VR.Common.IsMobile()) {\r\n if (self.EventId === 0) {\r\n imagesBtn.css(\"display\", \"none\");\r\n } else {\r\n imagesBtn.removeClass();\r\n imagesBtn.addClass(\"glyphicon glyphicon-picture\");\r\n imagesBtn.html(`${self.ImageCount}`);\r\n imagesBtn.css({ \"font-size\": \"30px\", \"display\": \"inline\", \"padding\": \"10px 8px 10px 12px\", \"margin-right\": \"10px\" });\r\n $(\"#mobileImagesBtnText\").css({ \"font-size\": \"30px\", \"position\": \"relative\", \"top\": \"-5px\", \"left\": \"5px\", \"color\": \"black\", \"font-weight\": \"bold\" });\r\n imagesBtn.on(\"touchend\", eventHandler);\r\n }\r\n }\r\n else {\r\n imagesBtn.on(\"dblclick\", eventHandler);\r\n imagesBtn.on(\"keydown\", function (e) {\r\n if (e.which === 13 || e.which === 32)\r\n eventHandler(e);\r\n });\r\n }\r\n }; //SetupViewImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Sets up window key down event handler.\r\n /// \r\n /// */\r\n self.SetupWindowKeyDown = function () {\r\n if (\"onhelp\" in window) {\r\n window.onhelp = function (e) {\r\n return false;\r\n };\r\n }\r\n\r\n $(window).on(\"keydown\", function (e) {\r\n VR.Common.ShowFieldHelp(e);\r\n });\r\n }; //SetupWindowKeyDown\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows image/document window.\r\n /// \r\n /// The element Id.\r\n /// */\r\n self.ShowImage = function (id) {\r\n if (id.indexOf(\"image-\") > -1) {\r\n id = id.substring(\"image-\".length);\r\n id = parseInt(id);\r\n }\r\n var selected = null;\r\n $.each(self.ImageDataSource.data(), function (index, model) {\r\n if (model.ImageId == id) {\r\n selected = model;\r\n return false;\r\n }\r\n });\r\n\r\n if (!selected) {\r\n return;\r\n }\r\n\r\n var type = selected.Extension;\r\n if (type) {\r\n type = type.toLowerCase();\r\n }\r\n\r\n var isImage = false;\r\n switch (type) {\r\n case \"bmp\":\r\n case \"gif\":\r\n case \"tiff\":\r\n case \"jpeg\":\r\n case \"png\":\r\n isImage = true;\r\n break;\r\n }\r\n\r\n var windowHost = $(\"#\" + id + \"-window\");\r\n if (windowHost.length > 0) {\r\n var editor = $(\"#\" + id + \"-editor\");\r\n editor.attr(\"data-changed\", \"\");\r\n if (!isImage && type != \"pdf\") {\r\n var html = editor.html();\r\n editor.html(html);\r\n }\r\n var imageWindow = windowHost.data(\"kendoWindow\");\r\n var elemenet = windowHost.parents(\".k-window\");\r\n elemenet.css(\"z-index\", \"1000\");\r\n imageWindow.open();\r\n } else {\r\n $(\"#imagelist-message\").html(\"Loading image/document. Please wait...\");\r\n\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/image\";\r\n VR.Common.SecurePost(\r\n url,\r\n \"image-\" + id,\r\n function (result) {\r\n if (result.Code != 0) {\r\n $(\"#imagelist-message\").html(\"\");\r\n VR.Common.HandleInvalidResult(result, \"Image\", false);\r\n } else if (result.Images) {\r\n $(\"
\").appendTo(\r\n \"#image-windows\"\r\n );\r\n windowHost = self.CreateImageWindow(id, result);\r\n var html = self.CreateImageViewer(result, selected);\r\n var editor = $(\"#\" + id + \"-editor\");\r\n editor.html(html);\r\n editor.attr(\"data-changed\", \"\");\r\n\r\n self.SetupTiffViewerButtons(windowHost);\r\n\r\n windowHost.find(\".btn-warning\").on(\"click\", function () {\r\n VR.Print.PrintDialog(function (args) {\r\n if (args.isCancelled) {\r\n return;\r\n }\r\n var printImages = VR.Image.Generate(id, args, function (images) {\r\n //VR.Print.ImagePrint(images, args); // TWB 5/13/2024 Generate to return all images and call ImagePrint once\r\n });\r\n VR.Print.ImagePrint(printImages, args);\r\n });\r\n });\r\n\r\n windowHost.find(\".btn-default\").on(\"click\", function () {\r\n VR.Image.Annotation.ToggleAnnotation(windowHost);\r\n });\r\n\r\n windowHost.find(\".imageviewer-closebutton\").on(\"click\", function () {\r\n var editor = $(\"#\" + id + \"-editor\");\r\n var changed = editor.attr(\"data-changed\");\r\n var backup = $(\"#\" + id + \"-backup\");\r\n if (changed && changed != \"\") {\r\n var image = windowHost.data(\"Image\");\r\n var input = windowHost.find(\"input[type='search']\");\r\n var dropdownlist = input.data(\"kendoDropDownList\");\r\n if (dropdownlist != null) {\r\n if (!image.ApplicationFunction) {\r\n dropdownlist.select(-1);\r\n } else {\r\n dropdownlist.select(function (item) {\r\n return item.value == image.ApplicationFunction;\r\n });\r\n var selected = dropdownlist.select();\r\n if (selected == -1) {\r\n var data = {\r\n text: image.ApplicationFunction,\r\n value: image.ApplicationFunction\r\n };\r\n dropdownlist.dataSource.add(data);\r\n dropdownlist.select(function (item) {\r\n return item.value == image.ApplicationFunction;\r\n });\r\n selected = dropdownlist.select();\r\n }\r\n }\r\n }\r\n\r\n var isactive = windowHost.find(\r\n \".imagedit-input[type='checkbox']\"\r\n );\r\n isactive.attr(\"checked\", image.IsActive);\r\n var description = windowHost.find(\r\n \".imagedit-input[type='text']\"\r\n );\r\n description.val(image.Description);\r\n if (changed.indexOf(\"image\") > 0) {\r\n var html = backup.html();\r\n editor.html(html);\r\n self.SetupTiffViewerButtons(windowHost);\r\n }\r\n }\r\n editor.attr(\"data-changed\", \"\");\r\n backup.html(\"\");\r\n windowHost.data(\"kendoWindow\").close();\r\n });\r\n\r\n windowHost.find(\".btn-info\").on(\"click\", function () {\r\n var editor = $(\"#\" + id + \"-editor\");\r\n var backup = $(\"#\" + id + \"-backup\");\r\n var html = backup.html();\r\n if (!html) {\r\n html = editor.html();\r\n backup.html(html);\r\n }\r\n var section = windowHost.find(\".imageviewer-imagesection\");\r\n var annote = editor.attr(\"annotation\");\r\n var width = editor.attr(\"annote-width\");\r\n var height = editor.attr(\"annote-height\");\r\n if (!annote) {\r\n var parentWindow = windowHost.data(\"kendoWindow\");\r\n annote = parentWindow.Annotation;\r\n width = parentWindow.AnnotationWidth;\r\n height = parentWindow.AnnotationHeight;\r\n }\r\n if (section.length == 0) {\r\n $(\"#imageeditor-modal\")\r\n .attr(\"data-annotation\", annote)\r\n .attr(\"data-annotewidth\", width)\r\n .attr(\"data-annoteheight\", height);\r\n self.EditImage(editor);\r\n } else {\r\n $(\"#tiffeditor-modal\")\r\n .attr(\"data-annotation\", annote)\r\n .attr(\"data-annotewidth\", width)\r\n .attr(\"data-annoteheight\", height);\r\n self.EditTiffImage(editor);\r\n }\r\n });\r\n\r\n windowHost.find(\".btn-success\").on(\"click\", function () {\r\n self.UpdateImage(windowHost);\r\n var backup = $(\"#\" + id + \"-backup\");\r\n backup.html(\"\");\r\n $(\"#\" + id + \"-window\").remove();\r\n });\r\n\r\n var info = windowHost.find(\".btn-info\");\r\n if (isImage) {\r\n info.css(\"display\", \"\");\r\n } else {\r\n info.css(\"display\", \"none\");\r\n }\r\n\r\n var width = $(window).width() * 0.6;\r\n var height = $(window).height() * 0.6;\r\n var frame = windowHost.find(\"iframe\");\r\n frame.width(width);\r\n frame.height(height);\r\n var imageWindow = windowHost.data(\"kendoWindow\");\r\n imageWindow.open();\r\n $(\"#imagelist-message\").html(\"\");\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n ).fail(function (e) {\r\n $(\"#imagelist-message\").html(\"\");\r\n var message = \"Get failed.\";\r\n if (e && e.responseText) {\r\n message = e.responseText;\r\n }\r\n var result = { Code: 999999, Message: message, StackInfo: \"\" };\r\n VR.Common.HandleInvalidResult(result, \"Image\", true);\r\n });\r\n }\r\n }; //ShowImage\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows image/document list window.\r\n /// \r\n /// */\r\n self.ShowImageList = function () {\r\n if (self.ImageListWindow != null) {\r\n self.ImageListWindow.open();\r\n } else {\r\n nxLoading.start(\"Loading images/documents. Please wait...\");\r\n\r\n $(\"#image-list\").html(\"\");\r\n var event = self.EventName;\r\n var eventid = self.EventId;\r\n var selection = event + \"-\" + eventid;\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/images\";\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n nxLoading.end();\r\n\r\n if (result && result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Images\", true);\r\n } else if (!result.Images || result.Images.length < 1) {\r\n VR.Common.ShowInfo(\"No images/documents to show.\");\r\n } else {\r\n self.ImageDataSource.data(result.Images);\r\n\r\n $(\"#image-pager\")\r\n .data(\"kendoPager\")\r\n .refresh();\r\n $(\"#image-list\")\r\n .data(\"kendoListView\")\r\n .refresh();\r\n\r\n $(\"#image-list .image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n\r\n self.ImageListWindow = $(\"#imagelist-window\").data(\"kendoWindow\");\r\n self.ImageListWindow.open();\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n }; //ShowImageList\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows image window.\r\n /// \r\n /// The image Id.\r\n /// */\r\n self.ShowImageWindow = function (id) {\r\n var selectedid = id;\r\n if (id && id.indexOf(\"image-\") > -1) {\r\n id = id.substring(\"image-\".length);\r\n }\r\n\r\n id = parseInt(id);\r\n if (isNaN(id)) {\r\n return;\r\n }\r\n\r\n var selected = null;\r\n $.each(self.ImageDataSource.data(), function (index, model) {\r\n if (model.ImageId == id) {\r\n selected = model;\r\n return false;\r\n }\r\n });\r\n\r\n if (\r\n selected &&\r\n self.ImageSecurity &&\r\n !selected.IsActive &&\r\n !self.ImageSecurity.CanDisplayInactive\r\n ) {\r\n VR.Common.ShowError(\"Cannot show hidden image/document.\");\r\n return;\r\n }\r\n\r\n self.ShowImage(selectedid);\r\n }; //ShowImageWindow\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows notes.\r\n /// \r\n /// The field Id.\r\n /// */\r\n self.ShowNotes = function (fieldId) {\r\n $(\"#notes-list-body\").attr(\"data-field-id\", fieldId);\r\n if (self.Notes) {\r\n self.CreateNotesList();\r\n $(\"#noteslist-modal\").modal(\"show\");\r\n } else {\r\n nxLoading.start(\"Loading notes. Please wait...\");\r\n\r\n var event = self.EventName;\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/notes\";\r\n var selection =\r\n \"event=\" + event + \"|eventId=\" + self.EventId + \"|field=0\";\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n nxLoading.end();\r\n if (result.Code == 0) {\r\n self.CreateNotesEditor();\r\n self.PopulateNotes(result);\r\n $(\"#noteslist-modal\").modal(\"show\");\r\n } else {\r\n VR.Common.HandleInvalidResult(result, \"Notes\", false);\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }\r\n }; //ShowNotes\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows popup menu.\r\n /// \r\n /// The event object.\r\n /// */\r\n self.ShowPopupMenu = function (event) {\r\n if ($(event.target).attr(\"spellcheck\") == \"true\" && event.which != 113)\r\n return;\r\n if (event.preventDefault) {\r\n event.preventDefault();\r\n }\r\n var pageInfo = \"\";\r\n if (VR.Image.Annotation.ShowPopupMenu(event)) {\r\n pageInfo = \"none\";\r\n }\r\n\r\n if (!pageInfo) {\r\n var parent = $(event.target).parents(\".k-window\");\r\n var pageInfo = parent.length > 0 ? \"none\" : \"\"; //Disable for k-window - treated as modal.\r\n }\r\n\r\n var isField = false;\r\n var isDataField = false;\r\n var isSign = false;\r\n var canNote = false;\r\n var hasValue = false;\r\n\r\n var parent = $(event.target).parents(\".modal\");\r\n var modal = parent.length > 0 ? \"none\" : \"\";\r\n var parent = $(event.target).parents(\".edit-field\");\r\n var target = null;\r\n var inputs = parent.find(\".input-field\");\r\n $.each(inputs, function (index, input) {\r\n var id = $(input).attr(\"id\");\r\n if (id) {\r\n var index = id.indexOf(\"f\");\r\n if (index == 0) {\r\n target = input;\r\n isField = true;\r\n isDataField = true;\r\n if (self.CanNotes && self.EventId > 0) {\r\n canNote = true;\r\n }\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n self.PopupTarget = target;\r\n var model = $(target).data(\"field\");\r\n if ((!model || model.IsEnabled === false) && !event.target.className.includes(\"upper-canvas\")) {\r\n return;\r\n }\r\n if (model && model.Case && model.Case != \"\" && model.Case != \"normal\") {\r\n $(\"#overwrite-casing-popupmenu\").show();\r\n if ($(target).data(\"casing\") != \"ignore\") {\r\n $(\"#overwrite-casing-popupmenu\").text(\"Ignore Casing Rules\");\r\n $(target).data(\"casing\", \"keep\");\r\n } else {\r\n $(\"#overwrite-casing-popupmenu\").text(\"Keep Casing Rules\");\r\n }\r\n } else {\r\n $(\"#overwrite-casing-popupmenu\").hide();\r\n }\r\n if (model && model.FieldType == \"Signature\") {\r\n isSign = true;\r\n if (model.FieldValue) {\r\n hasValue = true;\r\n }\r\n }\r\n\r\n if (\r\n model &&\r\n (model.FieldType == \"hidden\" ||\r\n model.FieldType == \"Button\" ||\r\n model.FieldType == \"Grid\" ||\r\n model.FieldType == \"Image\" ||\r\n model.FieldType == \"Label\" ||\r\n model.FieldType == \"Signature\")\r\n ) {\r\n isDataField = false;\r\n }\r\n\r\n if (isField) {\r\n isField = \"\";\r\n } else {\r\n isField = \"none\";\r\n }\r\n\r\n $(\"#fieldinfo-popupmenu\").css(\"display\", isField);\r\n if (\r\n isDataField &&\r\n ($(target).attr(\"readonly\") ||\r\n $(target).hasClass(\"readonly-text\") ||\r\n $(target).hasClass(\"aria-readonly\") ||\r\n !model.IsEditable)\r\n ) {\r\n isDataField = false;\r\n }\r\n\r\n if (isDataField) {\r\n isDataField = \"\";\r\n } else {\r\n isDataField = \"none\";\r\n }\r\n\r\n $(\"#fieldquery-popupmenu\").css(\"display\", isDataField);\r\n $(\"#fieldreset-popupmenu\").css(\"display\", isDataField);\r\n $(\"#clearfield-popupmenu\").css(\"display\", isDataField);\r\n $(\"#defaultvalue-popupmenu\").css(\"display\", isDataField);\r\n\r\n if (\r\n model &&\r\n (model.FieldType == \"CheckBox\" || model.FieldType == \"RadioButton\")\r\n ) {\r\n isDataField = \"none\";\r\n }\r\n\r\n $(\"#currentdate-popupmenu\").css(\"display\", isDataField);\r\n\r\n if (canNote) {\r\n canNote = \"\";\r\n } else {\r\n canNote = \"none\";\r\n }\r\n\r\n $(\"#notes-popupmenu\").css(\"display\", canNote);\r\n\r\n if (isSign) {\r\n isSign = \"\";\r\n } else {\r\n isSign = \"none\";\r\n }\r\n\r\n $(\"#editsign-popupmenu\").css(\"display\", isSign);\r\n\r\n if (hasValue) {\r\n hasValue = \"\";\r\n } else {\r\n hasValue = \"none\";\r\n }\r\n $(\"#viewsign-popupmenu\").css(\"display\", hasValue);\r\n var top = event.pageY;\r\n var left = event.pageX;\r\n if (!top) top = $(event.target).offset().top;\r\n if (!left) left = $(event.target).offset().left;\r\n if (event.target.className.includes(\"upper-canvas\")) {\r\n $(\"#scripteditor-popupmenu\").css(\"display\", \"none\");\r\n }\r\n else {\r\n $(\"#scripteditor-popupmenu\").css(\"display\", \"\");\r\n }\r\n $(\".custom-menu\")\r\n .finish()\r\n .toggle(100)\r\n .css({ top: top + \"px\", left: left + \"px\" });\r\n }; //ShowPopupMenu\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows save error messsage.\r\n /// \r\n /// The error message.\r\n /// The value to indicate if message should not be escaped.\r\n /// */\r\n self.ShowSaveError = function (message, noescape) {\r\n if (!noescape) {\r\n message = VR.Common.HtmlEscape(message);\r\n }\r\n\r\n message = message.replace(/\\n/g, \"
\");\r\n\r\n VR.Common.ShowError(\r\n \"

Error(s) occured during save.

\" + message,\r\n \"Save Error\",\r\n noescape\r\n );\r\n }; //ShowSaveError\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Initializes Topaz signature device.\r\n /// \r\n /// The drawing canvas.\r\n /// */\r\n self.StartTopazInput = function (context) {\r\n try {\r\n var retmod = 0;\r\n self.SignaturePad.TopazTmr = null;\r\n SetTabletState(1);\r\n retmod = TabletModelNumber();\r\n SetTabletState(0);\r\n if (retmod == 11 || retmod == 12 || retmod == 15) {\r\n self.SignaturePad.TopazTmr =\r\n SetTabletState(1, context, 50) || self.SignaturePad.TopazTmr;\r\n SetLCDCaptureMode(2);\r\n LcdRefresh(0, 0, 0, 500, 100);\r\n LCDSetWindow(0, 0, 500, 100);\r\n SetJustifyMode(0);\r\n KeyPadClearHotSpotList();\r\n ClearSigWindow(0);\r\n ClearSigWindow(1);\r\n SetDisplayXSize(context.canvas.width);\r\n SetDisplayYSize(context.canvas.height);\r\n SetImageXSize(context.canvas.width);\r\n SetImageYSize(context.canvas.height);\r\n SetLCDCaptureMode(2);\r\n }\r\n } catch (e) { }\r\n }; // StartTopazInput\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Stops input for Topaz signature device.\r\n /// \r\n /// */\r\n self.StopTopazInput = function () {\r\n self.ClearTopazDisplay();\r\n if (self.SignaturePad.TopazTmr != null) {\r\n SetLCDCaptureMode(1);\r\n SetTabletState(0, self.SignaturePad.TopazTmr);\r\n }\r\n }; //StopTopazInput\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Stops input for Topaz signature device.\r\n /// \r\n /// */\r\n self.ClearTopazDisplay = function () {\r\n if (self.SignaturePad.TopazTmr != null) {\r\n LcdRefresh(0, 0, 0, 500, 100);\r\n LCDSetWindow(0, 0, 500, 100);\r\n SetSigWindow(1, 0, 0, 500, 100);\r\n KeyPadClearHotSpotList();\r\n ClearSigWindow(0);\r\n }\r\n }; //ClearTopazDisplay\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Shows signature dialog window.\r\n /// \r\n /// The button that initiated.\r\n /// The value to indcate if the dialgo window is to view the signature.\r\n /// */\r\n self.ShowSignature = function (button, isDisplay) {\r\n var model = $(button).data(\"field\");\r\n if (!!model.FieldValue) {\r\n isDisplay = true;\r\n }\r\n if (isDisplay) {\r\n if (!model || !model.FieldValue) {\r\n return;\r\n }\r\n\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/signature\";\r\n VR.Common.SecurePost(\r\n url,\r\n model.FieldValue,\r\n function (result) {\r\n if (result.Code == 0) {\r\n self.SignaturePad.clear();\r\n\r\n self.SignaturePad.fromDataURL(result.Signature);\r\n $(\"#signature-mouse\").css(\"display\", \"\");\r\n $(\"#signature-clear\").css(\"display\", \"\");\r\n $(\"#signature-cancel\").css(\"display\", \"\");\r\n $(\"#signature-save\").css(\"display\", \"\");\r\n $(\"#signature-ok\").css(\"display\", \"none\");\r\n\r\n self.StartTopazInput(self.SignaturePad._ctx);\r\n\r\n $(\"#signature-modal\").modal(\"show\");\r\n } else {\r\n VR.Common.HandleInvalidResult(result, \"Signture\", false);\r\n }\r\n },\r\n true,\r\n \"signatureid=\",\r\n false,\r\n false\r\n );\r\n } else {\r\n if (self.EventId == 0) {\r\n VR.Common.ShowError(\r\n \"Cannot enter signature for a new event. Please save first.\",\r\n \"Error\"\r\n );\r\n return;\r\n }\r\n\r\n self.SignaturePad.clear();\r\n $(\"#signature-mouse\").css(\"display\", \"\");\r\n $(\"#signature-clear\").css(\"display\", \"\");\r\n $(\"#signature-cancel\").css(\"display\", \"\");\r\n $(\"#signature-save\").css(\"display\", \"\");\r\n $(\"#signature-ok\").css(\"display\", \"none\");\r\n\r\n self.StartTopazInput(self.SignaturePad._ctx);\r\n\r\n $(\"#signature-modal\").modal(\"show\");\r\n }\r\n }; //ShowSignature\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Updates the current image.\r\n /// \r\n /// The host of image editor window.\r\n /// */\r\n self.UpdateImage = function (host) {\r\n var imageWindow = host.data(\"kendoWindow\");\r\n imageWindow.close();\r\n\r\n var editor = host.find(\".editor-image\");\r\n var id = editor.attr(\"id\");\r\n\r\n var index = id.indexOf(\"-editor\");\r\n if (index > -1) {\r\n id = id.substring(0, index);\r\n }\r\n\r\n index = id.indexOf(\"image-\");\r\n if (index > -1) {\r\n id = id.substring(\"image-\".length);\r\n }\r\n\r\n var changed = editor.attr(\"data-changed\");\r\n if (!changed) {\r\n return;\r\n }\r\n\r\n var input = host.find(\"input[type='search']\");\r\n var appfunc = input.data(\"kendoDropDownList\");\r\n if (appfunc != null) {\r\n appfunc = appfunc.value();\r\n }\r\n\r\n var isactive = host.find(\".imagedit-input[type='checkbox']\");\r\n if (isactive.length == 0) {\r\n isactive = null;\r\n } else {\r\n var isactive = isactive.prop(\"checked\");\r\n }\r\n\r\n var description = host.find(\".imagedit-input[type='text']\");\r\n description = description.val();\r\n var data = \"\";\r\n if (changed.indexOf(\"image\") > -1) {\r\n var images = editor.find(\"img\");\r\n $.each(images, function (index, image) {\r\n data += \"!\" + $(image).attr(\"src\");\r\n });\r\n }\r\n\r\n if (data && data != \"\") {\r\n if (data.indexOf(\"!\") == 0) {\r\n data = data.substring(1);\r\n }\r\n data = data.replace(/\\+/g, \"#\");\r\n }\r\n\r\n var annote = editor.attr(\"annotation\");\r\n var width = editor.attr(\"annote-width\");\r\n var height = editor.attr(\"annote-height\");\r\n if (!annote) {\r\n var parentWindow = $(\"#\" + id + \"-window\").data(\"kendoWindow\");\r\n annote = parentWindow.Annotation;\r\n width = parentWindow.AnnotationWidth;\r\n height = parentWindow.AnnotationHeight;\r\n }\r\n if (annote) {\r\n annote = annote\r\n .replace(/\\[/g, \"%%_OPENBRACKET_%%\")\r\n .replace(/\\]/g, \"%%_CLOSEBRACKET_%%\")\r\n .replace(/\\{/g, \"%%_OPENCURL_%%\")\r\n .replace(/\\}/g, \"%%_CLOSECURL_%%\");\r\n }\r\n else {\r\n annote = \"\";\r\n }\r\n\r\n var url = VR.Common.GetRootURL(\"event/edit\") + \"data/imageupdate\";\r\n var selection =\r\n \"id=\" +\r\n id +\r\n \"|appfunc=\" +\r\n appfunc +\r\n \"|isactive=\" +\r\n isactive +\r\n \"|description=\" +\r\n description +\r\n \"|changed=\" +\r\n changed +\r\n \"|annote=\" +\r\n annote +\r\n \"|width=\" +\r\n width +\r\n \"|height=\" +\r\n height +\r\n \"|data=\" +\r\n data;\r\n VR.Common.SecurePost(\r\n url,\r\n selection,\r\n function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, \"Image Update\", false);\r\n } else {\r\n result.Annotations = result.Image.Annotations;\r\n result.AnnotateWidth = result.Image.AnnotateWidth;\r\n result.AnnotateHeight = result.Image.AnnotateHeight;\r\n host.data(\"Image\", result);\r\n\r\n var list = $(\"#image-list\");\r\n list.find(\".image\").off(\"dblclick\");\r\n var index = -1;\r\n var images = self.ImageDataSource.data();\r\n if (images.length == 0) {\r\n images = [];\r\n } else {\r\n $.each(images, function (i, image) {\r\n if (image.ImageId == result.Image.ImageId) {\r\n index = i;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n if (index == -1) {\r\n images.push(result.Image);\r\n } else {\r\n images.splice(index, 1, result.Image);\r\n }\r\n\r\n self.ImageDataSource.data(images);\r\n\r\n var pager = $(\"#image-pager\").data(\"kendoPager\");\r\n if (pager) {\r\n pager.refresh();\r\n }\r\n var kendoList = list.data(\"kendoListView\");\r\n if (kendoList) {\r\n kendoList.refresh();\r\n\r\n list.find(\".image\").on(\"dblclick\", function (e) {\r\n self.ShowImageWindow(this.id);\r\n });\r\n }\r\n }\r\n },\r\n true,\r\n undefined,\r\n false,\r\n false\r\n );\r\n }; //UpdateImage\r\n\r\n /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n /// \r\n /// Check For Error Message.\r\n /// \r\n /// */\r\n self.CheckForErrorMessage = function () {\r\n if (self.IsDataCached && self.EventId > 0) {\r\n var selection = \"event=\" + self.EventName + \"|id=\" + self.EventId;\r\n VR.Common.SecurePost(\"event/checkforerrormessage\", selection, function (result) {\r\n if (result.Code != 0) {\r\n VR.Common.HandleInvalidResult(result, self.EventName, false);\r\n }\r\n });\r\n }\r\n }; //CheckForErrorMessage\r\n\r\n self.ValidDate = function (field) {\r\n self.Validating = true;\r\n var elemModel = field.data(\"field\");\r\n var invalidMessage = \"\";\r\n\r\n function requirements() {\r\n invalidMessage = \"This field is required to save the record.\";\r\n return (\r\n (!elemModel.RequiredForTransmit &&\r\n !elemModel.RequiredForRegister) ||\r\n (elemModel.RequiredForTransmit &&\r\n elemModel.FieldType === \"Hidden\") ||\r\n field.val()\r\n );\r\n }\r\n function valDate() {\r\n invalidMessage = \"Enter a valid date.\";\r\n var isLeapYear = function (year) {\r\n return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;\r\n };\r\n var returnValue = false;\r\n\r\n var val = self.GetInputValue(field, true);\r\n if (val === \"__/__/____\") {\r\n val = \"\";\r\n }\r\n if (val.length && elemModel.FieldType == \"DatePicker\") {\r\n let dateParts = val.split(\"/\");\r\n let month = parseInt(dateParts[0]);\r\n let day = parseInt(dateParts[1]);\r\n let year = parseInt(dateParts[2]);\r\n if (!isNaN(month) && !isNaN(day) && !isNaN(year) && isDate(val)) {\r\n if (month === 88 || month === 99) {\r\n returnValue = day <= 31 || day === 88 || day === 99;\r\n if (!returnValue) {\r\n invalidMessage = \"Enter a valid day.\";\r\n }\r\n }\r\n else {\r\n let daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n returnValue = month <= 12 && month > 0;\r\n if (returnValue) {\r\n returnValue = day <= daysInMonth[month - 1] || day === 88 || day === 99;\r\n if (!returnValue) {\r\n invalidMessage = \"Enter a valid day.\";\r\n }\r\n }\r\n else {\r\n invalidMessage = \"Enter a valid month.\";\r\n }\r\n }\r\n }\r\n } else {\r\n returnValue = true;\r\n }\r\n return returnValue;\r\n }\r\n function checkRequired() {\r\n invalidMessage = \"This field is required to complete the record.\";\r\n if (elemModel.IsRequired && !field.val()) {\r\n elemModel.RequiredFlag = true;\r\n }\r\n return elemModel.IsRequired ? field.val() : true;\r\n }\r\n function validationSteps() {\r\n return (\r\n requirements() &&\r\n valDate()\r\n );\r\n }\r\n\r\n var valid = checkRequired() && validationSteps();\r\n\r\n if (!valid) {\r\n self.ErrorPanel.setError({\r\n field: field,\r\n model: elemModel,\r\n message: invalidMessage,\r\n location: null,\r\n isHardEdit: elemModel.isHardEdit,\r\n errorType: \"validation\"\r\n });\r\n self.TakeActionOnField(\"skipped\", invalidMessage, null, field, elemModel);\r\n self.AddErrorField(elemModel);\r\n }\r\n self.Validating = false;\r\n return valid;\r\n }; //ValidDate\r\n\r\n\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Validates the current field.\r\n /// \r\n /// The sender.\r\n /// Alawys return false.*/\r\n self.ValidateField = function (sender, theState) {\r\n if (theState == undefined) {\r\n theState = self.State;\r\n }\r\n var field = $(sender);\r\n var value = field.val();\r\n var model = field.data(\"field\");\r\n if (!model && field[0].name) {\r\n model = $(\"#\" + field[0].name).data(\"field\");\r\n }\r\n \r\n if (!model) {\r\n return true;\r\n }\r\n\r\n self.editModel = model;\r\n self.editField = field;\r\n\r\n var state = field.data(\"state\");\r\n\r\n\r\n self.RemoveErrorField(model);\r\n\r\n if (model.FieldStatus != \"literal\" && (model.FieldStatus != \"overridden\" && model.FieldStatus != \"queried\")) {\r\n // Gets rid of leading zeros if a value is a number for better comparison\r\n if (!!model.PreviousValue && !!model.FieldValue && !Number.isNaN(model.PreviousValue) && !Number.isNaN(model.FieldValue)) {\r\n model.FieldStatus = (parseInt(model.PreviousValue) !== parseInt(model.FieldValue)) ? null : model.FieldStatus;\r\n }\r\n else {\r\n model.FieldStatus = null;\r\n }\r\n }\r\n\r\n if (model.FieldStatus == \"overridden\" || model.FieldStatus == \"queried\") {\r\n return true;\r\n }\r\n\r\n // when the field is a textbox type and data type of char then remove extra spaces\r\n if (model.FieldDataType === \"char\" && model.FieldType === \"TextBox\") {\r\n if (typeof value === \"string\") {\r\n // if value is a string check for multi-spaces\r\n var multispaces = RegExp(/\\s\\s+/g);\r\n if (multispaces.test(value)) {\r\n // replace multiple spaces with a single space\r\n field.val(value.replace(/\\s\\s+/g, \" \"));\r\n //VR.Script.MoveLit(model.FieldValue, model.FieldName);\r\n }\r\n }\r\n }\r\n\r\n //model.HasError = false;\r\n if ((model.Edits && model.ShouldRunEdits)|| model.IsRequired) {\r\n var parameter = {\r\n message: null,\r\n location: null,\r\n lastedit: null,\r\n edittype: null,\r\n errorat: null,\r\n state: state\r\n };\r\n\r\n if (model.FieldType !== \"Button\") {\r\n $.each(model.Edits, function (index, edit) {\r\n if (self.IsSaving() || !edit.EditOnSaveOnly) {\r\n var result = VR.Script.Validate(field, model, edit, parameter);\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n \r\n var isHard\r\n var isHardEdit = null;\r\n if (model.IsRequired && self.load) {\r\n parameter.message = \"This field is required to complete the record.\"\r\n isHardEdit = true;\r\n }\r\n var message = parameter.message;\r\n var location = parameter.location;\r\n var edit = parameter.lastedit;\r\n if (edit && isHardEdit == null) {\r\n isHardEdit = edit.IsHardEdit;\r\n }\r\n if (model.FieldStatus !== \"literal\" && message == null || message == \"\") {\r\n if (model.FieldType != \"Grid\") {\r\n var msgID = \"#f\" + model.FieldId + \"-msg\";\r\n if ($(msgID).length == 0) self.ResetField(sender, true);\r\n }\r\n } else if (\r\n model.FieldStatus != null &&\r\n model.FieldStatus != \"\" &&\r\n model.FieldStatus != \"alerttrigger\" &&\r\n model.FieldStatus != \"skipped\" &&\r\n model.FieldStatus != \"forcequery\" &&\r\n model.FieldStatus != \"override\" \r\n ) {\r\n model.QueryLocation = location;\r\n model.ErrorMessage = message;\r\n } else {\r\n \r\n if (model.FieldType != \"Grid\" && parameter.edittype != \"alert\") {\r\n self.ErrorPanel.setError({\r\n field: field,\r\n model: model,\r\n message: message,\r\n location: location,\r\n isHardEdit: isHardEdit\r\n });\r\n\r\n self.TakeActionOnField(\"skipped\", message, location, field, model);\r\n\r\n self.AddErrorField(model);\r\n }\r\n }\r\n }\r\n if (model.FieldType == \"DatePicker\") {\r\n return self.ValidDate(field);\r\n }\r\n\r\n return true;\r\n }; //ValidateField\r\n\r\n self.PutFocusOnFirstWritableField = function () {\r\n //add focus to the first writeable control\r\n var topMostControls = $.grep(VR.Edit.Fields, function (field) {\r\n return (\r\n field.IsEditable &&\r\n field.IsEnabled &&\r\n field.FieldType != \"Hidden\" &&\r\n field.FieldType != \"Button\" &&\r\n field.FieldType != \"Label\"\r\n );\r\n });\r\n\r\n //if there are no writable controls select the first tab\r\n if (topMostControls.length === 0) {\r\n var tabs = $(\"a[role='tab']\").toArray();\r\n tabs[0].click();\r\n } else {\r\n self.FirstField = topMostControls[0];\r\n var gadget = null;\r\n var input = $(\"#f\" + self.FirstField.FieldId);\r\n switch (self.FirstField.FieldType) {\r\n case \"AutoComplete\":\r\n gadget = $(input).data(\"kendoAutoComplete\");\r\n break;\r\n case \"ComboBox\":\r\n gadget = $(input).data(\"kendoComboBox\");\r\n break;\r\n case \"MultiSelect\":\r\n gadget = $(input).data(\"kendoMultiSelect\");\r\n break;\r\n case \"NumericTextBox\":\r\n gadget = $(input).data(\"kendoNumericTextBox\");\r\n break;\r\n case \"RadioButton\":\r\n gadget = $(input).find(\"input:first\");\r\n break;\r\n }\r\n var tabId = input.closest(\"div[role='tabpanel']\").attr(\"id\");\r\n $(\"a[href='#\" + tabId + \"']\").click();\r\n if (gadget) {\r\n gadget.focus();\r\n } else {\r\n $(input).focus();\r\n }\r\n VR.Script.LastFocus = { input: input, model: self.FirstField };\r\n }\r\n }; //PutFocusOnFirstWritableField\r\n return self;\r\n})(); //VR.Edit\r\n\r\n// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\n/// \r\n/// Document object ready event handler.\r\n/// \r\n/// \r\nwindow.editOnLoad = function () {\r\n if (window.location.href.indexOf(\"jsedit\") > -1) {\r\n VR.Common.Location = \"/jsedit\";\r\n } else if (window.location.href.indexOf(\"batch\") > -1) {\r\n VR.Common.Location = \"/event/batchupdate\";\r\n } else {\r\n VR.Common.Location = \"/event/edit\";\r\n }\r\n VR.Common.FieldPopup = VR.Edit.SetupPopupMenu;\r\n VR.Edit.Initialize();\r\n VR.Edit.CheckForErrorMessage();\r\n VR.Common.ValidateSession();\r\n VR.Common.CreateWorkQueueHandler();\r\n if (editPageData.ShowWorkQueues === true) {\r\n VR.Common.SetupWorkQueueCounts();\r\n }\r\n VR.Common.CreateMainMenus();\r\n VR.Common.CreatePopOverToolTop();\r\n VR.Common.SetupLogin();\r\n VR.Common.SetupTwoFactor();\r\n VR.Common.SetupLogout();\r\n VR.Common.SetupQuickSearch();\r\n VR.Common.SetupMessageRead();\r\n VR.Common.SetupOnResize(VR.Edit.ResizeWindow);\r\n VR.Common.SetupConnection();\r\n VR.Common.CreateAmendments();\r\n VR.Common.CreateDocuments();\r\n setTimeout(function () {\r\n VR.Edit.ExecuteOnDisplay();\r\n if (VR.Edit.IsDisplayOnly) {\r\n VR.Script.EnableField(\";a\", false);\r\n }\r\n if (VR.Script.FocusOnDisplay === null) {\r\n VR.Edit.PutFocusOnFirstWritableField();\r\n }\r\n else {\r\n nx.Focus(VR.Script.FocusOnDisplay);\r\n }\r\n }, 100);\r\n\r\n $(\"#backToTop\").hide();\r\n $('[data-toggle=\"popover\"]').popover();\r\n};\r\n","export function errorPanel() {\r\n let panelData = {};\r\n var panel = \"#validation-panel\";\r\n var actionKeys = {\r\n r: \"rekeyed\",\r\n o: \"overridden\",\r\n q: \"queried\"\r\n };\r\n function getData() {\r\n return panelData;\r\n }\r\n function setState(data) {\r\n panelData = data;\r\n var display = Object.keys(data).length && !VR.Common.IsMobile() ? \"block\" : \"none\";\r\n $(panel).css(\"display\", display);\r\n\r\n window.React.Render(\r\n document.getElementById(\"validation-panel\"),\r\n window.React.Components.ValidationPanel,\r\n {\r\n errorData: data\r\n }\r\n );\r\n }\r\n function showActionKey(k, isHardEdit, model, isValidationErr) {\r\n var show = false;\r\n if (isValidationErr) {\r\n show = k === \"R\";\r\n } else {\r\n if (k === \"R\") {\r\n show = true;\r\n } else if (k === \"Q\") {\r\n show = !(isHardEdit || model.ByPassValue);\r\n } else if (k === \"O\") {\r\n show = !(isHardEdit || model.ByPassValue) && model.CanOverride;\r\n }\r\n }\r\n return show;\r\n }\r\n function showBypassKey(bypass, isHardEdit, model, isValidationErr) {\r\n return (\r\n !isValidationErr &&\r\n (!model ||\r\n (!isHardEdit &&\r\n model.ByPassValue &&\r\n !model.AllowUnknown &&\r\n model.ByPassValue.indexOf(bypass.toString()) > -1))\r\n );\r\n }\r\n function resetError(FieldId) {\r\n let errorData = getData();\r\n delete errorData[FieldId];\r\n setState(errorData);\r\n }\r\n return {\r\n resetError,\r\n /*// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \r\n /// \r\n /// Shows validation error section.\r\n /// Hard/Soft Edit - Hard: Allow rekey or temporarily skip; Soft: Shows rekey, skip, override and query -- however if bypass vars are present then override and query are not shown. \r\n /// \r\n /// The input element.\r\n /// The field model.\r\n /// The error message.\r\n /// The query location.\r\n /// The value to indicate if this is a hard edit.\r\n /// */\r\n setError: function (error) {\r\n var field = error.field;\r\n var model = error.model;\r\n var message =\r\n typeof error.message === \"string\"\r\n ? error.message\r\n : \"Unexpected error occured, please contact your administrator.\";\r\n var location = error.location;\r\n var isHardEdit = error.isHardEdit;\r\n var isValidationErr = error.errorType === \"validation\";\r\n\r\n var errorData = getData();\r\n var bypassButtons = [\r\n {\r\n title: \"Queried and verified\",\r\n txt: \"1\"\r\n },\r\n {\r\n title: \"Queried not verified\",\r\n txt: \"2\"\r\n },\r\n {\r\n title: \"Review needed\",\r\n txt: \"3\"\r\n },\r\n {\r\n title: \"Query needed\",\r\n txt: \"4\"\r\n }\r\n ].map(function (b) {\r\n return $.extend({}, b, {\r\n placement: \"bottom-end\",\r\n className: \"bypassBtn\",\r\n show: showBypassKey(b.txt, isHardEdit, model, isValidationErr)\r\n });\r\n });\r\n var actionButtons = [\r\n {\r\n title: \"Rekey\",\r\n txt: \"R\"\r\n },\r\n {\r\n title: \"Override\",\r\n txt: \"O\"\r\n },\r\n {\r\n title: \"Query\",\r\n txt: \"Q\"\r\n }\r\n ].map(function (b) {\r\n return $.extend({}, b, {\r\n placement: \"bottom-start\",\r\n className: \"btn\" + b.txt,\r\n show: showActionKey(b.txt, isHardEdit, model, isValidationErr)\r\n });\r\n });\r\n let timeAdded = errorData[model.FieldId]\r\n ? errorData[model.FieldId].timeAdded\r\n : new Date();\r\n errorData[model.FieldId] = {\r\n required: model.IsRequired,\r\n link: {\r\n breadCrumbs: [model.Tab, model.Section, model.FieldLabel],\r\n onclick: function () {\r\n resetError(model.FieldId);\r\n VR.Edit.TakeActionOnField(\r\n \"rekeyed\",\r\n message,\r\n location,\r\n field,\r\n model\r\n );\r\n }\r\n },\r\n location: location || \"\",\r\n message: message,\r\n actionButtons: {\r\n buttons: actionButtons,\r\n events: {\r\n onkeydown: VR.Edit.FieldKeyDown,\r\n onkeypress: function (e) {\r\n e.preventDefault();\r\n var key = actionKeys[e.key.toLowerCase()];\r\n if (\r\n key &&\r\n showActionKey(\r\n e.key.toUpperCase(),\r\n isHardEdit,\r\n model,\r\n isValidationErr\r\n )\r\n ) {\r\n resetError(model.FieldId);\r\n VR.Edit.TakeActionOnField(key, message, location, field, model);\r\n }\r\n },\r\n onclick: function (e, btn) {\r\n var txt = btn.txt;\r\n var key = actionKeys[txt.toLowerCase()];\r\n if (key) {\r\n resetError(model.FieldId);\r\n VR.Edit.TakeActionOnField(key, message, location, field, model);\r\n }\r\n }\r\n }\r\n },\r\n bypassButtons: {\r\n buttons: bypassButtons,\r\n events: {\r\n onclick: function (e, btn) {\r\n resetError(model.FieldId);\r\n var data = btn.txt;\r\n var inputs = VR.Edit.GetInputFields(model.FieldName + \"_BYPASS\");\r\n if (inputs.length > 0) {\r\n VR.Edit.SetFieldValue(inputs[0], data, true);\r\n }\r\n\r\n inputs = VR.Edit.GetInputFields(model.FieldName + \"_MVR\");\r\n if (inputs.length > 0) {\r\n VR.Edit.SetFieldValue(inputs[0], \"\", true);\r\n }\r\n\r\n var status = \"queried\";\r\n if (data == \"1\") {\r\n status = \"overridden\";\r\n }\r\n VR.Edit.TakeActionOnField(status, message, location, field, model);\r\n model.HasSaveError = false;\r\n VR.Script.FocusField(nx.LastFocus, true);\r\n }\r\n }\r\n },\r\n missingValues: {\r\n show: !!model.HasMissingVariable,\r\n value: \"Caption\",\r\n key: \"Key\",\r\n dataSource: VR.Edit.MissingValues,\r\n defaultValue: function () {\r\n return VR.Edit.GetFieldValue(model.FieldName + \"_MVR\");\r\n },\r\n events: {\r\n onChange: function (e) {\r\n var value = e.target.value;\r\n if (!value) {\r\n return;\r\n }\r\n var inputs = VR.Edit.GetInputFields(model.FieldName + \"_MVR\");\r\n if (inputs.length > 0) {\r\n VR.Edit.SetFieldValue(inputs[0], value, true);\r\n }\r\n VR.Edit.SetStatus(field, model, \"unknown\", message, location);\r\n VR.Script.FocusField(nx.LastFocus, true);\r\n }\r\n }\r\n },\r\n timeAdded\r\n };\r\n setState(errorData);\r\n }\r\n };\r\n}\r\n"],"sourceRoot":""}