{"version":3,"sources":["components.js","alert-modal/alert-modal.js","auto-number/auto-number.js","back/back.js","big-element/big-element.js","button/button.js","button-group/button-group.js","checkbox/checkbox.js","checkboxes/checkboxes.js","ck-editor/ck-editor.js","clinicians-import/clinicians-import-modal.js","clinicians-import/clinicians-import.js","confirm/confirm.js","copy-form/copy-form.js","application-response/application-response.js","cybersource/cybersource.js","date/date.js","date-range/date-range.js","deficiency/deficiency.js","drivers-license-number/drivers-license-number.js","edit-history/edit-history.js","elavon/elavon.js","application-type/application-type.js","field/field.js","file-upload/file-upload-modal.js","file-upload/file-upload.js","flash-message/flash-message.js","form/form.js","form-builder/form-builder.js","form-builder-form/form-builder-form-pdf.js","form-builder-form/form-builder-form.js","form-field/form-field.js","help/help.js","html/html.js","icon/icon.js","input/input.js","inspection-pdf/inspection-pdf.js","inspection-spot-check-modal/inspection-spot-check-modal.js","inspection-visit/inspection-visit.js","inspections-schedule/inspections-schedule.js","inspections-scheduling/inspections-scheduling.js","list/list.js","loading/loading.js","longevity-credits-approval/longevity-credits-approval.js","messages/messages.js","month-year-select/month-year-select.js","multiple-autocomplete/multiple-autocomplete.js","multiple-select/multiple-select.js","nested-form/nested-form.js","number/number.js","page-settings/page-settings.js","phone/phone.js","photo-upload/photo-upload.js","postal-code/postal-code-modal.js","postal-code/postal-code.js","query/query.js","radio/radio.js","radios/radios.js","select/select.js","service-training-reimbursement/service-training-reimbursement.js","signature/signature.js","slush-box/slush-box.js","ssn/ssn.js","submit/submit.js","supplemental-training/education-report.js","supplemental-training/supplemental-training.js","supplemental-training-modal/education-report-modal.js","supplemental-training-modal/supplemental-training-modal.js","tabset-scroll/tabset-scroll.js","textarea/textarea.js","time/time.js","true-false/true-false.js","typeahead/typeahead.js","voucher-pay/voucher-pay.js","yes-no/yes-no.js","form-builder/form-builder-component/form-builder-component.js","form-builder/form-builder-component-conditions/form-builder-component-conditions.js","form-builder/form-builder-question-list/form-builder-question-list.js","form-builder/form-builder-question-show/form-builder-question-show.js","form-builder/form-builder-questions-edit/form-builder-questions-edit.js","form-builder/form-builder-skills-edit/form-builder-skills-edit.js","form-builder/form-builder-skills-list/form-builder-skills-list.js","form-builder-form/form-component/form-component.js","form-builder-form/form-group/form-group.js","form-builder-form/form-groups/form-groups.js","form-builder-form/form-question/form-question.js","form-builder-form/form-skill/form-skill.js","list/alpha-filter/alpha-filter.js","list/filter/filter.js","list/pagination/pagination.js"],"names":["angular","module","run","$rootScope","formFieldScope","name","id","label","title","requiredText","classes","instructions","blankText","selectShow","selectSort","selectValue","availableShow","availableSort","compareValue","arrayValue","service","method","groupBy","size","maxLength","placeholder","showBlank","showLabel","topLabel","showColon","modal","isRequired","showRequired","isDisabled","forceString","serviceOverride","multiple","sortable","vertical","pdf","innerForm","directive","$timeout","scope","element","attrs","$on","focusOn","e","timer","focus","cancel","controller","$scope","$modalInstance","message","$sce","trustAsHtml","ok","close","Format","AutoNumbers","restrict","licenseId","licenseCategoryId","autoNumber","showLinks","replace","templateUrl","link","elem","ctrl","length","undefined","$watch","get","then","auto_number","Array","isArray","dateFormats","ruleFormats","Date","FormatNumber","number","rule","numberFormatted","i","toString","FormatDate","dateFormat","format","$state","back","from","navigationBack","go","params","state","remove","$q","LicenseRequestLevels","CertificationLevels","ApplicationTypes","LicenseRequestApplicationTypes","LicenseLevelConfigurations","loading","portal","current","data","isPortal","promises","push","data_type","levels","allLevels","parameters","user_id","currentLevels","types","applicationTypes","certLevels","certificationLevels","license_request_id","lrat","licenseRequestApplicationTypes","config","levelConfig","all","initProms","renewalType","forEach","type","renewal","level","application_type_id","license_request_level_id","save","checked","component","elementAnswer","response","showLevel","show","curLevel","license_category_level_id","data_element_id","certLevel","clear","key","levelChange","indexOf","Permissions","loadingText","permission","permissionState","transclude","require","access","hasPermission","setLoader","off","this","text","groupLoading","buttonClass","ngModel","question","checkboxLabel","value","changeFunction","index","hideLabel","array","checkboxItem","wasEmpty","contains","updateArray","item","wasString","isString","split","splice","arr","toLowerCase","onChange","submitted","$setViewValue","isFunction","$injector","Validation","updateService","options","showValue","validation","requiredPositions","groups","additional_id","group_id","validate","validateQuestion","result","answer","invalid","isEmpty","$error","validationTimeout","$setValidity","data_point_id","newValue","oldValue","full_position","groupsBool","component_allow_multiple_groups","service_id","answerList","j","questions","currQuestion","includes","concat","original_value","option","checkbox","document","getElementById","isFull","max","filter","disabled","valueArr","compile","pre","timeouts","optionsLoaded","dirOptions","getOptions","Object","prototype","call","trim","$evalAsync","refresh","limit_position_ids","refreshOptions","data_point_code","refreshValidation","opt","setShowValue","$modelValue","refreshvalidation","generateStringFromArrays","$render","hide","getTitle","processingChange","height","toolbarGroups","skin","elm","attr","$root","ck","CKEDITOR","toolbar","forcePasteAsPlainText","removePlugins","on","setData","$viewValue","getData","bind","destroy","htmlSrc","template","$observe","newHtml","Upload","vm","file","file_content","uploading","working","fileChange","fileUpdated","base64DataUrl","content","filePicked","file_name","dismiss","$modal","Clinicians","Documents","preview","enterprise","website","portalURL","site_location","internalURL","response_id","getDocumentByResponseID","document_id","getByID","fileUpload","document_code","code","downloadClinicians","downloading","downloadExcel","createElement","href","download","click","importClinicians","open","animation","resolve","upload","file_updated","saved","yes","no","license_id","license_category_id","Licenses","settings","licenseID","licenses","$stateParams","FBResponses","LicenseRequests","Triggers","$filter","$window","Session","saving","progressing","completed","advance","submitting","loadingMessage","api","formsApi","CheckSession","validSession","checkIn","responseID","progress","vehicle_id","child_service","default_license_category_id","display_changed_answers","form","fireStartTrigger","started_on","start_trigger_name","fire","triggerID","start_trigger_id","licenseRequestID","setProgress","the_form","review","newContinuePage","portal_pages","visible","applicationID","submitRequest","d","defer","isUndefined","pages","tab_active","foundMatch","activePage","page","has_content","scrollTo","promise","showSave","currentPage","show_save_button","showSaveAndContinue","activePageIndex","pagesCount","showSubmit","copyCustomResponseFields","sections","section","expanded","k","components","l","group","edit","m","document_description","document_name","document_type","n","sub_components","subcomponent","o","subgroup","p","subquestion","deferred","answerRefresh","saveByForm","absoluteFurthestPageIndex","documentErrors","documentNames","map","error","join","setupValidationMessages","hasContent","a","b","doRecalculate","scrollTabIntoView","waitToFinish","loopCount","promiseFuncs","checkAdditionalFormsFactory","executeSequentialPromiseFactories","submissionMessage","reject","redirectImmediately","handleSubmit","submit","application","datapointAnswers","success","lastApplication","responses","every","getApplication","validationError","copy","current_triggers_firing_count","license","charges","checkout","tasks","finalPromise","reduce","prev","when","submitFailed","validationMessages","display_submit_confirmation","cleanupStateChange","event","confirm","window","onbeforeunload","preventDefault","returnValue","timeout","Payments","Regions","Resource","licenseRequestId","signTransaction","directPayment","copyBilling","directPaymentObject","transaction_license_requests","checkout_items_ids","payment_method","payment","merchant_defined_data10","regions","region","billing_region_id","billing_region_name","shipping_region_id","shipping_region_name","transactionID","transactionid","top","location","preSaveCyberSourceObject","mypayment","mytotals","totals","preSaveCyberSource","reference_number","sign","signature","signed","changeMethod","paymentMethods","paymentMethodName","toggleDirectPayment","direct_payment","directPaymentMethods","nonDirectPaymentMethods","selected_name","url","history","unsign","columnClick","isInspections","predicate","inspectionPred","inspectionRev","requestPred","requestRev","checkPaymentType","changeDirect","same_as_billing","shipping_street","billing_street","shipping_street_2","billing_street_2","shipping_municipality","billing_municipality","shipping_postal_code","billing_postal_code","paying","items","checkingAccountTypes","sum_balance_due","access_key","profile_id","enterpriseWebsite","enterpriseSiteLocation","transaction_uuid","guid","internal","userID","enterprise_id","enterpriseID","amount","signed_field_names","unsigned_field_names","signed_date_time","cyberSourceDate","locale","transaction_type","currency","bill_to_forename","bill_to_surname","bill_to_email","bill_to_address_line1","bill_to_address_city","bill_to_address_state","bill_to_address_country","bill_to_address_postal_code","merchant_defined_data5","merchant_defined_data6","merchant_defined_data7","merchant_defined_data8","merchant_defined_data9","unsigned","card_type","card_number","card_expiry_date","card_cvn","requestColumns","header","init","getAttributes","attributes","post_location","trustAsResourceUrl","hasOwnProperty","fee_message","getPaymentMethods","methods","GetSessionDataForPayment","bulkPayLicenseData","recordcount","bulkpaylicensedataObj","total","parseFloat","balance_due","toFixed","getLicenseRequestTotals","getCheckingAccountTypes","results","GetAbbreviation","cardTypes","countries","initialized","todayLoading","setTime","time","setHours","isValidDate","getHours","setMinutes","getMinutes","useTime","date","opened","dateOptions","showWeeks","altInputFormats","month","minMode","altMonthInputFormats","today","getMonth","getDate","getFullYear","useCurrentTimeToday","full","autoComplete","showToday","fixed","formatText","startDate","endDate","startLabel","endLabel","dateChanged","dateRange","$setDirty","querySelector","firstInvalid","IPDeficiencies","resultSet","deficiency","deficiencyId","resultClick","expandable","reqText","sort","fail","abbr","Logger","loggingTimeout","showDriversLicenseNumber","recordId","logAccess","getSectionType","boxNumber","setFields","boxone","driversLicenseNumber","change","masked","log","record","revertTimezone","showModified","deleted","pay","payment_method_id","expDateSplitArray","ssl_exp_date","shortenedExpDate","slice","copyPayment","saveElavonObject","payElavon","methodId","selectedMethod","ssl_payment_type","payment_provider_key","ssl_transaction_type","ssl_amount","ssl_country","ssl_card_type","ssl_first_name","ssl_last_name","ssl_email","ssl_phone","ssl_avs_address","ssl_city","ssl_state","getCreditCardTypes","creditCardTypes","getDebitCardTypes","debitCardTypes","LicenseCategoryLevels","typeLevels","typeLevel","isRenewal","typeOptions","hasLevels","defaultGroup","defaultApplicationType","defaultCertificationLevel","application_types","typeID","sprocValueFound","defaultValueFound","answerShowVal","typeAnswerVal","default_value","applicationTypeID","applicationTypeName","renewalTypeId","show_value","levelAnswerVal","license_category_levels","v","typeOptionsMapped","row","has_levels","typeChange","levelsChange","hideRadioBtn","checkboxOrRadio","$templateCache","directiveAttributes","post","FileTypes","file_upload_existing_docs","question_id","existingFileSelected","newFileSelected","validationText","getByEnterprise","extensions","existingFileUpdated","documentParameters","documentTypes","fromForm","showDescription","requireTextFields","profilePictureFileName","openDocumentModal","document_type_id","description","document_locked","locked","file_upload_description","fbForm","isFb","setValidationMessages","$compile","noPermission","handleDisabled","handleDisabledTimer","handleDisabledTimeout","buttons","transcludedButtons","appendChild","onSubmit","$broadcast","submissionTimer","submissionTimeout","submitEventHandler","required","$invalid","field","$name","conditions_met","subComponent","subGroup","subQuestion","formType","sets","elements","attachments","changesMade","showLayouts","showPages","scrlTabsApi","label_position_options","applicant_access","apply_label_position","applyLabelPosition","addPage","form_id","sort_order","continue_button_label","save_button_label","removePage","pageNameChanged","openPageSettings","changed","switchView","layout","builderType","savePageSettings","show_settings","addSection","page_id","removeSection","initComponent","initialQuestions","component_type_id","limit_document_type_ids","limit_document_type_ids_array","limit_position_ids_array","limit_vehicle_type_ids","limit_vehicle_type_ids_array","skill_question_ids","skill_show_points","skill_default","updateEditList","updateSelectedList","set","data_set_id","data_set","orignalLicenseID","data_points","reverse","point","object","addComponent","section_id","component_conditions","allow_multiple_groups","maximum_groups","groups_until_list","content_type","update_from_form_add","removeComponent","pageOptions","containment","scrollableContainer","containerPositioning","accept","sourceItemHandleScope","destSortableScope","itemScope","sortableScope","$id","orderChanged","sectionOptions","itemMoved","componentOptions","$parent","editElement","original","revertElement","allDisabled","toggleAllDisabled","allUpdateFromForm","toggleAllUpdate","allShowInGrid","toggleAllShowInGrid","allRequired","toggleAllRequired","label_position","checkIfImageOrPDF","document_file_name","pop","getDocumentURL","toUpperCase","pdf_preview_content","getPDFPreviewContent","getPDFFileContent","browser","navigator","msSaveOrOpenBlob","dataUrltoBlob","doc","contentWindow","write","URL","createObjectURL","count","deficiencies","deficiencyScore","inspectionChecklist","httpLoading","progressListener","finishListener","ready","finishListenerTimer","iElem","iAttrs","lowercaseFirstLetter","string","charAt","initializeAnswers","answers","getComponentAnswers","isList","trainingId","isValidGuid","other_file_groups","isValidGuidList","ids","console","val","select_show","answerArray","escapeString","str","checkConditions","groupID","satisfied","answerIfStatement","ifStatement","cIndex","condition","and_flag","left_parenthesis","answerStatement","aIndex","aiIndex","operator","isObject","date_option","computed","num_unit","parseInt","isNaN","setDate","setMonth","result_set_id","right_parenthesis","eval","component_type","componentHasContent","contentIndex","furthestPageIndex","display_blank_zero","focusQuestion","focusText","$destroy","setOptions","getDescendantProp","obj","desc","$parse","html","contents","alt","ariaLabel","entireWidth","valid","test","getClasses","getWidth","max_length","Math","min","ceil","onFormSubmit","inspection","decodeHtml","encodedHtml","txt","innerHTML","score","checklist","footer","passingChecklist","inspectionID","comments","require_responsible_party_signoff","signature_type_in_person","Services","IPVisits","spotCheckInfo","vehicle","new_vehicle","services","selectParameter","addVehicle","getServicesFromVehicleId","is_default","removeVehicle","addService","serviceId","idx","findIndex","postSpotCheckInspection","ret","visit","masterVisit","visitID","resetting","isDetailsOpen","isInspectionsOpen","isAvaliableOpen","vehicles","expiration_date","toLocaleString","nativeJSDateFormat","date_time_set","inspection_date_time","inspection_date","Date_Time_Set","addInspector","inspector","inspectors","newInspector","inspections","serial_number","filterAdded","isServiceAvailable","reset","setInspectionTime","DocumentTypes","creating","getOtherDocuments","otherTypes","messages","documents","pass","service_template","data_object_id","removeInspector","addGroup","added","removeGroup","closeGroup","setEdit","Cache","DataElements","listParams","numPerPage","bulkCreateVisits","view","getServiceClassification","classifications","serviceClassificationOptions","daysLeftInMonth","now","endDay","getYear","daysLeftInYear","endofyear","one_day","getTime","hideOptions","display","expireLengths","inactiveServiceOptions","serviceLabels","getExpireLength","expireLength","setRange","start","end","setHideCriteria","hideDate","hideEmptyExpireDate","getExpiring","inactiveVehicle","inactiveService","activeVehicle","activeService","inactiveCriteria","rangeLength","alert","serviceClassification","unshift","cacheList","getState","sortBy","search","setState","setCounts","service_expired_count","vehicle_expired_count","has_no_expiration","expired","expireSelect","has_expired","will_expire","getDisplayString","vehicleLabels","vehicleColumns","info","showDashes","revertTimeZone","compare","checkAllServices","checkAll","stopImmediatePropagation","bulkActionItems","inBulkApply","bulkCreateChange","service_name","vehicle_type","changeBack","setAllDates","setAllTimes","setAllInspectors","inspector_id","setAllServiceChecklist","template_id","setAllVehicleChecklist","cacheListAttrs","defaultSort","defaultSortOrder","showPagination","showAlpha","alphaField","showSearch","defaultNumPerPage","records","columns","filters","advancedFilters","clickable","bulkActions","recordsLoading","listLoading","showBulkAction","bulkActionRunning","linkDisabled","hidePdf","criteria","stopPropagation","subList","subRecords","subColumns","pdfLinkDisabled","alphaFilterChanged","letter","alphaFilter","masterFilter","pageChanged","perPageChanged","perPage","filterChanged","keep","advancedFilterOn","isApplyAll","filtered","recordsSet","numOfSortOrderCols","sublist","subcolumns","subrecords","documentURL","recordsTotal","dynamic","pageRecords","searchTimeout","getRecords","filteredRecords","countTimeout","getCount","oldCriteria","evaluateField","dateTimeFlag","broke","f","vehicles_serial_number","evaluateJSON","fullName","optionalTime","dirtyVal","dirtyArr","cleanArr","dirtyStr","fileSize","investigation_external_document_name","investigation_external_document_file_name","determineClasses","column","floor","mod","c","getInfoFields","shift","advancedFilter","changeState","dropDown","openDocument","htmlLink","checkPermission","applyAll","skipBulkAction","applyOne","initBulkAction","bulkAction","showActionForRecord","hideAction","hideActionPermission","filteredOut","reverseDefaultSort","isTotalUndefined","setCachedFilters","cachedFilters","checkedCache","of","oldFilters","oldRecords","oldColumns","cacheLoading","old","newie","newVal","oldVal","cachedAdvancedFilters","opts","x","partial","parent","input","out","ServiceUserLongevities","Users","service_users","serviceUserLongevities","check_all","inactiveServiceUsers","longevityGet","serviceUsers","user","approved","sul","nameandnumber","approve","focusOnChange","trust","year","monthYear","months","years","yearOffset","yearSpan","$http","suggestionsArr","modelArr","apiUrl","beforeSelectItem","afterSelectItem","beforeRemoveItem","afterRemoveItem","onChangeFunction","existingLoaded","selectedOptions","objectProperty","selectedItemIndex","errMsgRequired","disable","isOpen","getSuggestionsList","onBlur","relatedTarget","classList","target","toggleOpen","keyParser","$event","keys","38","40","8","13","9","27","keyCode","inputValue","removeAddedValues","filteredSuggestionArr","alreadyAddedValues","onSuggestedItemsClick","selectedValue","isDuplicate","duplicate","equals","isAdded","itemIndex","mouseEnterOnItem","cachedArr","isHover","isFocused","onFocus","onMouseEnter","onMouseLeave","keyPress","charCode","which","integerOnly","positiveOnly","step","money","pattern","isNumeric","isFinite","setPhone","boxtwo","boxthree","phone","valueList","overwriteOnChange","resizeOptions","quality","width","resizeConditions","postalCode","addresses","FIPSLookup","select","address","lookupZip","postalSearching","getByPostalCode","failMessage","city","county","city_name","county_name","region_id","postal_code","$viewChangeListeners","$eval","ngChange","Queries","cacheRecords","previewId","queryChanged","query","display_bulk_actions","query_page","link_state","query_page_parameters","queryPageParameter","param","json","query_column_values","sortObjectArray","queryColumnValue","query_column","query_column_parameters","queryColumnParameter","query_filter_values","queryFilterValue","display_label","query_filter","query_advanced_filter_values","queryAdvancedFilterValue","query_advanced_filter","exactMatch","exact_match","default_sort","default_order","defaultOrder","query_criteria","queryCriteria","criteriaValue","skipit","doquotes","query_calculated_value","query_field","daysVal","Number","compareDate","query_operator","recordsWatchInit","queryState","queries","cachedQuery","found","default_view","radioLabel","RadioDirectiveTag","__tag","directiveScope","extend","useDefault","multiSelect","optionClause","existingOptionsLoaded","selectedArray","needToChangeToString","newArray","getNameFromListArray","valueArray","ServiceUserTrainings","TrainingUsers","FBForms","removeTraingingFromDict","oldAnswer","userId","training_id","usedTrainingIndex","userTrainingUsed","iter","trainings","addTraingingToDict","training","removeIndex","calculateReimbursementRuleTime","reimbursement_rules","certOffset","serviceOffset","certRuleTime","serviceRuleTime","timezoneOffset","getTimezoneOffset","setRuleDate","reimbursement_certification_length","reimbursement_certification_length_type","reimbursement_service_length","reimbursement_service_length_type","certification_rule_time","service_rule_time","ruleTime","setFullYear","serviceUserTrainings","setUpAnswers","getTrainingsForReimbursement","first_name","last_name","reimburse","course_name","reimbursement","find","reimburse_date","reimburse_amount","training_user","training_completed_on","completed_on","training_pass_fail","training_attendee_status_name","getReimbursementRules","getServiceUsersForReimbursement","certTimezoneOffset","primary_cert_initial_issue_date","serviceTimezoneOffset","service_user_start_date","certLengthPass","serviceLengthPass","sut","trainingSelected","userSelected","name_and_number","calculateTotalReimbursementAmount","reimbursementAmount","Account","$asyncValidators","modelValue","viewValue","apiLocation","password","user_name","userAccount","display_name","Authentication","showUsername","$dirty","cleanupSubmitHandler","add","addAll","filterFn","removed","removeByAttr","removeAll","up","upitem","down","downitem","slushbox","selectedOptionClause","availableOptionClause","newModel","domOptions","setAttribute","showSSN","ssn","setSsn","security","substring","isGenerated","filterFound","Levels","Trainings","expandedCourse","currentTopic","zero","levelsLoading","certificationLevel","applicationType","application_type","certification_levels","cl","trainingLevels","trainingsLoading","calculateLevels","userProgress","getUserLevelProgress","levelID","totalRequired","totalCount","levelRequirementSummaries","requiredHours","completedHours","levelTotalString","levelRequirement","cHours","rHours","per","progressPer","getRemainingHours","topic","remainingHours","removeCourse","courseID","removeAttendeeFromCourse","addCourse","t","checkCourseOptions","courses","course","selectedOption","LicenseRequestSupplementalTrainingTrainings","supplementalTrainings","completedTrainingParameters","completedOnly","otherApplications","getTrainingValidationDates","validationDates","editTraining","topics","training_topics","topic_id","topic_name","availableoptions","selected_options","training_topic","removeTraining","dateCheck","start_date","end_date","complete","override_complete","required_requirement_hours","required_requirement_flex_hours","completed_hours","used_hours","completed_flex_hours","used_flex_hours","used_requirement_flex_hours","missingFlexRequirements","requirements","requirement","required_topic_hours","max_hours","all_hours","required_hours","remaining_hours","required_flex_hours","remaining_flex_hours","override","override_required_flex_hours","required_flex_hours_actual","hasRequirements","Topics","TrainingLocations","TrainingFields","selectedTopic","locationsLoading","documentsLoading","showWarning","getTopicOptions","topicID","supplementalOnly","temp","checkBoxOptions","courseTopics","getEducationVerificationDates","dates","parse","$$hashKey","checkDate","completedOn","getUTCHours","locations","fields","locationChange","trainingLocation","locationId","certificate","fileContent","fileName","postCourseUserSummary","training_location_id","training_location","optionChange","training_location_name","topicChange","changing","hasOptions","any","provider","defaultConfig","showDropDown","showTooltips","tooltipLeftPlacement","tooltipRightPlacement","scrollBy","autoRecalculate","setShowDropDown","setShowTooltips","setTooltipLeftPlacement","setTooltipRightPlacement","setScrollBy","setAutoRecalculate","$get","scrollableTabsetConfig","$interval","isButtonsVisible","dropDownClass","dropDownMenuClass","dropDownHeaderTemplateUrl","dropDownHeaderClass","$el","dropdownTabs","hideButtons","hideDropDown","tooltipRightHtml","tooltipLeftHtml","disableLeft","disableRight","tooltipLeftDirection","tooltipRightDirection","mouseDownInterval","isHolding","winResizeTimeout","userShowDropDown","userShowTooltips","scrollByPixels","reCalcAll","arg","duration","callback","isLinear","scrollLeft","increment","position","animateScroll","elapsedTime","linearTween","easeInOutQuad","setTimeout","currentTime","onWindowResize","clearTimeout","$apply","cancelMouseDownInterval","scrollButtonDown","direction","realScroll","tabContainer","reCalcSides","scrollButtonUp","activateTab","tab","scrollWidth","offsetWidth","reCalcTooltips","rightTooltips","leftTooltips","allTabs","querySelectorAll","rightPosition","getBoundingClientRect","left","leftPosition","heading","getAttribute","ignore","textContent","rightTooltipsHtml","leftTooltipsHtml","tabToScroll","argInt","activeTab","dif","autoRecalc","tabsetElement","$watchCollection","isolateScope","tabs","tabScope","tabScrollTitle","cols","rows","textarea","put","needed","addCourseModal","filterArray","onType","searchBy","valueChange","show_vehicles_without_type","vehicle_restrict_services","optVal","intialValidation","VoucherPay","compareAmounts","getExistingVouchersByLicenseRequestID","existingVouchers","getVoucherAmounts","voucherAmounts","voucherAmount","existingVoucher","quantity","reorder","activeInactive","instructions2","parentQuestion","parentComponent","calculatedFieldCalculationTypeOptions","reimburseLengthTypes","contentOptions","contentTypeOptions","componentTypeInit","formElementInit","form_elements","element_id","element_code","element_instructions","componentTypeChange","calculation_type","calcFieldConditions","component_id","ssn_setting","update_from_form","share_files","show_in_grid","masked_setting","showValidation","question_type_id","question_type","validation_type_id","type_message","dataSetInit","license_category_specific","data_point","attribute_id","table_name","encrypted","data_point_table_name","compound_id","instruction_text","expression","expression_message","dataSetChange","initialQuestion","initialFound","initialLength","foreignDataSetInit","foreignDataSetChange","allow_add","allow_edit","componentTypes","old_data_points","old_questions","componentType","parent_question_id","foreign_data_set_id","foreign_data_set","isForeignDataSet","nullGuid","guidCondition","nullCondition","dataPointChange","setProperties","limitPositionsChange","getByAttr","limitVehicleTypesChange","vehicle_types","limitDocumentTypesChange","document_types","conditionalChange","conditional","formElementChange","allowMultipleGroupChange","update_from_form_update","update_from_form_delete","showShareFiles","cke_skin","$watchGroup","newValues","oldValues","conditionalComponent","hitComponent","getComponentQuestion","questionChange","getComponentFromID","componentID","andOrOptions","leftParenOptions","rightParenOptions","initial","operators","current_license_id","order","applicationTypeExists","exists","q","ssn_setting_options","true_false_options","yes_no_options","changeUpdateFromFormBasedOnDisabled","updateFromFormInstructions","setUpdateFromFormInstructions","getForForm","questionOrderChanged","saveQuestion","allow_sub_components","allow_dynamic_addition","allow_dynamic_edit","addQuestion","addSubComponent","questionTypeInit","questionTypeChange","questionNameChange","old_name","removeQuestion","questionOptions","subComponentOptions","toggleValidation","EXSkill","EXSkillCategory","skillsloading","SkillCategoriesFilter","selectedskills","showScores","skillDefault","skills","allSKills","skillsDefaultOptions","getActive","Skills","y","total_points","points","updateBothLists","addSelecteSkills","SkillCategories","skillscolumns","skillfilters","skillid","skill","setSelectedIDs","newList","oldList","htmlText","max_points","setSelectedValues","updateOrder","removeSkill","isEven","getPassButtonClass","getFailButtonClass","selectedSkillOptions","selectedSkill","parentGroup","show_documents_without_type","append","default_group","component_data_set_code","data_set_code","defaultQuestion","document_type_copy","document_name_copy","note","phone_ext","show_comments","initializeSubComponentAnswers","getAnswer","stringVal","dataset","initGroup","setHeaders","headers","globalHeaders","collapsed","groupForms","$valid","Vehicles","dynamicDelete","answerChanged","previousAction","dynamicDeleteShow","dynamicAdd","dynamicAddShow","dynamicDisabled","childServiceDisabled","actionChanged","single_group_action","setupAddress","data_point_address_field","data_point_address_postal_data_point_id","positionsAnswers","positionsOnForm","positionAnswer","values","apply","tempOptions","positionCount","comparisonResults","positionOnForm","match","requiredPosition","retrieveCourseInfo","courseInfo","attendee_count","attendee_max_count","remainingSpots","locationinfo","street1","street2","municipality","regioninfo","abbreviation","checkPrerequisites","failedPrerequisites","customFunctionMessage","permitNumber","vehicleID","record_id","getCertificationByNumber","permitNumberCount","vehicle_certification_number","vcn","serialNumber","getVehicleBySerialNumber","serialNumberCount","vehicle_serial_number","vsn","email","getUserbyEmail","yearCount","calendar_year","personnelID","serviceID","getUserByServicePersonnelID","coreRosterUser","userCount","service_users_personnel_id","sup","ServiceAreaCities","ServiceAreaCounties","ServiceAreaPostalCodes","ServiceAreaCensusTracts","IPComment","Positions","showReviewComment","showDynamicComment","currComment","administrative_review","getAdministrativeCommentsByQuestionId","createdon","createdOn","createdby","questionId","fbQuestionId","setAutoCompleteByDisabled","toggleReviewComment","toggleDynamicComment","enableAdminComments","saveReviewComment","comment","saveAdministrativeComment","resolveComment","resolveAdministrativeComment","resolved","toggleShowOnPdf","openImageModal","showServiceRosterList","clearQuestion","numberCheck","keyEvent","stateChanged","stateCode","newState","datasetquestion","getByStateCode","initQuestion","populateSubComponent","data_point_foreign_data_set_code","populateGroup","convertDateToUTC","hasPositions","filterOptions","originalOptions","custom_filter","newOpts","children","childAdded","child","filter_data_point_code","current_training_id","actionOptions","component_group_add","component_group_update","component_group_remove","financialNumberIds","parentDeficiencies","counter","list_count","hasService","hasUser","position_original_value","getServiceDesignation","positions","questionDefScore","newResult","passed","tallyScores","getFaillButtonClass","updateScore","talliedPoints","alpha","perPages","numOfPages","setCurrentPage","setPerPage"],"mappings":"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","file":"components-24.12.2.2.min.js","sourcesContent":["'use strict';\r\n\r\nangular.module('imagetrend.components', [\r\n 'imagetrend.components.tpl'\r\n])\r\n.run(['$rootScope', function ($rootScope) {\r\n $rootScope.formFieldScope = {\r\n // strings\r\n name: '@?',\r\n id: '@?',\r\n label: '@?',\r\n title: '@?',\r\n requiredText: '@?',\r\n classes: '@?',\r\n instructions: '@?',\r\n blankText: '@?',\r\n selectShow: '@?',\r\n selectSort: '@?',\r\n selectValue: '@?',\r\n availableShow: '@?',\r\n availableSort: '@?',\r\n compareValue: '@?',\r\n arrayValue: '@?',\r\n service: '@?',\r\n method: '@?',\r\n groupBy: '@?',\r\n size: '@?',\r\n maxLength: '@?',\r\n placeholder: '@?',\r\n\r\n // bools\r\n showBlank: '=?',\r\n showLabel: '=?',\r\n topLabel: '=?',\r\n showColon: '=?',\r\n modal: '=?',\r\n isRequired: '=?',\r\n showRequired: '=?',\r\n isDisabled: '=?',\r\n forceString: '=?',\r\n serviceOverride: '=?',\r\n multiple: '=?',\r\n sortable: '=?',\r\n vertical: '=?',\r\n pdf: '=?',\r\n innerForm: '=?'\r\n }\r\n}])\r\n.directive('focusOn', ['$timeout', function ($timeout) {\r\n return function (scope, element, attrs) {\r\n scope.$on(attrs.focusOn, function (e) {\r\n var timer = $timeout(function () {\r\n element[0].focus();\r\n }, 0);\r\n scope.$on('$destroy', function () {\r\n $timeout.cancel(timer);\r\n });\r\n });\r\n };\r\n}])","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('AlertModalController', ['$scope', '$modalInstance', 'message', '$sce', function ($scope, $modalInstance, message, $sce) {\r\n $scope.message = $sce.trustAsHtml(message);\r\n\r\n $scope.ok = function () {\r\n $modalInstance.close(true);\r\n }\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpAutoNumber', ['Format', 'AutoNumbers', function (Format, AutoNumbers) {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n licenseId: '=?',\r\n licenseCategoryId: '=?',\r\n autoNumber: '=?',\r\n\r\n //disabled\r\n isDisabled: '=?',\r\n\r\n //attributes\r\n name: '@?',\r\n id: '@?',\r\n showLinks: '@?',\r\n\r\n //label\r\n showLabel: '@?',\r\n label: '@?',\r\n },\r\n replace: true,\r\n templateUrl: 'templates/auto-number/auto-number.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n //attributes\r\n if (!attrs.name) { attrs.name = 'auto_number'; }\r\n if (!attrs.id) { attrs.id = attrs.name; }\r\n\r\n //label\r\n if (!attrs.label) { attrs.label = Format.label(attrs.name); }\r\n if (!attrs.showLabel) { attrs.showLabel = attrs.label.length > 0; } else { if (attrs.showLabel == 'true') { attrs.showLabel = true; } else { attrs.showLabel = false; } }\r\n if (!attrs.showLinks) { attrs.showLinks = false; } else { if (attrs.showLinks == 'true') { attrs.showLinks = true; } else { attrs.showLinks = false; } }\r\n if (!attrs.title) { attrs.title = attrs.label; }\r\n\r\n //disabled\r\n if (scope.isDisabled == undefined) { scope.isDisabled = false; }\r\n\r\n scope.$watch('licenseId + licenseCategoryId', function () {\r\n if (scope.autoNumber == undefined && (scope.licenseId != undefined || scope.licenseCategoryId != undefined)) {\r\n AutoNumbers.get(scope.licenseId, scope.licenseCategoryId).then(function (auto_number) {\r\n if (Array.isArray(auto_number) && auto_number.length > 0) {\r\n scope.autoNumber = auto_number[0];\r\n }\r\n else {\r\n scope.autoNumber = auto_number;\r\n }\r\n }) \r\n }\r\n })\r\n\r\n scope.dateFormats = [\r\n { name: 'none', id: null },\r\n { name: 'yy', id: 'yy' },\r\n { name: 'yyyy', id: 'yyyy' },\r\n { name: 'yymm', id: 'yymm' },\r\n { name: 'yymmdd', id: 'yymmdd' },\r\n { name: 'yyyymmdd', id: 'yyyymmdd' }\r\n ];\r\n scope.ruleFormats = [\r\n { name: 'XXX', id: 'XXX' },\r\n { name: 'XXXX', id: 'XXXX' },\r\n { name: 'XXXXX', id: 'XXXXX' },\r\n { name: 'XXXXXX', id: 'XXXXXX' },\r\n { name: 'XXXXXXX', id: 'XXXXXXX' },\r\n { name: 'XXXXXXXX', id: 'XXXXXXXX' },\r\n { name: 'XXXXXXXXX', id: 'XXXXXXXXX' },\r\n { name: 'XXXXXXXXXX', id: 'XXXXXXXXXX' },\r\n { name: 'XXXXXXXXXXX', id: 'XXXXXXXXXXX' }\r\n ];\r\n\r\n scope.Date = function () {\r\n return new Date();\r\n }\r\n\r\n scope.FormatNumber = function (number, rule) {\r\n var numberFormatted = number;\r\n\r\n if (rule !== undefined && number !== undefined) {\r\n for (var i = 0; i < rule.length - number.toString().length; i++)\r\n numberFormatted = '0' + numberFormatted;\r\n }\r\n\r\n return numberFormatted;\r\n }\r\n\r\n scope.FormatDate = function (dateFormat) {\r\n var format = dateFormat;\r\n\r\n if (format == 'none') {\r\n format = null;\r\n }\r\n else if (format == 'yymm') {\r\n format = 'yyMM'\r\n }\r\n else if (format == 'yymmdd') {\r\n format = 'yyMMdd'\r\n }\r\n else if (format == 'yyyymmdd') {\r\n format = 'yyyyMMdd'\r\n }\r\n\r\n return format;\r\n }\r\n }\r\n };\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('hlpBackController', ['$scope', '$rootScope', '$state', function ($scope, $rootScope, $state) {\r\n $scope.back = function () {\r\n if ($rootScope.$state.from.name != \"\" && $scope.navigationBack) {\r\n $state.go($rootScope.$state.from.name, $rootScope.$state.from.params);\r\n }\r\n else {\r\n if ($scope.params == null) {\r\n $scope.params = {};\r\n }\r\n $state.go($scope.state, $scope.params);\r\n } \r\n }\r\n }])\r\n .directive('hlpBack', ['Format', function (Format) {\r\n return {\r\n restrict: 'AE',\r\n replace: true,\r\n scope: {\r\n id: '@?',\r\n label: '@?',\r\n title: '@?',\r\n classes: '@?',\r\n state: '@?',\r\n params: '=?',\r\n navigationBack: '=?'\r\n },\r\n templateUrl: 'templates/back/back.html',\r\n controller: 'hlpBackController',\r\n link: function (scope, elem, attrs, ctrl) {\r\n if (!attrs.id) { attrs.id = 'back'; }\r\n if (!attrs.label) { attrs.label = 'Back'; }\r\n if (!attrs.title) { attrs.title = attrs.label; }\r\n if (!attrs.classes) { attrs.classes = 'back'; }\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n }\r\n };\r\n }])\r\n\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('hlpBigElementController', ['$scope', '$q', 'LicenseRequestLevels', 'CertificationLevels', 'ApplicationTypes', 'LicenseRequestApplicationTypes', 'LicenseLevelConfigurations', '$state', function ($scope, $q, LicenseRequestLevels, CertificationLevels, ApplicationTypes, LicenseRequestApplicationTypes, LicenseLevelConfigurations, $state) {\r\n\r\n $scope.loading = true;\r\n $scope.portal = $state.current.data.isPortal;\r\n var promises = [];\r\n\r\n promises.push(LicenseRequestLevels.get({ data_type: 'User' }).then(function (levels) {\r\n $scope.allLevels = levels;\r\n }))\r\n\r\n if ($scope.parameters.user_id != null) {\r\n promises.push(LicenseRequestLevels.get($scope.parameters).then(function (levels) {\r\n $scope.currentLevels = levels;\r\n }))\r\n }\r\n else {\r\n $scope.currentLevels = [];\r\n }\r\n\r\n promises.push(ApplicationTypes.get({ data_type: 'User' }).then(function (types) {\r\n $scope.applicationTypes = types;\r\n }))\r\n\r\n if ($scope.parameters.user_id != null) {\r\n promises.push(CertificationLevels.get($scope.parameters).then(function (certLevels) {\r\n $scope.certificationLevels = certLevels;\r\n }))\r\n }\r\n else {\r\n $scope.certificationLevels = [];\r\n }\r\n\r\n if ($scope.parameters.license_request_id != null) {\r\n promises.push(LicenseRequestApplicationTypes.get($scope.parameters).then(function (lrat) {\r\n $scope.licenseRequestApplicationTypes = lrat;\r\n }))\r\n }\r\n else {\r\n $scope.licenseRequestApplicationTypes = [];\r\n }\r\n\r\n promises.push(LicenseLevelConfigurations.get($scope.parameters).then(function (config) {\r\n $scope.levelConfig = config;\r\n }))\r\n\r\n $q.all(promises).then(function () {\r\n var initProms = [];\r\n\r\n if ($scope.licenseRequestApplicationTypes.length == 0) {\r\n var renewalType = null;\r\n $scope.applicationTypes.forEach(function(type) {\r\n if (type.renewal) {\r\n renewalType = type.id;\r\n }\r\n });\r\n\r\n $scope.currentLevels.forEach(function (level) {\r\n $scope.levelConfig.forEach(function (config) {\r\n if (renewalType != null && config.application_type_id == renewalType && config.license_request_level_id == level.id) {\r\n initProms.push(LicenseRequestApplicationTypes.save({ license_request_id: $scope.parameters.license_request_id, application_type_id: renewalType, license_request_level_id: level.id, checked: true }).then(function (lrat) {\r\n $scope.licenseRequestApplicationTypes.push(lrat);\r\n }));\r\n }\r\n });\r\n });\r\n }\r\n\r\n $q.all(initProms).then(function () {\r\n if ($scope.component.elementAnswer == null) {\r\n $scope.component.elementAnswer = {};\r\n $scope.licenseRequestApplicationTypes.forEach(function (lrat) {\r\n $scope.component.elementAnswer[lrat.application_type_id + '%' + lrat.license_request_level_id] = lrat.checked;\r\n });\r\n }\r\n $scope.loading = false;\r\n })\r\n .catch(function (response) {\r\n // handle error\r\n }); ;\r\n })\r\n .catch(function (response) {\r\n // handle error\r\n }); ;\r\n\r\n $scope.showLevel = function (type, level) {\r\n var show = false;\r\n\r\n $scope.levelConfig.forEach(function (config) {\r\n if (config.application_type_id == type.id && config.license_request_level_id == level.id) {\r\n if (type.renewal) {\r\n if ($scope.portal) {\r\n $scope.currentLevels.forEach(function (curLevel) {\r\n if (curLevel.license_category_level_id == level.license_category_level_id || curLevel.data_element_id == level.data_element_id || level.data_element_id == null) {\r\n show = true;\r\n }\r\n else {\r\n $scope.certificationLevels.forEach(function (certLevel) {\r\n if (level.license_category_level_id == certLevel.license_category_level_id) {\r\n $scope.component.elementAnswer[type.id + '%' + level.id] = true;\r\n show = true;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n else {\r\n show = true;\r\n }\r\n }\r\n else {\r\n show = true;\r\n }\r\n }\r\n })\r\n\r\n if (show && $scope.component.elementAnswer[type.id + '%' + level.id] == null) {\r\n $scope.component.elementAnswer[type.id + '%' + level.id] = false;\r\n }\r\n\r\n return show;\r\n }\r\n\r\n $scope.clear = function () {\r\n for (var key in $scope.component.elementAnswer) {\r\n $scope.component.elementAnswer[key] = false;\r\n }\r\n }\r\n\r\n $scope.levelChange = function(type, level) {\r\n for (var key in $scope.component.elementAnswer) {\r\n if (key == (type.id + '%' + level.id)) {\r\n $scope.component.elementAnswer[key] = true;\r\n } else if (key.indexOf('%' + level.id) >= 0) {\r\n $scope.component.elementAnswer[key] = false;\r\n }\r\n }\r\n }\r\n }])\r\n .directive('hlpBigElement', [function () {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'templates/big-element/big-element.html',\r\n replace: true,\r\n controller: 'hlpBigElementController',\r\n scope: {\r\n parameters: '=?',\r\n component: '=?',\r\n pdf: '=?'\r\n },\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n }\r\n };\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpButton', ['Format', 'Permissions', '$rootScope', function (Format, Permissions, $rootScope) {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n id: '@?',\r\n label: '@?',\r\n title: '@?',\r\n classes: '@?',\r\n loading: '=?',\r\n loadingText: '@?',\r\n permission: '@?',\r\n permissionState: '@?',\r\n isDisabled: '=?'\r\n },\r\n replace: true,\r\n transclude: true,\r\n require: '^hlpButtonGroup',\r\n templateUrl: 'templates/button/button.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n if (!attrs.id) { attrs.id = 'button'; }\r\n if (!attrs.label) { attrs.label = 'Button'; }\r\n if (!attrs.title) { attrs.title = attrs.label; }\r\n if (!attrs.classes && attrs.classes != \"\") { attrs.classes = 'edit'; }\r\n if (!attrs.loadingText) { if (attrs.loading) { attrs.loadingText = Format.label(attrs.loading) } else { attrs.loadingText = 'Loading'; } }\r\n if (!attrs.permissionState && $rootScope.$state != null && $rootScope.$state.current != null) { attrs.permissionState = $rootScope.$state.current.name; }\r\n\r\n if (attrs.permission != null && attrs.permissionState != null) {\r\n Permissions[attrs.permission](attrs.permissionState).then(function (access) {\r\n scope.hasPermission = access;\r\n });\r\n }\r\n else {\r\n scope.hasPermission = true;\r\n }\r\n\r\n scope.$watch('loading', function (loading) {\r\n if (loading != null) {\r\n ctrl.setLoader(loading, scope.classes, scope.loadingText);\r\n }\r\n });\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).off();\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n }\r\n };\r\n }])\r\n\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpButtonGroup', [function () {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n classes: '@?',\r\n loading: '=?'\r\n },\r\n transclude: true,\r\n replace: true,\r\n controller: ['$scope', function ($scope) {\r\n this.setLoader = function (loading, classes, text) {\r\n $scope.groupLoading = loading;\r\n $scope.buttonClass = classes;\r\n $scope.loadingText = text;\r\n }\r\n }],\r\n templateUrl: 'templates/button-group/button-group.html',\r\n link: function (scope, elem, attrs, ctrl, transclude) {\r\n\r\n scope.groupLoading = false;\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).off();\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n }\r\n };\r\n }])\r\n\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpCheckbox', ['Format', function (Format) {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n ngModel: '=',\r\n question: '=?',\r\n\r\n //attributes\r\n name: '@?',\r\n id: '@?',\r\n classes: '@?',\r\n checkboxLabel: '@?',\r\n value: '=?',\r\n changeFunction: '&?',\r\n index: '=?',\r\n showColon: '=?',\r\n hideLabel: '@?',\r\n\r\n //required\r\n isRequired: '=?',\r\n requiredText: '@?',\r\n\r\n //disabled\r\n isDisabled: '=?',\r\n\r\n //label\r\n showLabel: '@?',\r\n label: '@?',\r\n title: '@?',\r\n\r\n //bridge ** only use when multiple checkboxes directive can't be used.\r\n array: '=?',\r\n checkboxItem: '=?',\r\n\r\n //instructions\r\n instructions: '@?',\r\n pdf: '=?'\r\n },\r\n transclude: true,\r\n replace: true,\r\n require: 'ngModel',\r\n templateUrl: 'templates/checkbox/checkbox.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n //attributes\r\n if (!attrs.name) { attrs.name = 'checkbox'; }\r\n if (!attrs.id) { attrs.id = attrs.name; }\r\n if (attrs.hideLabel === undefined || attrs.hideLabel === null) { attrs.hideLabel = false }\r\n\r\n //label\r\n var wasEmpty = attrs.label == 'EMPTY';\r\n if (!attrs.label) { attrs.label = Format.label(attrs.name); } else { if (attrs.label == 'EMPTY') { attrs.label = ''; } }\r\n if (!attrs.showLabel) { attrs.showLabel = attrs.label.length > 0 || wasEmpty; } else { if (attrs.showLabel == 'true') { attrs.showLabel = true; } else { attrs.showLabel = false; } }\r\n if (!attrs.title) { attrs.title = attrs.label; }\r\n\r\n //required\r\n //if (!attrs.isRequired) { attrs.isRequired = false; } else { if (attrs.isRequired == 'true') { attrs.isRequired = true; } else { attrs.isRequired = false; } }\r\n if (!attrs.requiredText) { attrs.requiredText = 'Please enter a ' + Format.label((scope.label || scope.name)) }\r\n\r\n if (!attrs.index) { attrs.index = 0 }\r\n\r\n if (scope.checkboxItem != null && typeof scope.checkboxItem != 'object') {\r\n scope.checkboxItem = { id: scope.checkboxItem, name: scope.checkboxItem };\r\n }\r\n\r\n scope.$watch('checkboxItem + array', function () {\r\n if (scope.checkboxItem != null && scope.array != null) {\r\n scope.ngModel = contains(scope.array, scope.checkboxItem.id);\r\n }\r\n });\r\n\r\n scope.updateArray = function (array, item, checked) {\r\n var wasString = false;\r\n\r\n if (angular.isString(array)) {\r\n if (array == '') {\r\n array = [];\r\n }\r\n else {\r\n array = array.split(',');\r\n }\r\n wasString = true;\r\n }\r\n if (item != null) {\r\n if (checked) {\r\n array = angular.isArray(array) ? array : [];\r\n if (!contains(array, item.id)) {\r\n if (wasString) {\r\n array.push(item.id);\r\n }\r\n else {\r\n array.push(item);\r\n }\r\n }\r\n }\r\n else {\r\n if (angular.isArray(array)) {\r\n for (var i = array.length; i--;) {\r\n if (array[i].id == item.id || array[i] == item.id) {\r\n array.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return wasString ? array.toString() : array;\r\n }\r\n\r\n // contains\r\n var contains = function (arr, item) {\r\n if (angular.isString(arr)) {\r\n arr = arr.split(',');\r\n }\r\n if (angular.isArray(arr)) {\r\n for (var i = arr.length; i--;) {\r\n if (arr[i] != null) {\r\n if (arr[i].id == item || (angular.isString(arr[i]) && arr[i].toLowerCase() == item.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n scope.onChange = function (item) {\r\n scope.submitted = false;\r\n ctrl.$setViewValue(item);\r\n if (angular.isFunction(scope.changeFunction)) {\r\n scope.changeFunction();\r\n }\r\n }\r\n //ctrl.$viewChangeListeners.push(function () {\r\n // scope.$eval(attrs.ngChange);\r\n //});\r\n\r\n scope.submitted = false;\r\n scope.$on('form:submit', function () {\r\n scope.submitted = true;\r\n });\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n }\r\n };\r\n }])\r\n;","\"use strict\";\r\n\r\nangular.module(\"imagetrend.components\").directive(\"hlpCheckboxes\", [\r\n \"$injector\",\r\n \"Format\",\r\n \"Validation\",\r\n \"$timeout\",\r\n function ($injector, Format, Validation, $timeout) {\r\n return {\r\n restrict: \"AE\",\r\n scope: {\r\n ngModel: \"=\",\r\n question: \"=?\",\r\n name: \"@?\",\r\n id: \"@?\",\r\n showLabel: \"@?\",\r\n updateService: \"@?\",\r\n isRequired: \"=?\",\r\n showRequired: \"=?\",\r\n options: \"=?\",\r\n label: \"@?\",\r\n title: \"@?\",\r\n requiredText: \"@?\",\r\n instructions: \"@?\",\r\n classes: \"@?\",\r\n selectShow: \"@?\",\r\n selectValue: \"@?\",\r\n service: \"@?\",\r\n method: \"@?\",\r\n isDisabled: \"=?\",\r\n topLabel: \"=?\",\r\n modal: \"@?\",\r\n showColon: \"=?\",\r\n vertical: \"=?\",\r\n parameters: \"=?\",\r\n pdf: \"=?\",\r\n showValue: \"=?\",\r\n validation: \"=?\",\r\n requiredPositions: \"=?\",\r\n groups: \"=?\" // for service user affiliations (positions)\r\n },\r\n require: \"ngModel\",\r\n transclude: true,\r\n replace: true,\r\n templateUrl: \"templates/checkboxes/checkboxes.html\",\r\n controller: [\r\n \"$scope\",\r\n \"$timeout\",\r\n function ($scope, $timeout) {\r\n $scope.additional_id = ($scope.question && $scope.question.group_id) ? $scope.question.group_id + ',' : '';\r\n $scope.validate = function () {\r\n if ($scope.validation) {\r\n Validation.validateQuestion(\r\n $scope.innerForm,\r\n $scope.validation,\r\n $scope.ngModel\r\n ).then(function (result) {\r\n if (\r\n $scope.question !== undefined &&\r\n $scope.question.answer !== undefined\r\n ) {\r\n $scope.question.answer.invalid =\r\n !result ||\r\n !isEmpty($scope.innerForm.$error);\r\n }\r\n });\r\n } else {\r\n if (\r\n $scope.question !== undefined &&\r\n $scope.question.answer !== undefined\r\n ) {\r\n $scope.question.answer.invalid = !isEmpty(\r\n $scope.innerForm.$error\r\n );\r\n }\r\n }\r\n };\r\n var validationTimeout = $timeout(function () {\r\n if (!$scope.requiredText) {\r\n $scope.requiredText =\r\n \"Please select a \" +\r\n Format.label($scope.label || \"value\");\r\n }\r\n\r\n if ($scope.innerForm !== undefined) {\r\n if ($scope.isRequired) {\r\n if (\r\n $scope.ngModel == null ||\r\n $scope.ngModel.length == 0\r\n ) {\r\n $scope.innerForm.$setValidity(\r\n \"required\",\r\n false\r\n );\r\n } else {\r\n $scope.innerForm.$setValidity(\r\n \"required\",\r\n true\r\n );\r\n }\r\n }\r\n $scope.validate();\r\n }\r\n }, 0);\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n $timeout.cancel(validationTimeout);\r\n });\r\n\r\n if ($scope.question !== undefined && $scope.question.data_point_id === 'ba99ae16-280a-4fe5-9dd1-755e03733ded') { // service_users_position Data Point\r\n // When options are updated, usually a user or service was change, update checkboxes as needed\r\n $scope.$watch('options', function (newValue, oldValue) {\r\n // case for multiple provider positions where full_position can be dropped\r\n if (newValue && oldValue && typeof (newValue[0]) !== \"string\" && newValue[0].full_position === null && newValue.length === oldValue.length) {\r\n for (var i = 0; i < newValue.length; i++) {\r\n newValue[i].full_position = oldValue[i].full_position;\r\n }\r\n }\r\n if (newValue !== null && Array.isArray(newValue)) {\r\n var groupsBool = $scope.groups && $scope.groups[0].component_allow_multiple_groups && $scope.groups[0].service_id !== null;\r\n // List of answers & original answers to allow checkboxes to be re-toggled when position is full\r\n $scope.answerList = [];\r\n // multiple service users & position from service license\r\n if (groupsBool) {\r\n for (var i = 0; i < $scope.groups.length; i++) {\r\n for (var j = 0; j < $scope.groups[i].questions.length; j++) {\r\n var currQuestion = $scope.groups[i].questions[j];\r\n // skip the question if it doesn't match the current checkbox question\r\n if (currQuestion.data_point_id !== 'ba99ae16-280a-4fe5-9dd1-755e03733ded') { continue; }\r\n\r\n // only check values on form in this instance\r\n if (currQuestion.answer.value !== null) {\r\n if (currQuestion.answer.value.includes(',')) {\r\n $scope.answerList = $scope.answerList.concat(currQuestion.answer.value.split(','));\r\n } else {\r\n $scope.answerList = $scope.answerList.concat(currQuestion.answer.value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if ($scope.question.original_value !== null) {\r\n if ($scope.question.original_value.includes(',')) {\r\n $scope.answerList = $scope.answerList.concat($scope.question.original_value.split(','));\r\n }\r\n else {\r\n $scope.answerList = $scope.answerList.concat($scope.question.original_value);\r\n }\r\n }\r\n if ($scope.question.answer.value !== null) {\r\n if ($scope.question.answer.value.includes(',')) {\r\n $scope.answerList = $scope.answerList.concat($scope.question.answer.value.split(','));\r\n }\r\n else {\r\n $scope.answerList = $scope.answerList.concat($scope.question.answer.value);\r\n }\r\n }\r\n }\r\n\r\n for (var i = 0; i < newValue.length; i++) {\r\n const option = newValue[i];\r\n var checkbox = document.getElementById($scope.additional_id + option.id + '_checkbox');\r\n if (checkbox !== null) {\r\n // Inside of () is a check for Service User/Service Affiliation Data Set (position)\r\n // allow a \"Full\" position to be re-checked if the position isn't full.\r\n var isFull = (groupsBool) ? (option.max && option.max <= $scope.answerList.filter(function (id) { return id === option.id; }).length) : option.full_position;\r\n\r\n // uncheck checkbox if needed and handle disabling\r\n if ((option.max === 0 || $scope.answerList.length === 0) && checkbox.checked === true) {\r\n checkbox.checked = false;\r\n $scope.ngModel = []; // needed for single position forms, switching users then checking a previous box held; then click any position, can cause some fields to lose data\r\n }\r\n if (groupsBool) {\r\n checkbox.disabled = $scope.isDisabled || !$scope.show(option) || option.max === 0 || (isFull && checkbox.checked !== true);\r\n }\r\n else {\r\n checkbox.disabled = $scope.isDisabled || !$scope.show(option) || ((($scope.answerList.indexOf(option.id) === -1 && option.checked !== true && option.full_position === 1 && isFull) || option.max === 0) && option.max !== null);\r\n }\r\n }\r\n }\r\n }\r\n }, true);\r\n\r\n // Only do this for non-preview\r\n if ($scope.question.answer) {\r\n // Value can sometimes be updated after options & ensure no double click needed\r\n $scope.$watch('question.answer.value', function (newValue) {\r\n if (newValue !== null && newValue.length !== 0) {\r\n var valueArr = newValue.includes(',') ? newValue.split(',') : newValue;\r\n\r\n if (typeof (valueArr) === 'string') { valueArr = [valueArr]; }\r\n\r\n valueArr.forEach(function (answer) {\r\n var checkbox = document.getElementById($scope.additional_id + answer + '_checkbox');\r\n if (checkbox !== null) { checkbox.checked = true; }\r\n });\r\n }\r\n }, true);\r\n }\r\n }\r\n }\r\n ],\r\n compile: function (elem, attrs) {\r\n return {\r\n pre: function (scope, elem, attrs, ngModel) {\r\n scope.timeouts = [];\r\n\r\n if (!attrs.name) {\r\n attrs.name = \"checkboxes\";\r\n }\r\n if (!attrs.id) {\r\n attrs.id = attrs.name;\r\n }\r\n if (!attrs.label) {\r\n attrs.label = Format.label(attrs.name);\r\n }\r\n if (!attrs.showLabel) {\r\n attrs.showLabel = attrs.label.length > 0;\r\n } else {\r\n if (attrs.showLabel == \"true\") {\r\n attrs.showLabel = true;\r\n } else {\r\n attrs.showLabel = false;\r\n }\r\n }\r\n if (!attrs.topLabel) {\r\n attrs.topLabel = false;\r\n } else {\r\n if (\r\n attrs.topLabel == true ||\r\n attrs.topLabel == \"true\"\r\n ) {\r\n attrs.topLabel = true;\r\n } else {\r\n attrs.topLabel = false;\r\n }\r\n }\r\n if (!attrs.updateService) {\r\n attrs.updateService = true;\r\n } else {\r\n if (\r\n attrs.updateService == true ||\r\n attrs.updateService == \"true\"\r\n ) {\r\n attrs.updateService = true;\r\n } else {\r\n attrs.updateService = false;\r\n }\r\n }\r\n if (!attrs.showColon) {\r\n attrs.showColon = true;\r\n } else {\r\n if (\r\n attrs.showColon == true ||\r\n attrs.showColon == \"true\"\r\n ) {\r\n attrs.showColon = true;\r\n } else {\r\n attrs.showColon = false;\r\n }\r\n }\r\n //if (!attrs.isRequired) { attrs.isRequired = false; } else { if (attrs.isRequired == 'true') { attrs.isRequired = true; } else { attrs.isRequired = false; } }\r\n if (!attrs.title) {\r\n attrs.title = attrs.label;\r\n }\r\n\r\n if (!attrs.selectShow) {\r\n attrs.selectShow = \"name\";\r\n }\r\n if (!attrs.selectValue) {\r\n attrs.selectValue = \"id\";\r\n }\r\n if (!attrs.method) {\r\n attrs.method = \"get\";\r\n }\r\n if (!attrs.modal) {\r\n attrs.modal = false;\r\n } else {\r\n if (attrs.modal == \"true\") {\r\n attrs.modal = true;\r\n } else {\r\n attrs.modal = false;\r\n }\r\n }\r\n if (!attrs.forceString) {\r\n attrs.forceString = false;\r\n } else {\r\n if (attrs.forceString == \"true\") {\r\n attrs.forceString = true;\r\n } else {\r\n attrs.forceString = false;\r\n }\r\n }\r\n if (!attrs.vertical) {\r\n attrs.vertical = false;\r\n } else {\r\n if (attrs.vertical == \"true\") {\r\n attrs.vertical = true;\r\n } else {\r\n attrs.vertical = false;\r\n }\r\n }\r\n\r\n scope.optionsLoaded = false;\r\n scope.dirOptions = [];\r\n scope.getOptions = function () {\r\n if (\r\n scope.options != null &&\r\n !(\r\n scope.service != null &&\r\n scope.service != \"\" &&\r\n scope.serviceOverride\r\n )\r\n ) {\r\n if (\r\n Object.prototype.toString.call(\r\n scope.options\r\n ) !== \"[object Array]\"\r\n ) {\r\n scope.options\r\n .split(\",\")\r\n .forEach(function (option) {\r\n scope.dirOptions.push({\r\n id: option.trim(),\r\n name: option.trim()\r\n });\r\n });\r\n scope.optionsLoaded = true;\r\n } else {\r\n scope.$evalAsync(function () {\r\n scope.dirOptions = scope.options;\r\n scope.optionsLoaded = true;\r\n });\r\n }\r\n } else if (\r\n scope.service != null &&\r\n scope.service != \"\"\r\n ) {\r\n var service = $injector.get(scope.service);\r\n\r\n service[scope.method](scope.parameters).then(\r\n function (data) {\r\n scope.dirOptions = data;\r\n if (attrs.updateService) {\r\n scope.options = data;\r\n }\r\n scope.optionsLoaded = true;\r\n }\r\n );\r\n } else {\r\n scope.optionsLoaded = true;\r\n }\r\n };\r\n scope.getOptions();\r\n\r\n // watch for signal to refresh the options\r\n scope.$watch(\r\n \"question.refreshOptions\",\r\n function (refresh) {\r\n if (scope.question !== undefined) {\r\n if (\r\n refresh !== undefined &&\r\n refresh !== null &&\r\n refresh.length &&\r\n (scope.service != null &&\r\n scope.service.length)\r\n ) {\r\n scope.parameters.limit_position_ids = refresh;\r\n scope.optionsLoaded = false;\r\n scope.getOptions();\r\n }\r\n scope.question.refreshOptions = null;\r\n }\r\n },\r\n true\r\n );\r\n\r\n // watch for signal to refresh the validation\r\n if (\r\n scope.question !== undefined &&\r\n scope.question.data_point_code ==\r\n \"service_users_position\"\r\n ) {\r\n scope.$watch(\r\n \"question.refreshValidation\",\r\n function (refresh) {\r\n scope.timeouts.push(\r\n $timeout(function () {\r\n if (\r\n refresh !== undefined &&\r\n refresh !== null &&\r\n refresh.length\r\n ) {\r\n Validation.validateQuestion(\r\n scope.innerForm,\r\n scope.validation,\r\n scope.ngModel\r\n ).then(function (result) {\r\n if (\r\n scope.question !==\r\n undefined &&\r\n scope.question\r\n .answer !==\r\n undefined\r\n ) {\r\n scope.question.answer.invalid =\r\n !result ||\r\n !isEmpty(\r\n scope.innerForm\r\n .$error\r\n );\r\n }\r\n });\r\n }\r\n scope.question.refreshValidation = null;\r\n }, 0)\r\n );\r\n },\r\n true\r\n );\r\n }\r\n\r\n // watch if options is coming from an array that hasn't been set yet\r\n scope.$watch(\"options\", function (options) {\r\n if (\r\n options != null &&\r\n scope.optionsLoaded &&\r\n scope.service == null\r\n ) {\r\n scope.optionsLoaded = false;\r\n scope.dirOptions = [];\r\n\r\n if (\r\n Object.prototype.toString.call(\r\n scope.options\r\n ) !== \"[object Array]\"\r\n ) {\r\n scope.options\r\n .split(\",\")\r\n .forEach(function (option) {\r\n scope.dirOptions.push({\r\n id: option.trim(),\r\n name: option.trim()\r\n });\r\n });\r\n } else {\r\n scope.dirOptions = scope.options;\r\n }\r\n scope.optionsLoaded = true;\r\n }\r\n });\r\n\r\n scope.$watch(\"optionsLoaded\", function (optionsLoaded) {\r\n if (optionsLoaded && scope.showValue == null) {\r\n scope.dirOptions.forEach(function (opt) {\r\n opt.checked = false;\r\n });\r\n if (scope.showValue == null) {\r\n scope.setShowValue();\r\n }\r\n }\r\n scope.timeouts.push(\r\n $timeout(function () {\r\n if (\r\n scope.isRequired &&\r\n scope.innerForm !== undefined\r\n ) {\r\n if (\r\n ngModel.$modelValue == null ||\r\n ngModel.$modelValue.length == 0\r\n ) {\r\n scope.innerForm.$setValidity(\r\n \"required\",\r\n false\r\n );\r\n } else {\r\n scope.innerForm.$setValidity(\r\n \"required\",\r\n true\r\n );\r\n }\r\n }\r\n if (scope.question !== undefined) {\r\n scope.question.refreshvalidation = true;\r\n }\r\n }, 0)\r\n );\r\n\r\n // validate questions on options loaded - allows maxed positions to be disabled\r\n if (scope.validation) {\r\n Validation.validateQuestion(\r\n scope.innerForm,\r\n scope.validation,\r\n ngModel.$modelValue\r\n ).then(function (result) {\r\n if (\r\n scope.question !== undefined &&\r\n scope.question.answer !== undefined\r\n ) {\r\n scope.question.answer.invalid =\r\n !result ||\r\n !isEmpty(scope.innerForm.$error);\r\n }\r\n });\r\n }\r\n });\r\n\r\n scope.setShowValue = function () {\r\n if (\r\n ngModel.$modelValue != null &&\r\n scope.dirOptions != null\r\n ) {\r\n scope.showValue = generateStringFromArrays(\r\n ngModel.$modelValue,\r\n scope.dirOptions\r\n );\r\n }\r\n };\r\n\r\n // see if this needs to be wrapped in a $timeout\r\n ngModel.$render = function () {\r\n if (ngModel.$modelValue != null) {\r\n if (\r\n scope.showValue == null &&\r\n scope.optionsLoaded\r\n ) {\r\n scope.setShowValue();\r\n }\r\n }\r\n\r\n if (scope.validation) {\r\n Validation.validateQuestion(\r\n scope.innerForm,\r\n scope.validation,\r\n ngModel.$modelValue\r\n );\r\n }\r\n };\r\n\r\n scope.show = function (item) {\r\n return (\r\n typeof item.hide == \"undefined\" ||\r\n item.hide == null ||\r\n item.hide == false ||\r\n item.checked != false\r\n );\r\n };\r\n scope.getTitle = function (item) {\r\n return scope.show(item)\r\n ? scope.title\r\n : \"Maximum number of positions reached\";\r\n };\r\n\r\n scope.onChange = function () {\r\n scope.submitted = false;\r\n scope.processingChange = true;\r\n scope.timeouts.push(\r\n $timeout(function () {\r\n scope.setShowValue();\r\n if (scope.isRequired) {\r\n if (\r\n ngModel.$modelValue == null ||\r\n ngModel.$modelValue.length == 0\r\n ) {\r\n scope.innerForm.$setValidity(\r\n \"required\",\r\n false\r\n );\r\n } else {\r\n scope.innerForm.$setValidity(\r\n \"required\",\r\n true\r\n );\r\n }\r\n }\r\n if (scope.validation) {\r\n Validation.validateQuestion(\r\n scope.innerForm,\r\n scope.validation,\r\n ngModel.$modelValue\r\n ).then(function (result) {\r\n if (\r\n scope.question !== undefined &&\r\n scope.question.answer !==\r\n undefined\r\n ) {\r\n scope.question.answer.invalid =\r\n !result ||\r\n !isEmpty(\r\n scope.innerForm.$error\r\n );\r\n }\r\n });\r\n }\r\n\r\n scope.processingChange = false;\r\n }, 0)\r\n );\r\n };\r\n\r\n scope.submitted = false;\r\n scope.$on(\"form:submit\", function () {\r\n scope.validate();\r\n scope.submitted = true;\r\n });\r\n\r\n scope.$on(\"$destroy\", function () {\r\n scope.timeouts.forEach(function (timer) {\r\n $timeout.cancel(timer);\r\n });\r\n });\r\n }\r\n };\r\n }\r\n };\r\n }\r\n]);\r\n","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('ckEditor', ['$timeout', function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n require: '?ngModel',\r\n scope: {\r\n height: '@?',\r\n toolbarGroups: '=?',\r\n skin: '=?',\r\n remove: '=?'\r\n },\r\n link: function (scope, elm, attr, ngModel) {\r\n if (!ngModel) return;\r\n if (!scope.height) {\r\n scope.height = 250;\r\n }\r\n if (!scope.toolbarGroups) {\r\n scope.toolbarGroups = [\r\n { name: 'clipboard', groups: ['clipboard', 'undo'] },\r\n { name: 'links' },\r\n { name: 'insert', groups: ['Image', 'Table', 'HorizontalRule', 'SpecialChar', 'PageBreak'] },\r\n { name: 'tools', groups: ['Maximize'] },\r\n { name: 'others' },\r\n '/',\r\n { name: 'basicstyles', groups: ['basicstyles', 'cleanup'] },\r\n { name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align'] },\r\n { name: 'styles' },\r\n { name: 'colors' },\r\n { name: 'about' }\r\n ];\r\n }\r\n\r\n // Set Skin\r\n if (!scope.skin && scope.$root.$state.current.name === \"portal.menus.login\") {\r\n scope.skin = 'bootstrapck';\r\n }\r\n else if (!scope.skin || scope.skin == '')\r\n {\r\n scope.skin = 'moono';\r\n }\r\n\r\n // Remove any plugins (mostly toolbar things)\r\n if (!scope.remove || scope.remove == '')\r\n {\r\n scope.remove = 'liststyle,exportpdf,smiley,iframe,showblocks,copyformatting';\r\n }\r\n else\r\n {\r\n scope.remove += 'liststyle,exportpdf,smiley,iframe,showblocks,copyformatting';\r\n }\r\n\r\n var ck = CKEDITOR.replace(elm[0], {\r\n toolbar: 'Regular',\r\n forcePasteAsPlainText: 'true',\r\n height: scope.height,\r\n toolbarGroups: scope.toolbarGroups,\r\n skin: scope.skin,\r\n removePlugins: scope.remove\r\n });\r\n\r\n ck.on('instanceReady', function () {\r\n ck.setData(ngModel.$viewValue);\r\n });\r\n\r\n ck.on('change', function () {\r\n var timer = $timeout(function() {\r\n ngModel.$setViewValue(ck.getData());\r\n }, 0);\r\n scope.$on('$destroy', function () {\r\n $timeout.cancel(timer);\r\n });\r\n });\r\n\r\n ngModel.$render = function (value) {\r\n ck.setData(ngModel.$viewValue);\r\n };\r\n\r\n elm.bind('$destroy', function () {\r\n ck.destroy();\r\n });\r\n }\r\n }\r\n }])\r\n .directive('ckHtml', ['$sce', function ($sce) {\r\n return {\r\n restrict: 'E',\r\n scope: {\r\n htmlSrc: '@?',\r\n id: '@?'\r\n },\r\n transclude: true,\r\n template:\r\n '
',\r\n link: function (scope, elm, attr) {\r\n attr.$observe(\"htmlSrc\", function () {\r\n scope.newHtml = $sce.trustAsHtml(scope.htmlSrc);\r\n });\r\n }\r\n }\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('ImportCliniciansModalController', ['$scope', '$modalInstance', 'Upload', function ($scope, $modalInstance, Upload) {\r\n\r\n $scope.vm = {\r\n file: null,\r\n file_content: null\r\n }\r\n $scope.uploading = false;\r\n $scope.working = false;\r\n\r\n $scope.fileChange = function () {\r\n if (!$scope.working) {\r\n $scope.uploading = false;\r\n }\r\n }\r\n\r\n $scope.fileUpdated = function (file) {\r\n $scope.working = true;\r\n Upload.base64DataUrl(file).then(function (content) {\r\n $scope.vm.file_content = content;\r\n $scope.working = false;\r\n $scope.uploading = false;\r\n })\r\n }\r\n\r\n $scope.filePicked = function () {\r\n $scope.uploading = true;\r\n }\r\n\r\n $scope.save = function () {\r\n if ($scope.vm.file != null) {\r\n $modalInstance.close({\r\n file_name: $scope.vm.file.name,\r\n file_content: $scope.vm.file_content\r\n });\r\n }\r\n else {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n }\r\n\r\n $scope.close = function () {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('hlpCliniciansImportController', ['$scope', '$rootScope', '$modal', 'Clinicians', 'Documents',\r\n function ($scope, $rootScope, $modal, Clinicians, Documents) {\r\n $scope.preview = false;\r\n if ($rootScope.isPortal && $rootScope.isPortal == \"True\") {\r\n if ($rootScope.enterprise && $rootScope.enterprise.website) {\r\n $scope.portalURL = $rootScope.enterprise.website;\r\n }\r\n else {\r\n $scope.portalURL = $rootScope.portalURL;\r\n }\r\n }\r\n else {\r\n if ($rootScope.enterprise && $rootScope.enterprise.site_location) {\r\n $scope.portalURL = $rootScope.enterprise.site_location;\r\n }\r\n else {\r\n $scope.portalURL = $rootScope.internalURL;\r\n }\r\n }\r\n\r\n if ($scope.parameters.response_id) {\r\n Clinicians.getDocumentByResponseID($scope.parameters.response_id).then(function (document_id) {\r\n if (document_id) {\r\n Documents.getByID(document_id).then(function (file) {\r\n $scope.fileUpload = {\r\n file_name: file.file_name,\r\n document_id: file.id,\r\n document_code: file.code,\r\n service_id: $scope.parameters.service_id\r\n };\r\n $scope.component.elementAnswer = [$scope.fileUpload];\r\n });\r\n }\r\n else {\r\n $scope.fileUpload = {\r\n file_content: null,\r\n file_name: null,\r\n service_id: $scope.parameters.service_id\r\n };\r\n $scope.component.elementAnswer = [$scope.fileUpload];\r\n }\r\n });\r\n } else {\r\n $scope.fileUpload = {\r\n file_content: null,\r\n file_name: null,\r\n service_id: $scope.parameters.service_id\r\n };\r\n $scope.component.elementAnswer = [$scope.fileUpload];\r\n }\r\n\r\n $scope.downloadClinicians = function () {\r\n $scope.downloading = true;\r\n if ($scope.parameters.service_id) {\r\n Clinicians.downloadExcel($scope.parameters.service_id).then(function (data) {\r\n data = \"data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,\" + data;\r\n var link = document.createElement(\"a\");\r\n link.href = data;\r\n link.download = \"clinicians.xlsx\"\r\n link.click();\r\n\r\n $scope.downloading = false;\r\n });\r\n }\r\n else {\r\n //Form is in preview mode\r\n $scope.downloading = false;\r\n $scope.preview = true;\r\n }\r\n }\r\n\r\n $scope.importClinicians = function () {\r\n $modal.open({\r\n animation: true,\r\n templateUrl: 'templates/clinicians-import/clinicians-import-modal.html',\r\n controller: 'ImportCliniciansModalController',\r\n resolve: {\r\n }\r\n }).result.then(function (upload) {\r\n if (upload != null) {\r\n $scope.fileUpload.file_content = upload.file_content;\r\n $scope.fileUpload.file_name = upload.file_name;\r\n $scope.fileUpload.file_updated = true;\r\n $scope.fileUpload.saved = false;\r\n $scope.component.elementAnswer = [$scope.fileUpload];\r\n }\r\n });\r\n }\r\n }])\r\n .directive('hlpCliniciansImport', [function () {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'templates/clinicians-import/clinicians-import.html',\r\n replace: true,\r\n controller: 'hlpCliniciansImportController',\r\n scope: {\r\n parameters: '=?',\r\n component: '=?'\r\n },\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n }\r\n };\r\n }])\r\n ;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('ConfirmModalController', ['$scope', '$modalInstance', 'message', function ($scope, $modalInstance, message) {\r\n $scope.message = message;\r\n\r\n $scope.yes = function () {\r\n $modalInstance.close(true);\r\n }\r\n\r\n $scope.no = function () {\r\n $modalInstance.close(false);\r\n }\r\n\r\n $scope.$on('$destroy', function () {\r\n });\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('CopyFormModalController', ['$scope', '$modalInstance', 'name', 'license_id', 'license_category_id', 'Licenses', function ($scope, $modalInstance, name, license_id, license_category_id, Licenses) {\r\n $scope.settings = {};\r\n $scope.settings.name = name;\r\n $scope.settings.licenseID = license_id;\r\n $scope.settings.license_category_id = license_category_id;\r\n $scope.licenses = [];\r\n\r\n // Get other licenses from the same category\r\n Licenses.get({ license_category_id: license_category_id }).then(function (result) {\r\n if (result != null) {\r\n $scope.licenses = result;\r\n }\r\n });\r\n\r\n $scope.save = function () {\r\n $modalInstance.close($scope.settings);\r\n }\r\n $scope.cancel = function () {\r\n $modalInstance.close(null);\r\n }\r\n\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .controller('ApplicationResponse', ['$scope', '$stateParams', '$modal', '$q', '$rootScope', '$timeout', 'FBResponses', 'LicenseRequests', 'Triggers', '$state', '$filter', '$window', 'Session',\r\n function ($scope, $stateParams, $modal, $q, $rootScope, $timeout, FBResponses, LicenseRequests, Triggers, $state, $filter, $window, Session) {\r\n $scope.portal = $state.current.data.isPortal;\r\n $scope.saving = false;\r\n $scope.loading = true;\r\n $scope.progressing = false;\r\n $scope.completed = false;\r\n $scope.parameters = {};\r\n $scope.advance = false;\r\n $scope.timeouts = [];\r\n $scope.submitting = false;\r\n $scope.loadingMessage = '';\r\n\r\n $scope.vm = {\r\n api: {},\r\n formsApi: {}\r\n }\r\n Session.CheckSession().then(function (validSession) {\r\n if (validSession) {\r\n Session.checkIn();\r\n if ($stateParams.responseID != null) {\r\n FBResponses.getByID($stateParams.responseID).then(function (response) {\r\n if (response != null) {\r\n if (response.progress == 2) {\r\n $scope.completed = true;\r\n }\r\n $scope.parameters = { response_id: $stateParams.responseID, license_request_id: response.license_request_id, license_id: response.license_id, user_id: response.user_id, service_id: response.service_id, vehicle_id: response.vehicle_id, child_service: response.child_service, default_license_category_id: response.license_category_id, display_changed_answers: response.form.display_changed_answers };\r\n\r\n if ($scope.fireStartTrigger != null && $scope.fireStartTrigger == 'true' && response.progress == 0) {\r\n response.progress = 1;\r\n response.started_on = new Date();\r\n FBResponses.save(response, null, false);\r\n if (response.form.start_trigger_name != null && response.form.start_trigger_name != \"\") {\r\n Triggers.fire({\r\n name: response.form.start_trigger_name,\r\n triggerID: response.form.start_trigger_id,\r\n licenseRequestID: response.license_request_id\r\n });\r\n }\r\n }\r\n\r\n // Move on\r\n $scope.setProgress(response);\r\n $scope.response = response;\r\n $scope.the_form = response.form.the_form;\r\n $scope.loading = false;\r\n }\r\n });\r\n }\r\n else {\r\n if ($scope.portal) {\r\n if ($scope.review) {\r\n $state.go('portal.menus.review');\r\n }\r\n else {\r\n var newContinuePage = $rootScope.portal_pages[\"portal.menus.applicationsContinueList\"];\r\n if (newContinuePage != null && newContinuePage.visible) {\r\n $state.go('portal.menus.applicationsContinueList');\r\n } else {\r\n $state.go('portal.menus.applications');\r\n }\r\n }\r\n }\r\n else {\r\n $state.go('internal.licensing.application.responses', { id: $scope.applicationID });\r\n }\r\n }\r\n }\r\n else {\r\n $state.go('portal.menus.denied');\r\n }\r\n });\r\n\r\n $scope.setProgress = function (response, submitRequest) {\r\n var d = $q.defer();\r\n if (isUndefined(submitRequest)) {\r\n submitRequest = false;\r\n }\r\n // need the timout so that the calculations of what pages have content finishes first\r\n var timer = $timeout(function () {\r\n $scope.progressing = true;\r\n\r\n if ($scope.completed) {\r\n if (response.form.pages.length > 0) {\r\n response.form.pages[0].tab_active = true;\r\n }\r\n $scope.progressing = false;\r\n $scope.saving = false;\r\n }\r\n else {\r\n var foundMatch = false;\r\n\r\n // Loop through the pages and check to see if they have a response_page record. The first one that doesn't will be our active page, and any after will be disabled\r\n if (response != null && response.form != null && response.form.pages != null) {\r\n var activePage = $scope.vm.formsApi.activePage();\r\n response.form.pages.forEach(function (page) {\r\n page.disabled = foundMatch && !page.completed;\r\n if (!page.completed && !foundMatch && page.has_content && $scope.advance == true) {\r\n page.tab_active = true;\r\n foundMatch = true;\r\n }\r\n else {\r\n if ($scope.advance == false) {\r\n page.tab_active = page.id == activePage.id;\r\n if (page.tab_active) {\r\n foundMatch = true;\r\n }\r\n }\r\n else {\r\n page.tab_active = false;\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n if (!foundMatch && $scope.advance == true) {\r\n for (var i = response.form.pages.length - 1; i >= 0; i--) {\r\n var page = response.form.pages[i];\r\n\r\n if (!foundMatch && page.has_content) {\r\n page.tab_active = true;\r\n foundMatch = true;\r\n }\r\n page.disabled = !foundMatch && !page.completed;\r\n }\r\n }\r\n\r\n $scope.progressing = false;\r\n if (submitRequest != true) {\r\n $scope.saving = false;\r\n }\r\n $window.scrollTo(0, 0);\r\n d.resolve();\r\n }\r\n }, 0);\r\n $scope.$on('$destroy', function () {\r\n $timeout.cancel(timer);\r\n });\r\n return d.promise;\r\n }\r\n\r\n $scope.showSave = function () {\r\n var currentPage = $scope.vm.formsApi.activePage();\r\n if (currentPage != null) {\r\n return currentPage.show_save_button;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n $scope.showSaveAndContinue = function () {\r\n return ($scope.vm.formsApi.activePageIndex() < $scope.vm.formsApi.pagesCount());\r\n }\r\n\r\n $scope.showSubmit = function () {\r\n return ($scope.vm.formsApi.activePageIndex() >= $scope.vm.formsApi.pagesCount());\r\n }\r\n\r\n // This function exists because after a save, the form coming back is fresh from the database, and we'll loose several \"custom\" properties that have been put on the form. And we want them still\r\n $scope.copyCustomResponseFields = function (response) {\r\n var d = $q.defer();\r\n // pages\r\n for (var i = 0; i < $scope.response.form.pages.length; i++) {\r\n var page = $scope.response.form.pages[i];\r\n // sections\r\n for (var j = 0; j < page.sections.length; j++) {\r\n var section = page.sections[j];\r\n response.form.pages[i].sections[j].expanded = section.expanded;\r\n //components\r\n for (var k = 0; k < section.components.length; k++) {\r\n var component = section.components[k];\r\n if (component.elementAnswer !== undefined) {\r\n response.form.pages[i].sections[j].components[k].elementAnswer = component.elementAnswer;\r\n }\r\n if (component.parameters !== undefined) {\r\n response.form.pages[i].sections[j].components[k].parameters = component.parameters;\r\n }\r\n // groups\r\n for (var l = 0; l < component.groups.length; l++) {\r\n var group = component.groups[l];\r\n if (group.edit != undefined) {\r\n response.form.pages[i].sections[j].components[k].groups[l].edit = group.edit;\r\n }\r\n if (group.parameters !== undefined) {\r\n response.form.pages[i].sections[j].components[k].groups[l].parameters = group.parameters;\r\n }\r\n // questions\r\n for (var m = 0; m < group.questions.length; m++) {\r\n var question = group.questions[m];\r\n if (question.answer !== undefined && question.answer != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].answer.invalid = question.answer.invalid;\r\n if (question.answer.document_description !== undefined && question.answer.document_description != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].answer.document_description = question.answer.document_description;\r\n }\r\n if (question.answer.document_name !== undefined && question.answer.document_name != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].answer.document_name = question.answer.document_name;\r\n }\r\n if (question.answer.document_type !== undefined && question.answer.document_type != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].answer.document_type = question.answer.document_type;\r\n }\r\n if (question.validation !== undefined && question.validation != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].validation = question.validation;\r\n }\r\n }\r\n // sub components\r\n for (var n = 0; n < question.sub_components.length; n++) {\r\n var subcomponent = question.sub_components[n];\r\n if (subcomponent.parameters !== undefined) {\r\n //make sure subcomponent is defined before parameters are set to it, else\r\n //TypeError: Cannot set property 'parameters' of undefined\r\n //this may have to be the structure throughout this function if we get other TypeErrors in the console\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].sub_components[n] = subcomponent;\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].sub_components[n].parameters = subcomponent.parameters;\r\n }\r\n // groups\r\n for (var o = 0; o < subcomponent.groups.length; o++) {\r\n var subgroup = subcomponent.groups[o];\r\n if (subgroup.parameters !== undefined) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].sub_components[n].groups[o].parameters = subgroup.parameters;\r\n }\r\n for (var p = 0; p < subgroup.questions.length; p++) {\r\n var subquestion = subgroup.questions[p];\r\n if (subquestion.answer !== undefined && subquestion.answer != null) {\r\n response.form.pages[i].sections[j].components[k].groups[l].questions[m].sub_components[n].groups[o].questions[p].answer.invalid = subquestion.answer.invalid;\r\n }\r\n };\r\n };\r\n };\r\n };\r\n };\r\n };\r\n };\r\n };\r\n d.resolve();\r\n return d.promise;\r\n }\r\n\r\n $scope.save = function (advance, submitRequest) {\r\n var deferred = $q.defer();\r\n Session.checkIn();\r\n $scope.loadingMessage = \"Saving application response...\";\r\n $scope.saving = true;\r\n $scope.answerRefresh = false;\r\n $scope.advance = advance == true;\r\n\r\n FBResponses.saveByForm($scope.response, $scope.applicationID, $scope.vm.formsApi.absoluteFurthestPageIndex(), false, false, false).then(function (response) {\r\n if (response != null && response.documentErrors != null && response.documentErrors.length > 0) {\r\n deferred.resolve(response.documentErrors);\r\n }\r\n else {\r\n deferred.resolve();\r\n }\r\n \r\n if (response != null && response.documentErrors != null && response.documentErrors.length > 0) {\r\n //Something errored when saving documents - display modal, and don't advance or set progress\r\n var documentNames = response.documentErrors.map(function (error) { return \"tags to keep description on first line of skill\r\n htmlText = (htmlText !== null) ? htmlText.replace('
', '').replace('
', '') : '';\r\n }\r\n return $sce.trustAsHtml(htmlText);\r\n }\r\n\r\n if ($scope.skills.length == 0) {\r\n $scope.skillsloading = true;\r\n EXSkill.get().then(function(Skills) {\r\n for (var x in Skills) {\r\n for (var y in Skills[x].options) {\r\n Skills[x].total_points +=\r\n Skills[x].options[y].points;\r\n }\r\n\r\n if (Skills[x].max_points > 0)\r\n if (Skills[x].max_points < Skills[x].total_points)\r\n Skills[x].total_points = Skills[x].max_points;\r\n }\r\n $scope.skills = angular.copy(Skills);\r\n $scope.setSelectedValues();\r\n });\r\n }\r\n\r\n $scope.setSelectedValues = function() {\r\n $scope.selectedskills = [];\r\n if ($scope.component.skill_question_ids !== null) {\r\n $scope.component.skill_question_ids\r\n .split(\",\")\r\n .forEach(function (skillid) {\r\n $scope.skills.forEach(function (skill) {\r\n if (skill.id == skillid.trim()) {\r\n $scope.selectedskills.push(skill);\r\n }\r\n });\r\n });\r\n }\r\n $scope.skillsloading = false;\r\n };\r\n\r\n $scope.updateOrder = function() {\r\n $scope.component.skill_question_ids = \"\";\r\n $scope.selectedskills.forEach(function(skill) {\r\n if ($scope.component.skill_question_ids == \"\")\r\n $scope.component.skill_question_ids = skill.id;\r\n else\r\n $scope.component.skill_question_ids +=\r\n \",\" + skill.id;\r\n });\r\n };\r\n\r\n $scope.removeSkill = function(id) {\r\n $scope.selectedskills.splice(id, 1);\r\n $scope.component.skill_question_ids = \"\";\r\n $scope.selectedskills.forEach(function(skill) {\r\n if ($scope.component.skill_question_ids == \"\")\r\n $scope.component.skill_question_ids = skill.id;\r\n else\r\n $scope.component.skill_question_ids +=\r\n \",\" + skill.id;\r\n });\r\n $scope.component.updateEditList = true;\r\n };\r\n\r\n $scope.determineClasses = function(isEven) {\r\n var classes = \"selectedSkill row no-margin\";\r\n if (isEven) classes += \" even\";\r\n\r\n return classes;\r\n };\r\n\r\n $scope.getPassButtonClass = function() {\r\n var classes =\r\n \"btn btn-group ng-pristine ng-untouched ng-valid ng-binding ng-scope ng-empty btn-default\";\r\n if ($scope.component.skill_default == \"1\")\r\n classes += \" pass\";\r\n return classes;\r\n };\r\n\r\n $scope.getFailButtonClass = function() {\r\n var classes =\r\n \"btn btn-group ng-pristine ng-untouched ng-valid ng-binding ng-scope ng-empty btn-default\";\r\n if ($scope.component.skill_default == \"2\")\r\n classes += \" fail\";\r\n return classes;\r\n };\r\n\r\n $scope.selectedSkillOptions = function(selectedSkill) {\r\n return {\r\n containment: \"#selectedskill_\" + selectedSkill.id,\r\n scrollableContainer:\r\n \"#selectedskill_\" + selectedSkill.id,\r\n containerPositioning: \"relative\",\r\n accept: function(\r\n sourceItemHandleScope,\r\n destSortableScope\r\n ) {\r\n return (\r\n sourceItemHandleScope.itemScope\r\n .sortableScope.$id ===\r\n destSortableScope.$id\r\n );\r\n },\r\n orderChanged: function() {\r\n $scope.updateOrder();\r\n }\r\n };\r\n };\r\n\r\n $scope.$watch(\"component.updateSelectedList\", function(\r\n newList,\r\n oldList\r\n ) {\r\n if ($scope.component.updateSelectedList) {\r\n $scope.component.updateEditList = false;\r\n $scope.component.updateSelectedList = false;\r\n $scope.setSelectedValues();\r\n }\r\n $scope.component.updateSelectedList = false;\r\n });\r\n }\r\n ],\r\n replace: true,\r\n transclude: true,\r\n templateUrl:\r\n \"templates/form-builder/form-builder-skills-list/form-builder-skills-list.html\",\r\n link: function(scope, elem, attrs, ctrl) {}\r\n };\r\n }\r\n]);\r\n","\"use strict\";\r\n\r\nangular.module(\"imagetrend.components\").directive(\"hlpFormComponent\", [\r\n \"$compile\",\r\n \"$templateCache\",\r\n \"$filter\",\r\n function($compile, $templateCache, $filter) {\r\n return {\r\n restrict: \"AE\",\r\n scope: {\r\n component: \"=?\",\r\n parentGroup: \"=?\",\r\n initializeAnswers: \"&\",\r\n parameters: \"=?\",\r\n resultSet: \"=?\",\r\n deficiencies: \"=?\",\r\n pdf: \"=?\",\r\n datapointAnswers: \"=?\",\r\n completed: \"=?\",\r\n saving: \"=?\",\r\n deficiencyScore: \"=?\",\r\n inspectionChecklist: \"=?\"\r\n },\r\n replace: true,\r\n transclude: true,\r\n //templateUrl: 'templates/form-builder-form/form-component/form-component.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n scope.initComponent = function (component) {\r\n component.parameters = angular.copy(scope.parameters);\r\n if (component.parameters != null) {\r\n component.parameters.limit_document_type_ids =\r\n component.limit_document_type_ids;\r\n component.parameters.show_documents_without_type =\r\n component.show_documents_without_type;\r\n component.parameters.limit_position_ids =\r\n component.limit_position_ids;\r\n component.parameters.limit_vehicle_type_ids =\r\n component.limit_vehicle_type_ids;\r\n component.parameters.show_vehicles_without_type =\r\n component.show_vehicles_without_type;\r\n component.parameters.skill_question_ids =\r\n component.skill_question_ids;\r\n component.parameters.skill_show_points =\r\n component.skill_show_points;\r\n component.parameters.skill_default =\r\n component.skill_default;\r\n\r\n if (component.license_category_id != null) {\r\n if (\r\n component.parameters.orignalLicenseID == null &&\r\n component.parameters.license_id != null\r\n ) {\r\n component.parameters.orignalLicenseID =\r\n component.parameters.license_id;\r\n }\r\n\r\n component.parameters.license_category_id =\r\n component.license_category_id;\r\n\r\n if (\r\n component.parameters\r\n .default_license_category_id ==\r\n component.license_category_id\r\n ) {\r\n component.parameters.license_id =\r\n component.parameters.orignalLicenseID;\r\n } else {\r\n component.parameters.license_id = null;\r\n }\r\n }\r\n }\r\n };\r\n elem.append(\r\n $compile(\r\n $templateCache.get(\r\n \"templates/form-builder-form/form-component/form-component.html\"\r\n )\r\n )(scope)\r\n );\r\n\r\n scope.$on(\"$destroy\", function() {\r\n if (elem) {\r\n angular.element(elem).off(); // deregister all event handlers\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n\r\n scope.$watch(\"parentGroup.parameters.limit_document_type_ids\", function (limit_document_type_ids) {\r\n if (limit_document_type_ids != null) {\r\n if (scope.component && scope.component.parameters) {\r\n scope.component.parameters.limit_document_type_ids = limit_document_type_ids;\r\n }\r\n }\r\n });\r\n\r\n scope.$watch(\"parentGroup.parameters.show_documents_without_type\", function (show_documents_without_type) {\r\n if (show_documents_without_type != null) {\r\n if (scope.component && scope.component.parameters) {\r\n scope.component.parameters.show_documents_without_type = show_documents_without_type;\r\n }\r\n }\r\n });\r\n\r\n scope.$watch(\"parentGroup.parameters.limit_vehicle_type_ids\", function (limit_vehicle_type_ids) {\r\n if (limit_vehicle_type_ids != null) {\r\n if (scope.component && scope.component.parameters) {\r\n scope.component.parameters.limit_vehicle_type_ids = limit_vehicle_type_ids;\r\n }\r\n }\r\n });\r\n\r\n scope.$watch(\"parentGroup.parameters.show_vehicles_without_type\", function (show_vehicles_without_type) {\r\n if (show_vehicles_without_type != null) {\r\n if (scope.component && scope.component.parameters) {\r\n scope.component.parameters.show_vehicles_without_type = show_vehicles_without_type;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n }\r\n]);\r\n","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpFormGroup', ['$rootScope', function ($rootScope) {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n group: '=?',\r\n initializeAnswers: '&',\r\n parameters: '=?',\r\n checkboxOrRadio: '=?',\r\n resultSet: '=?',\r\n deficiencies: '=?',\r\n pdf: '=?',\r\n datapointAnswers: '=?',\r\n completed: '=?',\r\n saving: '=?',\r\n deficiencyScore: \"=?\",\r\n inspectionChecklist: \"=?\",\r\n defaultGroup: \"=?\",\r\n groups: \"=?\"\r\n },\r\n replace: true,\r\n transclude: true,\r\n templateUrl: 'templates/form-builder-form/form-group/form-group.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n scope.getDocumentURL = function (component) {\r\n if ($rootScope.isPortal && $rootScope.isPortal == \"True\") {\r\n return $rootScope.portalURL + 'controller.cfm?method=publicPortalService.openDocument' + '&documentID=' + component.document_id.toUpperCase() + '&code=' + component.document_code;\r\n }\r\n else {\r\n return $rootScope.internalURL + 'controller.cfm?method=publicPortalService.openDocument' + '&documentID=' + component.document_id.toUpperCase() + '&code=' + component.document_code;\r\n }\r\n }\r\n\r\n scope.checkIfImageOrPDF = function (component) {\r\n if (component.document_file_name) {\r\n var extensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'pdf'];\r\n return extensions.includes(component.document_file_name.split('.').pop().toLowerCase());\r\n }\r\n return false;\r\n };\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).off(); // deregister all event handlers\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n }); \r\n }\r\n };\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpFormGroups', [function () {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n component: '=?',\r\n initializeAnswers: '&',\r\n parameters: '=?',\r\n resultSet: '=?',\r\n deficiencies: '=?',\r\n pdf: '=?',\r\n datapointAnswers: '=?',\r\n completed: '=?',\r\n saving: '=?',\r\n deficiencyScore: \"=?\",\r\n inspectionChecklist: \"=?\",\r\n defaultGroup: \"=?\"\r\n },\r\n controller: ['$q', '$scope', '$rootScope', '$filter', '$modal', '$window', function ($q, $scope, $rootScope, $filter, $modal, $window) {\r\n $scope.addGroup = function (component) {\r\n component.groups.forEach(function (group) {\r\n $scope.setEdit(group);\r\n });\r\n\r\n var defaultGroup = null;\r\n if (component.default_group != null) {\r\n defaultGroup = component.default_group;\r\n }\r\n else {\r\n defaultGroup = component.groups[0];\r\n }\r\n\r\n var group = {};\r\n group.id = guid();\r\n group.edit = true;\r\n group.added = true; \r\n group.sort_order = component.groups.length + 1;\r\n group.component_id = component.id;\r\n group.component_data_set_code = component.data_set_code;\r\n group.questions = [];\r\n defaultGroup.questions.forEach(function (defaultQuestion) {\r\n var question = angular.copy(defaultQuestion);\r\n var document_type_copy = null;\r\n var document_name_copy = null;\r\n if (typeof question.answer.document_type !== 'undefined') {\r\n document_type_copy = question.answer.document_type;\r\n document_name_copy = question.answer.document_name;\r\n }\r\n question.answer = {};\r\n question.answer.document_type = document_type_copy;\r\n question.answer.document_name = document_name_copy;\r\n question.answer.id = guid();\r\n question.answer.value = question.default_value;\r\n question.answer.show_value = null;\r\n question.answer.note = null;\r\n question.answer.phone_ext = null;\r\n question.answer.document_id = null;\r\n question.answer.result_set_id = null;\r\n question.answer.fail = null;\r\n question.answer.show_comments = null;\r\n question.answer.group_id = group.id;\r\n question.answer.question_id = question.id;\r\n question.answer.encrypted = question.question_type.encrypted;\r\n question.answer.data_point_id = question.data_point_id;\r\n question.answer.data_point_code = question.data_point_code;\r\n question.answer.required = question.required;\r\n $scope.initializeSubComponentAnswers(question);\r\n\r\n group.questions.push(question);\r\n })\r\n component.groups.push(group);\r\n $scope.initializeAnswers();\r\n }\r\n\r\n $scope.initializeSubComponentAnswers = function (question) {\r\n question.sub_components.forEach(function (component) {\r\n var defaultGroup = null;\r\n if (component.default_group != null) {\r\n defaultGroup = component.default_group;\r\n }\r\n else {\r\n defaultGroup = component.groups[0];\r\n }\r\n\r\n component.groups = [];\r\n var group = {};\r\n group.id = guid();\r\n group.sort_order = 1;\r\n group.component_id = component.id;\r\n group.component_data_set_code = component.data_set_code;\r\n group.questions = [];\r\n\r\n defaultGroup.questions.forEach(function (defaultQuestion) {\r\n var question = angular.copy(defaultQuestion);\r\n var document_type_copy = null;\r\n if (typeof question.answer.document_type !== 'undefined') { document_type_copy = question.answer.document_type; }\r\n question.answer = {};\r\n question.answer.document_type = document_type_copy;\r\n question.answer.id = guid();\r\n question.answer.value = question.default_value;\r\n question.answer.show_value = null;\r\n question.answer.note = null;\r\n question.answer.phone_ext = null;\r\n question.answer.document_id = null;\r\n question.answer.result_set_id = null;\r\n question.answer.fail = null;\r\n question.answer.show_comments = null;\r\n question.answer.group_id = group.id;\r\n question.answer.question_id = question.id;\r\n question.answer.encrypted = question.question_type.encrypted;\r\n question.answer.data_point_id = question.data_point_id;\r\n question.answer.data_point_code = question.data_point_code;\r\n question.answer.required = question.required;\r\n $scope.initializeSubComponentAnswers(question);\r\n\r\n group.questions.push(question);\r\n })\r\n\r\n component.groups.push(group);\r\n })\r\n }\r\n\r\n $scope.getAnswer = function (question, group) {\r\n var value = question.answer.show_value == null ? question.answer.value : question.answer.show_value;\r\n\r\n if (value != null && question.question_type.code == 'date') {\r\n value = $filter('date')(new Date(value), 'MMMM d, y');\r\n }\r\n if (value != null && angular.isArray(value)) {\r\n var stringVal = null;\r\n value.forEach(function (val) {\r\n if (typeof val != \"undefined\") {\r\n if (stringVal == null) {\r\n stringVal = val.name;\r\n } else {\r\n stringVal += ', ' + val.name;\r\n }\r\n }\r\n })\r\n value = stringVal;\r\n }\r\n if (question.answer.file_name != null && question.question_type.code == 'file_upload') {\r\n if (question.answer.document_name != null && question.answer.document_name != \"\") {\r\n value = question.answer.document_name + \": \";\r\n } else if (!isUndefined(question.answer.file_name) && question.answer.file_name != null) {\r\n // Do not require Document Name\r\n value = question.answer.file_name + \": \";\r\n }\r\n }\r\n if (value != null && question.question_type.code == 'yesno') {\r\n value = (value == true || value.toString().toLowerCase() == 'true') ? 'Yes' : 'No';\r\n }\r\n\r\n var valid = true;\r\n if (question.required) {\r\n if (value == null || value.length == 0) {\r\n valid = false;\r\n }\r\n }\r\n if ($scope.validation) {\r\n valid = valid && Validation.validateQuestion(null, question.validation, value);\r\n }\r\n\r\n if (question !== null && question.answer !== undefined) {\r\n question.answer.invalid = !valid;\r\n }\r\n\r\n // Only require that there is a file uploaded.\r\n if (question.question_type.code == 'file_upload' && question.required && (question.answer.document_id == null && (isUndefined(question.answer.file_content) || question.answer.file_content == null))) {\r\n question.answer.invalid = true;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n $scope.openDocument = function (question) {\r\n if (question.answer.document_id != null) {\r\n if ($rootScope.isPortal && $rootScope.isPortal == \"True\") {\r\n $window.open($rootScope.portalURL + 'controller.cfm?method=publicPortalService.openDocument' + '&documentID=' + question.answer.document_id.toUpperCase() + '&code=' + question.answer.document_code, '_blank');\r\n }\r\n else {\r\n $window.open($rootScope.internalURL + 'controller.cfm?method=publicPortalService.openDocument' + '&documentID=' + question.answer.document_id.toUpperCase() + '&code=' + question.answer.document_code, '_blank');\r\n }\r\n }\r\n }\r\n\r\n if ($rootScope.isPortal && $rootScope.isPortal == \"True\") {\r\n if ($rootScope.enterprise && $rootScope.enterprise.website) {\r\n $scope.portalURL = $rootScope.enterprise.website;\r\n }\r\n else {\r\n $scope.portalURL = $rootScope.portalURL;\r\n }\r\n }\r\n else {\r\n if ($rootScope.enterprise && $rootScope.enterprise.site_location) {\r\n $scope.portalURL = $rootScope.enterprise.site_location;\r\n }\r\n else {\r\n $scope.portalURL = $rootScope.internalURL;\r\n }\r\n }\r\n\r\n\r\n $scope.removeGroup = function (groups, index, group) {\r\n $modal.open({\r\n animation: true,\r\n templateUrl: 'templates/confirm/confirm.html',\r\n controller: 'ConfirmModalController',\r\n resolve: {\r\n message: function () {\r\n var record = \"group\";\r\n var dataset = \"\";\r\n if (groups[index].component_data_set_code && groups[index].component_data_set_code.length > 1) {\r\n if (groups[index].component_data_set_code == \"criminal_history\") {\r\n record = \"criminal history\";\r\n dataset = \"\";\r\n } else {\r\n record = groups[index].component_data_set_code.substring(groups[index].component_data_set_code.indexOf(\"_\") + 1, groups[index].component_data_set_code.length - 1) + \"'s affiliation\";\r\n record = record.replace(\"policie\", \"policy\").replace(\"training_location\", \"location\");\r\n dataset = \" from the \" + groups[index].component_data_set_code.substring(0, groups[index].component_data_set_code.indexOf(\"_\"));\r\n }\r\n }\r\n return \"Are you sure you would like to remove this \" + record + dataset + \"?\";\r\n }\r\n }\r\n }).result.then(function (result) {\r\n if (result) {\r\n if (index == null) {\r\n updateArray(groups, group, true);\r\n }\r\n else {\r\n groups.splice(index, 1);\r\n }\r\n // If we just removed the last record, we want add it back but with blank answers (effectively functioning like clearing out the answers)\r\n if (groups.length == 0) {\r\n $scope.addGroup($scope.component);\r\n }\r\n $scope.initializeAnswers();\r\n }\r\n });\r\n }\r\n\r\n $scope.initGroup = function (group, component, setHeaders) {\r\n group.parameters = angular.copy(component.parameters);\r\n\r\n if (setHeaders) {\r\n group.headers = [];\r\n group.questions.forEach(function (question) {\r\n if (question.show_in_grid && (typeof $scope.globalHeaders == \"undefined\" || typeof $scope.globalHeaders[question.id] != \"undefined\")) {\r\n group.headers.push(question);\r\n }\r\n question.sub_components.forEach(function (subComponent) {\r\n subComponent.groups[0].questions.forEach(function (subQuestion) {\r\n if (subQuestion.show_in_grid && (typeof $scope.globalHeaders == \"undefined\" || typeof $scope.globalHeaders[subQuestion.id] != \"undefined\")) {\r\n group.headers.push(subQuestion);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n $scope.initComponent = function (component) {\r\n if (component.groups != null && component.groups.length == 1 && component.other_file_groups.length > 0) {\r\n component.groups[0].edit = true;\r\n }\r\n\r\n component.headers = [];\r\n $scope.globalHeaders = {};\r\n component.groups[0].questions.forEach(function (question) {\r\n if (question.show_in_grid) {\r\n component.headers.push(question);\r\n $scope.globalHeaders[question.id] = question;\r\n }\r\n if (question.sub_components != null) {\r\n question.sub_components.forEach(function (subComponent) {\r\n subComponent.groups[0].questions.forEach(function (subQuestion) {\r\n if (subQuestion.show_in_grid) {\r\n component.headers.push(subQuestion);\r\n $scope.globalHeaders[subQuestion.id] = subQuestion;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n $scope.$watch('component', function (component) {\r\n $scope.initComponent(component);\r\n component.groups.forEach(function (group) {\r\n $scope.initGroup(group, component, true);\r\n });\r\n });\r\n\r\n $scope.collapsed = function (component) {\r\n return component.allow_multiple_groups && component.groups_until_list != null && component.groups != null && component.groups_until_list <= (component.groups.length + component.other_file_groups.length);\r\n }\r\n\r\n $scope.setEdit = function (group) {\r\n if ($scope.groupForms[group.id] != null) {\r\n group.edit = !$scope.groupForms[group.id].$valid;\r\n }\r\n }\r\n\r\n $scope.closeGroup = function (group) {\r\n // It's really dumb, but we can't actually submit the group's form, because in IE that submits the entire form as well\r\n // But we need the form for validation, so we'll just fake it a bit\r\n var form = $scope.groupForms[group.id];\r\n if (form != null && form.$valid) {\r\n group.edit = false;\r\n group.changed = true;\r\n } else {\r\n $scope.$broadcast(\"form:submit\");\r\n }\r\n }\r\n }],\r\n replace: true,\r\n transclude: true,\r\n templateUrl: 'templates/form-builder-form/form-groups/form-groups.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n scope.groupForms = {};\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).off(); // deregister all event handlers\r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n }\r\n };\r\n }])\r\n;","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpFormQuestion', ['$q', '$rootScope', 'Vehicles', 'Users', 'Trainings', function ($q, $rootScope, Vehicles, Users, Trainings) {\r\n return {\r\n restrict: 'AE',\r\n scope: {\r\n question: '=?',\r\n parameters: '=?',\r\n checkboxOrRadio: '=?',\r\n resultSet: '=?',\r\n deficiencies: '=?',\r\n pdf: '=?',\r\n group: '=?',\r\n datapointAnswers: '=?',\r\n completed: '=?',\r\n saving: '=?',\r\n deficiencyScore: \"=?\",\r\n inspectionChecklist: \"=?\",\r\n defaultGroup: \"=?\",\r\n groups: \"=?\" // for service user affiliations (positions)\r\n },\r\n replace: true,\r\n transclude: true,\r\n templateUrl: 'templates/form-builder-form/form-question/form-question.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n\r\n scope.dynamicDelete = function (question) {\r\n question.answer.value = null;\r\n question.answer.show_value = null;\r\n scope.group.added = true;\r\n scope.answerChanged(question);\r\n }\r\n scope.previousAction = '';\r\n\r\n scope.dynamicDeleteShow = function (question) {\r\n return question.answer.value != null && (question.allow_dynamic_addition || question.allow_dynamic_edit) && (scope.group.added || question.answer.value == nullGuid());\r\n }\r\n\r\n scope.dynamicAdd = function (question) {\r\n question.answer.value = nullGuid();\r\n question.answer.show_value = '[New]';\r\n }\r\n\r\n scope.dynamicAddShow = function (question) {\r\n return question.answer.value == null && question.allow_dynamic_addition;\r\n }\r\n\r\n scope.dynamicDisabled = function (question) {\r\n return (question.answer.value != null && (question.allow_dynamic_addition || question.allow_dynamic_edit));\r\n }\r\n\r\n scope.childServiceDisabled = function (question) {\r\n return (scope.group.component_data_set_code == 'service_relationships' && question.parameters.child_service == true);\r\n }\r\n\r\n scope.actionChanged = function (group, question) {\r\n if ((group.single_group_action == 'undefined' && scope.previousAction != '') || (group.single_group_action == 'a' && scope.previousAction != '' && scope.previousAction != 'a') || (group.single_group_action != 'a' && scope.previousAction == 'a')) {\r\n // The question that's been sent in is the service_user_vehicle_id or service_user_user_id\r\n // We need to clear it and everything under it, as though the user cleared it.\r\n question.answer.value = null;\r\n question.answer.show_value = null;\r\n scope.previousAction = group.single_group_action;\r\n // This clears out everything under the User or Vehicle\r\n // and the service_user/service_vehicle questions\r\n scope.answerChanged(question);\r\n // The question record is cleared, but the inner form text remains.\r\n\r\n }\r\n else {\r\n scope.previousAction = group.single_group_action;\r\n }\r\n }\r\n\r\n scope.setupAddress = function (question) {\r\n question.address = {};\r\n // Get the questions for the address tied to this postal code question \r\n scope.group.questions.forEach(function (q) {\r\n if (q.data_point_address_field != null && q.data_point_address_field != 'postal_code' && q.data_point_address_postal_data_point_id == scope.question.data_point_id) {\r\n question.address[q.data_point_address_field] = q;\r\n }\r\n });\r\n }\r\n\r\n // Custom validation functions for some questions - scope.parameters.service_id != null added to not limit positions in user/service affiliations because it was being done incorrectly [Bug 173688] //\r\n scope.requiredPositions = [];\r\n if (scope.question.data_point_code == 'service_users_position' && scope.parameters.service_id != null) {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n scope.requiredPositions = [];\r\n // if this is the positions question for service users, we need a count of each position on the form, and we need to hide or force positions so as to meet the min/max settings for the positions. \r\n // Build a list of all selected positions as they are \r\n var positionsAnswers = scope.datapointAnswers['service_users_position'];\r\n if (typeof positionsAnswers != 'undefined' && positionsAnswers != null) {\r\n var positionsOnForm = [];\r\n positionsAnswers.forEach(function (positionAnswer) {\r\n if (typeof (positionAnswer.value) == \"string\") {\r\n var values = positionAnswer.value != null ? positionAnswer.value.split(',') : null;\r\n var newValues = [];\r\n values.forEach(function (val) {\r\n newValues.push({ id: val });\r\n });\r\n if (newValues != null && newValues.length > 0) {\r\n positionsOnForm.push.apply(positionsOnForm, newValues);\r\n }\r\n } else {\r\n if (positionAnswer.value != null && positionAnswer.value.length > 0) {\r\n positionsOnForm.push.apply(positionsOnForm, positionAnswer.value);\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (scope.question.options != null) {\r\n // turn comma-separated list into array of objects so we can add hidden flag if need be. \r\n var tempOptions = scope.question.options;\r\n if (Object.prototype.toString.call(scope.question.options) !== '[object Array]') {\r\n var tempOptions = [];\r\n scope.question.options.split(',').forEach(function (option) {\r\n tempOptions.push({ id: option.trim(), name: option.trim() });\r\n });\r\n }\r\n // loop through the position options, and check how many of each there are \r\n tempOptions.forEach(function (position) {\r\n var positionCount = positionsOnForm.filter(function (x) { return x.id == position.id }).length;\r\n if (position.min != null && positionCount < position.min) {\r\n position.hide = false;\r\n scope.requiredPositions.push(position);\r\n }\r\n else if (position.max != null && positionCount >= position.max) {\r\n position.hide = true;\r\n }\r\n else {\r\n position.hide = false;\r\n }\r\n });\r\n scope.question.options = tempOptions;\r\n // minimum check\r\n var comparisonResults = [];\r\n positionsOnForm.forEach(function (positionOnForm) {\r\n var match = scope.requiredPositions.find(function (requiredPosition) {\r\n return requiredPosition.id === positionOnForm;\r\n });\r\n if (match) {\r\n comparisonResults.push({ positionOnForm: positionOnForm, requiredPosition: match });\r\n }\r\n });\r\n\r\n if (scope.requiredPositions.length > 0 && scope.requiredPositions.length != comparisonResults.length) {\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n if (scope.question.answer.data_point_code == 'certification_expiration_date' && scope.question.answer.value == null && scope.question.default_value != null) {\r\n scope.question.answer.value = scope.question.default_value;\r\n }\r\n\r\n if (scope.question.data_point_code == 'user_training_training_id') {\r\n scope.question.retrieveCourseInfo = function (question) {\r\n if (question.answer != null) {\r\n if (question.answer.value != null) {\r\n Trainings.getByID(question.answer.value).then(function (courseInfo) {\r\n question.courseInfo = courseInfo;\r\n if (question.courseInfo.attendee_count == null) { question.courseInfo.attendee_count = 0 }\r\n if (question.courseInfo.attendee_max_count != null) {\r\n question.courseInfo.remainingSpots = Math.max(question.courseInfo.attendee_max_count - question.courseInfo.attendee_count, 0);\r\n }\r\n question.address = \"\";\r\n if (question.courseInfo.locationinfo != null && question.courseInfo.locationinfo.length > 0) {\r\n if (question.courseInfo.locationinfo[0].street1 != null) { question.address = question.address + \", \" + question.courseInfo.locationinfo[0].street1 }\r\n if (question.courseInfo.locationinfo[0].street2 != null) { question.address = question.address + \", \" + question.courseInfo.locationinfo[0].street2 }\r\n if (question.courseInfo.locationinfo[0].municipality != null) { question.address = question.address + \", \" + question.courseInfo.locationinfo[0].municipality }\r\n if (question.courseInfo.locationinfo[0].regioninfo != null && question.courseInfo.locationinfo[0].regioninfo.length > 0 && question.courseInfo.locationinfo[0].regioninfo[0].abbreviation != null) { question.address = question.address + \", \" + question.courseInfo.locationinfo[0].regioninfo[0].abbreviation }\r\n if (question.courseInfo.locationinfo[0].postal_code != null) { question.address = question.address + \", \" + question.courseInfo.locationinfo[0].postal_code }\r\n }\r\n question.address = question.address.substring(1);\r\n });\r\n }\r\n }\r\n }\r\n scope.question.retrieveCourseInfo(scope.question);\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n if (scope.question.answer.value != null) {\r\n Trainings.checkPrerequisites(scope.question.answer.value, $rootScope.userID).then(function (failedPrerequisites) {\r\n if (failedPrerequisites == true) {\r\n scope.question.validation.customFunctionMessage = \"You do not meet the course prerequisite requirements.\";\r\n d.resolve(false);\r\n } else {\r\n if (scope.question.courseInfo.attendee_max_count != null && scope.question.courseInfo.attendee_count != null && scope.question.courseInfo.attendee_count >= scope.question.courseInfo.attendee_max_count) {\r\n scope.question.validation.customFunctionMessage = \"This course has reached its maximum capacity.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n });\r\n }\r\n else { d.resolve(true); }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n if (scope.question.data_point_code == 'vehicle_certification_number') {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n var permitNumber = scope.question.answer ? scope.question.answer.value : \"\";\r\n var vehicleID = scope.group.vehicle_id || scope.group.record_id || null;\r\n if (permitNumber !== undefined && permitNumber != null && permitNumber != \"\") {\r\n // See if this is a duplicate permit number \r\n Vehicles.getCertificationByNumber(permitNumber, vehicleID).then(function (result) {\r\n if (result.length > 0) {\r\n scope.question.validation.customFunctionMessage = \"There is already a vehicle with this permit number.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n // check vehicles we just added \r\n var permitNumberCount = scope.datapointAnswers.vehicle_certification_number.filter(function (vcn) {\r\n return (vcn.value == permitNumber && vcn.has_content == true);\r\n }).length;\r\n\r\n // more than 1 from above reduce means there are duplicate certification numbers added in the form, throw validation error \r\n if (permitNumberCount > 1) {\r\n scope.question.validation.customFunctionMessage = \"You may not add two vehicles with the same permit number: \" + permitNumber;\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n });\r\n }\r\n else { d.resolve(true); }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n if (scope.question.data_point_code == 'vehicle_serial_number') {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n var serialNumber = scope.question.answer ? scope.question.answer.value : \"\";\r\n var vehicleID = scope.group.vehicle_id || scope.group.record_id || null;\r\n if (serialNumber !== undefined && serialNumber != null && serialNumber != \"\") {\r\n // See if this is a duplicate permit number \r\n Vehicles.getVehicleBySerialNumber(serialNumber, vehicleID).then(function (result) {\r\n if (result.length > 0) {\r\n scope.question.validation.customFunctionMessage = \"There is already a vehicle with this serial number.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n // check vehicles we just added \r\n var serialNumberCount = scope.datapointAnswers.vehicle_serial_number.filter(function (vsn) {\r\n return (vsn.value == serialNumber && vsn.has_content == true);\r\n }).length;\r\n\r\n // more than 1 from above reduce means there are duplicate serial numbers added in the form, throw validation error \r\n if (serialNumberCount > 1) {\r\n scope.question.validation.customFunctionMessage = \"You may not add two vehicles with the same serial number: \" + serialNumber;\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n });\r\n }\r\n else { d.resolve(true); }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n if (scope.question.data_point_code == 'user_email') {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n var email = scope.question.answer ? scope.question.answer.value : \"\";\r\n var userID = scope.group.user_id || scope.group.record_id || null;\r\n if (email !== undefined && email != null && email != \"\") {\r\n // See if this is a duplicate email \r\n Users.getUserbyEmail(email, userID).then(function (result) {\r\n if (result.length > 0) {\r\n scope.question.validation.customFunctionMessage = \"There is already a user with this email.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n // a form with data point 'user_email' belongs to a single user, so do not throw validation error if same email is present more than once in the form\r\n d.resolve(true);\r\n }\r\n });\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n if (scope.question.data_point_code == 'calendar_year') {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n scope.$evalAsync(function () {\r\n var year = scope.question.answer ? scope.question.answer.value : \"\";\r\n\r\n if (year !== undefined && year != null && year != \"\") {\r\n // Make sure there are no duplicate years\r\n var yearCount = scope.datapointAnswers.calendar_year.filter(function (vsn) {\r\n return (vsn.value == year && vsn.has_content == true);\r\n }).length;\r\n // more than 1 from above reduce means there are duplicate years added in the form, throw validation error\r\n if (yearCount > 1) {\r\n scope.question.validation.customFunctionMessage = \"You may not add two statistics with the same year: \" + year;\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n\r\n if (scope.question.data_point_code == 'service_users_personnel_id') {\r\n if (scope.question.validation == null) {\r\n scope.question.validation = {};\r\n }\r\n scope.question.validation.function = function () {\r\n var d = $q.defer();\r\n\r\n scope.$evalAsync(function () {\r\n var personnelID = scope.question.answer ? scope.question.answer.value : \"\";\r\n var serviceID = scope.group.service_id || scope.parameters.service_id || null;\r\n var userID = scope.group.user_id || scope.parameters.user_id || null;\r\n for (var i = 0; i < scope.group.questions.length; i++) {\r\n if (scope.group.questions[i].data_point_code == 'service_users_user_id' && scope.group.questions[i].answer.value !== null) {\r\n userID = scope.group.questions[i].answer.value; //user on form\r\n }\r\n }\r\n if (personnelID !== undefined && personnelID != null && personnelID != \"\" && serviceID !== undefined && serviceID != null) {\r\n // See if this is a duplicate personnelID in the service\r\n Users.getUserByServicePersonnelID(personnelID, serviceID).then(function (result) {\r\n if (result.length > 0) {\r\n var coreRosterUser = result[0].user_id;\r\n if (userID !== coreRosterUser) {\r\n scope.question.validation.customFunctionMessage = \"The Personnel ID entered is already taken by a user in this Service.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n else {\r\n // check PersonnelID we just added\r\n var userCount = scope.datapointAnswers.service_users_personnel_id.filter(function (sup) {\r\n return (sup.value == personnelID && sup.has_content == true);\r\n }).length;\r\n if (userCount > 1) {\r\n scope.question.validation.customFunctionMessage = \"The Personnel ID entered is already taken by a user in this Service.\";\r\n d.resolve(false);\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n });\r\n return d.promise;\r\n }\r\n }\r\n // End custom validation functions //\r\n\r\n scope.$on('$destroy', function () {\r\n if (elem) {\r\n angular.element(elem).off(); // deregister all event handlers \r\n angular.element(elem).remove();\r\n elem = null;\r\n }\r\n });\r\n },\r\n controller: ['$scope', '$modal', 'FBResponses', 'ServiceAreaCities', 'ServiceAreaCounties', 'ServiceAreaPostalCodes', 'ServiceAreaCensusTracts', 'Format', '$filter', '$injector', '$q', '$rootScope', 'IPComment', 'Positions', function ($scope, $modal, FBResponses, ServiceAreaCities, ServiceAreaCounties, ServiceAreaPostalCodes, ServiceAreaCensusTracts, Format, $filter, $injector, $q, $rootScope, IPComment, Positions) {\r\n $scope.isPortal = $rootScope.isPortal.toLowerCase() === 'true';\r\n $scope.showReviewComment = false;\r\n $scope.showDynamicComment = false;\r\n $scope.currComment = \"\";\r\n if ($scope.question.question_type.code === 'number' && $scope.question.answer.value && typeof ($scope.question.question_type.code) !== 'number') { $scope.question.answer.value = Number($scope.question.answer.value); }\r\n\r\n // Get comments for Inspection Checklist\r\n if ($scope.inspectionChecklist != null && $scope.inspectionChecklist.administrative_review === true && $scope.question.id != null && $scope.inspectionChecklist.inspectionID != null && $scope.inspectionChecklist.comments === undefined) {\r\n IPComment.getAdministrativeCommentsByQuestionId($scope.question.id, $scope.inspectionChecklist.inspectionID).then(function (comments) {\r\n $scope.comments = comments;\r\n // Update createdon & createdby to work with hlp-edit-history\r\n for (var i = 0; i < $scope.comments.length; i++) {\r\n $scope.comments[i].createdon = $scope.comments[i].createdOn;\r\n $scope.comments[i].createdby = $scope.comments[i].fullName;\r\n }\r\n });\r\n // Comments are passed in, assign correct comments to this question (generatePDF)\r\n } else if ($scope.inspectionChecklist != null && $scope.inspectionChecklist.comments !== undefined) {\r\n const questionId = $scope.question.id;\r\n $scope.comments = [];\r\n\r\n for (var i = 0; i < $scope.inspectionChecklist.comments.records.length; i++) {\r\n if (questionId === $scope.inspectionChecklist.comments.records[i].fbQuestionId) {\r\n $scope.comments.push($scope.inspectionChecklist.comments.records[i]);\r\n }\r\n }\r\n }\r\n\r\n $scope.setAutoCompleteByDisabled = function (isDisabled) {\r\n if (isDisabled) {\r\n /* This set autoComplete to a dummy string \"auto-complete-off\", so it doesn't mapping\r\n the field to any of auto-complete field saved in the browser. This effectively turn\r\n off the auto-fill from browser feature. We do this because html attribute\r\n autocomplete=\"off\" isn't work as expected.\r\n */\r\n return \"auto-complete-off\"\r\n }\r\n }\r\n\r\n // Open Review comment box\r\n $scope.toggleReviewComment = function () {\r\n $scope.showReviewComment = !$scope.showReviewComment;\r\n };\r\n\r\n // Open original comment box\r\n $scope.toggleDynamicComment = function () {\r\n $scope.showDynamicComment = !$scope.showDynamicComment;\r\n };\r\n $scope.enableAdminComments = function () {\r\n if ($scope.inspectionChecklist != null && $scope.inspectionChecklist.administrative_review == 1 && !$scope.isPortal && $scope.inspectionChecklist.inspectionID != null) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n $scope.saveReviewComment = function () {\r\n var comment = $scope.currComment;\r\n\r\n if (comment) {\r\n IPComment.saveAdministrativeComment(comment, $scope.question.id, $scope.inspectionChecklist.inspectionID).then(function (response) {\r\n $scope.currComment = ''; // reset comment box\r\n\r\n // After saving comment, update the deficency for comments\r\n IPComment.getAdministrativeCommentsByQuestionId($scope.question.id, $scope.inspectionChecklist.inspectionID).then(function (comments) {\r\n $scope.comments = comments;\r\n });\r\n });\r\n }\r\n };\r\n\r\n $scope.resolveComment = function (id, comment) {\r\n IPComment.resolveAdministrativeComment(id, comment).then(function (resolve) {\r\n // After resolving comment, update the deficency for comments\r\n IPComment.getAdministrativeCommentsByQuestionId($scope.question.id, $scope.inspectionChecklist.inspectionID).then(function (comments) {\r\n $scope.comments = comments;\r\n });\r\n });\r\n comment.resolved = true;\r\n };\r\n\r\n $scope.toggleShowOnPdf = function (id, comment) {\r\n IPComment.toggleShowOnPdf(id, comment).then(function (response) {\r\n\r\n });\r\n };\r\n\r\n // for images \r\n $scope.openImageModal = function (question) {\r\n $modal.open({\r\n animation: true,\r\n templateUrl: 'templates/photo-upload/photo-upload.html',\r\n controller: 'PhotoUploadModalController',\r\n resolve: {\r\n file_content: function () {\r\n return question.answer.file_content;\r\n }\r\n }\r\n }).result.then(function (upload) {\r\n if (upload != null) {\r\n question.answer.file_content = upload.file_content;\r\n question.answer.file_name = upload.file_name;\r\n question.answer.file_updated = true;\r\n }\r\n });\r\n }\r\n\r\n $scope.showServiceRosterList = function (question) {\r\n\r\n if ((question.data_point_code == 'service_users_user_id' || question.data_point_code == 'service_vehicles_vehicle_id') && $scope.group.component_allow_multiple_groups != \"undefined\" && $scope.group.component_allow_multiple_groups != null && $scope.group.component_allow_multiple_groups == false) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n $scope.applicationTypeExists = function (question) {\r\n var exists = false;\r\n\r\n if (question.data_point_code == 'certification_levels') {\r\n $scope.group.questions.forEach(function (q) {\r\n if (q.question_type.code == 'application_type') {\r\n exists = true;\r\n }\r\n })\r\n }\r\n\r\n return exists;\r\n }\r\n\r\n $scope.clearQuestion = function (question) {\r\n question.answer.value = null;\r\n question.answer.show_value = null;\r\n if (question.options != null) {\r\n for (var i = 0; i < question.options.length; i++) {\r\n if (question.options[i].checked != null) {\r\n question.options[i].checked = false;\r\n }\r\n };\r\n }\r\n }\r\n\r\n $scope.numberCheck = function (keyEvent) {\r\n if (isNaN(keyEvent.key) || keyEvent.key === ' ' || keyEvent.key === '') {\r\n keyEvent.returnValue = '';\r\n }\r\n }\r\n\r\n $scope.stateChanged = function (question) {\r\n\r\n var stateCode = question.answer.value;\r\n var newState = 0;\r\n\r\n if (stateCode != null) {\r\n if ($scope.group.stateCode != undefined && $scope.group.stateCode != null && $scope.group.stateCode != stateCode) {\r\n newState = 1;\r\n }\r\n $scope.group.stateCode = stateCode;\r\n\r\n $scope.group.questions.forEach(function (datasetquestion) {\r\n //If this is a state CHANGE then we'll reinitialize the questions below the state\r\n if (newState == 1 && (datasetquestion.data_point_code == 'service_area_cities'\r\n || datasetquestion.data_point_code == 'service_area_counties'\r\n || datasetquestion.data_point_code == 'service_area_postal_codes'\r\n || datasetquestion.data_point_code == 'service_area_censustracts')) {\r\n\r\n $scope.clearQuestion(datasetquestion);\r\n\r\n if (datasetquestion.data_point_code == 'service_area_cities') {\r\n ServiceAreaCities.getByStateCode(stateCode).then(function (data) {\r\n datasetquestion.dirOptions = data;\r\n datasetquestion.options = data;\r\n $scope.initQuestion(datasetquestion);\r\n });\r\n }\r\n if (datasetquestion.data_point_code == 'service_area_counties') {\r\n ServiceAreaCounties.getByStateCode(stateCode).then(function (data) {\r\n datasetquestion.dirOptions = data;\r\n datasetquestion.options = data;\r\n $scope.initQuestion(datasetquestion);\r\n });\r\n }\r\n if (datasetquestion.data_point_code == 'service_area_postal_codes') {\r\n ServiceAreaPostalCodes.getByStateCode(stateCode).then(function (data) {\r\n datasetquestion.dirOptions = data;\r\n datasetquestion.options = data;\r\n $scope.initQuestion(datasetquestion);\r\n });\r\n }\r\n if (datasetquestion.data_point_code == 'service_area_censustracts') {\r\n ServiceAreaCensusTracts.getByStateCode(stateCode).then(function (data) {\r\n datasetquestion.dirOptions = data;\r\n datasetquestion.options = data;\r\n $scope.initQuestion(datasetquestion);\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n }\r\n\r\n $scope.answerChanged = function (question) {\r\n //The question here has subcomponent questions that already hold the previous vehicle/user answers and they're not clearing out consistently\r\n //within the populateSubComponent function if the new one doesn't have a value. I've tried everything I can think of and it's not working\r\n //Since we know the value has changed, or it wouldn't have gotten in here, let's clear all the answers up front\r\n if ((question.data_point_code == 'service_users_user_id' || question.data_point_code == 'service_vehicles_vehicle_id') && $scope.group.component_allow_multiple_groups == false) {\r\n if (question.sub_components != null && question.sub_components.length > 0) {\r\n question.sub_components[0].groups[0].questions.forEach(function (subQuestion) {\r\n if (subQuestion != null && subQuestion.answer != null) {\r\n subQuestion.answer.value = null;\r\n subQuestion.answer.show_value = null;\r\n }\r\n });\r\n }\r\n }\r\n\r\n $scope.populateSubComponent(question).then(function () {\r\n if (question.data_point_foreign_data_set_code != null && question.sub_components != null && question.sub_components.length > 0 && question.sub_components[0] != null && question.sub_components[0].groups != null &&\r\n question.sub_components[0].groups.length > 0 && question.sub_components[0].groups[0] != null && question.sub_components[0].groups[0].questions != null) {\r\n question.sub_components[0].groups[0].questions.forEach(function (q) {\r\n if (q != null) {\r\n q.refreshValidation = true;\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (question.data_point_code == 'user_training_training_id') {\r\n question.retrieveCourseInfo(question);\r\n }\r\n\r\n if ((question.data_point_code == 'service_users_user_id' || question.data_point_code == 'service_vehicles_vehicle_id') && $scope.group.component_allow_multiple_groups == false) {\r\n var d = $q.defer();\r\n\r\n //clear out the previous answers\r\n $scope.group.questions.forEach(function (datasetquestion) {\r\n //If this is the user or the vehicle question, don't clear the answer value\r\n if (datasetquestion.name != 'User' && datasetquestion.name != 'Vehicle') {\r\n $scope.clearQuestion(datasetquestion);\r\n }\r\n });\r\n\r\n // This will update the service user/service vehicle fields. The user/vehicle fields were already being filled in by the sub_component update above.\r\n FBResponses.populateGroup($scope.group.component_data_set_code, question.answer.value, $scope.parameters.service_id, !$scope.group.component_allow_multiple_groups).then(function (data) {\r\n if (data != null) {\r\n $scope.group.questions.forEach(function (datasetquestion) {\r\n // don't bother if it's the service_users_user_id question or the service_vehicles_vehicle_id question, because that one's already populated.\r\n if (datasetquestion.data_point_code != question.data_point_code && datasetquestion != null && datasetquestion.answer != null) {\r\n if (data[datasetquestion.data_point_code] instanceof Date) {\r\n datasetquestion.answer.value = Format.convertDateToUTC(data[datasetquestion.data_point_code]);\r\n }\r\n else {\r\n if (datasetquestion.data_point_code === \"service_users_position\") {\r\n datasetquestion.answer.value = (data[datasetquestion.data_point_code]) ? data[datasetquestion.data_point_code].split(',') : null;\r\n $scope.group.questions[$scope.group.hasPositions].original_value = angular.copy(datasetquestion.answer.value);\r\n } else {\r\n datasetquestion.answer.value = data[datasetquestion.data_point_code];\r\n }\r\n }\r\n if (data[datasetquestion.data_point_code] == null) {\r\n datasetquestion.answer.value = null;\r\n datasetquestion.answer.show_value = null;\r\n $scope.clearQuestion(datasetquestion);\r\n\r\n }\r\n }\r\n });\r\n }\r\n d.resolve(true);\r\n });\r\n }\r\n }\r\n\r\n $scope.populateSubComponent = function (question) {\r\n var d = $q.defer();\r\n if (question.data_point_foreign_data_set_code != null && question.sub_components != null && question.sub_components.length > 0 && question.sub_components[0] != null && question.sub_components[0].groups != null &&\r\n question.sub_components[0].groups.length > 0 && question.sub_components[0].groups[0] != null && question.sub_components[0].groups[0].questions != null) {\r\n\r\n if (question.answer.value == null) {\r\n question.sub_components[0].groups[0].questions.forEach(function (question) {\r\n if (question != null && question.answer != null) {\r\n question.answer.value = null;\r\n }\r\n });\r\n d.resolve(true);\r\n }\r\n else {\r\n question.sub_components[0].loading = true;\r\n question.sub_components[0].groups[0].record_id = question.answer.value;\r\n FBResponses.populateGroup(question.data_point_foreign_data_set_code, question.answer.value, $scope.parameters.service_id, false).then(function (data) {\r\n if (data != null) {\r\n question.sub_components[0].groups[0].questions.forEach(function (question) {\r\n if (question != null && question.answer != null && data[question.data_point_code] != null) {\r\n if (data[question.data_point_code] instanceof Date) {\r\n question.answer.value = Format.convertDateToUTC(data[question.data_point_code]);\r\n }\r\n else {\r\n question.answer.value = data[question.data_point_code];\r\n if (data[question.data_point_code] == null) {\r\n question.answer.value = null;\r\n question.answer.show_value = null;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n question.sub_components[0].loading = false;\r\n d.resolve(true);\r\n });\r\n }\r\n }\r\n else {\r\n d.resolve(true);\r\n }\r\n return d.promise;\r\n }\r\n\r\n $scope.filterOptions = function () {\r\n var promises = [];\r\n var opts = $scope.question.originalOptions;\r\n $scope.question.filters.forEach(function (filter) {\r\n if (filter != null && filter.value != null || filter.data_point_code == \"service_users_classification\" || filter.data_point_code == \"service_users_county\") {\r\n if ($scope.question.data_point_code == \"service_users_certification_level\") {\r\n if ($scope.question.custom_filter) {\r\n var service = $injector.get($scope.question.service);\r\n var params = angular.copy($scope.question.parameters);\r\n params.filter = true;\r\n params.service_id = filter.value;\r\n promises.push(service[$scope.question.method](params).then(function (data) {\r\n if (data != null) {\r\n opts = data;\r\n }\r\n }));\r\n }\r\n }\r\n else {\r\n switch (filter.data_point_code) {\r\n case 'service_users_classification':\r\n opts = $filter('classification')(opts, filter.value, 'classification');\r\n break;\r\n case 'service_users_county':\r\n // Only done for County Filter for Maryland's SOW\r\n opts = $filter('county')(opts, filter.value, 'county');\r\n var newOpts = [];\r\n opts.forEach(function (opt) {\r\n if (opt.children !== undefined) {\r\n var childAdded = false;\r\n opt.children.forEach(function (child) {\r\n if (!child.disable) {\r\n // Add parent on first child added\r\n if (!childAdded) newOpts.push(opt);\r\n newOpts.push(child);\r\n childAdded = true;\r\n }\r\n });\r\n // No Children, add service though\r\n if (!opt.disable && !childAdded) newOpts.push(opt);\r\n }\r\n });\r\n opts = newOpts;\r\n break;\r\n default:\r\n opts = $filter('filter')(opts, filter.value);\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n\r\n $q.all(promises).then(function () {\r\n $scope.question.options = opts;\r\n }).catch(function (response) {\r\n // handle error\r\n });;\r\n }\r\n\r\n $scope.initQuestion = function (question) {\r\n\r\n // Initialize deficiency score\r\n if (question.deficiency.score != 'undefined' && typeof question.deficiency.score == 'number') {\r\n if (question.answer.fail != null) {\r\n if (question.answer.fail == 0) {\r\n $scope.deficiencyScore.score += question.deficiency.score;\r\n }\r\n }\r\n }\r\n\r\n if ($scope.group.parameters != null) {\r\n question.parameters = angular.copy($scope.group.parameters);\r\n } else {\r\n question.parameters = angular.copy($scope.parameters);\r\n }\r\n\r\n if (question.data_point_code != null && question.data_point_code != '') {\r\n question.filters = [];\r\n $scope.group.questions.forEach(function (q) {\r\n if (question.data_point_code == q.filter_data_point_code) {\r\n question.filters.push(q.answer);\r\n }\r\n })\r\n\r\n if (question.filters.length > 0) {\r\n $scope.$watch('question.filters', function () {\r\n if ($scope.question.originalOptions != null) {\r\n $scope.filterOptions();\r\n }\r\n }, true)\r\n\r\n if (question.options == null) {\r\n $scope.$watch('question.options', function () {\r\n if ($scope.question.options != null && $scope.question.originalOptions == null) {\r\n $scope.question.originalOptions = $scope.question.options;\r\n $scope.filterOptions();\r\n }\r\n }, true)\r\n }\r\n else {\r\n question.originalOptions = question.options;\r\n }\r\n }\r\n\r\n //Avoid browser autofill\r\n if (question.data_point_code == 'service_name') {\r\n question.name = 'serviceName';\r\n }\r\n else if (question.data_point_code == 'service_owner_name') {\r\n question.name = 'serviceOwnerName';\r\n }\r\n\r\n if (question.data_point_code == 'user_training_training_id' && question.answer != null && question.answer.value != null && isValidGuid(question.answer.value)) {\r\n question.parameters.current_training_id = question.answer.value;\r\n }\r\n\r\n if (question.data_point_code == 'service_vehicles_vehicle_id' && question.vehicle_restrict_services == true) {\r\n $scope.group.parameters.vehicle_restrict_services = true;\r\n }\r\n\r\n if (question.data_point_code == 'service_area_states' && question.answer != \"undefined\" && question.answer != null && question.answer.value != null) {\r\n $scope.stateChanged(question);\r\n }\r\n\r\n if ((question.data_point_code == 'service_users_user_id' || question.data_point_code == 'service_vehicles_vehicle_id') && $scope.group.component_allow_multiple_groups != \"undefined\" && $scope.group.component_allow_multiple_groups != null && $scope.group.component_allow_multiple_groups == false) {\r\n\r\n $scope.actionOptions = [];\r\n\r\n if ($scope.group.component_group_add == true) {\r\n $scope.actionOptions = [{ id: 'a', name: 'Add record to the service' }];\r\n if ($scope.group.component_group_update == true) {\r\n $scope.actionOptions = [\r\n { id: 'a', name: 'Add record to the service' },\r\n { id: 'u', name: 'Update record in the service' }];\r\n if ($scope.group.component_group_remove == true) {\r\n $scope.actionOptions = [\r\n { id: 'a', name: 'Add record to the service' },\r\n { id: 'u', name: 'Update record in the service' },\r\n { id: 'r', name: 'Remove record from the service' }];\r\n }\r\n }\r\n else if ($scope.group.component_group_remove == true) {\r\n $scope.actionOptions = [\r\n { id: 'a', name: 'Add record to the service' },\r\n { id: 'r', name: 'Remove record from the service' }];\r\n }\r\n }\r\n else {\r\n if ($scope.group.component_group_update == true) {\r\n $scope.actionOptions = [{ id: 'u', name: 'Update record in the service' }];\r\n if ($scope.group.component_group_remove == true) {\r\n $scope.actionOptions = [\r\n { id: 'u', name: 'Update record in the service' },\r\n { id: 'r', name: 'Remove record from the service' }];\r\n }\r\n }\r\n else if ($scope.group.component_group_remove == true) {\r\n $scope.actionOptions = [{ id: 'r', name: 'Remove record from the service' }];\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n // Used on continue & save so it doesn't error, would read value as a string.\r\n // service_financials number fields (fiscal year, total revenue, total income, other income)\r\n const financialNumberIds = [\"b50c8157-489f-4a2b-bf76-3023e2c39710\", \"ef1a6290-8cf9-42cf-9863-ed2802d836fe\", \"227be11c-1f70-4194-9d6a-000507882729\", \"3317f3bd-f560-4c02-836d-c03e9cb6ceae\"];\r\n $scope.$watch('question.answer', function (newValue, oldValue) {\r\n if (financialNumberIds.includes(newValue.data_point_id) && newValue.value !== oldValue.value) {\r\n $scope.question.answer.value = parseFloat(newValue.value);\r\n }\r\n });\r\n\r\n // for deficiency \r\n $scope.parentDeficiencies = 0;\r\n $scope.counter = function (deficiency) {\r\n deficiency.list_count = ++$scope.count;\r\n }\r\n\r\n if ($scope.group.questions !== undefined && $scope.group.questions.length > 0) {\r\n var iter = 0;\r\n $scope.group.questions.forEach(function (q) {\r\n if (q.data_point_id === '3c9ae5ea-c8d6-4656-80d9-1b2242b0cbe2') { // service_users_service id\r\n $scope.group.hasService = iter;\r\n }\r\n if (q.data_point_id === 'ba99ae16-280a-4fe5-9dd1-755e03733ded') { // service_users_position id\r\n $scope.group.hasPositions = iter;\r\n $scope.group.questions[iter].original_value = \"\";\r\n }\r\n if (q.data_point_id === '36efca21-228e-4e15-b085-8f1a74df7c21') { // service_users_user_id id\r\n $scope.group.hasUser = iter;\r\n }\r\n iter++;\r\n });\r\n }\r\n // 81739: add watch if (provider data set \"service affiliation\") service & position are on form, connected by group (data set).\r\n if (($scope.group.hasService !== undefined || $scope.group.hasUser !== undefined) && $scope.group.hasPositions) {\r\n\r\n // Ensures we keep selected values and (preloaded) original values togglable when position is full\r\n if (($scope.group.questions[$scope.group.hasPositions].answer.value || $scope.group.position_original_value !== undefined) && ($scope.group.questions[$scope.group.hasPositions].original_value.length === 0)) {\r\n $scope.group.questions[$scope.group.hasPositions].original_value = ($scope.group.position_original_value !== undefined) ? $scope.group.position_original_value : $scope.group.questions[$scope.group.hasPositions].answer.value;\r\n if ($scope.group.position_original_value === undefined) $scope.group.position_original_value = $scope.group.questions[$scope.group.hasPositions].original_value;\r\n }\r\n\r\n $scope.$watch('question.answer.value', function (newValue, oldValue) {\r\n // Service switched, reset position values\r\n if ($scope.question === $scope.group.questions[$scope.group.hasService] && newValue != oldValue) {\r\n $scope.group.questions[$scope.group.hasPositions].answer.value = null;\r\n $scope.group.questions[$scope.group.hasPositions].answer.show_value = null;\r\n }\r\n\r\n // Switching user will reset original_value\r\n if (newValue === null) { $scope.group.questions[$scope.group.hasPositions].original_value = null; }\r\n\r\n // When new answer added, add only ID instead of whole object\r\n if (newValue && newValue !== oldValue && newValue.length - 1 >= 0 && typeof (newValue[newValue.length - 1]) !== 'string') {\r\n if (typeof ($scope.group.questions[$scope.group.hasPositions].answer.value) === 'string') {\r\n $scope.group.questions[$scope.group.hasPositions].answer.value += (',' + newValue[newValue.length - 1].id);\r\n }\r\n else {\r\n newValue[newValue.length - 1] = newValue[newValue.length - 1].id;\r\n }\r\n }\r\n\r\n var service_id = '';\r\n if (newValue !== null && newValue !== undefined) {\r\n if ($scope.group.hasService !== undefined && $scope.group.questions[$scope.group.hasService].answer.value === newValue) {\r\n service_id = newValue;\r\n } else if ($scope.group.hasUser !== undefined && $scope.group.questions[$scope.group.hasUser].answer.value === newValue) {\r\n service_id = $scope.parameters.service_id;\r\n }\r\n\r\n if (service_id !== '') {\r\n Positions.getServiceDesignation({ service_id: service_id, limit_position_ids: $scope.group.parameters.limit_position_ids }).then(function (positions) {\r\n $scope.group.questions[$scope.group.hasPositions].options = positions;\r\n });\r\n }\r\n }\r\n }, true);\r\n }\r\n\r\n $scope.resultClick = function (question) {\r\n\r\n var questionDefScore = null;\r\n if (question.deficiency.score != 'undefined' && typeof question.deficiency.score == 'number') {\r\n questionDefScore = question.deficiency.score;\r\n }\r\n\r\n var result = question.answer.newResult;\r\n question.answer.show_comments = result.show_comments;\r\n if (result.id != question.answer.result_set_id) {\r\n if (result.fail == 1) {\r\n if (question.answer.fail != null) {\r\n if (question.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n }\r\n else if (question.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n if (questionDefScore != null) {\r\n $scope.deficiencyScore.score -= questionDefScore;\r\n }\r\n }\r\n else if (question.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n }\r\n }\r\n\r\n $scope.deficiencies.fail++;\r\n\r\n if (question.sub_components != null && question.sub_components.length > 0) {\r\n question.sub_components.forEach(function (subComponent) {\r\n if (subComponent.groups != null && subComponent.groups.length > 0) {\r\n subComponent.groups.forEach(function (subGroup) {\r\n if (subGroup.questions != null && subGroup.questions.length > 0) {\r\n subGroup.questions.forEach(function (subQuestion) {\r\n if (subQuestion.question_type.code == 'deficiency') {\r\n if (subQuestion.answer.fail != null) {\r\n if (subQuestion.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n } else if (subQuestion.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n } else if (subQuestion.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n }\r\n }\r\n\r\n subQuestion.answer.fail = null;\r\n subQuestion.answer.result_set_id = null;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n question.answer.fail = 1;\r\n }\r\n else if (result.fail == 0) {\r\n if (question.answer.fail != null) {\r\n if (question.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n }\r\n else if (question.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n }\r\n else if (question.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n\r\n }\r\n }\r\n\r\n if (questionDefScore != null && question.answer.fail != 0) {\r\n $scope.deficiencyScore.score += questionDefScore;\r\n }\r\n $scope.deficiencies.pass++;\r\n\r\n if (question.sub_components != null && question.sub_components.length > 0) {\r\n question.sub_components.forEach(function (subComponent) {\r\n if (subComponent.groups != null && subComponent.groups.length > 0) {\r\n subComponent.groups.forEach(function (subGroup) {\r\n if (subGroup.questions != null && subGroup.questions.length > 0) {\r\n subGroup.questions.forEach(function (subQuestion) {\r\n if (subQuestion.question_type.code == 'deficiency') {\r\n if (subQuestion.answer.fail != null) {\r\n if (subQuestion.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n } else if (subQuestion.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n } else if (subQuestion.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n }\r\n }\r\n\r\n $scope.deficiencies.pass++;\r\n subQuestion.answer.fail = 0;\r\n subQuestion.answer.result_set_id = result.id;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n question.answer.fail = 0;\r\n }\r\n else if (result.fail == 2) {\r\n\r\n if (question.answer.fail != null) {\r\n if (question.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n }\r\n else if (question.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n if (questionDefScore != null) {\r\n $scope.deficiencyScore.score -= questionDefScore;\r\n }\r\n }\r\n else if (question.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n }\r\n }\r\n\r\n $scope.deficiencies.ignore++;\r\n\r\n if (question.sub_components != null && question.sub_components.length > 0) {\r\n question.sub_components.forEach(function (subComponent) {\r\n if (subComponent.groups != null && subComponent.groups.length > 0) {\r\n subComponent.groups.forEach(function (subGroup) {\r\n if (subGroup.questions != null && subGroup.questions.length > 0) {\r\n subGroup.questions.forEach(function (subQuestion) {\r\n if (subQuestion.question_type.code == 'deficiency') {\r\n if (subQuestion.answer.fail != null) {\r\n if (subQuestion.answer.fail == 1) {\r\n $scope.deficiencies.fail--;\r\n } else if (subQuestion.answer.fail == 0) {\r\n $scope.deficiencies.pass--;\r\n } else if (subQuestion.answer.fail == 2) {\r\n $scope.deficiencies.ignore--;\r\n }\r\n }\r\n\r\n $scope.deficiencies.ignore++;\r\n subQuestion.answer.fail = 2;\r\n subQuestion.answer.result_set_id = result.id;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n question.answer.fail = 2;\r\n }\r\n }\r\n\r\n question.answer.result_set_id = result.id;\r\n }\r\n }]\r\n };\r\n }])\r\n ;","\"use strict\";\r\n\r\nangular.module(\"imagetrend.components\").directive(\"hlpFormSkill\", [\r\n function() {\r\n return {\r\n restrict: \"AE\",\r\n scope: {\r\n component: \"=?\"\r\n },\r\n controller: [\r\n \"$scope\",\r\n \"EXSkill\",\r\n \"$sce\",\r\n function ($scope, EXSkill, $sce) {\r\n $scope.skillsloading = true;\r\n $scope.selectedskills = [];\r\n $scope.skills = [];\r\n\r\n $scope.trust = function (htmlText) {\r\n //removing first pair oftags to keep description on first line of skill\r\n htmlText = (htmlText !== null) ? htmlText.replace('
', '').replace('
', '') : '';\r\n return $sce.trustAsHtml(htmlText);\r\n }\r\n\r\n if ($scope.skills.length == 0) {\r\n $scope.skillsloading = true;\r\n EXSkill.get().then(function(Skills) {\r\n for (var x in Skills) {\r\n for (var y in Skills[x].options) {\r\n Skills[x].total_points +=\r\n Skills[x].options[y].points;\r\n }\r\n \r\n if (Skills[x].max_points != null && Skills[x].max_points > 0)\r\n if (Skills[x].max_points < Skills[x].total_points)\r\n Skills[x].total_points = Skills[x].max_points;\r\n }\r\n $scope.skills = angular.copy(Skills);\r\n $scope.setSelectedValues();\r\n });\r\n }\r\n\r\n $scope.setSelectedValues = function() {\r\n $scope.selectedskills = [];\r\n $scope.component.skill_question_ids\r\n .split(\",\")\r\n .forEach(function(skillid) {\r\n $scope.skills.forEach(function (skill) {\r\n if (skill.id == skillid.trim()) {\r\n skill.options.forEach(function (option) {\r\n if ($scope.component.skill_default == \"1\") {\r\n option.passed = 1;\r\n }\r\n if ($scope.component.skill_default == \"2\") {\r\n option.passed = 2;\r\n }\r\n })\r\n $scope.selectedskills.push(skill);\r\n }\r\n });\r\n });\r\n $scope.tallyScores();\r\n $scope.skillsloading = false;\r\n };\r\n\r\n $scope.determineClasses = function(isEven) {\r\n var classes = \"selectedSkill row no-margin\";\r\n if (isEven) classes += \" even\";\r\n\r\n return classes;\r\n };\r\n\r\n $scope.getPassButtonClass = function (option) {\r\n var classes = \"btn btn-group ng-pristine ng-untouched ng-valid ng-binding ng-scope ng-empty btn-default\";\r\n if (option.passed == \"1\")\r\n classes += \" pass\";\r\n return classes;\r\n };\r\n $scope.getFaillButtonClass = function (option) {\r\n var classes = \"btn btn-group ng-pristine ng-untouched ng-valid ng-binding ng-scope ng-empty btn-default\";\r\n if (option.passed == \"2\")\r\n classes += \" fail\";\r\n return classes;\r\n };\r\n\r\n $scope.updateScore = function (option, passed) {\r\n option.passed = passed\r\n $scope.tallyScores();\r\n };\r\n\r\n $scope.tallyScores = function () {\r\n $scope.selectedskills.forEach(function (skill) {\r\n skill.talliedPoints = 0;\r\n skill.options.forEach(function (option) {\r\n if (option.passed == 1) {\r\n skill.talliedPoints += option.points;\r\n if (skill.talliedPoints > skill.total_points)\r\n skill.talliedPoints = skill.total_points;\r\n }\r\n })\r\n })\r\n };\r\n }\r\n ],\r\n replace: true,\r\n transclude: true,\r\n templateUrl:\r\n \"templates/form-builder-form/form-skill/form-skill.html\",\r\n link: function(scope, elem, attrs, ctrl) {}\r\n };\r\n }\r\n]);\r\n","\"use strict\";\r\n\r\nangular.module(\"imagetrend.components\").directive(\"hlpAlphaFilter\", [\r\n \"Resource\",\r\n function(Resource) {\r\n return {\r\n restrict: \"AE\",\r\n transclude: true,\r\n replace: true,\r\n scope: {\r\n //attributes\r\n alphaFilter: \"=?\"\r\n },\r\n require: \"^hlpList\",\r\n templateUrl: \"templates/list/alpha-filter/alpha-filter.html\",\r\n link: function(scope, elem, attrs, ctrl) {\r\n scope.options = Resource.alpha();\r\n\r\n scope.change = ctrl.alphaFilterChanged;\r\n }\r\n };\r\n }\r\n]);\r\n","'use strict';\r\n\r\nangular.module('imagetrend.components')\r\n .directive('hlpFilter', [function () {\r\n return {\r\n restrict: 'E',\r\n transclude: true,\r\n replace: true,\r\n scope: {\r\n //attributes\r\n filter: '=?'\r\n },\r\n require: '^hlpList',\r\n templateUrl: 'templates/list/filter/filter.html',\r\n link: function (scope, elem, attrs, ctrl) {\r\n if (!scope.filter) { scope.filter = {}; }\r\n if (!scope.filter.type) { scope.filter.type = 'select'; }\r\n if (!scope.filter.name) { scope.filter.name = scope.filter.type; }\r\n if (!scope.filter.options) { scope.filter.options = []; }\r\n if (scope.filter.showBlank == null) { scope.filter.showBlank = true; }\r\n if (scope.filter.type == 'userObj') {\r\n scope.selectValue = 'user_id';\r\n } else {\r\n scope.selectValue = 'id';\r\n }\r\n if (scope.filter.type == 'licenseLevel') {\r\n scope.selectShow = 'combined_name';\r\n } else {\r\n scope.selectShow = 'name';\r\n }\r\n\r\n scope.filterChanged = ctrl.filterChanged;\r\n }\r\n };\r\n }])\r\n ;","\"use strict\";\r\n\r\nangular.module(\"imagetrend.components\").directive(\"paginationList\", [\r\n function() {\r\n return {\r\n restrict: \"AE\",\r\n replace: true,\r\n scope: {\r\n numPerPage: \"=?\",\r\n currentPage: \"=?\",\r\n length: \"=?\"\r\n },\r\n //?^someDirective : Pass someDirective controller if available on one of parent elements to linking function. If not, pass null.\r\n require: \"?^hlpList\",\r\n templateUrl: \"templates/list/pagination/pagination.html\",\r\n link: function(scope, elem, attrs, ctrl) {\r\n scope.perPages = [\r\n { id: 10, name: 10 },\r\n { id: 15, name: 15 },\r\n { id: 20, name: 20 },\r\n { id: 25, name: 25 },\r\n { id: 50, name: 50 },\r\n { id: 100, name: 100 },\r\n { id: 250, name: 250 }\r\n ];\r\n\r\n scope.numOfPages = function(length) {\r\n return Math.ceil(length / scope.numPerPage) - 1;\r\n };\r\n\r\n if (ctrl) {\r\n scope.setCurrentPage = ctrl.pageChanged;\r\n\r\n scope.setPerPage = ctrl.perPageChanged;\r\n } else {\r\n scope.setCurrentPage = function (page) {\r\n scope.currentPage = page;\r\n };\r\n scope.setPerPage = function (perPage) {\r\n scope.numPerPage = perPage;\r\n scope.currentPage = 0;\r\n };\r\n }\r\n\r\n scope.$watch(\"length + numPerPage\", function () {\r\n //Recalculate the number of pages when the total records changes or when the number of records per page changes\r\n scope.pages = [];\r\n\r\n if (scope.length > 0) {\r\n var i = 0;\r\n for (i = 0; i <= scope.numOfPages(scope.length); i++) {\r\n scope.pages.push({ id: i, name: i + 1 });\r\n }\r\n } else {\r\n scope.pages.push({ id: 0, name: 0 });\r\n }\r\n scope.currentPage = 0;\r\n });\r\n }\r\n };\r\n }\r\n]);\r\n"]}