{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4793","webpack:///./src/core/services/store/breadcrumbs.module.js","webpack:///./src/core/apis/user.api.js","webpack:///./src/core/services/store/globalLoading.module.js","webpack:///./src/core/services/store/entities/role.module.js","webpack:///./src/core/apis/login.api.js","webpack:///./src/core/apis/role.api.js","webpack:///./src/core/apis/company.api.js","webpack:///./src/core/apis/trackerStop.api.js","webpack:///./src/core/apis/vehicle.api.js","webpack:///./src/core/apis/vehicleTreeData.api.js","webpack:///./src/core/apis/supportContract.api.js","webpack:///./src/core/apis/visitReport.api.js","webpack:///./src/core/apis/userProfile.api.js","webpack:///./src/core/apis/trackerEvaluation.api.js","webpack:///./src/core/apis/report.api.js","webpack:///./src/core/apis/routeReport.api.js","webpack:///./src/core/apis/machineFailureReason.api.js","webpack:///./src/core/apis/mission.api.js","webpack:///./src/core/apis/area.api.js","webpack:///./src/core/apis/monitoring.api.js","webpack:///./src/core/apis/mapProvider.api.js","webpack:///./src/core/apis/system.api.js","webpack:///./src/core/apis/dashboard.api.js","webpack:///./src/core/apis/camera.api.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/emitter.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/filter.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/filters/getFieldValue.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/format.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/between.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/blank.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/call.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/callback.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/choice.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/algorithms/luhn.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/creditCard.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/isValidDate.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/date.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/different.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/digits.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/emailAddress.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/file.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/greaterThan.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/identical.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/integer.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/ip.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/lessThan.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/notEmpty.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/numeric.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/promise.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/regexp.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/fetch.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/remote.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/stringCase.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/stringLength.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/uri.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/index.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/Core.js","webpack:///./src/assets/js/layout/base/aside-toggle.js","webpack:///./src/core/services/jwt.service.js","webpack:///./src/core/services/store/entities/visitReport.module.js","webpack:///./src/core/services/store/entities/vehicleTreeFlat.module.js","webpack:///./src/core/services/store/entities/mission.module.js","webpack:///./src/router.js","webpack:///./src/assets/js/components/image-input.js","webpack:///./src/core/services/store/entities/arbaeenTree.module.js","webpack:///./src/core/services/store/entities/userProfile.module.js","webpack:///./src/core/services/store/entities/trackerEvaluation.module.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?2ef9","webpack:///./src/App.vue?315a","webpack:///./src/core/plugins/vuetify.js","webpack:///./src/core/plugins/loadScript.js","webpack:///./src/core/plugins/perfect-scrollbar.js","webpack:///./src/core/plugins/inline-svg.js","webpack:///./src/assets/js/layout/base/content.js","webpack:///./src/assets/js/layout/base/footer.js","webpack:///./src/assets/js/layout/base/sticky-card.js","webpack:///./src/assets/js/layout/base/stretched-card.js","webpack:///./src/assets/js/layout/base/subheader.js","webpack:///./src/assets/js/layout/extended/chat.js","webpack:///./src/assets/js/layout/extended/quick-actions.js","webpack:///./src/assets/js/layout/extended/quick-cart.js","webpack:///./src/assets/js/layout/extended/quick-notifications.js","webpack:///./src/assets/js/layout/extended/quick-search.js","webpack:///./src/assets/js/layout/extended/search.js","webpack:///./src/core/plugins/metronic.js","webpack:///./src/core/plugins/formvalidation.js","webpack:///./src/main.js","webpack:///./src/core/services/store/config.module.js","webpack:///./src/core/services/store/toast.module.js","webpack:///./src/core/services/store/entities/area.module.js","webpack:///./src/core/services/i18n.service.js","webpack:///./src/assets/js/components/header.js","webpack:///./src/assets/js/layout/extended/scrolltop.js","webpack:///./src/core/services/store/index.js","webpack:///./src/assets/js/components/menu.js","webpack:///./src/core/services/store/htmlclass.module.js","webpack:///./src/core/services/store/entities/trackerStop.module.js","webpack:///./src/core/services/api.service.js","webpack:///./src/core/services/store/entities/machineFailureReason.module.js","webpack:///./src/core/services/xLocalStorage.service.js","webpack:///./src/core/services/store/auth.module.js","webpack:///./src/assets/js/components/XVehicleTreeGrid.js","webpack:///./src/assets/js/layout/extended/quick-user.js","webpack:///./src/core/services/store/entities/user.module.js","webpack:///./src/assets/js/layout/base/brand.js","webpack:///./src/assets/js/components/dialog.js","webpack:///./src/assets/js/components/wizard.js","webpack:///./src/assets/js/components/util.js","webpack:///./src/core/services/store/entities/supportContract.module.js","webpack:///./src/core/services/store/entities/vehicle.module.js","webpack:///./src/assets/js/components/offcanvas.js","webpack:///./src/assets/js/components/scrolltop.js","webpack:///./src/core/services/store/entities/vehicleTree.module.js","webpack:///./src/assets/js/components/toggle.js","webpack:///./src/assets/js/layout/base/header-topbar.js","webpack:///./src/core/services/store/entities/mapProvider.module.js","webpack:///./src/assets/js/layout/base/aside-menu.js","webpack:///./src/core/services/store/help.module.js","webpack:///./src/assets/js/components/card.js","webpack:///./src/assets/js/layout/base/header.js","webpack:///./src/core/services/store/entities/company.module.js","webpack:///./src/core/services/store/entities/vehicleTreeWithCamera.module.js","webpack:///./src/assets/js/components/cookie.js","webpack:///./src/assets/js/layout/base/header-menu.js","webpack:///./src/assets/js/components/XPermissionManager.js","webpack:///./src/core/plugins/vue-i18n.js","webpack:///./src/assets/js/layout/base/aside.js","webpack:///./src/core/services/store/dialog.module.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","APPEND_BREADCRUM","SET_BREADCRUMB","ADD_BREADCRUMB","state","breadcrumbs","getters","pageTitle","last","title","actions","_defineProperty","payload","commit","_typeof","forEach","item","mutations","concat","_toConsumableArray","baseURL","getCurrentUser","ApiService","_ref","getAllUsers","_ref2","saveUser","post","_ref3","getOneUserData","userId","_ref4","deleteUser","delete","_ref5","checkUserValidity","_ref6","changePassword","_ref7","userActivityLog","userID","_ref8","DATA","ADD_LOADING_DATA","REMOVE_LOADING_DATA","PUSH_DATA","POP_DATA","context","uniqueId","uuidv4","filter","ROLES","GET_ROLES","SET_ROLES","roles","roleApi","getAllRolesData","response","doLogin","credentials","token","success","doLogout","doLoginSSO","save","getOneRoleData","roleId","deleteRole","getAllCompany","saveCompany","companyRecInfo","companyId","companyDelete","getAllTrackerStop","saveTrackerStop","shapedPayload","trackerStop","trackerIds","map","current","id","trackerId","stopDate","reasonId","description","trackerStops","getOneTrackerStop","trackerStopId","isDuplicate","getVehicleEditorInitData","vehicleDelete","saveVehicle","vehicleRecInfo","vehicleTree","getVehiclesTreeData","getVehiclesTreeDataWithCamera","getInfoSupportContract","saveSupportContract","contractRecInfo","contractId","getAllVisitForms","saveVisitForm","getOneVisitForm","visitId","deleteVisitForm","getUserProfile","selectAllSensorUsages","insertSensorUsages","reportSettingChange","getAllTrackerTests","saveTrackerTest","getActualValuesFromTracker","getOneTrackerTest","testId","deleteTrackerTest","getReportMakingInfo","reportIdName","getReportData","reportRequest","getMapPathReportData","vehicleId","fromDateTime","toDateTime","getAllMachineFailures","getMachinesFailureByVehicleID","getAllMission","getMissionRoute","getOneMission","missionId","saveMission","deleteMission","getAllAreas","getOneAreaData","geofenceId","saveArea","deleteArea","getOnlineReport","ignoreUnhandledExceptionAlert","getOnlineTrackersReport","getOnlineArbaeenData","getDashboardData","ignoreGlobalLoader","getAllCarStates","getTollData","getCameraData","arbaeenGetFences","getBorderPoints","getArbaeenReport","getHeatMapData","getWeatherStations","getStationForecast","stationID","getStationNearVehicles","getList","saveDefault","getHelpInfo","getProvincesList","getChartsList","getTrackersInfo","getTrackersInfoReport","getChartData","startLiveVideo","showOneWeekVideo","saveVideo","getOldVideoList","deleteOldVideo","videoId","fns","clear","this","emit","_len","arguments","f","Array","_key","off","indexOf","on","filters","add","execute","remove","toLowerCase","a","tagName","selectedIndex","options","checked","isArray","replace","parseFloat","validate","valid","assign","inclusive","min","max","l10n","between","default","notInclusive","substring","_step","split","pop","_iterator","_createForOfIteratorHelper","done","callback","element","querySelectorAll","elements","choice","parseInt","more","less","charAt","AMERICAN_EXPRESS","prefix","DANKORT","DINERS_CLUB","DINERS_CLUB_US","DISCOVER","ELO","FORBRUGSFORENINGEN","JCB","LASER","MAESTRO","MASTERCARD","SOLO","UNIONPAY","VISA","VISA_ELECTRON","meta","test","_i","_Object$keys","keys","substr","isNaN","Date","getFullYear","getMonth","u","getDate","setHours","setMinutes","setSeconds","getHours","g","getMinutes","getSeconds","h","$","H","HH","M","MM","dd","hh","mm","ss","yy","yyyy","date","format","separator","Y","D","x","y","I","O","v","T","S","b","getTime","range","compare","multiple","extension","files","maxFiles","minFiles","size","lastIndexOf","ext","file","minSize","maxSize","maxTotalSize","totalSize","minTotalSize","greaterThan","decimalSeparator","thousandsSeparator","RegExp","isFinite","Math","floor","ipv4","ipv6","ip","lessThan","trim","regexp","toString","flags","encodeURIComponent","join","crossDomain","headers","method","params","now","async","addEventListener","XMLHttpRequest","open","setRequestHeader","JSON","parse","responseText","send","validKey","field","url","catch","case","stringCase","upper","toUpperCase","charCodeAt","utf8Bytes","stringLength","allowEmptyProtocol","allowLocal","protocol","blank","creditCard","different","digits","emailAddress","identical","integer","notEmpty","numeric","k","remote","C","uri","w","_classCallCheck","ee","plugins","results","Map","validators","form","fields","_createClass","_this$ee","setCore","install","uninstall","selector","queryElements","_this","validateField","_this2","validateElement","set","_this3","executeValidator","waterfall","_this4","locale","enabled","normalizeResult","validator","getElementValue","localization","_this5","updateElementStatus","_this6","_this7","resetField","reset","removeAttribute","HTMLInputElement","HTMLTextAreaElement","updateFieldStatus","toggleValidator","_this8","reduce","_this9","setLocale","registerPlugin","registerValidator","addField","KTLayoutAsideToggle","_body","_element","_toggleObject","_init","KTToggle","targetState","toggleState","toggle","KTLayoutStickyCard","update","KTLayoutHeaderMenu","pauseDropdownHover","KTLayoutAsideMenu","KTCookie","setCookie","getState","KTUtil","hasClass","removeClass","init","getById","getBody","getElement","getToggle","onToggle","handler","ACCESS_TOKEN_KEY","getAccessToken","xLocalStorage","saveToken","destroyAllTokens","VISIT_REPORTS","GET_VISIT_REPORTS","SET_VISIT_REPORTS","visitReports","visitReportApi","VEHICLE_TREE_DATA","GET_VEHICLE_TREE_DATA","PURGE_VEHICLE_TREE_DATA","SET_VEHICLE_TREE_DATA","SET_PURGE_VEHICLE_TREE_DATA","vehicleTreeData","items","unshift","gpS_ID","parentID","level","isActive","vehicle","formatted","extra","descriptions","hasChildren","selected","vehicleTreeGrid_generateUniqueId","parentUniqueId","formattedWithoutLastLevel","sort","first","second","_loop","index","some","q","vehicleCount","previous","MISSIONS","GET_MISSIONS","SET_MISSIONS","missions","missionApi","manageRedirection","_userUISettings$defau","userUISettings","getParsed","defaultRouteName","Vue","use","Router","router","routes","path","redirect","component","children","query","SSOUniqueID","ApiKey","beforeEnter","to","from","next","editDialog_route","createDialog_route","activityDialog_route","KTImageInput","elementId","the","defaultOptions","editMode","Plugin","construct","has","build","events","input","find","wrapper","cancel","css","hidden","deepExtend","addEvent","preventDefault","reader","FileReader","readAsDataURL","addClass","eventTrigger","one","fired","setDefaults","ARBAEEN_TREE_DATA","GET_ARBAEEN_TREE_DATA","PURGE_ARBAEEN_TREE_DATA","SET_ARBAEEN_TREE_DATA","SET_PURGE_ARBAEEN_TREE_DATA","arbaeenTreeData","monitoringApi","_c$polygons","polygons","USER_PFORILE","GET_USER_PROFILE","SET_USER_PROFILE","userProfile","greenTime","yellowTime","orangeTime","redTime","userProfileApi","userProfiles","profileKey","TRACKER_EVALUATIONS","GET_TRACKER_EVALUATIONS","SET_TRACKER_EVALUATIONS","trackerEvaluations","trackerEvaluationApi","render","_vm","_c","_self","staticRenderFns","mounted","i18nService","isActiveLanguageDirectionRtl","body","style","direction","Vuetify","config","silent","rtl","lang","locales","en","fa","getActiveLanguageLang","theme","customProperties","themes","LoadScript","PerfectScrollbar","InlineSvgPlugin","KTLayoutContent","_getHeight","height","getViewPort","KTLayoutHeader","getHeight","KTLayoutSubheader","KTLayoutFooter","actualHeight","_object","offset","KTCard","sticky","zIndex","position","top","pos","isBreakpointUp","isFixed","isFixedForMobile","getHeightForMobile","left","card","right","cardWidth","bodyWidth","cardOffsetLeft","initSticky","addResizeHandler","updateSticky","KTLayoutStretchedCard","scroll","cardBody","cardHeader","KTLayoutChat","scrollEl","cardBodyEl","cardHeaderEl","cardFooterEl","scrollInit","windowScroll","mobileNativeScroll","desktopNativeScroll","resetHeightOnDestroy","handleWindowResize","rememberPosition","isBreakpointDown","hasAttr","attr","keyCode","_handeMessaging","messagesEl","textarea","node","ps","html","setHTML","scrollTop","encodeURI","location","hostname","getCookie","expires","click","setup","KTLayoutQuickActions","header","content","KTOffcanvas","overlay","baseClass","placement","closeBy","toggleBy","disableForMobile","KTLayoutQuickCartPanel","footer","KTLayoutQuickNotifications","KTLayoutQuickSearch","KTLayoutSearch","_target","_form","_input","_closeIcon","_resultWrapper","_resultDropdown","_resultDropdownToggle","_closeIconContainer","_query","_hasResult","_timeout","_isProcessing","_requestTimeout","_spinnerClass","_resultClass","_minLength","_showProgress","hide","_hideProgress","show","_showDropdown","dropdown","_hideDropdown","_processSearch","scrollUpdate","ajax","HOST_URL","dataType","res","_handleCancel","_handleSearch","onkeypress","charCode","KTDialog","KTHeader","KTMenu","KTScrolltop","KTWizard","KTLayoutAside","KTLayoutBrand","KTLayoutHeaderTopbar","KTLayoutQuickUser","KTLayoutScrolltop","formValidation","productionTip","Vidle","fetch","process","_asyncToGenerator","_regeneratorRuntime","mark","_callee","settings","otherEnvironmentResponse","otherEnvironmentSettings","APP_VERSION","storedAppVersion","wrap","_context","prev","json","sent","_objectSpread","version","$xSettings","beforeEach","store","dispatch","RESET_LAYOUT_CONFIG","scrollTo","afterEach","redirectedFrom","history","replaceState","i18n","vuetify","App","$mount","stop","_x","SET_LAYOUT_CONFIG","OVERRIDE_LAYOUT_CONFIG","OVERRIDE_PAGE_LAYOUT_CONFIG","initial","layoutConfig","defaultValue","objectPath","merge","TOAST_DATA","DISPLAY_TOAST","EXPIRE_TOAST","SET_DATA","SET_DISPLAY_TOAST","TOAST_TYPE_ENUM","freeze","info","warning","toast","display","isOpen","_data$type","_data$message","AREAS","GET_AREAS","SET_AREAS","areas","areaApi","defaultLanguage","languages","flag","culture","firstDayOfWeek","setActiveLanguage","getActiveLanguage","getActiveLanguageFlag","val","getActiveLanguageCulture","getActiveLanguageFirstDayOfWeek","desktop","tabletAndMobile","releseOnReverse","eventTriggerState","lastScrollTop","st","getScrollTop","hasAttribute","args","speed","Vuex","Store","auth","htmlClass","globalLoading","dialog","help","entities","accordion","slideSpeed","autoScroll","autoScrollSpeed","expandAll","eventHandlers","pauseDropdownHoverTime","uid","getUniqueID","reload","resetSubmenuProps","handleSubmenuAccordion","getSubmenuMode","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","scrollDestroy","el","isset","submenu","hasClasses","tablet","mobile","submenus","findAll","len","resumeDropdownHover","showSubmenuDropdown","time","hideSubmenuDropdown","closest","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","child","subnav","closables","el_","submenu_","slideUp","slideDown","scrollToItem","classAlso","cnt","list","contains","isOffscreen","createSubmenuDropdownClickDropoff","dropoff","stopPropagation","resetActiveItem","parents","i_","len_","setActiveItem","getBreadcrumbs","link","text","innerHTML","submenuLink","reverse","getPageTitle","removeEvent","scrollReInit","hideDropdown","hideDropdowns","getByTagName","ADD_BODY_CLASSNAME","REMOVE_BODY_CLASSNAME","ADD_CLASSNAME","SET_CLASSNAME_BY_POSITION","classes","getClasses","className","classList","TRACKER_STOPS","GET_TRACKER_STOPS","SET_TRACKER_STOPS","trackerStopApi","setDefaultHeaders","axios","interceptors","accessToken","loadingUniqueId","JwtService","XAuthentication","abrupt","_callee2","_context2","methodStatus","LOGOUT","_x2","_callee3","_error$config","_error$config2","_context3","isCancel","OPEN_DIALOG","DIALOG_TYPE_ENUM","_x3","defaults","backendUrl","resource","_callee4","_context4","abort","abortController","exception","_arguments","_callee5","slug","_context5","AbortController","signal","_callee6","_context6","put","_callee7","_context7","_callee8","_context8","patch","_callee9","_context9","MACHINE_FAILURE_REASONS","GET_MACHINE_FAILURE_REASONS","SET_MACHINE_FAILURE_REASONS","machineFailureReasons","machineFailureReasonApi","secureLs","SecureLS","encodingType","isDebuggingEnvironment","baseLocalStorage","localStorage","getItem","setItem","removeItem","TIMER","LOGIN","LOGIN_SSO","GENERATE_AUTHENTICATED_USER","UPDATE_TIMER","PURGE_AUTH","SET_AUTH","SET_AUTHENTICATED_USER","SET_TIMER","USER_UI_SETTINGS","user","remindTimer","currentUser","loginApi","loginResponse","userApi","tokens","isAuthenticated","errors","hasPermissions","getAllPermissions","DashBoard","permittedUsecases","stringify","String","padStart","USERS","GET_USERS","SET_USERS","users","startStep","clickableSteps","steps","btnNext","btnPrev","btnSubmit","lastStep","currentStep","newStep","stopped","totalSteps","goTo","updateUI","setNewStep","getNextStep","getPrevStep","number","resume","isLastStep","isFirstStep","isBetweenStep","stepType","stepsInfo","removeAttr","stepsContent","getNewStep","step","nested","goNext","goPrev","goLast","getLastStep","goFirst","getFirstStep","getStep","Element","matches","msMatchesSelector","webkitMatchesSelector","ancestor","documentElement","parentElement","elem","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","timeToCall","arr","configurable","writable","argArr","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","insertBefore","firstChild","Document","DocumentFragment","getAttributeNames","attributes","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","timer","_runResizeHandlers","each","throttle","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","evt","createEvent","initUIEvent","getURLParam","paramName","searchString","search","unescape","isMobileDevice","width","getBreakpoint","navigator","userAgent","match","isDesktopDevice","isInResponsiveRange","breakpoint","random","obj","stone","getHighestZindex","hasFixedPositionedParent","sleep","milliseconds","start","getRandomInt","isAngularVersion","Zone","out","extend","getElementById","getByTag","getByClass","getElementsByClassName","classesArr","classNames","triggerCustomEvent","eventName","CustomEvent","detail","initCustomEvent","triggerEvent","doc","ownerDocument","nodeType","eventClass","bubbles","initEvent","synthetic","fireEvent","createEventObject","string","eventTriggered","currentTarget","dataset","triggered","parent","querySelector","insertAfter","referenceNode","nextSibling","matchesSelector","mozMatchesSelector","oMatchesSelector","log","childNodes","customDataTag","outerWidth","margin","offsetWidth","rect","win","getClientRects","getBoundingClientRect","defaultView","pageYOffset","pageXOffset","outerHeight","withMargin","offsetHeight","getComputedStyle","marginTop","marginBottom","visible","animate","duration","easing","easings","linear","rAF","change","performance","loop","timestamp","actualCss","prop","cache","HTMLElement","cssText","actualWidth","getScroll","self","browserSupportsBoxModel","styleProp","getPropertyValue","currentStyle","str","letter","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","overflow","removeEventListener","eventId","targets","callee","hash","chr","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","transition","transitions","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","targetPos","scrollPos","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","msie","trident","rv","edge","isRTL","pluginDefOptions","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","attrs","attrName","includes","optionName","filterBoolean","Function","mobileHeight","destroy","scrollUpdateAll","scrollers","resetAll","setProperty","getHTML","getDocumentHeight","scrollHeight","clientHeight","scrollingElement","changeColor","col","amt","usePound","num","func","delay","debounce","btnWait","cls","disable","caption","btnRelease","windowWidth","windowHeight","KTAppSettings","SUPPORT_CONTRACTS","GET_SUPPORT_CONTRACTS","SET_SUPPORT_CONTRACTS","supportContracts","supportContractApi","VEHICLE_BASE_DATA","GET_VEHICLE_BASE_DATA","SET_VEHICLE_BASE_DATA","vehicleBaseData","vehicleApi","attrCustom","classBase","classShown","classOverlay","isShown","toggleClass","classCustom","handle","toggleElement","targetElement","targetToggleMode","toggleOn","toggleOff","_toggleElement","getToggleElement","MAP_PROVIDERS","GET_MAP_PROVIDERS","SAVE_MAP_PROVIDERS","SET_MAP_PROVIDERS","SET_DEFAULT_MAP_PROVIDER","mapProviders","mapProviderApi","maps","urlTemplate","subdomains","subDomains","_menuObject","menuDesktopMode","_initHover","insideTm","outsideTm","getMenu","closeMobileOffcanvas","HELP_VIDEOS","GET_HELP_VIDEOS","VIDEOS","videos","systemApi","toggleSpeed","onScrollSticky","resetSticky","setContent","getSelf","expand","collapse","destroySticky","_elementForMobile","_getHeightForMobile","idForMobile","getElementForMobile","getHeader","COMPANIES","GET_COMPANIES","SET_COMPANIES","companies","companyApi","VEHICLE_TREE_DATA_WITH_CAMERA","GET_VEHICLE_TREE_DATA_WITH_CAMERA","PURGE_VEHICLE_TREE_DATA_WITH_CAMERA","SET_VEHICLE_TREE_DATA_WITH_CAMERA","SET_PURGE_VEHICLE_TREE_DATA_WITH_CAMERA","cookie","decodeURIComponent","toUTCString","updatedCookie","optionKey","optionValue","deleteCookie","_menuElement","_offcanvasElement","_offcanvasObject","menu","menuId","offcanvasId","getMenuElement","getOffcanvasElement","getOffcanvas","MANAGEMENT_USER","MANAGEMENT_ROLE","FileUpLoader","MANAGEMENT_VEHICLE","MANAGEMENT_VEHICLE_GROUP","MANAGEMENT_DRIVER","SupportContract","MapViewVPath","MapViewSimple","MapViewVOnline","ArbaeenReports","HeatMap","TOOLS_CONFIGURATION","TRACKER_TEST_VIEW","TRACKER_TEST_EDIT","DashCam","GeneralConfig","ChangeOnlineReportSettings","WEB_ONLINE_USERS","WEB_ADMIN_CONFIG","WEB_ENTERANCE_REPORT","WEB_DELETE_REPORT_HISTORY","EDIT_DefinePerson","EDIT_MANAGEMENT_SENSORMODEL","EDIT_MANAGEMENT_SENSORS","EDIT_MANAGEENT_ASSIGNED_SERVICE","EDIT_MANAGEMENT_SERVICE","EDIT_VehicleSupportCompany","AccessPOL","MANAGEMENT_AREA","MANAGEMENT_GEO_PROPERTY","MANAGEMENT_GEO_PERMISSION","MANAGEMENT_ALARM","AccessResetTamper","AccessResetFactory","AccessSendController","RELATION_ALARM_VEHICLE","RELATION_ALARM_USER","RELATION_USER_VEHICLEGROUP","RELATION_USER_VEHICLE","RELATION_USER_ROLE","CHANGE_USER_PASSWORD","ROLE_ACCESSITEM","EDIT_MANAGEMENT_AREA","RELATION_VEHICLE_VEHICLEGROUP","EDIT_MANAGEMENT_PATH","MANAGEMENT_VEHICLEMODEL","MANAGEMENT_ASSIGNEDAREA","MANAGEMENT_ASSIGNEDAREA_ORDERING","Edit_Trackers","MANAGEMENT_PATH","MANAGEMENT_POI","MANAGEMENT_SENSORS","MANAGEMENT_SENSORMODEL","MANAGEMENT_SENSORUSAGE","MANAGEMENT_VEHICLEKIND","MANAGEMENT_SERVICE","PMSERVICEHISTORY","CHANGE_SPECIAL_PERMISSIONS","MANAGEENT_ASSIGNED_SERVEICE","CHANGE_USER_TYPE","Manage_AccountEntity","MANAGEMENT_OUTPINUSAGES","OUTPINS_VEHICLESETTINGS","Manage_Accounts","AddMarkerInMapViewVPath","DefinePerson","RELATION_VEHICLE_PATH_ASSIGNED","RELATION_VEHICLE_POINT_ASSIGNED","EDIT_MANAGEMENT_VEHICLEMODEL","EDIT_MANAGEMENT_VEHICLEKIND","VIEW_ONLINE_REPORT_SETTING","EDIT_RELATION_VEHICLE_PATH_ASSIGNED","EDIT_MANAGEMENT_POI","EDIT_RELATION_VEHICLE_POINT_ASSIGNED","EDIT_MANAGEMENT_USER","EDIT_RELATION_USER_ROLE","EDIT_RELATION_USER_VEHICLE","EDIT_RELATION_USER_VEHICLEGROUP","EDIT_RELATION_VEHICLE_VEHICLEGROUP","EDIT_RELATION_ALARM_VEHICLE","EDIT_MANAGEMENT_DRIVER","EDIT_MANAGEMENT_GEO_PROPERTY","EDIT_MANAGEMENT_GEO_PERMISSION","EDIT_RELATION_ALARM_USER","Edit_MANAGEMENT_OUTPINUSAGES","EDIT_MANAGEMENT_SENSORUSAGE","EDIT_MANAGEMENT_ALARM","EDIT_OUTPINS_VEHICLESETTINGS","Report","EDIT_ROLE","EDIT_ROLE_ACCESSITEM","EDIT_MANAGEMENT_VEHICLE_GROUP","EDIT_MANAGEMENT_ASSIGNEDAREA","SendAlarmToPersons","EditSendAlarmToPersons","MANAGEMENT_VEHICLE_Vehicle_SPEC","ReportBuilder","EditReportBuilder","DefineCustomProperty","AllUserManagement","Manage_Company","DepartmentManagement","Test","ImportTrackerList","DownloadHelpFile","TrackerStopReason","Edit_TrackerStopReason","Mission","Edit_Mission","VisitForm","Edit_VisitForm","Winter","Edit_Winter","View_TrackersResult","View_Shelters","MachineFailureReason","Edit_Shelters","TrackerStopReason_SetDisable","View_All_Vehicles_OnlineReports","TrackerDetail","SimCardView","ConsumptionVehicle","RoadsMngConfirmation","MachineryMngConfirmation","SQLEditor","AlarmReport","StopReport","DistanceReportNewest","VehiclePath","VehicleGPSAllPointsInRangeDates","OverSpeedHistoryReport","AreaActivityReport","CommandsStatus","AreaVehicleDetailReport","AreaActivityByProvince","BillingReport","CurrentStatus","DeviceTrackerLastStatus","TrackerBillingReport","SupporterBillingDetailReport","SupporterBillingReport","ConsultantBillingReport","ProvinceSpeedAverage","CountrySpeedAverage","TrackerTestReport","Contracts","DistanceActiveHoursReport","OverSpeedActiveHoursReport","DistanceReportInArea","InactiveTrackers","DeviceTrackerLastStatus2","VehiclesMissionReport","DepartmentsMissionReport","IncorrectOperationReport","VehiclesMissionAndDistanceReport","ConsumptionVehicleReport","DefinedMissionsReport","IncorrectStatusReport","SupporterEvaluationReport","TrackersWithoutDataReport","ActiveTrackersDailyReport","ActiveInstalledTrackersDailyReport","TrackerInstallationReport","UserActivitiesReport","TrackerLifeReport","CameraStatusReport","permissions","every","VueI18n","messages","offcanvasClass","isMinimized","isHoverable","DIALOG_DATA","DO_OK","DO_CANCEL","RESET_DATA","SET_OPEN_DIALOG","buttons","ok","_data$title","_data$text","_data$buttons$ok$disp","_data$buttons","_data$buttons$ok$titl","_data$buttons2","_data$buttons$ok$call","_data$buttons3","_data$buttons$cancel$","_data$buttons4","_data$buttons$cancel$2","_data$buttons5"],"mappings":"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","file":"js/app.8f30daaa.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0cf29b\":\"46764c87\",\"chunk-2d2178b8\":\"77038e2b\",\"chunk-470406e6\":\"2ebe5311\",\"chunk-32b04a5a\":\"ef688f94\",\"chunk-70903d93\":\"7951c70f\",\"chunk-1abf8550\":\"484d4f26\",\"chunk-62d64ece\":\"c5c1da1c\",\"chunk-709ece9e\":\"13d85228\",\"chunk-037d338a\":\"9399cedf\",\"chunk-061d0f6c\":\"893af952\",\"chunk-106871e8\":\"fbd73a08\",\"chunk-10935e01\":\"a9e01627\",\"chunk-1b8ea23a\":\"adb82646\",\"chunk-25bce95a\":\"4edb4195\",\"chunk-2a5e4d6a\":\"556619d6\",\"chunk-33fcd654\":\"07775bc0\",\"chunk-35111f1f\":\"28f2de8f\",\"chunk-4724a99a\":\"a45255da\",\"chunk-53fe5a01\":\"76c9e7f3\",\"chunk-562cb592\":\"2c4e4ae4\",\"chunk-61e4f942\":\"71869eca\",\"chunk-7ae9a3d6\":\"7bdd6578\",\"chunk-7c209104\":\"1e042ecf\",\"chunk-7d3e15a4\":\"a2f1839c\",\"chunk-907c9094\":\"408e2db2\",\"chunk-b24cabe4\":\"1428893b\",\"chunk-c4aae356\":\"c6b9f20b\",\"chunk-8ed4b356\":\"7b09e2aa\",\"chunk-2d207453\":\"c245cde2\",\"chunk-372031de\":\"5f1404a1\",\"chunk-38e1171e\":\"a7f2fb6e\",\"chunk-7f904eb9\":\"88124337\",\"chunk-74535983\":\"8d26d84d\",\"chunk-74a244ac\":\"ecd6288c\",\"chunk-7968f30e\":\"bf7f6111\",\"chunk-72fc60b0\":\"ea02b032\",\"chunk-fe224ae4\":\"cf7c749a\",\"chunk-743c75c9\":\"bfd9002c\",\"chunk-7460625f\":\"8f1ce1db\",\"chunk-7462d7d1\":\"984e3153\",\"chunk-749382ab\":\"3d36452e\",\"chunk-74a89166\":\"cc8f5cfd\",\"chunk-7714ee28\":\"d6682d4a\",\"chunk-771975df\":\"ee927e76\",\"chunk-7720e32a\":\"e7a7628f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-470406e6\":1,\"chunk-70903d93\":1,\"chunk-1abf8550\":1,\"chunk-62d64ece\":1,\"chunk-709ece9e\":1,\"chunk-037d338a\":1,\"chunk-061d0f6c\":1,\"chunk-106871e8\":1,\"chunk-10935e01\":1,\"chunk-1b8ea23a\":1,\"chunk-25bce95a\":1,\"chunk-2a5e4d6a\":1,\"chunk-33fcd654\":1,\"chunk-35111f1f\":1,\"chunk-4724a99a\":1,\"chunk-53fe5a01\":1,\"chunk-562cb592\":1,\"chunk-61e4f942\":1,\"chunk-7ae9a3d6\":1,\"chunk-7c209104\":1,\"chunk-7d3e15a4\":1,\"chunk-907c9094\":1,\"chunk-b24cabe4\":1,\"chunk-c4aae356\":1,\"chunk-8ed4b356\":1,\"chunk-372031de\":1,\"chunk-38e1171e\":1,\"chunk-7f904eb9\":1,\"chunk-74535983\":1,\"chunk-74a244ac\":1,\"chunk-7968f30e\":1,\"chunk-72fc60b0\":1,\"chunk-743c75c9\":1,\"chunk-7460625f\":1,\"chunk-7462d7d1\":1,\"chunk-749382ab\":1,\"chunk-74a89166\":1,\"chunk-7714ee28\":1,\"chunk-771975df\":1,\"chunk-7720e32a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0cf29b\":\"31d6cfe0\",\"chunk-2d2178b8\":\"31d6cfe0\",\"chunk-470406e6\":\"a59d4b3d\",\"chunk-32b04a5a\":\"31d6cfe0\",\"chunk-70903d93\":\"5b1ec6c1\",\"chunk-1abf8550\":\"e6ed6796\",\"chunk-62d64ece\":\"32cafaaa\",\"chunk-709ece9e\":\"b4400310\",\"chunk-037d338a\":\"457447b0\",\"chunk-061d0f6c\":\"30c53825\",\"chunk-106871e8\":\"bb5ebe06\",\"chunk-10935e01\":\"158c2aa6\",\"chunk-1b8ea23a\":\"54d8f69a\",\"chunk-25bce95a\":\"54d8f69a\",\"chunk-2a5e4d6a\":\"54d8f69a\",\"chunk-33fcd654\":\"457447b0\",\"chunk-35111f1f\":\"3e2d764d\",\"chunk-4724a99a\":\"907c092c\",\"chunk-53fe5a01\":\"ba845b5d\",\"chunk-562cb592\":\"6f85692d\",\"chunk-61e4f942\":\"1a018ab0\",\"chunk-7ae9a3d6\":\"4b580558\",\"chunk-7c209104\":\"eb25edb9\",\"chunk-7d3e15a4\":\"2fe60913\",\"chunk-907c9094\":\"9a22834f\",\"chunk-b24cabe4\":\"889c44e1\",\"chunk-c4aae356\":\"6bba5563\",\"chunk-8ed4b356\":\"87384521\",\"chunk-2d207453\":\"31d6cfe0\",\"chunk-372031de\":\"48b15f60\",\"chunk-38e1171e\":\"82625eb3\",\"chunk-7f904eb9\":\"efedfab7\",\"chunk-74535983\":\"c6b8154c\",\"chunk-74a244ac\":\"7cb48b2e\",\"chunk-7968f30e\":\"57ecce8b\",\"chunk-72fc60b0\":\"ff26237c\",\"chunk-fe224ae4\":\"31d6cfe0\",\"chunk-743c75c9\":\"0cd9075a\",\"chunk-7460625f\":\"3d589f84\",\"chunk-7462d7d1\":\"8e7fe483\",\"chunk-749382ab\":\"144db676\",\"chunk-74a89166\":\"657cfc40\",\"chunk-7714ee28\":\"58af8feb\",\"chunk-771975df\":\"8fc83994\",\"chunk-7720e32a\":\"078dd970\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=54d7f29a&prod&lang=scss\"","// action types\r\nexport const APPEND_BREADCRUM = \"appendBreadcrumb\";\r\n\r\n// mutation types\r\nexport const SET_BREADCRUMB = \"setBreadcrumb\";\r\nexport const ADD_BREADCRUMB = \"addBreadcrumb\";\r\n\r\nexport default {\r\n state: {\r\n breadcrumbs: []\r\n },\r\n getters: {\r\n /**\r\n * Get list of breadcrumbs for current page\r\n * @param state\r\n * @returns {*}\r\n */\r\n breadcrumbs(state) {\r\n return state.breadcrumbs;\r\n },\r\n\r\n /**\r\n * Get the page title\r\n * @param state\r\n * @returns {*}\r\n */\r\n pageTitle(state) {\r\n let last = state.breadcrumbs[state.breadcrumbs.length - 1];\r\n if (last && last.title) {\r\n return last.title;\r\n }\r\n }\r\n },\r\n actions: {\r\n /**\r\n * Set the breadcrumbs list\r\n * @param state\r\n * @param payload\r\n */\r\n [SET_BREADCRUMB](state, payload) {\r\n state.commit(SET_BREADCRUMB, payload);\r\n },\r\n\r\n /**\r\n * Add breadcrumb\r\n * @param state\r\n * @param payload\r\n */\r\n [ADD_BREADCRUMB](state, payload) {\r\n if (typeof payload === \"object\") {\r\n payload.forEach(item => state.commit(APPEND_BREADCRUM, item));\r\n } else {\r\n state.commit(APPEND_BREADCRUM, payload);\r\n }\r\n }\r\n },\r\n mutations: {\r\n [APPEND_BREADCRUM](state, payload) {\r\n state.breadcrumbs = [...state.breadcrumbs, payload];\r\n },\r\n [SET_BREADCRUMB](state, payload) {\r\n state.breadcrumbs = payload;\r\n }\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Users\";\r\n\r\nexport default {\r\n getCurrentUser() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetCurrentUser`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getAllUsers() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllUsers`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveUser(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveUser`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n getOneUserData(userId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetOneUserData`, `?userID=${userId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteUser(userId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteUser?userID=${userId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n checkUserValidity(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/CheckUserValidity`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n changePassword(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/ChangePassword`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n userActivityLog(userID) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/getUserActivityLog`, `?userID=${userID}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","// getter types\r\nexport const DATA = \"data\";\r\n\r\n// action types\r\nexport const ADD_LOADING_DATA = \"addLoadingData\";\r\nexport const REMOVE_LOADING_DATA = \"removeLoadingData\";\r\n\r\n// mutation types\r\nconst PUSH_DATA = \"pushData\";\r\nconst POP_DATA = \"popData\";\r\n\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nconst state = {\r\n data: []\r\n};\r\n\r\nconst getters = {\r\n [DATA](state) {\r\n return state.data;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [ADD_LOADING_DATA](context, uniqueId) {\r\n return new Promise(resolve => {\r\n if (!uniqueId) {\r\n uniqueId = uuidv4();\r\n }\r\n\r\n context.commit(PUSH_DATA, uniqueId);\r\n\r\n resolve(uniqueId);\r\n });\r\n },\r\n [REMOVE_LOADING_DATA](context, uniqueId) {\r\n context.commit(POP_DATA, uniqueId);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [PUSH_DATA](state, uniqueId) {\r\n state.data.push(uniqueId);\r\n },\r\n [POP_DATA](state, uniqueId) {\r\n state.data = state.data.filter(c => c !== uniqueId);\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { roleApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const ROLES = \"roles\";\r\n\r\n// action types\r\nexport const GET_ROLES = \"getRoles\";\r\n\r\n// mutation types\r\nconst SET_ROLES = \"setRoles\";\r\n\r\nconst state = {\r\n roles: []\r\n};\r\n\r\nconst getters = {\r\n [ROLES](state) {\r\n return state.roles;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_ROLES](context) {\r\n return new Promise(resolve => {\r\n roleApi.getAllRolesData().then(response => {\r\n context.commit(SET_ROLES, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_ROLES](state, roles) {\r\n state.roles = roles;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Login\";\r\n\r\nexport default {\r\n doLogin: function (credentials) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/DoLogin`, credentials).result.then(\r\n ({ data }) => {\r\n resolve({\r\n token: data,\r\n success: !!data\r\n });\r\n }\r\n );\r\n });\r\n },\r\n doLogout: function () {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/DoLogout`).result.then(() => {\r\n resolve();\r\n });\r\n });\r\n },\r\n doLoginSSO: function (request) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/DoLoginSSO`, request).result.then(\r\n ({ data }) => {\r\n resolve({\r\n token: data,\r\n success: !!data\r\n });\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Roles\";\r\n\r\nexport default {\r\n getAllRolesData() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllRolesData`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n save(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/Save`, payload).result.then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getOneRoleData(roleId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetOneRoleData`, `?roleID=${roleId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteRole(roleId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteRole?roleID=${roleId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Companies\";\r\n\r\nexport default {\r\n getAllCompany() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllCompany`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveCompany(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveCompany`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n companyRecInfo(companyId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/CompanyRecInfo`,\r\n `?companyID=${companyId}`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n companyDelete(companyId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/CompanyDelete?companyID=${companyId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\n\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"TrackerStops\";\r\n\r\nexport default {\r\n getAllTrackerStop() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllTrackerStop`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveTrackerStop(payload) {\r\n return new Promise(resolve => {\r\n const shapedPayload = payload.trackerStop.trackerIds.map(current => ({\r\n id: payload.trackerStop.id,\r\n trackerId: current,\r\n stopDate: payload.trackerStop.stopDate,\r\n reasonId: payload.trackerStop.reasonId,\r\n description: payload.trackerStop.description\r\n }));\r\n\r\n ApiService.post(`${baseURL}/SaveTrackerStop`, {\r\n trackerStops: shapedPayload\r\n }).result.then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getOneTrackerStop(trackerStopId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/GetOneTrackerStop`,\r\n `?stopID=${trackerStopId}`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n isDuplicate(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/IsDuplicate`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Vehicles\";\r\n\r\nexport default {\r\n getVehicleEditorInitData() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetVehicleEditorInitData`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n vehicleDelete(trackerId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/VehicleDelete?trackerId=${trackerId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n saveVehicle(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveVehicle`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n vehicleRecInfo(trackerId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/VehicleRecInfo`,\r\n `?trackerID=${trackerId}`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n vehicleTree(trackerId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/vehicleTree`, `?trackerID=${trackerId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Vehicles\";\r\n\r\nexport default {\r\n getVehiclesTreeData() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetVehiclesTreeData`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getVehiclesTreeDataWithCamera() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetVehiclesTreeDataWithCamera`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"SupportContracts\";\r\n\r\nexport default {\r\n getInfoSupportContract() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetInfoSupportContract`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveSupportContract(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveContract`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n contractRecInfo(contractId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/ContractRecInfo`,\r\n `?contractID=${contractId}`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"VisitForms\";\r\n\r\nexport default {\r\n getAllVisitForms() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllVisitForms`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveVisitForm(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveVisitForm`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n getOneVisitForm(visitId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetOneVisitForm`, `?visitID=${visitId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteVisitForm(visitId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteVisitForm?visitID=${visitId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"UserProfile\";\r\n\r\nexport default {\r\n getUserProfile() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetUserProfile`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n selectAllSensorUsages() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/SelectAllSensorUsages`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n insertSensorUsages(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/InsertSensorUsages`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n reportSettingChange(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/ReportSettingChange`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"TrackerTest\";\r\n\r\nexport default {\r\n getAllTrackerTests() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllTrackerTests`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n saveTrackerTest(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveTrackerTest`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n getActualValuesFromTracker(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(\r\n `${baseURL}/GetActualValuesFromTracker`,\r\n payload\r\n ).result.then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getOneTrackerTest(testId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetOneTrackerTest`, `?testID=${testId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteTrackerTest(testId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteTrackerTest?testID=${testId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Reports\";\r\n\r\nexport default {\r\n getReportMakingInfo(reportIdName) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/GetReportMakingInfo`,\r\n `?reportIDName=${reportIdName}&noOfInstances=1`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getReportData(reportRequest) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetReportData`, reportRequest).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Map\";\r\n\r\nexport default {\r\n getMapPathReportData(payload) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/GetMapPathReportData`,\r\n `?vehicleID=${payload.vehicleId}&dtFrom=${payload.fromDateTime}&dtTo=${payload.toDateTime}`\r\n ).then(({ data }) => resolve(data));\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"MachineFailure\";\r\n\r\nexport default {\r\n getAllMachineFailures() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllMachineFailures`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getMachinesFailureByVehicleID(vehicleId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/GetMachinesFailureByVehicleID`,\r\n `?vehicleID=${vehicleId}`\r\n ).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n save(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/Save`, payload).result.then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Mission\";\r\n\r\nexport default {\r\n getAllMission() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllMission`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getMissionRoute(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetMissionRoute`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n getOneMission(missionId) {\r\n return new Promise(resolve => {\r\n ApiService.get(\r\n `${baseURL}/GetOneMission`,\r\n `?missionID=${missionId}`\r\n ).then(({ data }) => resolve(data));\r\n });\r\n },\r\n saveMission(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveMission`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteMission(missionId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteMission?entityID=${missionId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Areas\";\r\n\r\nexport default {\r\n getAllAreas() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllAreas`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getOneAreaData(geofenceId) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetOneAreaData`, `?geoID=${geofenceId}`).then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n saveArea(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveArea`, payload).result.then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n deleteArea(geofenceId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteArea?geoID=${geofenceId}`).then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Map\";\r\n\r\nexport default {\r\n getOnlineReport(payload) {\r\n return ApiService.post(`${baseURL}/GetOnlineReport`, payload, {\r\n ignoreUnhandledExceptionAlert: true\r\n });\r\n },\r\n getOnlineTrackersReport(payload) {\r\n return ApiService.post(`${baseURL}/GetOnlineTrackersReport`, payload, {\r\n ignoreUnhandledExceptionAlert: true\r\n });\r\n },\r\n getOnlineArbaeenData(payload) {\r\n return ApiService.post(`${baseURL}/GetOnlineArbaeenData`, payload, {\r\n ignoreUnhandledExceptionAlert: true\r\n });\r\n },\r\n getDashboardData(payload) {\r\n return ApiService.post(`${baseURL}/GetDashboardData`, payload, {\r\n ignoreUnhandledExceptionAlert: true,\r\n ignoreGlobalLoader: true\r\n });\r\n },\r\n getAllCarStates() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetAllCarStates`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getTollData() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetTollData`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getCameraData() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetCameraData`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n arbaeenGetFences() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/ArbaeenGetFences`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getBorderPoints() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetBorderPoints`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getArbaeenReport(payload) {\r\n return ApiService.post(`${baseURL}/GetArbaeenReport`, payload);\r\n },\r\n getHeatMapData(payload) {\r\n return ApiService.post(`${baseURL}/GetHeatMapData`, payload);\r\n },\r\n getWeatherStations() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetWeatherStations`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getStationForecast(stationID) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetStationForecast/${stationID}`).then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n getStationNearVehicles(stationID) {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetStationNearVehicles/${stationID}`).then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"MapProvider\";\r\n\r\nexport default {\r\n getList() {\r\n return new Promise(resolve =>\r\n ApiService.get(`${baseURL}/GetList`).then(({ data }) => resolve(data))\r\n );\r\n },\r\n saveDefault(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(\r\n `${baseURL}/SaveDefault?mapProviderID=${payload}`\r\n ).result.then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"System\";\r\n\r\nexport default {\r\n getHelpInfo() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetHelpInfo`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Dashboard\";\r\n\r\nexport default {\r\n getProvincesList() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetProvincesList`).then(({ data }) =>\r\n resolve(data)\r\n );\r\n });\r\n },\r\n getChartsList() {\r\n return new Promise(resolve => {\r\n ApiService.get(`${baseURL}/GetChartsList`).then(({ data }) => {\r\n resolve(data);\r\n });\r\n });\r\n },\r\n getTrackersInfo(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetTrackersInfo`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n getTrackersInfoReport() {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetTrackersInfoReport`).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n getChartData(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetChartData`, payload).result.then(\r\n ({ data }) => resolve(data)\r\n );\r\n });\r\n },\r\n getHeatMapData(payload) {\r\n return ApiService.post(`${baseURL}/GetHeatMapData`, payload);\r\n }\r\n};\r\n","\"use strict\";\r\nimport ApiService from \"@/core/services/api.service\";\r\n\r\nconst baseURL = \"Camera\";\r\n\r\nexport default {\r\n startLiveVideo(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/StartLiveVideo`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n showOneWeekVideo(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/ShowOneWeekVideo`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n saveVideo(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/SaveVideo`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n getOldVideoList(payload) {\r\n return new Promise(resolve => {\r\n ApiService.post(`${baseURL}/GetOldVideoList`, payload).result.then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n },\r\n deleteOldVideo(videoId) {\r\n return new Promise(resolve => {\r\n ApiService.delete(`${baseURL}/DeleteOldVideo?videoID=${videoId}`).then(\r\n ({ data }) => {\r\n resolve(data);\r\n }\r\n );\r\n });\r\n }\r\n};\r\n","export default function s(){return{fns:{},clear(){this.fns={}},emit(s,...f){(this.fns[s]||[]).map(s=>s.apply(s,f))},off(s,f){if(this.fns[s]){const n=this.fns[s].indexOf(f);if(n>=0){this.fns[s].splice(n,1)}}},on(s,f){(this.fns[s]=this.fns[s]||[]).push(f)}}}","export default function t(){return{filters:{},add(t,e){(this.filters[t]=this.filters[t]||[]).push(e)},clear(){this.filters={}},execute(t,e,i){if(!this.filters[t]||!this.filters[t].length){return e}let s=e;const r=this.filters[t];const l=r.length;for(let t=0;tt!==e)}}}}","export default function e(e,t,r,c){const n=(r.getAttribute(\"type\")||\"\").toLowerCase();const a=r.tagName.toLowerCase();switch(a){case\"textarea\":return r.value;case\"select\":const e=r;const t=e.selectedIndex;return t>=0?e.options.item(t).value:\"\";case\"input\":if(\"radio\"===n||\"checkbox\"===n){const e=c.filter(e=>e.checked).length;return e===0?\"\":e+\"\"}else{return r.value}default:return\"\"}}","export default function r(r,e){const t=Array.isArray(e)?e:[e];let a=r;t.forEach(r=>{a=a.replace(\"%s\",r)});return a}","import e from\"../utils/format\";export default function s(){const s=e=>parseFloat(`${e}`.replace(\",\",\".\"));return{validate(a){const t=a.value;if(t===\"\"){return{valid:true}}const n=Object.assign({},{inclusive:true,message:\"\"},a.options);const l=s(n.min);const o=s(n.max);return n.inclusive?{message:e(a.l10n?n.message||a.l10n.between.default:n.message,[`${l}`,`${o}`]),valid:parseFloat(t)>=l&&parseFloat(t)<=o}:{message:e(a.l10n?n.message||a.l10n.between.notInclusive:n.message,[`${l}`,`${o}`]),valid:parseFloat(t)>l&&parseFloat(t)e.checked).length;const s=t.options.min?`${t.options.min}`:\"\";const n=t.options.max?`${t.options.max}`:\"\";let a=t.l10n?t.options.message||t.l10n.choice.default:t.options.message;const l=!(s&&oparseInt(n,10));switch(true){case!!s&&!!n:a=e(t.l10n?t.l10n.choice.between:t.options.message,[s,n]);break;case!!s:a=e(t.l10n?t.l10n.choice.more:t.options.message,s);break;case!!n:a=e(t.l10n?t.l10n.choice.less:t.options.message,n);break;default:break}return{message:a,valid:l}}}}","export default function t(t){let e=t.length;const l=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]];let n=0;let r=0;while(e--){r+=l[n][parseInt(t.charAt(e),10)];n=1-n}return r%10===0&&r>0}","import e from\"../algorithms/luhn\";const t={AMERICAN_EXPRESS:{length:[15],prefix:[\"34\",\"37\"]},DANKORT:{length:[16],prefix:[\"5019\"]},DINERS_CLUB:{length:[14],prefix:[\"300\",\"301\",\"302\",\"303\",\"304\",\"305\",\"36\"]},DINERS_CLUB_US:{length:[16],prefix:[\"54\",\"55\"]},DISCOVER:{length:[16],prefix:[\"6011\",\"622126\",\"622127\",\"622128\",\"622129\",\"62213\",\"62214\",\"62215\",\"62216\",\"62217\",\"62218\",\"62219\",\"6222\",\"6223\",\"6224\",\"6225\",\"6226\",\"6227\",\"6228\",\"62290\",\"62291\",\"622920\",\"622921\",\"622922\",\"622923\",\"622924\",\"622925\",\"644\",\"645\",\"646\",\"647\",\"648\",\"649\",\"65\"]},ELO:{length:[16],prefix:[\"4011\",\"4312\",\"4389\",\"4514\",\"4573\",\"4576\",\"5041\",\"5066\",\"5067\",\"509\",\"6277\",\"6362\",\"6363\",\"650\",\"6516\",\"6550\"]},FORBRUGSFORENINGEN:{length:[16],prefix:[\"600722\"]},JCB:{length:[16],prefix:[\"3528\",\"3529\",\"353\",\"354\",\"355\",\"356\",\"357\",\"358\"]},LASER:{length:[16,17,18,19],prefix:[\"6304\",\"6706\",\"6771\",\"6709\"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:[\"5018\",\"5020\",\"5038\",\"5868\",\"6304\",\"6759\",\"6761\",\"6762\",\"6763\",\"6764\",\"6765\",\"6766\"]},MASTERCARD:{length:[16],prefix:[\"51\",\"52\",\"53\",\"54\",\"55\"]},SOLO:{length:[16,18,19],prefix:[\"6334\",\"6767\"]},UNIONPAY:{length:[16,17,18,19],prefix:[\"622126\",\"622127\",\"622128\",\"622129\",\"62213\",\"62214\",\"62215\",\"62216\",\"62217\",\"62218\",\"62219\",\"6222\",\"6223\",\"6224\",\"6225\",\"6226\",\"6227\",\"6228\",\"62290\",\"62291\",\"622920\",\"622921\",\"622922\",\"622923\",\"622924\",\"622925\"]},VISA:{length:[16],prefix:[\"4\"]},VISA_ELECTRON:{length:[16],prefix:[\"4026\",\"417500\",\"4405\",\"4508\",\"4844\",\"4913\",\"4917\"]}};export default function l(){return{validate(l){if(l.value===\"\"){return{meta:{type:null},valid:true}}if(/[^0-9-\\s]+/.test(l.value)){return{meta:{type:null},valid:false}}const r=l.value.replace(/\\D/g,\"\");if(!e(r)){return{meta:{type:null},valid:false}}for(const e of Object.keys(t)){for(const n in t[e].prefix){if(l.value.substr(0,t[e].prefix[n].length)===t[e].prefix[n]&&t[e].length.indexOf(r.length)!==-1){return{meta:{type:e},valid:true}}}}return{meta:{type:null},valid:false}}}}export{t as CREDIT_CARD_TYPES};","export default function t(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)){return false}if(t<1e3||t>9999||e<=0||e>12){return false}const s=[31,t%400===0||t%100!==0&&t%4===0?29:28,31,30,31,30,31,31,30,31,30,31];if(n<=0||n>s[e-1]){return false}if(r===true){const r=new Date;const s=r.getFullYear();const a=r.getMonth();const u=r.getDate();return t{const s=e.indexOf(\"YYYY\");const a=e.indexOf(\"MM\");const l=e.indexOf(\"DD\");if(s===-1||a===-1||l===-1){return null}const o=t.split(\" \");const r=o[0].split(n);if(r.length<3){return null}const c=new Date(parseInt(r[s],10),parseInt(r[a],10)-1,parseInt(r[l],10));if(o.length>1){const t=o[1].split(\":\");c.setHours(t.length>0?parseInt(t[0],10):0);c.setMinutes(t.length>1?parseInt(t[1],10):0);c.setSeconds(t.length>2?parseInt(t[2],10):0)}return c};const s=(t,e)=>{const n=e.replace(/Y/g,\"y\").replace(/M/g,\"m\").replace(/D/g,\"d\").replace(/:m/g,\":M\").replace(/:mm/g,\":MM\").replace(/:S/,\":s\").replace(/:SS/,\":ss\");const s=t.getDate();const a=s<10?`0${s}`:s;const l=t.getMonth()+1;const o=l<10?`0${l}`:l;const r=`${t.getFullYear()}`.substr(2);const c=t.getFullYear();const i=t.getHours()%12||12;const g=i<10?`0${i}`:i;const u=t.getHours();const m=u<10?`0${u}`:u;const d=t.getMinutes();const f=d<10?`0${d}`:d;const p=t.getSeconds();const h=p<10?`0${p}`:p;const $={H:`${u}`,HH:`${m}`,M:`${d}`,MM:`${f}`,d:`${s}`,dd:`${a}`,h:`${i}`,hh:`${g}`,m:`${l}`,mm:`${o}`,s:`${p}`,ss:`${h}`,yy:`${r}`,yyyy:`${c}`};return n.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\\1?|\"[^\"]*\"|'[^']*'/g,t=>$[t]?$[t]:t.slice(1,t.length-1))};return{validate(a){if(a.value===\"\"){return{meta:{date:null},valid:true}}const l=Object.assign({},{format:a.element&&a.element.getAttribute(\"type\")===\"date\"?\"YYYY-MM-DD\":\"MM/DD/YYYY\",message:\"\"},a.options);const o=a.l10n?a.l10n.date.default:l.message;const r={message:`${o}`,meta:{date:null},valid:false};const c=l.format.split(\" \");const i=c.length>1?c[1]:null;const g=c.length>2?c[2]:null;const u=a.value.split(\" \");const m=u[0];const d=u.length>1?u[1]:null;if(c.length!==u.length){return r}const f=l.separator||(m.indexOf(\"/\")!==-1?\"/\":m.indexOf(\"-\")!==-1?\"-\":m.indexOf(\".\")!==-1?\".\":\"/\");if(f===null||m.indexOf(f)===-1){return r}const p=m.split(f);const h=c[0].split(f);if(p.length!==h.length){return r}const $=p[h.indexOf(\"YYYY\")];const M=p[h.indexOf(\"MM\")];const Y=p[h.indexOf(\"DD\")];if(!/^\\d+$/.test($)||!/^\\d+$/.test(M)||!/^\\d+$/.test(Y)||$.length>4||M.length>2||Y.length>2){return r}const D=parseInt($,10);const x=parseInt(M,10);const y=parseInt(Y,10);if(!e(D,x,y)){return r}const I=new Date(D,x-1,y);if(i){const t=d.split(\":\");if(i.split(\":\").length!==t.length){return r}const e=t.length>0?t[0].length<=2&&/^\\d+$/.test(t[0])?parseInt(t[0],10):-1:0;const n=t.length>1?t[1].length<=2&&/^\\d+$/.test(t[1])?parseInt(t[1],10):-1:0;const s=t.length>2?t[2].length<=2&&/^\\d+$/.test(t[2])?parseInt(t[2],10):-1:0;if(e===-1||n===-1||s===-1){return r}if(s<0||s>60){return r}if(e<0||e>=24||g&&e>12){return r}if(n<0||n>59){return r}I.setHours(e);I.setMinutes(n);I.setSeconds(s)}const O=typeof l.min===\"function\"?l.min():l.min;const v=O instanceof Date?O:O?n(O,h,f):I;const H=typeof l.max===\"function\"?l.max():l.max;const T=H instanceof Date?H:H?n(H,h,f):I;const S=O instanceof Date?s(v,l.format):O;const b=H instanceof Date?s(T,l.format):H;switch(true){case!!S&&!b:return{message:t(a.l10n?a.l10n.date.min:o,S),meta:{date:I},valid:I.getTime()>=v.getTime()};case!!b&&!S:return{message:t(a.l10n?a.l10n.date.max:o,b),meta:{date:I},valid:I.getTime()<=T.getTime()};case!!b&&!!S:return{message:t(a.l10n?a.l10n.date.range:o,[S,b]),meta:{date:I},valid:I.getTime()<=T.getTime()&&I.getTime()>=v.getTime()};default:return{message:`${o}`,meta:{date:I},valid:true}}}}}","export default function o(){return{validate(o){const t=\"function\"===typeof o.options.compare?o.options.compare.call(this):o.options.compare;return{valid:t===\"\"||o.value!==t}}}}","export default function e(){return{validate(e){return{valid:e.value===\"\"||/^\\d+$/.test(e.value)}}}}","export default function t(){const t=(t,e)=>{const s=t.split(/\"/);const l=s.length;const n=[];let r=\"\";for(let t=0;t()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;const n=s.multiple===true||`${s.multiple}`===\"true\";if(n){const n=s.separator||/[,;]/;const r=t(e.value,n);const a=r.length;for(let t=0;tparseInt(`${e.options.maxFiles}`,10)){return{meta:{error:\"INVALID_MAX_FILES\"},valid:false}}if(e.options.minFiles&&oparseInt(`${e.options.maxSize}`,10)){return{meta:Object.assign({},{error:\"INVALID_MAX_SIZE\"},r),valid:false}}if(i&&i.indexOf(t.toLowerCase())===-1){return{meta:Object.assign({},{error:\"INVALID_EXTENSION\"},r),valid:false}}if(n[l].type&&s&&s.indexOf(n[l].type.toLowerCase())===-1){return{meta:Object.assign({},{error:\"INVALID_TYPE\"},r),valid:false}}}if(e.options.maxTotalSize&&a>parseInt(`${e.options.maxTotalSize}`,10)){return{meta:Object.assign({},{error:\"INVALID_MAX_TOTAL_SIZE\",totalSize:a},r),valid:false}}if(e.options.minTotalSize&&a=t}:{message:e(a.l10n?s.message||a.l10n.greaterThan.notInclusive:s.message,`${t}`),valid:parseFloat(a.value)>t}}}}","export default function o(){return{validate(o){const t=\"function\"===typeof o.options.compare?o.options.compare.call(this):o.options.compare;return{valid:t===\"\"||o.value===t}}}}","export default function a(){return{validate(a){if(a.value===\"\"){return{valid:true}}const e=Object.assign({},{decimalSeparator:\".\",thousandsSeparator:\"\"},a.options);const t=e.decimalSeparator===\".\"?\"\\\\.\":e.decimalSeparator;const r=e.thousandsSeparator===\".\"?\"\\\\.\":e.thousandsSeparator;const o=new RegExp(`^-?[0-9]{1,3}(${r}[0-9]{3})*(${t}[0-9]+)?$`);const n=new RegExp(r,\"g\");let s=`${a.value}`;if(!o.test(s)){return{valid:false}}if(r){s=s.replace(n,\"\")}if(t){s=s.replace(t,\".\")}const i=parseFloat(s);return{valid:!isNaN(i)&&isFinite(i)&&Math.floor(i)===i}}}}","export default function d(){return{validate(d){if(d.value===\"\"){return{valid:true}}const a=Object.assign({},{ipv4:true,ipv6:true},d.options);const e=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/;const s=/^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*(\\/(\\d|\\d\\d|1[0-1]\\d|12[0-8]))?$/;switch(true){case a.ipv4&&!a.ipv6:return{message:d.l10n?a.message||d.l10n.ip.ipv4:a.message,valid:e.test(d.value)};case!a.ipv4&&a.ipv6:return{message:d.l10n?a.message||d.l10n.ip.ipv6:a.message,valid:s.test(d.value)};case a.ipv4&&a.ipv6:default:return{message:d.l10n?a.message||d.l10n.ip.default:a.message,valid:e.test(d.value)||s.test(d.value)}}}}}","import e from\"../utils/format\";export default function s(){return{validate(s){if(s.value===\"\"){return{valid:true}}const a=Object.assign({},{inclusive:true,message:\"\"},s.options);const l=parseFloat(`${a.max}`.replace(\",\",\".\"));return a.inclusive?{message:e(s.l10n?a.message||s.l10n.lessThan.default:a.message,`${l}`),valid:parseFloat(s.value)<=l}:{message:e(s.l10n?a.message||s.l10n.lessThan.notInclusive:a.message,`${l}`),valid:parseFloat(s.value)Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join(\"&\");return new Promise((o,s)=>{const d=Object.assign({},{crossDomain:false,headers:{},method:\"GET\",params:{}},t);const a=Object.keys(d.params).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d.params[e])}`).join(\"&\");const r=e.indexOf(\"?\");const c=\"GET\"===d.method?`${e}${r?\"?\":\"&\"}${a}`:e;if(d.crossDomain){const e=document.createElement(\"script\");const t=`___fetch${Date.now()}___`;window[t]=e=>{delete window[t];o(e)};e.src=`${c}${r?\"&\":\"?\"}callback=${t}`;e.async=true;e.addEventListener(\"load\",()=>{e.parentNode.removeChild(e)});e.addEventListener(\"error\",()=>s);document.head.appendChild(e)}else{const e=new XMLHttpRequest;e.open(d.method,c);e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\");if(\"POST\"===d.method){e.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\")}Object.keys(d.headers).forEach(t=>e.setRequestHeader(t,d.headers[t]));e.addEventListener(\"load\",(function(){o(JSON.parse(this.responseText))}));e.addEventListener(\"error\",()=>s);e.send(n(d.params))}})}","import e from\"../utils/fetch\";export default function a(){const a={crossDomain:false,data:{},headers:{},method:\"GET\",validKey:\"valid\"};return{validate(t){if(t.value===\"\"){return Promise.resolve({valid:true})}const s=Object.assign({},a,t.options);let r=s.data;if(\"function\"===typeof s.data){r=s.data.call(this,t)}if(\"string\"===typeof r){r=JSON.parse(r)}r[s.name||t.field]=t.value;const o=\"function\"===typeof s.url?s.url.call(this,t):s.url;return e(o,{crossDomain:s.crossDomain,headers:s.headers,method:s.method,params:r}).then(e=>Promise.resolve({message:e.message,meta:e,valid:`${e[s.validKey]}`===\"true\"})).catch(e=>Promise.reject({valid:false}))}}}","export default function e(){return{validate(e){if(e.value===\"\"){return{valid:true}}const a=Object.assign({},{case:\"lower\"},e.options);const s=(a.case||\"lower\").toLowerCase();return{message:a.message||(e.l10n?\"upper\"===s?e.l10n.stringCase.upper:e.l10n.stringCase.default:a.message),valid:\"upper\"===s?e.value===e.value.toUpperCase():e.value===e.value.toLowerCase()}}}}","import e from\"../utils/format\";export default function t(){const t=e=>{let t=e.length;for(let s=e.length-1;s>=0;s--){const n=e.charCodeAt(s);if(n>127&&n<=2047){t++}else if(n>2047&&n<=65535){t+=2}if(n>=56320&&n<=57343){s--}}return`${t}`};return{validate(s){const n=Object.assign({},{message:\"\",trim:false,utf8Bytes:false},s.options);const a=n.trim===true||`${n.trim}`===\"true\"?s.value.trim():s.value;if(a===\"\"){return{valid:true}}const r=n.min?`${n.min}`:\"\";const l=n.max?`${n.max}`:\"\";const i=n.utf8Bytes?t(a):a.length;let g=true;let m=s.l10n?n.message||s.l10n.stringLength.default:n.message;if(r&&iparseInt(l,10)){g=false}switch(true){case!!r&&!!l:m=e(s.l10n?n.message||s.l10n.stringLength.between:n.message,[r,l]);break;case!!r:m=e(s.l10n?n.message||s.l10n.stringLength.more:n.message,`${parseInt(r,10)-1}`);break;case!!l:m=e(s.l10n?n.message||s.l10n.stringLength.less:n.message,`${parseInt(l,10)+1}`);break;default:break}return{message:m,valid:g}}}}","export default function t(){const t={allowEmptyProtocol:false,allowLocal:false,protocol:\"http, https, ftp\"};return{validate(o){if(o.value===\"\"){return{valid:true}}const a=Object.assign({},t,o.options);const l=a.allowLocal===true||`${a.allowLocal}`===\"true\";const f=a.allowEmptyProtocol===true||`${a.allowEmptyProtocol}`===\"true\";const u=a.protocol.split(\",\").join(\"|\").replace(/\\s/g,\"\");const e=new RegExp(\"^\"+\"(?:(?:\"+u+\")://)\"+(f?\"?\":\"\")+\"(?:\\\\S+(?::\\\\S*)?@)?\"+\"(?:\"+(l?\"\":\"(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})\"+\"(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})\"+\"(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})\")+\"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\"+\"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\"+\"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\"+\"|\"+\"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)\"+\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-?)*[a-z\\\\u00a1-\\\\uffff0-9])*\"+\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\"+(l?\"?\":\"\")+\")\"+\"(?::\\\\d{2,5})?\"+\"(?:/[^\\\\s]*)?$\",\"i\");return{valid:e.test(o.value)}}}}","import r from\"./between\";import m from\"./blank\";import i from\"./callback\";import o from\"./choice\";import t from\"./creditCard\";import e from\"./date\";import p from\"./different\";import f from\"./digits\";import n from\"./emailAddress\";import a from\"./file\";import s from\"./greaterThan\";import d from\"./identical\";import l from\"./integer\";import c from\"./ip\";import g from\"./lessThan\";import h from\"./notEmpty\";import b from\"./numeric\";import u from\"./promise\";import k from\"./regexp\";import C from\"./remote\";import T from\"./stringCase\";import x from\"./stringLength\";import w from\"./uri\";export default{between:r,blank:m,callback:i,choice:o,creditCard:t,date:e,different:p,digits:f,emailAddress:n,file:a,greaterThan:s,identical:d,integer:l,ip:c,lessThan:g,notEmpty:h,numeric:b,promise:u,regexp:k,remote:C,stringCase:T,stringLength:x,uri:w};","import e from\"./emitter\";import t from\"./filter\";import i from\"../filters/getFieldValue\";import s from\"../validators/index\";class l{constructor(i,s){this.elements={};this.ee=e();this.filter=t();this.plugins={};this.results=new Map;this.validators={};this.form=i;this.fields=s}on(e,t){this.ee.on(e,t);return this}off(e,t){this.ee.off(e,t);return this}emit(e,...t){this.ee.emit(e,...t);return this}registerPlugin(e,t){if(this.plugins[e]){throw new Error(`The plguin ${e} is registered`)}t.setCore(this);t.install();this.plugins[e]=t;return this}deregisterPlugin(e){const t=this.plugins[e];if(t){t.uninstall()}delete this.plugins[e];return this}registerValidator(e,t){if(this.validators[e]){throw new Error(`The validator ${e} is registered`)}this.validators[e]=t;return this}registerFilter(e,t){this.filter.add(e,t);return this}deregisterFilter(e,t){this.filter.remove(e,t);return this}executeFilter(e,t,i){return this.filter.execute(e,t,i)}addField(e,t){const i=Object.assign({},{selector:\"\",validators:{}},t);this.fields[e]=this.fields[e]?{selector:i.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,i.validators)}:i;this.elements[e]=this.queryElements(e);this.emit(\"core.field.added\",{elements:this.elements[e],field:e,options:this.fields[e]});return this}removeField(e){if(!this.fields[e]){throw new Error(`The field ${e} validators are not defined. Please ensure the field is added first`)}const t=this.elements[e];const i=this.fields[e];delete this.elements[e];delete this.fields[e];this.emit(\"core.field.removed\",{elements:t,field:e,options:i});return this}validate(){this.emit(\"core.form.validating\");return this.filter.execute(\"validate-pre\",Promise.resolve(),[]).then(()=>Promise.all(Object.keys(this.fields).map(e=>this.validateField(e))).then(e=>{switch(true){case e.indexOf(\"Invalid\")!==-1:this.emit(\"core.form.invalid\");return Promise.resolve(\"Invalid\");case e.indexOf(\"NotValidated\")!==-1:this.emit(\"core.form.notvalidated\");return Promise.resolve(\"NotValidated\");default:this.emit(\"core.form.valid\");return Promise.resolve(\"Valid\")}}))}validateField(e){const t=this.results.get(e);if(t===\"Valid\"||t===\"Invalid\"){return Promise.resolve(t)}this.emit(\"core.field.validating\",e);const i=this.elements[e];if(i.length===0){this.emit(\"core.field.valid\",e);return Promise.resolve(\"Valid\")}const s=i[0].getAttribute(\"type\");if(\"radio\"===s||\"checkbox\"===s||i.length===1){return this.validateElement(e,i[0])}else{return Promise.all(i.map(t=>this.validateElement(e,t))).then(t=>{switch(true){case t.indexOf(\"Invalid\")!==-1:this.emit(\"core.field.invalid\",e);this.results.set(e,\"Invalid\");return Promise.resolve(\"Invalid\");case t.indexOf(\"NotValidated\")!==-1:this.emit(\"core.field.notvalidated\",e);this.results.delete(e);return Promise.resolve(\"NotValidated\");default:this.emit(\"core.field.valid\",e);this.results.set(e,\"Valid\");return Promise.resolve(\"Valid\")}})}}validateElement(e,t){this.results.delete(e);const i=this.elements[e];const s=this.filter.execute(\"element-ignored\",false,[e,t,i]);if(s){this.emit(\"core.element.ignored\",{element:t,elements:i,field:e});return Promise.resolve(\"Ignored\")}const l=this.fields[e].validators;this.emit(\"core.element.validating\",{element:t,elements:i,field:e});const r=Object.keys(l).map(i=>()=>this.executeValidator(e,t,i,l[i]));return this.waterfall(r).then(s=>{const l=s.indexOf(\"Invalid\")===-1;this.emit(\"core.element.validated\",{element:t,elements:i,field:e,valid:l});const r=t.getAttribute(\"type\");if(\"radio\"===r||\"checkbox\"===r||i.length===1){this.emit(l?\"core.field.valid\":\"core.field.invalid\",e)}return Promise.resolve(l?\"Valid\":\"Invalid\")}).catch(s=>{this.emit(\"core.element.notvalidated\",{element:t,elements:i,field:e});return Promise.resolve(s)})}executeValidator(e,t,i,s){const l=this.elements[e];const r=this.filter.execute(\"validator-name\",i,[i,e]);s.message=this.filter.execute(\"validator-message\",s.message,[this.locale,e,r]);if(!this.validators[r]||s.enabled===false){this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:this.normalizeResult(e,r,{valid:true}),validator:r});return Promise.resolve(\"Valid\")}const a=this.validators[r];const d=this.getElementValue(e,t,r);const o=this.filter.execute(\"field-should-validate\",true,[e,t,d,i]);if(!o){this.emit(\"core.validator.notvalidated\",{element:t,elements:l,field:e,validator:i});return Promise.resolve(\"NotValidated\")}this.emit(\"core.validator.validating\",{element:t,elements:l,field:e,validator:i});const n=a().validate({element:t,elements:l,field:e,l10n:this.localization,options:s,value:d});const h=\"function\"===typeof n[\"then\"];if(h){return n.then(s=>{const r=this.normalizeResult(e,i,s);this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:r,validator:i});return r.valid?\"Valid\":\"Invalid\"})}else{const s=this.normalizeResult(e,i,n);this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:s,validator:i});return Promise.resolve(s.valid?\"Valid\":\"Invalid\")}}getElementValue(e,t,s){const l=i(this.form,e,t,this.elements[e]);return this.filter.execute(\"field-value\",l,[l,e,t,s])}getElements(e){return this.elements[e]}getFields(){return this.fields}getFormElement(){return this.form}getLocale(){return this.locale}getPlugin(e){return this.plugins[e]}updateFieldStatus(e,t,i){const s=this.elements[e];const l=s[0].getAttribute(\"type\");const r=\"radio\"===l||\"checkbox\"===l?[s[0]]:s;r.forEach(s=>this.updateElementStatus(e,s,t,i));if(!i){switch(t){case\"NotValidated\":this.emit(\"core.field.notvalidated\",e);this.results.delete(e);break;case\"Validating\":this.emit(\"core.field.validating\",e);this.results.delete(e);break;case\"Valid\":this.emit(\"core.field.valid\",e);this.results.set(e,\"Valid\");break;case\"Invalid\":this.emit(\"core.field.invalid\",e);this.results.set(e,\"Invalid\");break}}return this}updateElementStatus(e,t,i,s){const l=this.elements[e];const r=this.fields[e].validators;const a=s?[s]:Object.keys(r);switch(i){case\"NotValidated\":a.forEach(i=>this.emit(\"core.validator.notvalidated\",{element:t,elements:l,field:e,validator:i}));this.emit(\"core.element.notvalidated\",{element:t,elements:l,field:e});break;case\"Validating\":a.forEach(i=>this.emit(\"core.validator.validating\",{element:t,elements:l,field:e,validator:i}));this.emit(\"core.element.validating\",{element:t,elements:l,field:e});break;case\"Valid\":a.forEach(i=>this.emit(\"core.validator.validated\",{element:t,field:e,result:{message:r[i].message,valid:true},validator:i}));this.emit(\"core.element.validated\",{element:t,elements:l,field:e,valid:true});break;case\"Invalid\":a.forEach(i=>this.emit(\"core.validator.validated\",{element:t,field:e,result:{message:r[i].message,valid:false},validator:i}));this.emit(\"core.element.validated\",{element:t,elements:l,field:e,valid:false});break}return this}resetForm(e){Object.keys(this.fields).forEach(t=>this.resetField(t,e));this.emit(\"core.form.reset\",{reset:e});return this}resetField(e,t){if(t){const t=this.elements[e];const i=t[0].getAttribute(\"type\");t.forEach(e=>{if(\"radio\"===i||\"checkbox\"===i){e.removeAttribute(\"selected\");e.removeAttribute(\"checked\");e.checked=false}else{e.setAttribute(\"value\",\"\");if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement){e.value=\"\"}}})}this.updateFieldStatus(e,\"NotValidated\");this.emit(\"core.field.reset\",{field:e,reset:t});return this}revalidateField(e){this.updateFieldStatus(e,\"NotValidated\");return this.validateField(e)}disableValidator(e,t){return this.toggleValidator(false,e,t)}enableValidator(e,t){return this.toggleValidator(true,e,t)}updateValidatorOption(e,t,i,s){if(this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]){this.fields[e].validators[t][i]=s}return this}setFieldOptions(e,t){this.fields[e]=t;return this}destroy(){Object.keys(this.plugins).forEach(e=>this.plugins[e].uninstall());this.ee.clear();this.filter.clear();this.results.clear();this.plugins={};return this}setLocale(e,t){this.locale=e;this.localization=t;return this}waterfall(e){return e.reduce((e,t,i,s)=>e.then(e=>t().then(t=>{e.push(t);return e})),Promise.resolve([]))}queryElements(e){const t=this.fields[e].selector?\"#\"===this.fields[e].selector.charAt(0)?`[id=\"${this.fields[e].selector.substring(1)}\"]`:this.fields[e].selector:`[name=\"${e}\"]`;return[].slice.call(this.form.querySelectorAll(t))}normalizeResult(e,t,i){const s=this.fields[e].validators[t];return Object.assign({},i,{message:i.message||(s?s.message:\"\")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:\"\")||`The field ${e} is not valid`})}toggleValidator(e,t,i){const s=this.fields[t].validators;if(i&&s&&s[i]){this.fields[t].validators[i].enabled=e}else if(!i){Object.keys(s).forEach(i=>this.fields[t].validators[i].enabled=e)}return this.updateFieldStatus(t,\"NotValidated\",i)}}export default function r(e,t){const i=Object.assign({},{fields:{},locale:\"en_US\",plugins:{}},t);const r=new l(e,i.fields);r.setLocale(i.locale,i.localization);Object.keys(i.plugins).forEach(e=>r.registerPlugin(e,i.plugins[e]));Object.keys(s).forEach(e=>r.registerValidator(e,s[e]));Object.keys(i.fields).forEach(e=>r.addField(e,i.fields[e]));return r}export{l as Core};","\"use strict\";\r\n\r\nvar KTLayoutAsideToggle = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _toggleObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\t_toggleObject = new KTToggle(_element, _body, {\r\n\t\t\ttargetState: 'aside-minimize',\r\n\t\t\ttoggleState: 'active'\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('toggle', function(toggle) {\r\n // Update sticky card\r\n if (typeof KTLayoutStickyCard !== 'undefined') {\r\n KTLayoutStickyCard.update();\r\n }\r\n\r\n // Pause header menu dropdowns\r\n if (typeof KTLayoutHeaderMenu !== 'undefined') {\r\n KTLayoutHeaderMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Pause aside menu dropdowns\r\n if (typeof KTLayoutAsideMenu !== 'undefined') {\r\n KTLayoutAsideMenu.pauseDropdownHover(800);\r\n }\r\n\r\n // Remember state in cookie\r\n\t\t\tKTCookie.setCookie('kt_aside_toggle_state', toggle.getState());\r\n\t\t\t// to set default minimized left aside use this cookie value in your\r\n\t\t\t// server side code and add \"kt-primary--minimize aside-minimize\" classes to\r\n\t\t\t// the body tag in order to initialize the minimized left aside mode during page loading.\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('beforeToggle', function(toggle) {\r\n\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') === false && KTUtil.hasClass(_body, 'aside-minimize-hover')) {\r\n\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getToggle: function() {\r\n\t\t\treturn _toggleObject;\r\n\t\t},\r\n\r\n\t\tonToggle: function(handler) {\r\n\t\t\tif (typeof _toggleObject.element !== 'undefined') {\r\n\t\t\t\t_toggleObject.on('toggle', handler);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutAsideToggle;","import { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\nconst ACCESS_TOKEN_KEY = \"access_token\";\r\n\r\nexport const getAccessToken = () => {\r\n return xLocalStorage.get(ACCESS_TOKEN_KEY);\r\n};\r\nexport const saveToken = token => {\r\n xLocalStorage.set(ACCESS_TOKEN_KEY, token);\r\n};\r\nexport const destroyAllTokens = () => {\r\n xLocalStorage.remove(ACCESS_TOKEN_KEY);\r\n};\r\nexport default {\r\n getAccessToken,\r\n saveToken,\r\n destroyAllTokens\r\n};\r\n","import { visitReportApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const VISIT_REPORTS = \"visitReports\";\r\n\r\n// action types\r\nexport const GET_VISIT_REPORTS = \"getVisitReports\";\r\n\r\n// mutation types\r\nconst SET_VISIT_REPORTS = \"setVisitReports\";\r\n\r\nconst state = {\r\n visitReports: []\r\n};\r\n\r\nconst getters = {\r\n [VISIT_REPORTS](state) {\r\n return state.visitReports;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_VISIT_REPORTS](context) {\r\n return new Promise(resolve => {\r\n visitReportApi.getAllVisitForms().then(response => {\r\n context.commit(SET_VISIT_REPORTS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_VISIT_REPORTS](state, visitReports) {\r\n state.visitReports = visitReports;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { vehicleTreeData } from \"@/core/apis\";\r\nimport { vehicleTreeGrid_generateUniqueId } from \"@/assets/js/components/XVehicleTreeGrid\";\r\n\r\n// getter types\r\nexport const VEHICLE_TREE_DATA = \"vehicleTreeDataFlat\";\r\n\r\n// action types\r\nexport const GET_VEHICLE_TREE_DATA = \"getVehicleTreeDataFlat\";\r\nexport const PURGE_VEHICLE_TREE_DATA = \"purgeVehicleTreeDataFlat\";\r\n\r\n// mutation types\r\nconst SET_VEHICLE_TREE_DATA = \"setVehicleTreeDataFlat\";\r\nconst SET_PURGE_VEHICLE_TREE_DATA = \"setPurgeVehicleTreeDataFlat\";\r\n\r\nconst state = {\r\n vehicleTreeData: []\r\n};\r\n\r\nconst getters = {\r\n [VEHICLE_TREE_DATA](state) {\r\n return state.vehicleTreeData;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_VEHICLE_TREE_DATA](context) {\r\n return new Promise(resolve => {\r\n vehicleTreeData.getVehiclesTreeData().then(response => {\r\n context.commit(SET_VEHICLE_TREE_DATA, response.items);\r\n resolve();\r\n });\r\n });\r\n },\r\n [PURGE_VEHICLE_TREE_DATA](context) {\r\n context.commit(SET_PURGE_VEHICLE_TREE_DATA);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_VEHICLE_TREE_DATA](state, vehicleTreeData) {\r\n // Add iran\r\n vehicleTreeData.unshift({\r\n id: 0,\r\n name: \"ایران\",\r\n gpS_ID: null,\r\n parentID: null,\r\n level: 0,\r\n description: null,\r\n isActive: true\r\n });\r\n\r\n // Change parent id from -1 to 0\r\n vehicleTreeData\r\n .filter(c => c.level === 1)\r\n .forEach(vehicle => (vehicle.parentID = 0));\r\n\r\n // **************************************************\r\n // TODO: We should move these to server side implementation\r\n vehicleTreeData\r\n .filter(c => c.parentID === 2147483647)\r\n .forEach(vehicle => (vehicle.id = 2147483647));\r\n\r\n vehicleTreeData\r\n .filter(c => c.level === 3 && c.parentID === 0)\r\n .forEach(vehicle => (vehicle.parentID = 2147483647));\r\n\r\n vehicleTreeData\r\n .filter(c => c.level !== 3)\r\n .forEach(vehicle => (vehicle.isActive = true));\r\n // **************************************************\r\n const formatted = vehicleTreeData.map(c => ({\r\n extra: {\r\n name: c.name,\r\n gpS_ID: c.gpS_ID,\r\n parentID: c.parentID,\r\n descriptions: c.description\r\n },\r\n isActive: c.isActive,\r\n hasChildren: false,\r\n selected: false,\r\n id: c.id,\r\n level: c.level,\r\n uniqueId: vehicleTreeGrid_generateUniqueId(c.id, c.level),\r\n parentUniqueId:\r\n c.id === 0\r\n ? null\r\n : vehicleTreeGrid_generateUniqueId(c.parentID, c.level - 1)\r\n }));\r\n\r\n const formattedWithoutLastLevel = formatted\r\n .filter(c => c.level < 3)\r\n // Order by level - desc\r\n .sort((first, second) => {\r\n if (first.level === second.level) {\r\n return 0;\r\n } else if (first.level > second.level) {\r\n return -1;\r\n } else {\r\n return 1;\r\n }\r\n });\r\n\r\n for (let index = 0; index < formattedWithoutLastLevel.length; index++) {\r\n const element = formattedWithoutLastLevel[index];\r\n element.hasChildren = formatted.some(\r\n q => q.parentUniqueId === element.uniqueId\r\n );\r\n\r\n if (element.level === 2) {\r\n element.extra.vehicleCount = formatted.filter(\r\n c => c.parentUniqueId === element.uniqueId\r\n ).length;\r\n } else if (element.level === 1) {\r\n element.extra.vehicleCount = formatted\r\n .filter(c => c.parentUniqueId === element.uniqueId)\r\n .reduce((previous, c) => previous + c.extra.vehicleCount, 0);\r\n }\r\n }\r\n\r\n state.vehicleTreeData = [...formatted];\r\n },\r\n [SET_PURGE_VEHICLE_TREE_DATA](state) {\r\n state.vehicleTreeData = [];\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { missionApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const MISSIONS = \"missions\";\r\n\r\n// action types\r\nexport const GET_MISSIONS = \"getMissions\";\r\n\r\n// mutation types\r\nconst SET_MISSIONS = \"setMissions\";\r\n\r\nconst state = {\r\n missions: []\r\n};\r\n\r\nconst getters = {\r\n [MISSIONS](state) {\r\n return state.missions;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_MISSIONS](context) {\r\n return new Promise(resolve => {\r\n missionApi.getAllMission().then(response => {\r\n context.commit(SET_MISSIONS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_MISSIONS](state, missions) {\r\n state.missions = missions;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\nVue.use(Router);\r\n\r\nfunction manageRedirection() {\r\n const userUISettings = xLocalStorage.getParsed(\"userUISettings\");\r\n\r\n return { name: userUISettings.defaultRouteName ?? \"auth_login\" };\r\n}\r\n\r\nvar router = new Router({\r\n mode: \"history\",\r\n // If you have a route that is handled in XRoutableDialog and our route has meta with corresponding boolean in XRoutableDialog, it's name should be the same with corresponding boolean and ended with _route.\r\n routes: [\r\n {\r\n path: \"/_pages\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"temp\",\r\n name: \"pages_temp\",\r\n component: () => import(\"@/view/pages/TempPage.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/services/login\",\r\n component: () => import(\"@/view/pages/services/Login.vue\"),\r\n meta: {\r\n query: {\r\n SSOUniqueID: \"\",\r\n ApiKey: \"\"\r\n }\r\n }\r\n },\r\n {\r\n path: \"/_pages/dashboard\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"management\",\r\n name: \"pages_dashboard_management\",\r\n component: () =>\r\n import(\"@/view/pages/dashboards/DashboardManagement.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/maps_instant\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"monitoring\",\r\n name: \"pages_monitoring_instant\",\r\n component: () =>\r\n import(\"@/view/pages/monitorings/MonitoringIndex.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/maps_online\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"monitoring\",\r\n name: \"pages_monitoring_current_state\",\r\n component: () =>\r\n import(\"@/view/pages/monitorings/MonitoringIndex.vue\")\r\n },\r\n {\r\n path: \"route_reports\",\r\n name: \"pages_route_reports\",\r\n beforeEnter(to, from, next) {\r\n // When we click on \"نمایش مسیر حرکت\" button in Monitoring's popup, we want to go to RouteReport\r\n // and select the vehicle, while we cannot use params in router-link without dynamic parameter\r\n // (dynamic parameter: vehicleId in \"route_reports/:vehicleId\" path),\r\n // we use the query property for filling the params and go to RouteReport with filled params\r\n if (to.query.vehicleId) {\r\n next({\r\n name: to.name,\r\n params: { vehicleId: +to.query.vehicleId }\r\n });\r\n } else {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\"@/view/pages/routeReports/RouteReportIndex.vue\")\r\n },\r\n {\r\n path: \"tracker\",\r\n name: \"pages_monitoring_tracker\",\r\n component: () =>\r\n import(\"@/view/pages/monitorings/MonitoringIndex.vue\")\r\n },\r\n {\r\n path: \"arbaeen\",\r\n name: \"pages_monitoring_arbaeen\",\r\n component: () =>\r\n import(\"@/view/pages/monitorings/MonitoringIndex.vue\")\r\n },\r\n {\r\n path: \"spatial_distribution\",\r\n name: \"pages_monitoring_spatial_distribution\",\r\n component: () =>\r\n import(\"@/view/pages/monitorings/MonitoringIndex.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/data_entry\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"tracker_stops\",\r\n name: \"pages_tracker_stops\",\r\n component: () =>\r\n import(\"@/view/pages/trackerStops/TrackerStopIndex.vue\"),\r\n children: [\r\n {\r\n path: \":trackerStopId/edit\",\r\n name: \"pages_tracker_stops_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_tracker_stops_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"visit_reports\",\r\n name: \"pages_visit_reports\",\r\n component: () =>\r\n import(\"@/view/pages/visitReports/VisitReportIndex.vue\"),\r\n children: [\r\n {\r\n path: \":visitReportId/edit\",\r\n name: \"pages_visit_reports_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_visit_reports_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"tracker_evaluations\",\r\n name: \"pages_tracker_evaluations\",\r\n component: () =>\r\n import(\r\n \"@/view/pages/trackerEvaluations/TrackerEvaluationIndex.vue\"\r\n ),\r\n children: [\r\n {\r\n path: \":trackerEvaluationId/edit\",\r\n name: \"pages_tracker_evaluations_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_tracker_evaluations_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"machine_failure_reasons\",\r\n name: \"pages_machine_failure_reasons\",\r\n component: () =>\r\n import(\r\n \"@/view/pages/machineFailureReasons/MachineFailureReasonIndex.vue\"\r\n ),\r\n children: [\r\n {\r\n path: \":machineFailureReasonId/edit\",\r\n name: \"pages_machine_failure_reasons_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"missions\",\r\n name: \"pages_missions\",\r\n component: () => import(\"@/view/pages/missions/MissionIndex.vue\"),\r\n children: [\r\n {\r\n path: \":missionId/edit\",\r\n name: \"pages_mission_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_mission_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"supportContracts\",\r\n name: \"pages_support_contracts\",\r\n component: () =>\r\n import(\"@/view/pages/supportContracts/SupportContractIndex.vue\"),\r\n children: [\r\n {\r\n path: \":contractId/edit\",\r\n name: \"pages_support_contracts_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_support_contracts_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"vehicles\",\r\n name: \"pages_vehicles\",\r\n component: () => import(\"@/view/pages/vehicles/VehicleIndex.vue\"),\r\n children: [\r\n {\r\n path: \":trackerId/edit\",\r\n name: \"pages_vehicles_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_vehicles_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"companies\",\r\n name: \"pages_companies\",\r\n component: () => import(\"@/view/pages/companies/CompanyIndex.vue\"),\r\n children: [\r\n {\r\n path: \":companyId/edit\",\r\n name: \"pages_companies_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_companies_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"areas\",\r\n name: \"pages_areas\",\r\n component: () => import(\"@/view/pages/areas/AreaIndex.vue\"),\r\n children: [\r\n {\r\n path: \":geofenceId/edit\",\r\n name: \"pages_areas_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_areas_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/reports/:reportGroup\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \":reportName?\",\r\n name: \"pages_reports\",\r\n component: () => import(\"@/view/pages/reports/ReportIndex.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/video_reports\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"lastWeekVideos\",\r\n name: \"pages_reports_lastWeekVideos\",\r\n component: () =>\r\n import(\"@/view/pages/videoReports/LastWeekVideoReportIndex.vue\")\r\n },\r\n {\r\n path: \"oldVideos\",\r\n name: \"pages_reports_oldVideos\",\r\n component: () =>\r\n import(\"@/view/pages/videoReports/OldVideoReportIndex.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_pages/basic_settings\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"roles\",\r\n name: \"pages_roles\",\r\n component: () => import(\"@/view/pages/roles/RoleIndex.vue\"),\r\n children: [\r\n {\r\n path: \":roleId/edit\",\r\n name: \"pages_roles_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_roles_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"users\",\r\n name: \"pages_users\",\r\n component: () => import(\"@/view/pages/users/UserIndex.vue\"),\r\n children: [\r\n {\r\n path: \":userId/edit\",\r\n name: \"pages_users_edit\",\r\n meta: {\r\n editDialog_route: true\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"pages_users_create\",\r\n meta: {\r\n createDialog_route: true\r\n }\r\n },\r\n {\r\n path: \":userId/activityLog\",\r\n name: \"pages_users_activity-log\",\r\n meta: {\r\n activityDialog_route: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"user_profiles\",\r\n name: \"pages_user_profiles\",\r\n redirect: { name: \"pages_user_profiles_changePassword\" },\r\n component: () => import(\"@/view/pages/userProfiles/Profile.vue\"),\r\n children: [\r\n {\r\n path: \"change_password\",\r\n name: \"pages_user_profiles_changePassword\",\r\n component: () =>\r\n import(\"@/view/pages/userProfiles/ChangePassword.vue\")\r\n },\r\n {\r\n path: \"sensor_usage\",\r\n name: \"pages_user_profiles_sensorUsage\",\r\n component: () =>\r\n import(\"@/view/pages/userProfiles/SensorUsage.vue\")\r\n },\r\n {\r\n path: \"status_datetime\",\r\n name: \"pages_user_profiles_reportSettingChange\",\r\n component: () =>\r\n import(\"@/view/pages/userProfiles/ReportSettingChange.vue\")\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_errors\",\r\n name: \"errors\",\r\n component: () => import(\"@/view/pages/errors/Error.vue\"),\r\n children: [\r\n {\r\n path: \"404\",\r\n name: \"errors_404\",\r\n meta: {\r\n error: true\r\n },\r\n component: () => import(\"@/view/pages/errors/404.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/_auth\",\r\n redirect: manageRedirection(),\r\n component: () => import(\"@/view/pages/auth/Login\"),\r\n children: [\r\n {\r\n name: \"auth_login\",\r\n path: \"login\",\r\n component: () => import(\"@/view/pages/auth/Login\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/\",\r\n redirect: manageRedirection()\r\n },\r\n {\r\n // redirect to 404 route, when none of the above matches\r\n path: \"/*\",\r\n redirect: { name: \"errors_404\" }\r\n }\r\n ]\r\n});\r\n\r\nif (process.env.NODE_ENV === \"development\") {\r\n router.addRoute({\r\n path: \"/\",\r\n redirect: { name: \"auth_login\" }\r\n });\r\n}\r\n\r\nexport default router;\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition \r\nvar KTImageInput = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n editMode: false\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('imageinput')) {\r\n the = KTUtil.data(element).get('imageinput');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('imageinput', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init avatar\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n the.input = KTUtil.find(element, 'input[type=\"file\"]');\r\n the.wrapper = KTUtil.find(element, '.image-input-wrapper');\r\n the.cancel = KTUtil.find(element, '[data-action=\"cancel\"]');\r\n the.remove = KTUtil.find(element, '[data-action=\"remove\"]');\r\n the.src = KTUtil.css(the.wrapper, 'backgroundImage');\r\n the.hidden = KTUtil.find(element, 'input[type=\"hidden\"]');\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n /**\r\n * Build\r\n */\r\n build: function() {\r\n // Handle change\r\n KTUtil.addEvent(the.input, 'change', function(e) {\r\n e.preventDefault();\r\n\r\n\t if (the.input && the.input.files && the.input.files[0]) {\r\n\t var reader = new FileReader();\r\n\t reader.onload = function(e) {\r\n\t KTUtil.css(the.wrapper, 'background-image', 'url('+e.target.result +')');\r\n\t }\r\n\t reader.readAsDataURL(the.input.files[0]);\r\n\r\n\t KTUtil.addClass(the.element, 'image-input-changed');\r\n KTUtil.removeClass(the.element, 'image-input-empty');\r\n\r\n // Fire change event\r\n Plugin.eventTrigger('change');\r\n\t }\r\n });\r\n\r\n // Handle cancel\r\n KTUtil.addEvent(the.cancel, 'click', function(e) {\r\n e.preventDefault();\r\n\r\n // Fire cancel event\r\n Plugin.eventTrigger('cancel');\r\n\r\n\t KTUtil.removeClass(the.element, 'image-input-changed');\r\n KTUtil.removeClass(the.element, 'image-input-empty');\r\n\t KTUtil.css(the.wrapper, 'background-image', the.src);\r\n\t the.input.value = \"\";\r\n\r\n if (the.hidden) {\r\n the.hidden.value = \"0\";\r\n }\r\n });\r\n\r\n // Handle remove\r\n KTUtil.addEvent(the.remove, 'click', function(e) {\r\n e.preventDefault();\r\n\r\n // Fire cancel event\r\n Plugin.eventTrigger('remove');\r\n\r\n\t KTUtil.removeClass(the.element, 'image-input-changed');\r\n KTUtil.addClass(the.element, 'image-input-empty');\r\n\t KTUtil.css(the.wrapper, 'background-image', \"none\");\r\n\t the.input.value = \"\";\r\n\r\n if (the.hidden) {\r\n the.hidden.value = \"1\";\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Attach event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTImageInput;\r\n}\r\n\r\nexport default KTImageInput;","import { monitoringApi } from \"@/core/apis\";\r\nimport { vehicleTreeGrid_generateUniqueId } from \"@/assets/js/components/XVehicleTreeGrid\";\r\n\r\n// getter types\r\nexport const ARBAEEN_TREE_DATA = \"arbaeenTreeData\";\r\n\r\n// action types\r\nexport const GET_ARBAEEN_TREE_DATA = \"getArbaeenTreeData\";\r\nexport const PURGE_ARBAEEN_TREE_DATA = \"purgeArbaeenTreeData\";\r\n\r\n// mutation types\r\nconst SET_ARBAEEN_TREE_DATA = \"setArbaeenTreeData\";\r\nconst SET_PURGE_ARBAEEN_TREE_DATA = \"setPurgeArbaeenTreeData\";\r\n\r\nconst state = {\r\n arbaeenTreeData: []\r\n};\r\n\r\nconst getters = {\r\n [ARBAEEN_TREE_DATA](state) {\r\n return state.arbaeenTreeData;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_ARBAEEN_TREE_DATA](context) {\r\n return new Promise(resolve => {\r\n monitoringApi.arbaeenGetFences().then(response => {\r\n context.commit(SET_ARBAEEN_TREE_DATA, response.items);\r\n resolve();\r\n });\r\n });\r\n },\r\n [PURGE_ARBAEEN_TREE_DATA](context) {\r\n context.commit(SET_PURGE_ARBAEEN_TREE_DATA);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_ARBAEEN_TREE_DATA](state, arbaeenTreeData) {\r\n // Add Iran\r\n arbaeenTreeData.unshift({\r\n id: 0,\r\n name: \"ایران\",\r\n gpS_ID: null,\r\n parentID: null,\r\n level: 0,\r\n description: null,\r\n isActive: true\r\n });\r\n // **************************************************\r\n const formatted = arbaeenTreeData.map(c => ({\r\n extra: {\r\n name: c.name,\r\n gpS_ID: null,\r\n parentID: c.id === 0 ? null : 0,\r\n descriptions: null\r\n },\r\n isActive: true,\r\n hasChildren: false,\r\n selected: false,\r\n id: c.id,\r\n level: c.id === 0 ? 0 : 1,\r\n uniqueId: vehicleTreeGrid_generateUniqueId(c.id, c.id === 0 ? 0 : 1),\r\n parentUniqueId:\r\n c.id === 0 ? null : vehicleTreeGrid_generateUniqueId(0, 0),\r\n polygons: c.polygons ?? []\r\n }));\r\n\r\n for (let index = 0; index < formatted.length; index++) {\r\n const element = formatted[index];\r\n element.hasChildren = formatted.some(\r\n q => q.parentUniqueId === element.uniqueId\r\n );\r\n\r\n element.extra.vehicleCount = null;\r\n }\r\n\r\n state.arbaeenTreeData = [...formatted];\r\n },\r\n [SET_PURGE_ARBAEEN_TREE_DATA](state) {\r\n state.arbaeenTreeData = [];\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { userProfileApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const USER_PFORILE = \"userProfile\";\r\n\r\n// action types\r\nexport const GET_USER_PROFILE = \"getUserProfile\";\r\n\r\n// mutation types\r\nconst SET_USER_PROFILE = \"setUserProfile\";\r\n\r\nconst state = {\r\n userProfile: {\r\n greenTime: 0,\r\n yellowTime: 0,\r\n orangeTime: 0,\r\n redTime: 0\r\n }\r\n};\r\n\r\nconst getters = {\r\n [USER_PFORILE](state) {\r\n return state.userProfile;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_USER_PROFILE](context) {\r\n return new Promise(resolve => {\r\n userProfileApi.getUserProfile().then(response => {\r\n context.commit(SET_USER_PROFILE, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_USER_PROFILE](state, userProfiles) {\r\n state.userProfile.greenTime = +userProfiles.find(c => c.profileKey === 5)\r\n .value;\r\n\r\n state.userProfile.yellowTime = +userProfiles.find(c => c.profileKey === 6)\r\n .value;\r\n\r\n state.userProfile.orangeTime = +userProfiles.find(c => c.profileKey === 7)\r\n .value;\r\n\r\n state.userProfile.redTime = +userProfiles.find(c => c.profileKey === 8)\r\n .value;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { trackerEvaluationApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const TRACKER_EVALUATIONS = \"trackerEvaluations\";\r\n\r\n// action types\r\nexport const GET_TRACKER_EVALUATIONS = \"getTrackerEvaluations\";\r\n\r\n// mutation types\r\nconst SET_TRACKER_EVALUATIONS = \"setTrackerEvaluations\";\r\n\r\nconst state = {\r\n trackerEvaluations: []\r\n};\r\n\r\nconst getters = {\r\n [TRACKER_EVALUATIONS](state) {\r\n return state.trackerEvaluations;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_TRACKER_EVALUATIONS](context) {\r\n return new Promise(resolve => {\r\n trackerEvaluationApi.getAllTrackerTests().then(response => {\r\n context.commit(SET_TRACKER_EVALUATIONS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_TRACKER_EVALUATIONS](state, trackerEvaluations) {\r\n state.trackerEvaluations = trackerEvaluations;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=54d7f29a\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=54d7f29a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib/framework\";\r\nimport i18nService from \"@/core/services/i18n.service.js\";\r\n\r\n// This option suppresses all Vuetify logs and warnings in production\r\nVuetify.config.silent = process.env.NODE_ENV === \"production\" ? true : false;\r\n\r\nVue.use(Vuetify);\r\n\r\n// Translation provided by Vuetify (javascript)\r\nimport fa from \"vuetify/es5/locale/fa\";\r\nimport en from \"vuetify/es5/locale/en\";\r\n\r\nexport default new Vuetify({\r\n rtl: i18nService.isActiveLanguageDirectionRtl() ? true : false,\r\n lang: {\r\n locales: { en, fa },\r\n current: i18nService.getActiveLanguageLang()\r\n },\r\n theme: {\r\n options: {\r\n customProperties: true\r\n },\r\n themes: {\r\n // light: {\r\n // primary: \"#5867dd\",\r\n // secondary: \"#e8ecfa\",\r\n // accent: \"#5d78ff\",\r\n // error: \"#fd397a\",\r\n // info: \"#5578eb\",\r\n // success: \"#0abb87\",\r\n // warning: \"#ffb822\"\r\n // }\r\n }\r\n }\r\n});\r\n","import Vue from \"vue\";\r\nimport LoadScript from \"vue-plugin-load-script\";\r\n\r\nVue.use(LoadScript);\r\n","import Vue from \"vue\";\r\nimport PerfectScrollbar from \"vue2-perfect-scrollbar\";\r\n\r\n// Perfect scrollbar\r\nVue.use(PerfectScrollbar);\r\n","import Vue from \"vue\";\r\nimport { InlineSvgPlugin } from \"vue-inline-svg\";\r\n\r\nVue.use(InlineSvgPlugin);\r\n","\"use strict\";\r\n\r\nvar KTLayoutContent = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height;\r\n\r\n\t\theight = KTUtil.getViewPort().height;\r\n\r\n if (_element) {\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n }\r\n\r\n height = height - KTLayoutHeader.getHeight();\r\n height = height - KTLayoutSubheader.getHeight();\r\n height = height - KTLayoutFooter.getHeight();\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutContent;","\"use strict\";\r\n\r\nvar KTLayoutFooter = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutFooter;","\"use strict\";\r\n\r\nvar KTLayoutStickyCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n var _object;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar offset = 300;\r\n\r\n\t\tif (typeof KTLayoutHeader !== 'undefined') {\r\n\t\t\toffset = KTLayoutHeader.getHeight();\r\n\t\t}\r\n\r\n _object = new KTCard(_element, {\r\n\t\t\tsticky: {\r\n\t\t\t\toffset: offset,\r\n\t\t\t\tzIndex: 90,\r\n\t\t\t\tposition: {\r\n\t\t\t\t\ttop: function() {\r\n\t\t\t\t\t\tvar pos = 0;\r\n var body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (typeof KTLayoutSubheader !== 'undefined' && KTLayoutSubheader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutSubheader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixedForMobile()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeightForMobile();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tpos = pos - 1; // remove header border width\r\n\r\n\t\t\t\t\t\treturn pos;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleft: function(card) {\r\n\t\t\t\t\t\treturn KTUtil.offset(_element).left;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tright: function(card) {\r\n\t\t\t\t\t\tvar body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tvar cardWidth = parseInt(KTUtil.css(_element, 'width'));\r\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(body, 'width'));\r\n\t\t\t\t\t\tvar cardOffsetLeft = KTUtil.offset(_element).left;\r\n\r\n\t\t\t\t\t\treturn bodyWidth - cardWidth - cardOffsetLeft;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t_object.initSticky();\r\n\r\n\t\tKTUtil.addResizeHandler(function() {\r\n\t\t\t_object.updateSticky();\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\tif (_object) {\r\n\t\t\t\t_object.updateSticky();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutStickyCard;","\"use strict\";\r\n\r\nvar KTLayoutStretchedCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar scroll = KTUtil.find(_element, '.card-scroll');\r\n\t\tvar cardBody = KTUtil.find(_element, '.card-body');\r\n\t\tvar cardHeader = KTUtil.find(_element, '.card-header');\r\n\r\n\t\tvar height = KTLayoutContent.getHeight();\r\n\r\n\t\theight = height - parseInt(KTUtil.actualHeight(cardHeader));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'marginTop')) - parseInt(KTUtil.css(_element, 'marginBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'paddingTop')) - parseInt(KTUtil.css(cardBody, 'paddingBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'marginTop')) - parseInt(KTUtil.css(cardBody, 'marginBottom'));\r\n\r\n\t\theight = height - 3;\r\n\r\n\t\tKTUtil.css(scroll, 'height', height + 'px');\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\r\n // Re-calculate on window resize\r\n KTUtil.addResizeHandler(function() {\r\n\t\t\t\t_init();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\t_init();\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutStretchedCard;","\"use strict\";\r\n\r\nvar KTLayoutSubheader = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'subheader-fixed');\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutSubheader;","\"use strict\";\r\n\r\n// Class definition\r\nvar KTLayoutChat = function () {\r\n\t// Private functions\r\n\tvar _init = function (element) {\r\n\t\tvar scrollEl = KTUtil.find(element, '.scroll');\r\n\t\tvar cardBodyEl = KTUtil.find(element, '.card-body');\r\n\t\tvar cardHeaderEl = KTUtil.find(element, '.card-header');\r\n\t\tvar cardFooterEl = KTUtil.find(element, '.card-footer');\r\n\r\n\t\tif (!scrollEl) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// initialize perfect scrollbar(see: https://github.com/utatti/perfect-scrollbar)\r\n\t\tKTUtil.scrollInit(scrollEl, {\r\n\t\t\twindowScroll: false, // allow browser scroll when the scroll reaches the end of the side\r\n\t\t\tmobileNativeScroll: true, // enable native scroll for mobile\r\n\t\t\tdesktopNativeScroll: false, // disable native scroll and use custom scroll for desktop\r\n\t\t\tresetHeightOnDestroy: true, // reset css height on scroll feature destroyed\r\n\t\t\thandleWindowResize: true, // recalculate hight on window resize\r\n\t\t\trememberPosition: true, // remember scroll position in cookie\r\n\t\t\theight: function() { // calculate height\r\n\t\t\t\tvar height;\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointDown('lg')) { // Mobile mode\r\n\t\t\t\t\treturn KTUtil.hasAttr(scrollEl, 'data-mobile-height') ? parseInt(KTUtil.attr(scrollEl, 'data-mobile-height')) : 400;\r\n\t\t\t\t} else if (KTUtil.isBreakpointUp('lg') && KTUtil.hasAttr(scrollEl, 'data-height')) { // Desktop Mode\r\n\t\t\t\t\treturn parseInt(KTUtil.attr(scrollEl, 'data-height'));\r\n\t\t\t\t} else {\r\n\t\t\t\t\theight = KTLayoutContent.getHeight();\r\n\r\n\t\t\t\t\tif (scrollEl) {\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(scrollEl, 'margin-top')) - parseInt(KTUtil.css(scrollEl, 'margin-bottom'));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (cardHeaderEl) {\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardHeaderEl, 'height'));\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardHeaderEl, 'margin-top')) - parseInt(KTUtil.css(cardHeaderEl, 'margin-bottom'));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (cardBodyEl) {\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardBodyEl, 'padding-top')) - parseInt(KTUtil.css(cardBodyEl, 'padding-bottom'));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (cardFooterEl) {\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardFooterEl, 'height'));\r\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardFooterEl, 'margin-top')) - parseInt(KTUtil.css(cardFooterEl, 'margin-bottom'));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Remove additional space\r\n\t\t\t\theight = height - 2;\r\n\r\n\t\t\t\treturn height;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// attach events\r\n\t\tKTUtil.on(element, '.card-footer textarea', 'keydown', function(e) {\r\n\t\t\tif (e.keyCode == 13) {\r\n\t\t\t\t_handeMessaging(element);\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tKTUtil.on(element, '.card-footer .chat-send', 'click', function(e) {\r\n\t\t\t_handeMessaging(element);\r\n\t\t});\r\n\t}\r\n\r\n\tvar _handeMessaging = function(element) {\r\n\t\tvar messagesEl = KTUtil.find(element, '.messages');\r\n\t\tvar scrollEl = KTUtil.find(element, '.scroll');\r\n var textarea = KTUtil.find(element, 'textarea');\r\n\r\n if (textarea.value.length === 0 ) {\r\n return;\r\n }\r\n\r\n\t\tvar node = document.createElement(\"DIV\");\r\n\t\tKTUtil.addClass(node, 'd-flex flex-column mb-5 align-items-end');\r\n\r\n\t\tvar html = '';\r\n\t\thtml += '
';\r\n\t\thtml += '\t
';\r\n\t\thtml += '\t\t2 Hours';\r\n\t\thtml += '\t\tYou';\r\n\t\thtml += '\t
';\r\n\t\thtml += '\t
';\r\n\t\thtml += '\t\t\"Pic\"';\r\n\t\thtml += '\t
';\r\n\t\thtml += '
';\r\n\t\thtml += '
' + textarea.value + '
';\r\n\r\n\t\tKTUtil.setHTML(node, html);\r\n\t\tmessagesEl.appendChild(node);\r\n\t\ttextarea.value = '';\r\n\t\tscrollEl.scrollTop = parseInt(KTUtil.css(messagesEl, 'height'));\r\n\r\n\t\tvar ps;\r\n\t\tif (ps = KTUtil.data(scrollEl).get('ps')) {\r\n\t\t\tps.update();\r\n\t\t}\r\n\r\n\t\tsetTimeout(function() {\r\n\t\t\tvar node = document.createElement(\"DIV\");\r\n\t\t\tKTUtil.addClass(node, 'd-flex flex-column mb-5 align-items-start');\r\n\r\n\t\t\tvar html = '';\r\n\t\t\thtml += '
';\r\n\t\t\thtml += '\t
';\r\n\t\t\thtml += '\t\t\"Pic\"';\r\n\t\t\thtml += '\t
';\r\n\t\t\thtml += '\t
';\r\n\t\t\thtml += '\t\tMatt Pears';\r\n\t\t\thtml += '\t\tJust now';\r\n\t\t\thtml += '\t
';\r\n\t\t\thtml += '
';\r\n\t\t\thtml += '
';\r\n\t\t\thtml += 'Right before vacation season we have the next Big Deal for you.';\r\n\t\t\thtml += '
';\r\n\r\n\t\t\tKTUtil.setHTML(node, html);\r\n\t\t\tmessagesEl.appendChild(node);\r\n\t\t\ttextarea.value = '';\r\n\t\t\tscrollEl.scrollTop = parseInt(KTUtil.css(messagesEl, 'height'));\r\n\r\n\t\t\tvar ps;\r\n\t\t\tif (ps = KTUtil.data(scrollEl).get('ps')) {\r\n\t\t\t\tps.update();\r\n\t\t\t}\r\n\t\t}, 2000);\r\n\t}\r\n\r\n\t// Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n\t\t\t// Init modal chat example\r\n\t\t\t_init(KTUtil.getById(id));\r\n\r\n\t\t\t// Trigger click to show popup modal chat on page load\r\n\t\t\tif (encodeURI(window.location.hostname) == 'keenthemes.com' || encodeURI(window.location.hostname) == 'www.keenthemes.com') {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t if (!KTCookie.getCookie('kt_app_chat_shown')) {\r\n\t\t var expires = new Date(new Date().getTime() + 60 * 60 * 1000); // expire in 60 minutes from now\r\n\r\n\t\t\t\t\t\tKTCookie.setCookie('kt_app_chat_shown', 1, { expires: expires });\r\n\r\n\t\t\t\t\t\tif (KTUtil.getById('kt_app_chat_launch_btn')) {\r\n\t\t\t\t\t\t\tKTUtil.getById('kt_app_chat_launch_btn').click();\r\n\t\t\t\t\t\t}\r\n\t\t }\r\n\t\t }, 2000);\r\n\t }\r\n },\r\n\r\n setup: function(element) {\r\n _init(element);\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutChat;","\"use strict\";\r\n\r\nvar KTLayoutQuickActions = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_actions_close',\r\n toggleBy: 'kt_quick_actions_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutQuickActions;","\"use strict\";\r\n\r\nvar KTLayoutQuickCartPanel = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_cart_close',\r\n toggleBy: 'kt_quick_cart_toggle'\r\n });\r\n\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n var wrapper = KTUtil.find(_element, '.offcanvas-wrapper');\r\n var footer = KTUtil.find(_element, '.offcanvas-footer');\r\n\r\n KTUtil.scrollInit(wrapper, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n if (wrapper) {\r\n height = height - parseInt(KTUtil.css(wrapper, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(wrapper, 'marginBottom'));\r\n }\r\n\r\n if (footer) {\r\n height = height - parseInt(KTUtil.actualHeight(footer));\r\n height = height - parseInt(KTUtil.css(footer, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(footer, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n }\r\n };\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutQuickCartPanel;","\"use strict\";\r\n\r\nvar KTLayoutQuickNotifications = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_notifications_close',\r\n toggleBy: 'kt_quick_notifications_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutQuickNotifications;","\"use strict\";\r\n\r\nvar KTLayoutQuickSearch = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n var form = KTUtil.find(_element, '.quick-search-form');\r\n var results = KTUtil.find(_element, '.quick-search-wrapper');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_search_close',\r\n toggleBy: 'kt_quick_search_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(results, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n if (results) {\r\n height = height - parseInt(KTUtil.actualHeight(form));\r\n height = height - parseInt(KTUtil.css(form, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(form, 'marginBottom'));\r\n\r\n height = height - parseInt(KTUtil.css(results, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(results, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutQuickSearch;","\"use strict\";\r\n//\r\n// Handle User Quick Search For Dropdown, Inline and Offcanvas Search Panels\r\n//\r\n\r\nvar KTLayoutSearch = function() {\r\n // Private properties\r\n var _target;\r\n var _form;\r\n var _input;\r\n var _closeIcon;\r\n var _resultWrapper;\r\n var _resultDropdown;\r\n var _resultDropdownToggle;\r\n var _closeIconContainer;\r\n var _inputGroup;\r\n var _query = '';\r\n\r\n var _hasResult = false;\r\n var _timeout = false;\r\n var _isProcessing = false;\r\n var _requestTimeout = 200; // ajax request fire timeout in milliseconds\r\n var _spinnerClass = 'spinner spinner-sm spinner-primary';\r\n var _resultClass = 'quick-search-has-result';\r\n var _minLength = 2;\r\n\r\n // Private functions\r\n var _showProgress = function() {\r\n _isProcessing = true;\r\n KTUtil.addClass(_closeIconContainer, _spinnerClass);\r\n\r\n if (_closeIcon) {\r\n KTUtil.hide(_closeIcon);\r\n }\r\n }\r\n\r\n var _hideProgress = function() {\r\n _isProcessing = false;\r\n KTUtil.removeClass(_closeIconContainer, _spinnerClass);\r\n\r\n if (_closeIcon) {\r\n if (_input.value.length < _minLength) {\r\n KTUtil.hide(_closeIcon);\r\n } else {\r\n KTUtil.show(_closeIcon, 'flex');\r\n }\r\n }\r\n }\r\n\r\n var _showDropdown = function() {\r\n if (_resultDropdownToggle && !KTUtil.hasClass(_resultDropdown, 'show')) {\r\n $(_resultDropdownToggle).dropdown('toggle');\r\n $(_resultDropdownToggle).dropdown('update');\r\n }\r\n }\r\n\r\n var _hideDropdown = function() {\r\n if (_resultDropdownToggle && KTUtil.hasClass(_resultDropdown, 'show')) {\r\n $(_resultDropdownToggle).dropdown('toggle');\r\n }\r\n }\r\n\r\n var _processSearch = function() {\r\n if (_hasResult && _query === _input.value) {\r\n _hideProgress();\r\n KTUtil.addClass(_target, _resultClass);\r\n _showDropdown();\r\n KTUtil.scrollUpdate(_resultWrapper);\r\n\r\n return;\r\n }\r\n\r\n _query = _input.value;\r\n\r\n KTUtil.removeClass(_target, _resultClass);\r\n _showProgress();\r\n _hideDropdown();\r\n\r\n setTimeout(function() {\r\n $.ajax({\r\n url: HOST_URL + '/api/quick_search.php',\r\n data: {\r\n query: _query\r\n },\r\n dataType: 'html',\r\n success: function(res) {\r\n _hasResult = true;\r\n _hideProgress();\r\n KTUtil.addClass(_target, _resultClass);\r\n KTUtil.setHTML(_resultWrapper, res);\r\n _showDropdown();\r\n KTUtil.scrollUpdate(_resultWrapper);\r\n },\r\n error: function(res) {\r\n _hasResult = false;\r\n _hideProgress();\r\n KTUtil.addClass(_target, _resultClass);\r\n KTUtil.setHTML(_resultWrapper, 'Connection error. Please try again later..');\r\n _showDropdown();\r\n KTUtil.scrollUpdate(_resultWrapper);\r\n }\r\n });\r\n }, 1000);\r\n }\r\n\r\n var _handleCancel = function(e) {\r\n _input.value = '';\r\n _query = '';\r\n _hasResult = false;\r\n KTUtil.hide(_closeIcon);\r\n KTUtil.removeClass(_target, _resultClass);\r\n _hideDropdown();\r\n }\r\n\r\n var _handleSearch = function() {\r\n if (_input.value.length < _minLength) {\r\n _hideProgress();\r\n _hideDropdown();\r\n\r\n return;\r\n }\r\n\r\n if (_isProcessing == true) {\r\n return;\r\n }\r\n\r\n if (_timeout) {\r\n clearTimeout(_timeout);\r\n }\r\n\r\n _timeout = setTimeout(function() {\r\n _processSearch();\r\n }, _requestTimeout);\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _target = KTUtil.getById(id);\r\n\r\n if (!_target) {\r\n return;\r\n }\r\n\r\n _form = KTUtil.find(_target, '.quick-search-form');\r\n _input = KTUtil.find(_target, '.form-control');\r\n _closeIcon = KTUtil.find(_target, '.quick-search-close');\r\n _resultWrapper = KTUtil.find(_target, '.quick-search-wrapper');\r\n _resultDropdown = KTUtil.find(_target, '.dropdown-menu');\r\n _resultDropdownToggle = KTUtil.find(_target, '[data-toggle=\"dropdown\"]');\r\n _inputGroup = KTUtil.find(_target, '.input-group');\r\n _closeIconContainer = KTUtil.find(_target, '.input-group .input-group-append');\r\n\r\n // Attach input keyup handler\r\n KTUtil.addEvent(_input, 'keyup', _handleSearch);\r\n KTUtil.addEvent(_input, 'focus', _handleSearch);\r\n\r\n // Prevent enter click\r\n _form.onkeypress = function(e) {\r\n var key = e.charCode || e.keyCode || 0;\r\n if (key == 13) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n KTUtil.addEvent(_closeIcon, 'click', _handleCancel);\r\n }\r\n };\r\n};\r\n\r\n\r\n\r\nvar KTLayoutSearchInline = KTLayoutSearch;\r\nvar KTLayoutSearchOffcanvas = KTLayoutSearch;\r\n\r\nexport default KTLayoutSearch;","// Keenthemes plugins\r\nimport KTUtil from \"@/assets/js/components/util.js\";\r\nwindow.KTUtil = KTUtil;\r\n\r\nimport KTCard from \"@/assets/js/components/card.js\";\r\nwindow.KTCard = KTCard;\r\n\r\nimport KTCookie from \"@/assets/js/components/cookie.js\";\r\nwindow.KTCookie = KTCookie;\r\n\r\nimport KTDialog from \"@/assets/js/components/dialog.js\";\r\nwindow.KTDialog = KTDialog;\r\n\r\nimport KTHeader from \"@/assets/js/components/header.js\";\r\nwindow.KTHeader = KTHeader;\r\n\r\nimport KTImageInput from \"@/assets/js/components/image-input.js\";\r\nwindow.KTImageInput = KTImageInput;\r\n\r\nimport KTMenu from \"@/assets/js/components/menu.js\";\r\nwindow.KTMenu = KTMenu;\r\n\r\nimport KTOffcanvas from \"@/assets/js/components/offcanvas.js\";\r\nwindow.KTOffcanvas = KTOffcanvas;\r\n\r\nimport KTScrolltop from \"@/assets/js/components/scrolltop.js\";\r\nwindow.KTScrolltop = KTScrolltop;\r\n\r\nimport KTToggle from \"@/assets/js/components/toggle.js\";\r\nwindow.KTToggle = KTToggle;\r\n\r\nimport KTWizard from \"@/assets/js/components/wizard.js\";\r\nwindow.KTWizard = KTWizard;\r\n\r\n// Metronic layout base js\r\nimport KTLayoutAside from \"@/assets/js/layout/base/aside.js\";\r\nwindow.KTLayoutAside = KTLayoutAside;\r\n\r\nimport KTLayoutAsideMenu from \"@/assets/js/layout/base/aside-menu.js\";\r\nwindow.KTLayoutAsideMenu = KTLayoutAsideMenu;\r\n\r\nimport KTLayoutAsideToggle from \"@/assets/js/layout/base/aside-toggle.js\";\r\nwindow.KTLayoutAsideToggle = KTLayoutAsideToggle;\r\n\r\nimport KTLayoutBrand from \"@/assets/js/layout/base/brand.js\";\r\nwindow.KTLayoutBrand = KTLayoutBrand;\r\n\r\nimport KTLayoutContent from \"@/assets/js/layout/base/content.js\";\r\nwindow.KTLayoutContent = KTLayoutContent;\r\n\r\nimport KTLayoutFooter from \"@/assets/js/layout/base/footer.js\";\r\nwindow.KTLayoutFooter = KTLayoutFooter;\r\n\r\nimport KTLayoutHeader from \"@/assets/js/layout/base/header.js\";\r\nwindow.KTLayoutHeader = KTLayoutHeader;\r\n\r\nimport KTLayoutHeaderMenu from \"@/assets/js/layout/base/header-menu.js\";\r\nwindow.KTLayoutHeaderMenu = KTLayoutHeaderMenu;\r\n\r\nimport KTLayoutHeaderTopbar from \"@/assets/js/layout/base/header-topbar.js\";\r\nwindow.KTLayoutHeaderTopbar = KTLayoutHeaderTopbar;\r\n\r\nimport KTLayoutStickyCard from \"@/assets/js/layout/base/sticky-card.js\";\r\nwindow.KTLayoutStickyCard = KTLayoutStickyCard;\r\n\r\nimport KTLayoutStretchedCard from \"@/assets/js/layout/base/stretched-card.js\";\r\nwindow.KTLayoutStretchedCard = KTLayoutStretchedCard;\r\n\r\nimport KTLayoutSubheader from \"@/assets/js/layout/base/subheader.js\";\r\nwindow.KTLayoutSubheader = KTLayoutSubheader;\r\n\r\n// Metronic layout extended js\r\nimport KTLayoutChat from \"@/assets/js/layout/extended/chat.js\";\r\nwindow.KTLayoutChat = KTLayoutChat;\r\n\r\nimport KTLayoutQuickActions from \"@/assets/js/layout/extended/quick-actions.js\";\r\nwindow.KTLayoutQuickActions = KTLayoutQuickActions;\r\n\r\nimport KTLayoutQuickCartPanel from \"@/assets/js/layout/extended/quick-cart.js\";\r\nwindow.KTLayoutQuickCartPanel = KTLayoutQuickCartPanel;\r\n\r\nimport KTLayoutQuickNotifications from \"@/assets/js/layout/extended/quick-notifications.js\";\r\nwindow.KTLayoutQuickNotifications = KTLayoutQuickNotifications;\r\n\r\nimport KTLayoutQuickSearch from \"@/assets/js/layout/extended/quick-search.js\";\r\nwindow.KTLayoutQuickSearch = KTLayoutQuickSearch;\r\n\r\nimport KTLayoutQuickUser from \"@/assets/js/layout/extended/quick-user.js\";\r\nwindow.KTLayoutQuickUser = KTLayoutQuickUser;\r\n\r\nimport KTLayoutScrolltop from \"@/assets/js/layout/extended/scrolltop.js\";\r\nwindow.KTLayoutScrolltop = KTLayoutScrolltop;\r\n\r\nimport KTLayoutSearch from \"@/assets/js/layout/extended/search.js\";\r\nwindow.KTLayoutSearch = KTLayoutSearch;\r\n","import Vue from \"vue\";\r\nimport formValidation from \"@/assets/plugins/formvalidation/dist/es6/core/Core\";\r\n\r\nVue.use(formValidation);\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"@/core/services/store\";\r\nimport ApiService from \"@/core/services/api.service\";\r\nimport { RESET_LAYOUT_CONFIG } from \"@/core/services/store/config.module\";\r\nimport Vidle from \"v-idle\";\r\nimport { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(Vidle);\r\n\r\n// Global 3rd party plugins\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nwindow.PerfectScrollbar = PerfectScrollbar;\r\n\r\n// Vue 3rd party plugins\r\nimport i18n from \"@/core/plugins/vue-i18n\";\r\nimport vuetify from \"@/core/plugins/vuetify\";\r\nimport \"@/core/plugins/loadScript\";\r\nimport \"@/core/plugins/perfect-scrollbar\";\r\nimport \"@/core/plugins/inline-svg\";\r\nimport \"@/core/plugins/metronic\";\r\nimport \"@mdi/font/css/materialdesignicons.css\";\r\nimport \"@/core/plugins/formvalidation\";\r\nimport \"leaflet/dist/leaflet.css\";\r\nimport \"@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css\";\r\nimport \"vazir-font/dist/font-face.css\";\r\nimport \"vazir-font/dist/Farsi-Digits/font-face-FD.css\";\r\n\r\nfetch(process.env.BASE_URL + `infrastructure/appSettings.json`).then(\r\n async response => {\r\n // Merge settings based on environment\r\n let settings = await response.json();\r\n\r\n if (process.env.NODE_ENV !== \"production\") {\r\n const otherEnvironmentResponse = await fetch(\r\n process.env.BASE_URL +\r\n `infrastructure/appSettings.${process.env.NODE_ENV}.json`\r\n );\r\n\r\n const otherEnvironmentSettings = await otherEnvironmentResponse.json();\r\n\r\n settings = { ...settings, ...otherEnvironmentSettings };\r\n }\r\n\r\n // Check to clear cache\r\n const APP_VERSION = \"version\";\r\n const storedAppVersion = xLocalStorage.get(APP_VERSION);\r\n if (!storedAppVersion || storedAppVersion !== settings.version) {\r\n xLocalStorage.clear();\r\n xLocalStorage.set(APP_VERSION, settings.version);\r\n }\r\n\r\n Vue.prototype.$xSettings = settings;\r\n\r\n // API service init\r\n ApiService.init();\r\n\r\n router.beforeEach((to, from, next) => {\r\n // Ensure we checked auth before each page load.\r\n Promise.all([]).then(next);\r\n\r\n // reset config to initial state\r\n store.dispatch(RESET_LAYOUT_CONFIG);\r\n\r\n // Scroll page to top on every route change\r\n setTimeout(() => {\r\n window.scrollTo(0, 0);\r\n }, 100);\r\n });\r\n\r\n router.afterEach((to, from) => {\r\n if (to.meta.error) {\r\n if (to.redirectedFrom) {\r\n window.history.replaceState({}, null, to.redirectedFrom);\r\n } else {\r\n window.history.replaceState({}, null, from.path);\r\n }\r\n }\r\n });\r\n\r\n new Vue({\r\n router,\r\n store,\r\n i18n,\r\n vuetify,\r\n render: h => h(App)\r\n }).$mount(\"#app\");\r\n }\r\n);\r\n","import objectPath from \"object-path\";\r\nimport merge from \"deepmerge\";\r\nimport config from \"@/core/config/layout.config.json\";\r\nimport { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\n// action types\r\nexport const SET_LAYOUT_CONFIG = \"setLayoutConfig\";\r\nexport const RESET_LAYOUT_CONFIG = \"resetLayoutConfig\";\r\nexport const OVERRIDE_LAYOUT_CONFIG = \"overrideLayoutConfig\";\r\nexport const OVERRIDE_PAGE_LAYOUT_CONFIG = \"overridePageLayoutConfig\";\r\n\r\n// mutation types\r\n\r\nexport default {\r\n state: {\r\n config: config,\r\n initial: config\r\n },\r\n getters: {\r\n /**\r\n * Get config from layout config\r\n * @param state\r\n * @returns {function(path, defaultValue): *}\r\n */\r\n layoutConfig: state => (path, defaultValue) => {\r\n return objectPath.get(state.config, path, defaultValue);\r\n }\r\n },\r\n actions: {\r\n /**\r\n * Set and replace the whole config\r\n * @param state\r\n * @param payload\r\n */\r\n [SET_LAYOUT_CONFIG](state, payload) {\r\n state.commit(SET_LAYOUT_CONFIG, payload);\r\n },\r\n\r\n /**\r\n * Reset the config at the initial state\r\n * @param state\r\n */\r\n [RESET_LAYOUT_CONFIG](state) {\r\n state.commit(RESET_LAYOUT_CONFIG);\r\n },\r\n\r\n /**\r\n * Reset the config using saved config in the cache by the layout builder\r\n * @param state\r\n */\r\n [OVERRIDE_LAYOUT_CONFIG](state) {\r\n state.commit(OVERRIDE_LAYOUT_CONFIG);\r\n },\r\n\r\n /**\r\n * Override config by page level\r\n * @param state\r\n * @param payload\r\n */\r\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\r\n state.commit(OVERRIDE_PAGE_LAYOUT_CONFIG, payload);\r\n }\r\n },\r\n mutations: {\r\n [SET_LAYOUT_CONFIG](state, payload) {\r\n state.config = payload;\r\n },\r\n [RESET_LAYOUT_CONFIG](state) {\r\n state.config = Object.assign({}, state.initial);\r\n },\r\n [OVERRIDE_LAYOUT_CONFIG](state) {\r\n state.config = state.initial = Object.assign(\r\n {},\r\n state.initial,\r\n xLocalStorage.getParsed(\"config\")\r\n );\r\n },\r\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\r\n state.config = merge(state.config, payload);\r\n }\r\n }\r\n};\r\n","import i18n from \"@/core/plugins/vue-i18n\";\r\n\r\n// getter types\r\nexport const TOAST_DATA = \"toastData\";\r\n\r\n// action types\r\nexport const DISPLAY_TOAST = \"displayToast\";\r\nexport const EXPIRE_TOAST = \"expireToast\";\r\n\r\n// mutation types\r\nconst SET_DATA = \"setData\";\r\nconst SET_DISPLAY_TOAST = \"setDisplayToast\";\r\n\r\nexport const TOAST_TYPE_ENUM = Object.freeze({\r\n success: \"Success\",\r\n info: \"Info\",\r\n warning: \"Warning\",\r\n error: \"Error\"\r\n});\r\n\r\nconst state = {\r\n toast: {\r\n display: false,\r\n message: i18n.t(\"General.Messages.NoDataReceived\"),\r\n type: TOAST_TYPE_ENUM.warning\r\n }\r\n};\r\n\r\nconst getters = {\r\n [TOAST_DATA](state) {\r\n return state.toast;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [DISPLAY_TOAST](context, payload) {\r\n context.commit(SET_DATA, payload);\r\n context.commit(SET_DISPLAY_TOAST, true);\r\n },\r\n [EXPIRE_TOAST](context) {\r\n context.commit(SET_DISPLAY_TOAST, false);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_DISPLAY_TOAST](state, isOpen) {\r\n state.toast.display = isOpen;\r\n },\r\n [SET_DATA](state, data) {\r\n state.toast.type = data?.type ?? TOAST_TYPE_ENUM.warning;\r\n state.toast.message =\r\n data?.message ?? i18n.t(\"General.Messages.NoDataReceived\");\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { areaApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const AREAS = \"areas\";\r\n\r\n// action types\r\nexport const GET_AREAS = \"getAreas\";\r\n\r\n// mutation types\r\nconst SET_AREAS = \"setAreas\";\r\n\r\nconst state = {\r\n areas: []\r\n};\r\n\r\nconst getters = {\r\n [AREAS](state) {\r\n return state.areas;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_AREAS](context) {\r\n return new Promise(resolve => {\r\n areaApi.getAllAreas().then(response => {\r\n context.commit(SET_AREAS, response.areas);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_AREAS](state, areas) {\r\n state.areas = areas;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\nconst i18nService = {\r\n defaultLanguage: \"fa\",\r\n\r\n languages: [\r\n {\r\n lang: \"fa\",\r\n name: \"Persian\",\r\n flag: \"\",\r\n rtl: true,\r\n culture: \"fa-IR\",\r\n firstDayOfWeek: 6\r\n }\r\n ],\r\n\r\n /**\r\n * Keep the active language in the localStorage\r\n * @param lang\r\n */\r\n setActiveLanguage(lang) {\r\n xLocalStorage.set(\"language\", lang);\r\n },\r\n\r\n /**\r\n * Get the current active language\r\n * @returns {string | string}\r\n */\r\n getActiveLanguage() {\r\n return xLocalStorage.get(\"language\") || this.defaultLanguage;\r\n },\r\n\r\n /**\r\n * Get the current active language flag\r\n * @returns {string | string}\r\n */\r\n getActiveLanguageFlag() {\r\n return this.languages.find(val => {\r\n return val.lang === this.getActiveLanguage();\r\n }).flag;\r\n },\r\n\r\n /**\r\n * Get the current active language culture\r\n * @returns {string | string}\r\n */\r\n getActiveLanguageCulture() {\r\n return this.languages.find(val => {\r\n return val.lang === this.getActiveLanguage();\r\n }).culture;\r\n },\r\n\r\n /**\r\n * Get the current active language\r\n * @returns {string | string}\r\n */\r\n isActiveLanguageDirectionRtl() {\r\n return this.languages.find(val => {\r\n return val.lang === this.getActiveLanguage();\r\n }).rtl;\r\n },\r\n\r\n /**\r\n * Get the current active language lang\r\n * @returns {string | string}\r\n */\r\n getActiveLanguageLang() {\r\n return this.languages.find(val => {\r\n return val.lang === this.getActiveLanguage();\r\n }).lang;\r\n },\r\n getActiveLanguageFirstDayOfWeek() {\r\n return this.languages.find(val => {\r\n return val.culture === this.getActiveLanguageCulture();\r\n }).firstDayOfWeek;\r\n }\r\n};\r\n\r\nexport default i18nService;\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTHeader = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (element === undefined) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n offset: {\r\n desktop: true,\r\n tabletAndMobile: true\r\n },\r\n releseOnReverse: {\r\n desktop: false,\r\n tabletAndMobile: false\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {KTHeader}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('header')) {\r\n the = KTUtil.data(element).get('header');\r\n } else {\r\n // reset header\r\n Plugin.init(options);\r\n\r\n // build header\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('header', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subheader click toggle\r\n * @returns {KTHeader}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n /**\r\n * Reset header\r\n * @returns {KTHeader}\r\n */\r\n build: function() {\r\n var eventTriggerState = true;\r\n var lastScrollTop = 0;\r\n\r\n window.addEventListener('scroll', function() {\r\n var offset = 0, st, attrName;\r\n\r\n if (KTUtil.isBreakpointDown('lg') && the.options.offset.tabletAndMobile === false) {\r\n return;\r\n }\r\n\r\n if (KTUtil.isBreakpointUp('lg') && the.options.offset.desktop === false) {\r\n return;\r\n }\r\n\r\n if (KTUtil.isBreakpointUp('lg')) {\r\n offset = the.options.offset.desktop;\r\n } else if (KTUtil.isBreakpointDown('lg')) {\r\n offset = the.options.offset.tabletAndMobile;\r\n }\r\n\r\n st = KTUtil.getScrollTop();\r\n\r\n if (\r\n (KTUtil.isBreakpointDown('lg') && the.options.releseOnReverse.tabletAndMobile) ||\r\n (KTUtil.isBreakpointUp('lg') && the.options.releseOnReverse.desktop)\r\n ) {\r\n if (st > offset && lastScrollTop < st) { // down scroll mode\r\n if (body.hasAttribute('data-header-scroll') === false) {\r\n body.setAttribute('data-header-scroll', 'on');\r\n }\r\n\r\n if (eventTriggerState) {\r\n Plugin.eventTrigger('scrollOn', the);\r\n eventTriggerState = false;\r\n }\r\n } else { // back scroll mode\r\n if (body.hasAttribute('data-header-scroll') === true) {\r\n body.removeAttribute('data-header-scroll');\r\n }\r\n\r\n if (eventTriggerState == false) {\r\n Plugin.eventTrigger('scrollOff', the);\r\n eventTriggerState = true;\r\n }\r\n }\r\n\r\n lastScrollTop = st;\r\n } else {\r\n if (st > offset) { // down scroll mode\r\n if (body.hasAttribute('data-header-scroll') === false) {\r\n body.setAttribute('data-header-scroll', 'on');\r\n }\r\n\r\n if (eventTriggerState) {\r\n Plugin.eventTrigger('scrollOn', the);\r\n eventTriggerState = false;\r\n }\r\n } else { // back scroll mode\r\n if (body.hasAttribute('data-header-scroll') === true) {\r\n body.removeAttribute('data-header-scroll');\r\n }\r\n\r\n if (eventTriggerState == false) {\r\n Plugin.eventTrigger('scrollOff', the);\r\n eventTriggerState = true;\r\n }\r\n }\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Register event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTHeader;\r\n}\r\n\r\nexport default KTHeader;","\"use strict\";\r\n\r\nvar KTLayoutScrolltop = function() {\r\n // Private properties\r\n var _element;\r\n var _object;\r\n\r\n // Private functions\r\n var _init = function() {\r\n _object = new KTScrolltop(_element, {\r\n offset: 50,\r\n speed: 600,\r\n });\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutScrolltop;","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport auth from \"./auth.module\";\r\nimport htmlClass from \"./htmlclass.module\";\r\nimport config from \"./config.module\";\r\nimport breadcrumbs from \"./breadcrumbs.module\";\r\nimport globalLoading from \"./globalLoading.module\";\r\nimport dialog from \"./dialog.module\";\r\nimport toast from \"./toast.module\";\r\nimport help from \"./help.module\";\r\nimport * as entities from \"./entities\";\r\n\r\nVue.use(Vuex);\r\n\r\nlet store = new Vuex.Store({\r\n modules: {\r\n auth,\r\n htmlClass,\r\n config,\r\n breadcrumbs,\r\n globalLoading,\r\n dialog,\r\n toast,\r\n help,\r\n ...entities\r\n }\r\n});\r\n\r\nexport default store;\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTMenu = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n // scrollable area with Perfect Scroll\r\n scroll: {\r\n rememberPosition: false\r\n },\r\n\r\n // accordion submenu mode\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n autoScroll: false, // enable auto scrolling(focus) to the clicked menu item\r\n autoScrollSpeed: 1200,\r\n expandAll: true // allow having multiple expanded accordions in the menu\r\n },\r\n\r\n // dropdown submenu mode\r\n dropdown: {\r\n timeout: 500 // timeout in milliseconds to show and hide the hoverable submenu dropdown\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {KTMenu}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('menu')) {\r\n the = KTUtil.data(element).get('menu');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n the.eventHandlers = {};\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n the.uid = KTUtil.getUniqueID();\r\n },\r\n\r\n update: function(options) {\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // pause menu\r\n the.pauseDropdownHoverTime = 0;\r\n\r\n // reset menu\r\n Plugin.reset();\r\n\r\n the.eventHandlers = {};\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('menu', the);\r\n },\r\n\r\n reload: function() {\r\n // reset menu\r\n Plugin.reset();\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n // reset submenu props\r\n Plugin.resetSubmenuProps();\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n build: function() {\r\n // General accordion submenu toggle\r\n the.eventHandlers['event_1'] = KTUtil.on( element, '.menu-toggle', 'click', Plugin.handleSubmenuAccordion);\r\n\r\n // Dropdown mode(hoverable)\r\n if (Plugin.getSubmenuMode() === 'dropdown' || Plugin.isConditionalSubmenuDropdown()) {\r\n // dropdown submenu - hover toggle\r\n the.eventHandlers['event_2'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\r\n the.eventHandlers['event_3'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\r\n\r\n // dropdown submenu - click toggle\r\n the.eventHandlers['event_4'] = KTUtil.on( element, '[data-menu-toggle=\"click\"] > .menu-toggle, [data-menu-toggle=\"click\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownClick);\r\n the.eventHandlers['event_5'] = KTUtil.on( element, '[data-menu-toggle=\"tab\"] > .menu-toggle, [data-menu-toggle=\"tab\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\r\n }\r\n\r\n // Handle general link click\r\n the.eventHandlers['event_6'] = KTUtil.on(element, '.menu-item > .menu-link:not(.menu-toggle):not(.menu-link-toggle-skip)', 'click', Plugin.handleLinkClick);\r\n\r\n // Init scrollable menu\r\n if (the.options.scroll && the.options.scroll.height) {\r\n Plugin.scrollInit();\r\n }\r\n },\r\n\r\n /**\r\n * Reset menu\r\n * @returns {KTMenu}\r\n */\r\n reset: function() {\r\n KTUtil.off( element, 'click', the.eventHandlers['event_1']);\r\n\r\n // dropdown submenu - hover toggle\r\n KTUtil.off( element, 'mouseover', the.eventHandlers['event_2']);\r\n KTUtil.off( element, 'mouseout', the.eventHandlers['event_3']);\r\n\r\n // dropdown submenu - click toggle\r\n KTUtil.off( element, 'click', the.eventHandlers['event_4']);\r\n KTUtil.off( element, 'click', the.eventHandlers['event_5']);\r\n\r\n // handle link click\r\n KTUtil.off(element, 'click', the.eventHandlers['event_6']);\r\n },\r\n\r\n /**\r\n * Init scroll menu\r\n *\r\n */\r\n scrollInit: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollDestroy(element, true);\r\n KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition});\r\n } else {\r\n KTUtil.scrollDestroy(element, true);\r\n }\r\n },\r\n\r\n /**\r\n * Update scroll menu\r\n */\r\n scrollUpdate: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollUpdate(element);\r\n }\r\n },\r\n\r\n /**\r\n * Scroll top\r\n */\r\n scrollTop: function() {\r\n if ( the.options.scroll && the.options.scroll.height ) {\r\n KTUtil.scrollTop(element);\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n getSubmenuMode: function(el) {\r\n if ( KTUtil.isBreakpointUp('lg') ) {\r\n if (el && KTUtil.hasAttr(el, 'data-menu-toggle') && KTUtil.attr(el, 'data-menu-toggle') == 'hover') {\r\n return 'dropdown';\r\n }\r\n\r\n if ( KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n if ( KTUtil.hasClasses(body, the.options.submenu.desktop.state.body) ) {\r\n return the.options.submenu.desktop.state.mode;\r\n } else {\r\n return the.options.submenu.desktop.default;\r\n }\r\n } else if ( KTUtil.isset(the.options.submenu, 'desktop') ) {\r\n return the.options.submenu.desktop;\r\n }\r\n } else if ( KTUtil.isBreakpointUp('md') && KTUtil.isBreakpointDown('lg') && KTUtil.isset(the.options.submenu, 'tablet') ) {\r\n return the.options.submenu.tablet;\r\n } else if ( KTUtil.isBreakpointDown('md') && KTUtil.isset(the.options.submenu, 'mobile') ) {\r\n return the.options.submenu.mobile;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n /**\r\n * Get submenu mode for current breakpoint and menu state\r\n * @returns {KTMenu}\r\n */\r\n isConditionalSubmenuDropdown: function() {\r\n if ( KTUtil.isBreakpointUp('lg') && KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Reset submenu attributes\r\n * @returns {KTMenu}\r\n */\r\n resetSubmenuProps: function(e) {\r\n var submenus = KTUtil.findAll(element, '.menu-submenu');\r\n if ( submenus ) {\r\n for (var i = 0, len = submenus.length; i < len; i++) {\r\n var submenu = submenus[0];\r\n\r\n KTUtil.css(submenu, 'display', '');\r\n KTUtil.css(submenu, 'overflow', '');\r\n\r\n if (submenu.hasAttribute('data-hor-direction')) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, submenu.getAttribute('data-hor-direction'));\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverEnter: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n item.removeAttribute('data-hover');\r\n clearTimeout( item.getAttribute('data-timeout') );\r\n item.removeAttribute('data-timeout');\r\n }\r\n\r\n Plugin.showSubmenuDropdown(item);\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDrodownHoverExit: function(e) {\r\n if ( the.resumeDropdownHover() === false ) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this;\r\n var time = the.options.dropdown.timeout;\r\n\r\n var timeout = setTimeout(function() {\r\n if ( item.getAttribute('data-hover') == '1' ) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n }, time);\r\n\r\n item.setAttribute('data-hover', '1');\r\n item.setAttribute('data-timeout', timeout);\r\n },\r\n\r\n /**\r\n * Handles submenu click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClick: function(e) {\r\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\r\n return;\r\n }\r\n\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( item.getAttribute('data-menu-submenu-mode') == 'accordion' ) {\r\n return;\r\n }\r\n\r\n if ( KTUtil.hasClass(item, 'menu-item-hover') === false ) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n } else {\r\n KTUtil.removeClass(item, 'menu-item-open-dropdown' );\r\n Plugin.hideSubmenuDropdown(item, true);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles tab click toggle\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownTabClick: function(e) {\r\n if (Plugin.getSubmenuMode(this) === 'accordion') {\r\n return;\r\n }\r\n var item = this.closest('.menu-item');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if (item.getAttribute('data-menu-submenu-mode') == 'accordion') {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(item, 'menu-item-hover') == false) {\r\n KTUtil.addClass(item, 'menu-item-open-dropdown');\r\n Plugin.showSubmenuDropdown(item);\r\n }\r\n\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Handles link click\r\n * @returns {KTMenu}\r\n */\r\n handleLinkClick: function(e) {\r\n var submenu = this.closest('.menu-item.menu-item-submenu');\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('linkClick', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( submenu && Plugin.getSubmenuMode(submenu) === 'dropdown' ) {\r\n Plugin.hideSubmenuDropdowns();\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu dropdown close on link click\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuDropdownClose: function(e, el) {\r\n // exit if its not submenu dropdown mode\r\n if (Plugin.getSubmenuMode(el) === 'accordion') {\r\n return;\r\n }\r\n\r\n var shown = element.querySelectorAll('.menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)');\r\n\r\n // check if currently clicked link's parent item ha\r\n if (shown.length > 0 && KTUtil.hasClass(el, 'menu-toggle') === false && el.querySelectorAll('.menu-toggle').length === 0) {\r\n // close opened dropdown menus\r\n for (var i = 0, len = shown.length; i < len; i++) {\r\n Plugin.hideSubmenuDropdown(shown[0], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n handleSubmenuAccordion: function(e, el) {\r\n var query;\r\n var item = el ? el : this;\r\n\r\n // Trigger click event handlers\r\n var result = Plugin.eventTrigger('submenuToggle', this, e);\r\n if (result === false) {\r\n return;\r\n }\r\n\r\n if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.menu-item') ) ) {\r\n if (query.getAttribute('data-menu-submenu-mode') != 'accordion' ) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n var li = item.closest('.menu-item');\r\n var submenu = KTUtil.child(li, '.menu-submenu, .menu-inner');\r\n\r\n if (KTUtil.hasClass(item.closest('.menu-item'), 'menu-item-open-always')) {\r\n return;\r\n }\r\n\r\n if ( li && submenu ) {\r\n e.preventDefault();\r\n var speed = the.options.accordion.slideSpeed;\r\n var hasClosables = false;\r\n\r\n if ( KTUtil.hasClass(li, 'menu-item-open') === false ) {\r\n // hide other accordions\r\n if ( the.options.accordion.expandAll === false ) {\r\n var subnav = item.closest('.menu-nav, .menu-subnav');\r\n var closables = KTUtil.children(subnav, '.menu-item.menu-item-open.menu-item-submenu:not(.menu-item-here):not(.menu-item-open-always)');\r\n\r\n if ( subnav && closables ) {\r\n for (var i = 0, len = closables.length; i < len; i++) {\r\n var el_ = closables[0];\r\n var submenu_ = KTUtil.child(el_, '.menu-submenu');\r\n if ( submenu_ ) {\r\n KTUtil.slideUp(submenu_, speed, function() {\r\n Plugin.scrollUpdate();\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n KTUtil.slideDown(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.scrollUpdate();\r\n\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.addClass(li, 'menu-item-open');\r\n\r\n } else {\r\n KTUtil.slideUp(submenu, speed, function() {\r\n Plugin.scrollToItem(item);\r\n Plugin.eventTrigger('submenuToggle', submenu, e);\r\n });\r\n\r\n KTUtil.removeClass(li, 'menu-item-open');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * scroll to item function\r\n * @returns {KTMenu}\r\n */\r\n scrollToItem: function(item) {\r\n // handle auto scroll for accordion submenus\r\n if ( KTUtil.isBreakpointUp('lg') && the.options.accordion.autoScroll && element.getAttribute('data-menu-scroll') !== '1' ) {\r\n KTUtil.scrollTo(item, the.options.accordion.autoScrollSpeed);\r\n }\r\n },\r\n\r\n /**\r\n * Hide submenu dropdown\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdown: function(item, classAlso) {\r\n // remove submenu activation class\r\n if ( classAlso ) {\r\n KTUtil.removeClass(item, 'menu-item-hover');\r\n KTUtil.removeClass(item, 'menu-item-active-tab');\r\n }\r\n\r\n // clear timeout\r\n item.removeAttribute('data-hover');\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.removeClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n\r\n var timeout = item.getAttribute('data-timeout');\r\n item.removeAttribute('data-timeout');\r\n clearTimeout(timeout);\r\n },\r\n\r\n /**\r\n * Hide submenu dropdowns\r\n * @returns {KTMenu}\r\n */\r\n hideSubmenuDropdowns: function() {\r\n var items;\r\n if ( items = element.querySelectorAll('.menu-item-submenu.menu-item-hover:not(.menu-item-tabs):not([data-menu-toggle=\"tab\"])') ) {\r\n for (var j = 0, cnt = items.length; j < cnt; j++) {\r\n Plugin.hideSubmenuDropdown(items[j], true);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * helper functions\r\n * @returns {KTMenu}\r\n */\r\n showSubmenuDropdown: function(item) {\r\n // close active submenus\r\n var list = element.querySelectorAll('.menu-item-submenu.menu-item-hover, .menu-item-submenu.menu-item-active-tab');\r\n\r\n if ( list ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[i];\r\n if ( item !== el && el.contains(item) === false && item.contains(el) === false ) {\r\n Plugin.hideSubmenuDropdown(el, true);\r\n }\r\n }\r\n }\r\n\r\n // add submenu activation class\r\n KTUtil.addClass(item, 'menu-item-hover');\r\n\r\n // Change the alignment of submenu is offscreen.\r\n var submenu = KTUtil.find(item, '.menu-submenu');\r\n\r\n if (submenu && submenu.hasAttribute('data-hor-direction') === false) {\r\n if (KTUtil.hasClass(submenu, 'menu-submenu-left')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-left');\r\n } else if (KTUtil.hasClass(submenu, 'menu-submenu-right')) {\r\n submenu.setAttribute('data-hor-direction', 'menu-submenu-right');\r\n }\r\n }\r\n\r\n if ( submenu && KTUtil.isOffscreen(submenu, 'left', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-left');\r\n KTUtil.addClass(submenu, 'menu-submenu-right');\r\n } else if ( submenu && KTUtil.isOffscreen(submenu, 'right', 15) === true ) {\r\n KTUtil.removeClass(submenu, 'menu-submenu-right');\r\n KTUtil.addClass(submenu, 'menu-submenu-left');\r\n }\r\n\r\n if ( item.getAttribute('data-menu-toggle-class') ) {\r\n KTUtil.addClass(body, item.getAttribute('data-menu-toggle-class'));\r\n }\r\n },\r\n\r\n /**\r\n * Handles submenu slide toggle\r\n * @returns {KTMenu}\r\n */\r\n createSubmenuDropdownClickDropoff: function(el) {\r\n var query;\r\n var zIndex = (query = KTUtil.child(el, '.menu-submenu') ? KTUtil.css(query, 'z-index') : 0) - 1;\r\n\r\n var dropoff = document.createElement('
');\r\n\r\n body.appendChild(dropoff);\r\n\r\n KTUtil.addEvent(dropoff, 'click', function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n KTUtil.remove(this);\r\n Plugin.hideSubmenuDropdown(el, true);\r\n });\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n pauseDropdownHover: function(time) {\r\n var date = new Date();\r\n\r\n the.pauseDropdownHoverTime = date.getTime() + time;\r\n },\r\n\r\n /**\r\n * Handles submenu hover toggle\r\n * @returns {KTMenu}\r\n */\r\n resumeDropdownHover: function() {\r\n var date = new Date();\r\n\r\n return (date.getTime() > the.pauseDropdownHoverTime ? true : false);\r\n },\r\n\r\n /**\r\n * Reset menu's current active item\r\n * @returns {KTMenu}\r\n */\r\n resetActiveItem: function(item) {\r\n var list;\r\n var parents;\r\n\r\n list = element.querySelectorAll('.menu-item-active');\r\n\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n var el = list[0];\r\n KTUtil.removeClass(el, 'menu-item-active');\r\n KTUtil.hide( KTUtil.child(el, '.menu-submenu') );\r\n parents = KTUtil.parents(el, '.menu-item-submenu') || [];\r\n\r\n for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) {\r\n var el_ = parents[i];\r\n KTUtil.removeClass(el_, 'menu-item-open');\r\n KTUtil.hide( KTUtil.child(el_, '.menu-submenu') );\r\n }\r\n }\r\n\r\n // close open submenus\r\n if ( the.options.accordion.expandAll === false ) {\r\n if ( list = element.querySelectorAll('.menu-item-open') ) {\r\n for (var i = 0, len = list.length; i < len; i++) {\r\n KTUtil.removeClass(parents[0], 'menu-item-open');\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Sets menu's active item\r\n * @returns {KTMenu}\r\n */\r\n setActiveItem: function(item) {\r\n // reset current active item\r\n Plugin.resetActiveItem();\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu') || [];\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n KTUtil.addClass(parents[i], 'menu-item-open');\r\n }\r\n\r\n KTUtil.addClass(item, 'menu-item-active');\r\n },\r\n\r\n /**\r\n * Returns page breadcrumbs for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getBreadcrumbs: function(item) {\r\n var query;\r\n var breadcrumbs = [];\r\n var link = KTUtil.child(item, '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(link, '.menu-text') ? query.innerHTML : ''),\r\n title: link.getAttribute('title'),\r\n href: link.getAttribute('href')\r\n });\r\n\r\n var parents = KTUtil.parents(item, '.menu-item-submenu');\r\n for (var i = 0, len = parents.length; i < len; i++) {\r\n var submenuLink = KTUtil.child(parents[i], '.menu-link');\r\n\r\n breadcrumbs.push({\r\n text: (query = KTUtil.child(submenuLink, '.menu-text') ? query.innerHTML : ''),\r\n title: submenuLink.getAttribute('title'),\r\n href: submenuLink.getAttribute('href')\r\n });\r\n }\r\n\r\n return breadcrumbs.reverse();\r\n },\r\n\r\n /**\r\n * Returns page title for the menu's active item\r\n * @returns {KTMenu}\r\n */\r\n getPageTitle: function(item) {\r\n var query;\r\n\r\n return (query = KTUtil.child(item, '.menu-text') ? query.innerHTML : '');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, target, e) {\r\n for (var i = 0; i < the.events.length; i++ ) {\r\n var event = the.events[i];\r\n if ( event.name == name ) {\r\n if ( event.one == true ) {\r\n if ( event.fired == false ) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, target, e);\r\n }\r\n } else {\r\n return event.handler.call(this, target, e);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n },\r\n\r\n removeEvent: function(name) {\r\n if (the.events[name]) {\r\n delete the.events[name];\r\n }\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Update scroll\r\n */\r\n the.scrollUpdate = function() {\r\n return Plugin.scrollUpdate();\r\n };\r\n\r\n /**\r\n * Re-init scroll\r\n */\r\n the.scrollReInit = function() {\r\n return Plugin.scrollInit();\r\n };\r\n\r\n /**\r\n * Scroll top\r\n */\r\n the.scrollTop = function() {\r\n return Plugin.scrollTop();\r\n };\r\n\r\n /**\r\n * Set active menu item\r\n */\r\n the.setActiveItem = function(item) {\r\n return Plugin.setActiveItem(item);\r\n };\r\n\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n the.update = function(options) {\r\n return Plugin.update(options);\r\n };\r\n\r\n /**\r\n * Set breadcrumb for menu item\r\n */\r\n the.getBreadcrumbs = function(item) {\r\n return Plugin.getBreadcrumbs(item);\r\n };\r\n\r\n /**\r\n * Set page title for menu item\r\n */\r\n the.getPageTitle = function(item) {\r\n return Plugin.getPageTitle(item);\r\n };\r\n\r\n /**\r\n * Get submenu mode\r\n */\r\n the.getSubmenuMode = function(el) {\r\n return Plugin.getSubmenuMode(el);\r\n };\r\n\r\n /**\r\n * Hide dropdown\r\n * @returns {Object}\r\n */\r\n the.hideDropdown = function(item) {\r\n Plugin.hideSubmenuDropdown(item, true);\r\n };\r\n\r\n /**\r\n * Hide dropdowns\r\n * @returns {Object}\r\n */\r\n the.hideDropdowns = function() {\r\n Plugin.hideSubmenuDropdowns();\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.pauseDropdownHover = function(time) {\r\n Plugin.pauseDropdownHover(time);\r\n };\r\n\r\n /**\r\n * Disable menu for given time\r\n * @returns {Object}\r\n */\r\n the.resumeDropdownHover = function() {\r\n return Plugin.resumeDropdownHover();\r\n };\r\n\r\n /**\r\n * Register event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n the.off = function(name) {\r\n return Plugin.removeEvent(name);\r\n };\r\n\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Handle plugin on window resize\r\n KTUtil.addResizeHandler(function() {\r\n if (init) {\r\n the.reload();\r\n }\r\n });\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTMenu;\r\n}\r\n\r\n// Plugin global lazy initialization\r\ndocument.addEventListener(\"click\", function (e) {\r\n var body = KTUtil.getByTagName('body')[0];\r\n var query;\r\n if ( query = body.querySelectorAll('.menu-nav .menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)[data-menu-toggle=\"click\"]') ) {\r\n for (var i = 0, len = query.length; i < len; i++) {\r\n var element = query[i].closest('.menu-nav').parentNode;\r\n\r\n if ( element ) {\r\n var the = KTUtil.data(element).get('menu');\r\n\r\n if ( !the ) {\r\n break;\r\n }\r\n\r\n if ( !the || the.getSubmenuMode() !== 'dropdown' ) {\r\n break;\r\n }\r\n\r\n if ( e.target !== element && element.contains(e.target) === false ) {\r\n the.hideDropdowns();\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport default KTMenu;","// action types\r\nexport const ADD_BODY_CLASSNAME = \"addBodyClassName\";\r\nexport const REMOVE_BODY_CLASSNAME = \"removeBodyClassName\";\r\nexport const ADD_CLASSNAME = \"addClassName\";\r\n// mutation types\r\nexport const SET_CLASSNAME_BY_POSITION = \"setClassNameByPosition\";\r\n\r\nexport default {\r\n state: {\r\n classes: {}\r\n },\r\n getters: {\r\n getClasses: state => position => {\r\n if (typeof position !== \"undefined\") {\r\n return state.classes[position];\r\n }\r\n return state.classes;\r\n }\r\n },\r\n actions: {\r\n [ADD_BODY_CLASSNAME](context, className) {\r\n document.body.classList.add(className);\r\n },\r\n [REMOVE_BODY_CLASSNAME](context, className) {\r\n document.body.classList.remove(className);\r\n },\r\n [ADD_CLASSNAME](context, payload) {\r\n context.commit(SET_CLASSNAME_BY_POSITION, payload);\r\n }\r\n },\r\n mutations: {\r\n [SET_CLASSNAME_BY_POSITION](state, payload) {\r\n const { position, className } = payload;\r\n if (!state.classes[position]) {\r\n state.classes[position] = [];\r\n }\r\n state.classes[position].push(className);\r\n }\r\n }\r\n};\r\n","import { trackerStopApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const TRACKER_STOPS = \"trackerStops\";\r\n\r\n// action types\r\nexport const GET_TRACKER_STOPS = \"getTrackerStops\";\r\n\r\n// mutation types\r\nconst SET_TRACKER_STOPS = \"setTrackerStops\";\r\n\r\nconst state = {\r\n trackerStops: []\r\n};\r\n\r\nconst getters = {\r\n [TRACKER_STOPS](state) {\r\n return state.trackerStops;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_TRACKER_STOPS](context) {\r\n return new Promise(resolve => {\r\n trackerStopApi.getAllTrackerStop().then(response => {\r\n context.commit(SET_TRACKER_STOPS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_TRACKER_STOPS](state, trackerStops) {\r\n state.trackerStops = trackerStops;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import Vue from \"vue\";\r\nimport axios from \"axios\";\r\nimport JwtService from \"@/core/services/jwt.service\";\r\n\r\nimport {\r\n //enums\r\n DIALOG_TYPE_ENUM,\r\n //actions\r\n OPEN_DIALOG\r\n} from \"@/core/services/store/dialog.module\";\r\n\r\nimport {\r\n //actions\r\n ADD_LOADING_DATA,\r\n REMOVE_LOADING_DATA\r\n} from \"@/core/services/store/globalLoading.module\";\r\n\r\nimport { LOGOUT } from \"@/core/services/store/auth.module\";\r\n\r\nimport store from \"@/core/services/store/index\";\r\nimport i18n from \"@/core/plugins/vue-i18n\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\n/**\r\n * Service to call HTTP request via Axios\r\n */\r\nconst ApiService = {\r\n /**\r\n * Set the default HTTP request headers\r\n */\r\n setDefaultHeaders() {},\r\n\r\n init() {\r\n // Request interceptor for API calls\r\n axios.interceptors.request.use(\r\n async config => {\r\n // Add global loading\r\n if (!config.ignoreGlobalLoader) {\r\n await store\r\n .dispatch(ADD_LOADING_DATA, config.loadingUniqueId)\r\n .then(response => (config.loadingUniqueId = response));\r\n }\r\n\r\n const accessToken = JwtService.getAccessToken();\r\n if (accessToken) {\r\n config.headers.XAuthentication = `${accessToken}`;\r\n }\r\n\r\n return config;\r\n },\r\n error => Promise.reject(error)\r\n );\r\n\r\n axios.interceptors.response.use(\r\n async function (success) {\r\n store.dispatch(REMOVE_LOADING_DATA, success.config.loadingUniqueId);\r\n\r\n // Globally redirect to login (if needed)\r\n if (success.data.methodStatus === 2) {\r\n store.dispatch(LOGOUT);\r\n Promise.reject(success);\r\n }\r\n\r\n return success;\r\n },\r\n async function (error) {\r\n store.dispatch(REMOVE_LOADING_DATA, error?.config?.loadingUniqueId);\r\n\r\n // Open unhandled error dialog (if needed)\r\n if (\r\n !error?.config?.ignoreUnhandledExceptionAlert &&\r\n axios.isCancel(error) === false\r\n ) {\r\n store.dispatch(OPEN_DIALOG, {\r\n text: i18n.t(\"General.Messages.UnhandledException\"),\r\n type: DIALOG_TYPE_ENUM.error\r\n });\r\n }\r\n\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n axios.defaults.baseURL = `${Vue.prototype.$xSettings.backendUrl}/api`;\r\n },\r\n\r\n async query(resource, params) {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.get(resource, params).catch(error => {\r\n throw new Error(`[ApiService] ${error}`);\r\n });\r\n },\r\n\r\n abort(loadingUniqueId, abortController) {\r\n store.dispatch(REMOVE_LOADING_DATA, loadingUniqueId);\r\n abortController?.abort();\r\n },\r\n\r\n isCancel(exception) {\r\n return axios.isCancel(exception);\r\n },\r\n\r\n /**\r\n * Send the GET HTTP request\r\n * @param resource\r\n * @param slug\r\n * @returns {*}\r\n */\r\n async get(resource, slug = \"\") {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.get(`${resource}/${slug}`).catch(error => {\r\n throw new Error(`[ApiService] ${error}`);\r\n });\r\n },\r\n\r\n /**\r\n * Set the POST HTTP request\r\n * @param resource\r\n * @param params\r\n * @returns {*}\r\n */\r\n post(resource, params, config = {}) {\r\n this.setDefaultHeaders();\r\n\r\n const abortController = new AbortController();\r\n config.signal = abortController.signal;\r\n config.loadingUniqueId = uuidv4();\r\n\r\n return {\r\n result: axios.post(`${resource}`, params, config),\r\n loadingUniqueId: config.loadingUniqueId,\r\n abortController\r\n };\r\n },\r\n\r\n /**\r\n * Send the UPDATE HTTP request\r\n * @param resource\r\n * @param slug\r\n * @param params\r\n * @returns {IDBRequest | Promise}\r\n */\r\n async update(resource, slug, params) {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.put(`${resource}/${slug}`, params);\r\n },\r\n\r\n /**\r\n * Send the PUT HTTP request\r\n * @param resource\r\n * @param params\r\n * @returns {IDBRequest | Promise}\r\n */\r\n async put(resource, params) {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.put(`${resource}`, params);\r\n },\r\n\r\n /**\r\n * Send the DELETE HTTP request\r\n * @param resource\r\n * @returns {*}\r\n */\r\n async delete(resource) {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.delete(resource).catch(error => {\r\n throw new Error(`[ApiService] ${error}`);\r\n });\r\n },\r\n\r\n /**\r\n * Send the PATCH HTTP request\r\n * @param resource\r\n * @returns {*}\r\n */\r\n async patch(resource) {\r\n this.setDefaultHeaders();\r\n\r\n return await axios.patch(resource).catch(error => {\r\n throw new Error(`[ApiService] ${error}`);\r\n });\r\n }\r\n};\r\n\r\nexport default ApiService;\r\n","import { machineFailureReasonApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const MACHINE_FAILURE_REASONS = \"machineFailureReasons\";\r\n\r\n// action types\r\nexport const GET_MACHINE_FAILURE_REASONS = \"getMachineFailureReasons\";\r\n\r\n// mutation types\r\nconst SET_MACHINE_FAILURE_REASONS = \"setMachineFailureReasons\";\r\n\r\nconst state = {\r\n machineFailureReasons: []\r\n};\r\n\r\nconst getters = {\r\n [MACHINE_FAILURE_REASONS](state) {\r\n return state.machineFailureReasons;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_MACHINE_FAILURE_REASONS](context) {\r\n return new Promise(resolve => {\r\n machineFailureReasonApi.getAllMachineFailures().then(response => {\r\n context.commit(SET_MACHINE_FAILURE_REASONS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_MACHINE_FAILURE_REASONS](state, machineFailureReasons) {\r\n state.machineFailureReasons = machineFailureReasons;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import SecureLS from \"secure-ls\";\r\n\r\nconst secureLs = new SecureLS({ encodingType: \"aes\" });\r\nconst isDebuggingEnvironment = process.env.NODE_ENV === \"development\";\r\n\r\nconst baseLocalStorage = {\r\n get: key => {\r\n return isDebuggingEnvironment\r\n ? localStorage.getItem(key)\r\n : secureLs.get(key);\r\n },\r\n set: (key, data) => {\r\n return isDebuggingEnvironment\r\n ? localStorage.setItem(key, data)\r\n : secureLs.set(key, data);\r\n },\r\n remove: key => {\r\n return isDebuggingEnvironment\r\n ? localStorage.removeItem(key)\r\n : secureLs.remove(key);\r\n },\r\n clear: () => {\r\n return isDebuggingEnvironment ? localStorage.clear() : secureLs.clear();\r\n }\r\n};\r\n\r\nexport const xLocalStorage = {\r\n ...baseLocalStorage,\r\n getParsed: key => {\r\n return JSON.parse(\r\n baseLocalStorage.get(key) ? baseLocalStorage.get(key) : \"{}\"\r\n );\r\n }\r\n};\r\n","import { loginApi, userApi } from \"@/core/apis\";\r\nimport JwtService from \"@/core/services/jwt.service\";\r\nimport router from \"@/router\";\r\nimport { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\nimport {\r\n // actions\r\n PURGE_VEHICLE_TREE_DATA\r\n} from \"@/core/services/store/entities/vehicleTreeFlat.module\";\r\n\r\nimport {\r\n // actions\r\n PURGE_ARBAEEN_TREE_DATA\r\n} from \"@/core/services/store/entities/arbaeenTree.module\";\r\n\r\nimport {\r\n getAllPermissions,\r\n hasPermissions\r\n} from \"@/assets/js/components/XPermissionManager\";\r\n\r\n// getter types\r\nexport const TIMER = \"timer\";\r\n\r\n// action types\r\nexport const LOGIN = \"login\";\r\nexport const LOGIN_SSO = \"loginSSO\";\r\nexport const LOGOUT = \"logout\";\r\nexport const GENERATE_AUTHENTICATED_USER = \"generateAuthenticatedUser\";\r\nexport const UPDATE_TIMER = \"updateTimer\";\r\n\r\n// mutation types\r\nconst PURGE_AUTH = \"purgeAuth\";\r\nconst SET_AUTH = \"setUser\";\r\nconst SET_AUTHENTICATED_USER = \"setAuthenticatedUser\";\r\nconst SET_TIMER = \"setTimer\";\r\n\r\nconst USER_UI_SETTINGS = \"userUISettings\";\r\n\r\nconst state = {\r\n user: {},\r\n remindTimer: 30\r\n};\r\n\r\nconst getters = {\r\n currentUser(state) {\r\n return state.user;\r\n },\r\n [TIMER](state) {\r\n return state.remindTimer;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [LOGIN](context, credentials) {\r\n return new Promise(resolve => {\r\n context.commit(PURGE_AUTH);\r\n\r\n loginApi.doLogin(credentials).then(loginResponse => {\r\n if (loginResponse.success) {\r\n context.commit(SET_AUTH, loginResponse.token);\r\n }\r\n\r\n resolve(loginResponse.success);\r\n });\r\n });\r\n },\r\n [LOGIN_SSO](context, request) {\r\n return new Promise(resolve => {\r\n context.commit(PURGE_AUTH);\r\n\r\n loginApi.doLoginSSO(request).then(loginResponse => {\r\n if (loginResponse.success) {\r\n context.commit(SET_AUTH, loginResponse.token);\r\n }\r\n\r\n resolve(loginResponse.success);\r\n });\r\n });\r\n },\r\n [LOGOUT](context) {\r\n return new Promise(resolve => {\r\n loginApi.doLogout().then(() => {\r\n context.commit(PURGE_AUTH);\r\n context.dispatch(PURGE_VEHICLE_TREE_DATA);\r\n context.dispatch(PURGE_ARBAEEN_TREE_DATA);\r\n router.push({ name: \"auth_login\" });\r\n resolve();\r\n });\r\n });\r\n },\r\n [GENERATE_AUTHENTICATED_USER](context) {\r\n return new Promise(resolve => {\r\n userApi.getCurrentUser().then(currentUser => {\r\n context.commit(SET_AUTHENTICATED_USER, currentUser);\r\n resolve();\r\n });\r\n });\r\n },\r\n [UPDATE_TIMER](context, payload) {\r\n context.commit(SET_TIMER, payload);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_AUTH](state, tokens) {\r\n state.isAuthenticated = true;\r\n state.errors = {};\r\n JwtService.saveToken(tokens);\r\n },\r\n [PURGE_AUTH](state) {\r\n xLocalStorage.remove(USER_UI_SETTINGS);\r\n state.isAuthenticated = false;\r\n state.user = {};\r\n state.errors = {};\r\n JwtService.destroyAllTokens();\r\n },\r\n [SET_AUTHENTICATED_USER](state, user) {\r\n xLocalStorage.remove(USER_UI_SETTINGS);\r\n\r\n const userUISettings = {\r\n defaultRouteName: hasPermissions(\r\n [getAllPermissions().DashBoard],\r\n user.permittedUsecases\r\n )\r\n ? \"pages_dashboard_management\"\r\n : \"pages_monitoring_instant\"\r\n };\r\n\r\n xLocalStorage.set(USER_UI_SETTINGS, JSON.stringify(userUISettings));\r\n\r\n state.user = user;\r\n state.user.isAuthenticated = !!JwtService.getAccessToken();\r\n state.user.defaultRouteName = userUISettings.defaultRouteName;\r\n },\r\n [SET_TIMER](state, value) {\r\n state.remindTimer = value;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use-strict\";\r\n\r\n// Output description\r\n// {4: fix number}{xx(2): level with leading zero}{xxxxxxxxxxxx(12): id with leading zero}\r\nexport const vehicleTreeGrid_generateUniqueId = (id, level) =>\r\n +`4${String(level).padStart(2, \"0\")}${String(id).padStart(12, \"0\")}`;\r\n","\"use strict\";\r\n\r\nvar KTLayoutQuickUser = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutQuickUser;","import { userApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const USERS = \"users\";\r\n\r\n// action types\r\nexport const GET_USERS = \"getUsers\";\r\n\r\n// mutation types\r\nconst SET_USERS = \"setUsers\";\r\n\r\nconst state = {\r\n users: []\r\n};\r\n\r\nconst getters = {\r\n [USERS](state) {\r\n return state.users;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_USERS](context) {\r\n return new Promise(resolve => {\r\n userApi.getAllUsers().then(response => {\r\n context.commit(SET_USERS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_USERS](state, users) {\r\n state.users = users;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nvar KTLayoutBrand = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutBrand;","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition \r\nvar KTDialog = function(options) {\r\n // Main object\r\n var the = this;\r\n\r\n // Get element object\r\n var element;\r\n var body = KTUtil.getBody();\r\n\r\n // Default options\r\n var defaultOptions = {\r\n 'placement' : 'top center',\r\n 'type' : 'loader',\r\n 'width' : 100,\r\n 'state' : 'default',\r\n 'message' : 'Loading...'\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n Plugin.init(options);\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subtoggle click toggle\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n the.state = false;\r\n },\r\n\r\n /**\r\n * Show dialog\r\n */\r\n show: function() {\r\n Plugin.eventTrigger('show');\r\n\r\n element = document.createElement(\"DIV\");\r\n KTUtil.setHTML(element, the.options.message);\r\n\r\n KTUtil.addClass(element, 'dialog dialog-shown');\r\n KTUtil.addClass(element, 'dialog-' + the.options.state);\r\n KTUtil.addClass(element, 'dialog-' + the.options.type);\r\n\r\n if (the.options.placement == 'top center') {\r\n KTUtil.addClass(element, 'dialog-top-center');\r\n }\r\n\r\n body.appendChild(element);\r\n\r\n the.state = 'shown';\r\n\r\n Plugin.eventTrigger('shown');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Hide dialog\r\n */\r\n hide: function() {\r\n if (element) {\r\n Plugin.eventTrigger('hide');\r\n\r\n element.remove();\r\n the.state = 'hidden';\r\n\r\n Plugin.eventTrigger('hidden');\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Check shown state\r\n */\r\n the.shown = function() {\r\n return the.state == 'shown';\r\n };\r\n\r\n /**\r\n * Check hidden state\r\n */\r\n the.hidden = function() {\r\n return the.state == 'hidden';\r\n };\r\n\r\n /**\r\n * Show dialog\r\n */\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n /**\r\n * Hide dialog\r\n */\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @returns {KTToggle}\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @returns {KTToggle}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTDialog;\r\n}\r\n\r\nexport default KTDialog;","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTWizard = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n startStep: 1,\r\n clickableSteps: false // to make steps clickable this set value true and add data-wizard-clickable=\"true\" in HTML for class=\"wizard\" element\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('wizard')) {\r\n the = KTUtil.data(element).get('wizard');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('wizard', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init wizard\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n // Elements\r\n the.steps = KTUtil.findAll(element, '[data-wizard-type=\"step\"]');\r\n\r\n the.btnNext = KTUtil.find(element, '[data-wizard-type=\"action-next\"]');\r\n the.btnPrev = KTUtil.find(element, '[data-wizard-type=\"action-prev\"]');\r\n the.btnSubmit = KTUtil.find(element, '[data-wizard-type=\"action-submit\"]');\r\n\r\n // Variables\r\n the.events = [];\r\n the.lastStep = 0;\r\n the.currentStep = 1;\r\n the.newStep = 0;\r\n the.stopped = false;\r\n the.totalSteps = the.steps.length;\r\n\r\n // Init current step\r\n if (the.options.startStep > 1) {\r\n Plugin.goTo(the.options.startStep);\r\n }\r\n\r\n // Init UI\r\n Plugin.updateUI();\r\n },\r\n\r\n /**\r\n * Build Form Wizard\r\n */\r\n build: function() {\r\n // Next button event handler\r\n KTUtil.addEvent(the.btnNext, 'click', function(e) {\r\n e.preventDefault();\r\n\r\n // Set new step number\r\n Plugin.setNewStep(Plugin.getNextStep());\r\n\r\n // Trigger change event\r\n if (Plugin.eventTrigger('change') !== false) {\r\n Plugin.goTo(Plugin.getNextStep());\r\n }\r\n });\r\n\r\n // Prev button event handler\r\n KTUtil.addEvent(the.btnPrev, 'click', function(e) {\r\n e.preventDefault();\r\n\r\n // Set new step number\r\n Plugin.setNewStep(Plugin.getPrevStep());\r\n\r\n // Trigger change event\r\n if (Plugin.eventTrigger('change') !== false) {\r\n Plugin.goTo(Plugin.getPrevStep());\r\n }\r\n });\r\n\r\n if (the.options.clickableSteps === true) {\r\n KTUtil.on(element, '[data-wizard-type=\"step\"]', 'click', function() {\r\n var index = KTUtil.index(this) + 1;\r\n\r\n if (index !== the.currentStep) {\r\n Plugin.setNewStep(index);\r\n\r\n // Trigger change event\r\n if (Plugin.eventTrigger('change') !== false) {\r\n Plugin.goTo(index);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Submit button event handler\r\n KTUtil.addEvent(the.btnSubmit, 'click', function(e) {\r\n e.preventDefault();\r\n\r\n Plugin.eventTrigger('submit');\r\n });\r\n },\r\n\r\n /**\r\n * Handles wizard click wizard\r\n */\r\n goTo: function(number) {\r\n // Skip if stopped\r\n if (the.stopped === true) {\r\n the.stopped = false;\r\n return;\r\n }\r\n\r\n // Skip if this step is already shown\r\n if (number === the.currentStep || number > the.totalSteps || number < 0) {\r\n return;\r\n }\r\n\r\n // Validate step number\r\n number = parseInt(number);\r\n\r\n // Set current step\r\n the.lastStep = the.currentStep;\r\n the.currentStep = number;\r\n the.newStep = 0;\r\n\r\n Plugin.updateUI();\r\n\r\n Plugin.eventTrigger('changed');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Stop wizard\r\n */\r\n stop: function() {\r\n the.stopped = true;\r\n },\r\n\r\n /**\r\n * Resume wizard\r\n */\r\n resume: function() {\r\n the.stopped = false;\r\n },\r\n\r\n /**\r\n * Check last step\r\n */\r\n isLastStep: function() {\r\n return the.currentStep === the.totalSteps;\r\n },\r\n\r\n /**\r\n * Check first step\r\n */\r\n isFirstStep: function() {\r\n return the.currentStep === 1;\r\n },\r\n\r\n /**\r\n * Check between step\r\n */\r\n isBetweenStep: function() {\r\n return Plugin.isLastStep() === false && Plugin.isFirstStep() === false;\r\n },\r\n\r\n /**\r\n * Update wizard UI after step change\r\n */\r\n updateUI: function() {\r\n var stepType = '';\r\n var index = the.currentStep - 1;\r\n\r\n if (Plugin.isLastStep()) {\r\n stepType = 'last';\r\n } else if (Plugin.isFirstStep()) {\r\n stepType = 'first';\r\n } else {\r\n stepType = 'between';\r\n }\r\n\r\n KTUtil.attr(the.element, 'data-wizard-state', stepType);\r\n\r\n // Steps\r\n var steps = KTUtil.findAll(the.element, '[data-wizard-type=\"step\"]');\r\n\r\n if (steps && steps.length > 0) {\r\n for (var i = 0, len = steps.length; i < len; i++) {\r\n if (i == index) {\r\n KTUtil.attr(steps[i], 'data-wizard-state', 'current');\r\n } else {\r\n if (i < index) {\r\n KTUtil.attr(steps[i], 'data-wizard-state', 'done');\r\n } else {\r\n KTUtil.attr(steps[i], 'data-wizard-state', 'pending');\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Steps Info\r\n var stepsInfo = KTUtil.findAll(the.element, '[data-wizard-type=\"step-info\"]');\r\n if (stepsInfo &&stepsInfo.length > 0) {\r\n for (var i = 0, len = stepsInfo.length; i < len; i++) {\r\n if (i == index) {\r\n KTUtil.attr(stepsInfo[i], 'data-wizard-state', 'current');\r\n } else {\r\n KTUtil.removeAttr(stepsInfo[i], 'data-wizard-state');\r\n }\r\n }\r\n }\r\n\r\n // Steps Content\r\n var stepsContent = KTUtil.findAll(the.element, '[data-wizard-type=\"step-content\"]');\r\n if (stepsContent&& stepsContent.length > 0) {\r\n for (var i = 0, len = stepsContent.length; i < len; i++) {\r\n if (i == index) {\r\n KTUtil.attr(stepsContent[i], 'data-wizard-state', 'current');\r\n } else {\r\n KTUtil.removeAttr(stepsContent[i], 'data-wizard-state');\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Get next step number\r\n */\r\n getNextStep: function() {\r\n if (the.totalSteps >= (the.currentStep + 1)) {\r\n return the.currentStep + 1;\r\n } else {\r\n return the.totalSteps;\r\n }\r\n },\r\n\r\n /**\r\n * Get prev step number\r\n */\r\n getPrevStep: function() {\r\n if ((the.currentStep - 1) >= 1) {\r\n return the.currentStep - 1;\r\n } else {\r\n return 1;\r\n }\r\n },\r\n\r\n /**\r\n * Get new step number\r\n */\r\n getNewStep: function() {\r\n return the.newStep;\r\n },\r\n\r\n /**\r\n * Set new step\r\n */\r\n setNewStep: function(step) {\r\n the.newStep = step;\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, nested) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Go to the next step\r\n */\r\n the.goNext = function() {\r\n return Plugin.goTo(Plugin.getNextStep());\r\n };\r\n\r\n /**\r\n * Go to the prev step\r\n */\r\n the.goPrev = function() {\r\n return Plugin.goTo(Plugin.getPrevStep());\r\n };\r\n\r\n /**\r\n * Go to the last step\r\n */\r\n the.goLast = function() {\r\n return Plugin.goTo(Plugin.getLastStep());\r\n };\r\n\r\n /**\r\n * Go to the first step\r\n */\r\n the.goFirst = function() {\r\n return Plugin.goTo(Plugin.getFirstStep());\r\n };\r\n\r\n /**\r\n * Go to a step\r\n */\r\n the.goTo = function(number) {\r\n return Plugin.goTo(number);\r\n };\r\n\r\n /**\r\n * Stop wizard\r\n */\r\n the.stop = function() {\r\n return Plugin.stop();\r\n };\r\n\r\n /**\r\n * Resume wizard\r\n */\r\n the.resume = function() {\r\n return Plugin.resume();\r\n };\r\n\r\n /**\r\n * Get current step number\r\n */\r\n the.getStep = function() {\r\n return the.currentStep;\r\n };\r\n\r\n /**\r\n * Get new step number\r\n */\r\n the.getNewStep = function() {\r\n return Plugin.getNewStep();\r\n };\r\n\r\n /**\r\n * Set new step number\r\n */\r\n the.setNewStep = function(number) {\r\n Plugin.setNewStep(number);\r\n };\r\n\r\n /**\r\n * Check last step\r\n */\r\n the.isLastStep = function() {\r\n return Plugin.isLastStep();\r\n };\r\n\r\n /**\r\n * Check first step\r\n */\r\n the.isFirstStep = function() {\r\n return Plugin.isFirstStep();\r\n };\r\n\r\n /**\r\n * Attach event(\"change\", \"changed\", \"submit\")\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTWizard;\r\n}\r\n\r\nexport default KTWizard;","\"use strict\";\r\n\r\n/**\r\n * @class KTUtil base utilize class that privides helper functions\r\n */\r\n\r\n// Polyfills\r\n/**\r\n * Element.matches() polyfill (simple version)\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\r\n */\r\nif (!Element.prototype.matches) {\r\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Element.closest() polyfill\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\r\n */\r\nif (!Element.prototype.closest) {\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\tElement.prototype.closest = function (s) {\r\n\t\tvar el = this;\r\n\t\tvar ancestor = this;\r\n\t\tif (!document.documentElement.contains(el)) return null;\r\n\t\tdo {\r\n\t\t\tif (ancestor.matches(s)) return ancestor;\r\n\t\t\tancestor = ancestor.parentElement;\r\n\t\t} while (ancestor !== null);\r\n\t\treturn null;\r\n\t};\r\n}\r\n\r\n/**\r\n * ChildNode.remove() polyfill\r\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\r\n * @author Chris Ferdinandi\r\n * @license MIT\r\n */\r\n(function (elem) {\r\n\tfor (var i = 0; i < elem.length; i++) {\r\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\r\n\t\twindow[elem[i]].prototype.remove = function () {\r\n\t\t\tthis.parentNode.removeChild(this);\r\n\t\t};\r\n\t}\r\n})(['Element', 'CharacterData', 'DocumentType']);\r\n\r\n\r\n//\r\n// requestAnimationFrame polyfill by Erik Möller.\r\n// With fixes from Paul Irish and Tino Zijdel\r\n//\r\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n//\r\n// MIT license\r\n//\r\n(function() {\r\n var lastTime = 0;\r\n var vendors = ['webkit', 'moz'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame =\r\n window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n\r\n if (!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function(callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = window.setTimeout(function() {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n\r\n if (!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function(id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\r\n(function(arr) {\r\n arr.forEach(function(item) {\r\n if (item.hasOwnProperty('prepend')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'prepend', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function prepend() {\r\n var argArr = Array.prototype.slice.call(arguments),\r\n docFrag = document.createDocumentFragment();\r\n\r\n argArr.forEach(function(argItem) {\r\n var isNode = argItem instanceof Node;\r\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n });\r\n\r\n this.insertBefore(docFrag, this.firstChild);\r\n }\r\n });\r\n });\r\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\r\n\r\n// getAttributeNames\r\nif (Element.prototype.getAttributeNames == undefined) {\r\n Element.prototype.getAttributeNames = function () {\r\n var attributes = this.attributes;\r\n var length = attributes.length;\r\n var result = new Array(length);\r\n for (var i = 0; i < length; i++) {\r\n result[i] = attributes[i].name;\r\n }\r\n return result;\r\n };\r\n}\r\n\r\n// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nvar KTUtil = function() {\r\n var resizeHandlers = [];\r\n\r\n /** @type {object} breakpoints The device width breakpoints **/\r\n var breakpoints = {\r\n sm: 544, // Small screen / phone\r\n md: 768, // Medium screen / tablet\r\n lg: 992, // Large screen / desktop\r\n xl: 1200 // Extra large screen / wide desktop\r\n };\r\n\r\n /**\r\n * Handle window resize event with some\r\n * delay to attach event handlers upon resize complete\r\n */\r\n var _windowResizeHandler = function() {\r\n var _runResizeHandlers = function() {\r\n // reinitialize other subscribed elements\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n var each = resizeHandlers[i];\r\n each.call();\r\n }\r\n };\r\n\r\n var timer;\r\n\r\n window.addEventListener('resize', function() {\r\n KTUtil.throttle(timer, function() {\r\n _runResizeHandlers();\r\n }, 200);\r\n });\r\n };\r\n\r\n return {\r\n /**\r\n * Class main initializer.\r\n * @param {object} settings.\r\n * @returns null\r\n */\r\n //main function to initiate the theme\r\n init: function(settings) {\r\n if (settings && settings.breakpoints) {\r\n breakpoints = settings.breakpoints;\r\n }\r\n\r\n _windowResizeHandler();\r\n },\r\n\r\n /**\r\n * Adds window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n addResizeHandler: function(callback) {\r\n resizeHandlers.push(callback);\r\n },\r\n\r\n /**\r\n * Removes window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n removeResizeHandler: function(callback) {\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n if (callback === resizeHandlers[i]) {\r\n delete resizeHandlers[i];\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Trigger window resize handlers.\r\n */\r\n runResizeHandlers: function() {\r\n _runResizeHandlers();\r\n },\r\n\r\n resize: function() {\r\n if (typeof(Event) === 'function') {\r\n // modern browsers\r\n window.dispatchEvent(new Event('resize'));\r\n } else {\r\n // for IE and other old browsers\r\n // causes deprecation warning on modern browsers\r\n var evt = window.document.createEvent('UIEvents');\r\n evt.initUIEvent('resize', true, false, window, 0);\r\n window.dispatchEvent(evt);\r\n }\r\n },\r\n\r\n /**\r\n * Get GET parameter value from URL.\r\n * @param {string} paramName Parameter name.\r\n * @returns {string}\r\n */\r\n getURLParam: function(paramName) {\r\n var searchString = window.location.search.substring(1),\r\n i, val, params = searchString.split(\"&\");\r\n\r\n for (i = 0; i < params.length; i++) {\r\n val = params[i].split(\"=\");\r\n if (val[0] == paramName) {\r\n return unescape(val[1]);\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether current device is mobile touch.\r\n * @returns {boolean}\r\n */\r\n isMobileDevice: function() {\r\n var test = (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\r\n\r\n if (test === false) {\r\n // For use within normal web clients\r\n test = navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n return test;\r\n },\r\n\r\n /**\r\n * Checks whether current device is desktop.\r\n * @returns {boolean}\r\n */\r\n isDesktopDevice: function() {\r\n return KTUtil.isMobileDevice() ? false : true;\r\n },\r\n\r\n /**\r\n * Gets browser window viewport size. Ref:\r\n * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\r\n * @returns {object}\r\n */\r\n getViewPort: function() {\r\n var e = window,\r\n a = 'inner';\r\n if (!('innerWidth' in window)) {\r\n a = 'client';\r\n e = document.documentElement || document.body;\r\n }\r\n\r\n return {\r\n width: e[a + 'Width'],\r\n height: e[a + 'Height']\r\n };\r\n },\r\n\r\n /**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isInResponsiveRange: function(mode) {\r\n var breakpoint = this.getViewPort().width;\r\n\r\n if (mode == 'general') {\r\n return true;\r\n } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\r\n return true;\r\n } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\r\n return true;\r\n } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\r\n return true;\r\n } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n\t\t/**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isBreakpointUp: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width >= breakpoint);\r\n },\r\n\r\n\t\tisBreakpointDown: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width < breakpoint);\r\n },\r\n\r\n /**\r\n * Generates unique ID for give prefix.\r\n * @param {string} prefix Prefix for generated ID\r\n * @returns {boolean}\r\n */\r\n getUniqueID: function(prefix) {\r\n return prefix + Math.floor(Math.random() * (new Date()).getTime());\r\n },\r\n\r\n /**\r\n * Gets window width for give breakpoint mode.\r\n * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\r\n * @returns {number}\r\n */\r\n getBreakpoint: function(mode) {\r\n return breakpoints[mode];\r\n },\r\n\r\n /**\r\n * Checks whether object has property matchs given key path.\r\n * @param {object} obj Object contains values paired with given key path\r\n * @param {string} keys Keys path seperated with dots\r\n * @returns {object}\r\n */\r\n isset: function(obj, keys) {\r\n var stone;\r\n\r\n keys = keys || '';\r\n\r\n if (keys.indexOf('[') !== -1) {\r\n throw new Error('Unsupported object path notation.');\r\n }\r\n\r\n keys = keys.split('.');\r\n\r\n do {\r\n if (obj === undefined) {\r\n return false;\r\n }\r\n\r\n stone = keys.shift();\r\n\r\n if (!obj.hasOwnProperty(stone)) {\r\n return false;\r\n }\r\n\r\n obj = obj[stone];\r\n\r\n } while (keys.length);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * Gets highest z-index of the given element parents\r\n * @param {object} el jQuery element object\r\n * @returns {number}\r\n */\r\n getHighestZindex: function(el) {\r\n var position, value;\r\n\r\n while (el && el !== document) {\r\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n // This makes behavior of this function consistent across browsers\r\n // WebKit always returns auto if the element is positioned\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\r\n // IE returns 0 when zIndex is not specified\r\n // other browsers return a string\r\n // we ignore the case of nested elements with an explicit value of 0\r\n //
\r\n value = parseInt(KTUtil.css(el, 'z-index'));\r\n\r\n if (!isNaN(value) && value !== 0) {\r\n return value;\r\n }\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether the element has any parent with fixed positionfreg\r\n * @param {object} el jQuery element object\r\n * @returns {boolean}\r\n */\r\n hasFixedPositionedParent: function(el) {\r\n var position;\r\n\r\n while (el && el !== document) {\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"fixed\") {\r\n return true;\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n /**\r\n * Simulates delay\r\n */\r\n sleep: function(milliseconds) {\r\n var start = new Date().getTime();\r\n for (var i = 0; i < 1e7; i++) {\r\n if ((new Date().getTime() - start) > milliseconds) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Gets randomly generated integer value within given min and max range\r\n * @param {number} min Range start value\r\n * @param {number} max Range end value\r\n * @returns {number}\r\n */\r\n getRandomInt: function(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * Checks whether Angular library is included\r\n * @returns {boolean}\r\n */\r\n isAngularVersion: function() {\r\n return window.Zone !== undefined ? true : false;\r\n },\r\n\r\n // Deep extend: $.extend(true, {}, objA, objB);\r\n deepExtend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n var obj = arguments[i];\r\n if (!obj) continue;\r\n\r\n for (var key in obj) {\r\n if (!obj.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n\r\n // based on https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/\r\n if ( Object.prototype.toString.call(obj[key]) === '[object Object]' ) {\r\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n continue;\r\n }\r\n\r\n out[key] = obj[key];\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n // extend: $.extend({}, objA, objB);\r\n extend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n if (!arguments[i])\r\n continue;\r\n\r\n for (var key in arguments[i]) {\r\n if (arguments[i].hasOwnProperty(key))\r\n out[key] = arguments[i][key];\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n getById: function(el) {\r\n if (typeof el === 'string') {\r\n return document.getElementById(el);\r\n } else {\r\n return el;\r\n }\r\n },\r\n\r\n getByTag: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByTagName: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByClass: function(query) {\r\n return document.getElementsByClassName(query);\r\n },\r\n\r\n getBody: function() {\r\n return document.getElementsByTagName('body')[0];\r\n },\r\n\r\n /**\r\n * Checks whether the element has given classes\r\n * @param {object} el jQuery element object\r\n * @param {string} Classes string\r\n * @returns {boolean}\r\n */\r\n hasClasses: function(el, classes) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n var classesArr = classes.split(\" \");\r\n\r\n for (var i = 0; i < classesArr.length; i++) {\r\n if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n hasClass: function(el, className) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\r\n },\r\n\r\n addClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (classNames[i] && classNames[i].length > 0) {\r\n el.classList.add(KTUtil.trim(classNames[i]));\r\n }\r\n }\r\n } else if (!KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className += ' ' + KTUtil.trim(classNames[x]);\r\n }\r\n }\r\n },\r\n\r\n removeClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n el.classList.remove(KTUtil.trim(classNames[i]));\r\n }\r\n } else if (KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\r\n }\r\n }\r\n },\r\n\r\n triggerCustomEvent: function(el, eventName, data) {\r\n var event;\r\n if (window.CustomEvent) {\r\n event = new CustomEvent(eventName, {\r\n detail: data\r\n });\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent(eventName, true, true, data);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n },\r\n\r\n triggerEvent: function(node, eventName) {\r\n // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\r\n var doc;\r\n if (node.ownerDocument) {\r\n doc = node.ownerDocument;\r\n } else if (node.nodeType == 9) {\r\n // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\r\n doc = node;\r\n } else {\r\n throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\r\n }\r\n\r\n if (node.dispatchEvent) {\r\n // Gecko-style approach (now the standard) takes more work\r\n var eventClass = \"\";\r\n\r\n // Different events have different event classes.\r\n // If this switch statement can't map an eventName to an eventClass,\r\n // the event firing is going to fail.\r\n switch (eventName) {\r\n case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\r\n case \"mouseenter\":\r\n case \"mouseleave\":\r\n case \"mousedown\":\r\n case \"mouseup\":\r\n eventClass = \"MouseEvents\";\r\n break;\r\n\r\n case \"focus\":\r\n case \"change\":\r\n case \"blur\":\r\n case \"select\":\r\n eventClass = \"HTMLEvents\";\r\n break;\r\n\r\n default:\r\n throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\r\n break;\r\n }\r\n var event = doc.createEvent(eventClass);\r\n\r\n var bubbles = eventName == \"change\" ? false : true;\r\n event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\r\n\r\n event.synthetic = true; // allow detection of synthetic events\r\n // The second parameter says go ahead with the default action\r\n node.dispatchEvent(event, true);\r\n } else if (node.fireEvent) {\r\n // IE-old school style\r\n var event = doc.createEventObject();\r\n event.synthetic = true; // allow detection of synthetic events\r\n node.fireEvent(\"on\" + eventName, event);\r\n }\r\n },\r\n\r\n index: function( el ){\r\n var c = el.parentNode.children, i = 0;\r\n for(; i < c.length; i++ )\r\n if( c[i] == el ) return i;\r\n },\r\n\r\n trim: function(string) {\r\n return string.trim();\r\n },\r\n\r\n eventTriggered: function(e) {\r\n if (e.currentTarget.dataset.triggered) {\r\n return true;\r\n } else {\r\n e.currentTarget.dataset.triggered = true;\r\n\r\n return false;\r\n }\r\n },\r\n\r\n remove: function(el) {\r\n if (el && el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n },\r\n\r\n find: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelector(query);\r\n }\r\n },\r\n\r\n findAll: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelectorAll(query);\r\n }\r\n },\r\n\r\n insertAfter: function(el, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n },\r\n\r\n parents: function(elem, selector) {\r\n // Element.matches() polyfill\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.matchesSelector ||\r\n Element.prototype.mozMatchesSelector ||\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.oMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector ||\r\n function(s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== this) {}\r\n return i > -1;\r\n };\r\n }\r\n\r\n // Set up a parent array\r\n var parents = [];\r\n\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n if (selector) {\r\n if (elem.matches(selector)) {\r\n parents.push(elem);\r\n }\r\n continue;\r\n }\r\n parents.push(elem);\r\n }\r\n\r\n // Return our parent array\r\n return parents;\r\n },\r\n\r\n children: function(el, selector, log) {\r\n if (!el || !el.childNodes) {\r\n return;\r\n }\r\n\r\n var result = [],\r\n i = 0,\r\n l = el.childNodes.length;\r\n\r\n for (var i; i < l; ++i) {\r\n if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\r\n result.push(el.childNodes[i]);\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n child: function(el, selector, log) {\r\n var children = KTUtil.children(el, selector, log);\r\n\r\n return children ? children[0] : null;\r\n },\r\n\r\n matches: function(el, selector, log) {\r\n var p = Element.prototype;\r\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\r\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\r\n };\r\n\r\n if (el && el.tagName) {\r\n return f.call(el, selector);\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n data: function(el) {\r\n return {\r\n set: function(name, data) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n window.KTUtilElementDataStoreID++;\r\n el.customDataTag = window.KTUtilElementDataStoreID;\r\n }\r\n\r\n if (window.KTUtilElementDataStore[el.customDataTag] === undefined) {\r\n window.KTUtilElementDataStore[el.customDataTag] = {};\r\n }\r\n\r\n window.KTUtilElementDataStore[el.customDataTag][name] = data;\r\n },\r\n\r\n get: function(name) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return null;\r\n }\r\n\r\n return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null;\r\n },\r\n\r\n has: function(name) {\r\n if (!el) {\r\n return false;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return false;\r\n }\r\n\r\n return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false;\r\n },\r\n\r\n remove: function(name) {\r\n if (el && this.has(name)) {\r\n delete window.KTUtilElementDataStore[el.customDataTag][name];\r\n }\r\n }\r\n };\r\n },\r\n\r\n outerWidth: function(el, margin) {\r\n var width;\r\n\r\n if (margin === true) {\r\n width = parseFloat(el.offsetWidth);\r\n width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\r\n\r\n return parseFloat(width);\r\n } else {\r\n width = parseFloat(el.offsetWidth);\r\n\r\n return width;\r\n }\r\n },\r\n\r\n offset: function(el) {\r\n var rect, win;\r\n\r\n if ( !el ) {\r\n return;\r\n }\r\n\r\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n // Support: IE <=11 only\r\n // Running getBoundingClientRect on a\r\n // disconnected node in IE throws an error\r\n\r\n if ( !el.getClientRects().length ) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n rect = el.getBoundingClientRect();\r\n win = el.ownerDocument.defaultView;\r\n\r\n return {\r\n top: rect.top + win.pageYOffset,\r\n left: rect.left + win.pageXOffset\r\n };\r\n },\r\n\r\n height: function(el) {\r\n return KTUtil.css(el, 'height');\r\n },\r\n\r\n outerHeight: function(el, withMargin) {\r\n var height = el.offsetHeight;\r\n var style;\r\n\r\n if (typeof withMargin !== 'undefined' && withMargin === true) {\r\n style = getComputedStyle(el);\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\r\n\r\n return height;\r\n } else {\r\n return height;\r\n }\r\n },\r\n\r\n visible: function(el) {\r\n return !(el.offsetWidth === 0 && el.offsetHeight === 0);\r\n },\r\n\r\n attr: function(el, name, value) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.setAttribute(name, value);\r\n } else {\r\n return el.getAttribute(name);\r\n }\r\n },\r\n\r\n hasAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n return el.getAttribute(name) ? true : false;\r\n },\r\n\r\n removeAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n el.removeAttribute(name);\r\n },\r\n\r\n animate: function(from, to, duration, update, easing, done) {\r\n /**\r\n * TinyAnimate.easings\r\n * Adapted from jQuery Easing\r\n */\r\n var easings = {};\r\n var easing;\r\n\r\n easings.linear = function(t, b, c, d) {\r\n return c * t / d + b;\r\n };\r\n\r\n easing = easings.linear;\r\n\r\n // Early bail out if called incorrectly\r\n if (typeof from !== 'number' ||\r\n typeof to !== 'number' ||\r\n typeof duration !== 'number' ||\r\n typeof update !== 'function') {\r\n return;\r\n }\r\n\r\n // Create mock done() function if necessary\r\n if (typeof done !== 'function') {\r\n done = function() {};\r\n }\r\n\r\n // Pick implementation (requestAnimationFrame | setTimeout)\r\n var rAF = window.requestAnimationFrame || function(callback) {\r\n window.setTimeout(callback, 1000 / 50);\r\n };\r\n\r\n // Animation loop\r\n var canceled = false;\r\n var change = to - from;\r\n\r\n function loop(timestamp) {\r\n var time = (timestamp || +new Date()) - start;\r\n\r\n if (time >= 0) {\r\n update(easing(time, from, change, duration));\r\n }\r\n if (time >= 0 && time >= duration) {\r\n update(to);\r\n done();\r\n } else {\r\n rAF(loop);\r\n }\r\n }\r\n\r\n update(from);\r\n\r\n // Start animation loop\r\n var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\r\n\r\n rAF(loop);\r\n },\r\n\r\n actualCss: function(el, prop, cache) {\r\n var css = '';\r\n\r\n if (el instanceof HTMLElement === false) {\r\n return;\r\n }\r\n\r\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n var value;\r\n\r\n // the element is hidden so:\r\n // making the el block so we can meassure its height but still be hidden\r\n css = el.style.cssText;\r\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\r\n\r\n if (prop == 'width') {\r\n value = el.offsetWidth;\r\n } else if (prop == 'height') {\r\n value = el.offsetHeight;\r\n }\r\n\r\n el.style.cssText = css;\r\n\r\n // store it in cache\r\n el.setAttribute('kt-hidden-' + prop, value);\r\n\r\n return parseFloat(value);\r\n } else {\r\n // store it in cache\r\n return parseFloat(el.getAttribute('kt-hidden-' + prop));\r\n }\r\n },\r\n\r\n actualHeight: function(el, cache) {\r\n return KTUtil.actualCss(el, 'height', cache);\r\n },\r\n\r\n actualWidth: function(el, cache) {\r\n return KTUtil.actualCss(el, 'width', cache);\r\n },\r\n\r\n getScroll: function(element, method) {\r\n // The passed in `method` value should be 'Top' or 'Left'\r\n method = 'scroll' + method;\r\n return (element == window || element == document) ? (\r\n self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\r\n (browserSupportsBoxModel && document.documentElement[method]) ||\r\n document.body[method]\r\n ) : element[method];\r\n },\r\n\r\n css: function(el, styleProp, value) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.style[styleProp] = value;\r\n } else {\r\n var defaultView = (el.ownerDocument || document).defaultView;\r\n // W3C standard way:\r\n if (defaultView && defaultView.getComputedStyle) {\r\n // sanitize property name to css notation\r\n // (hyphen separated words eg. font-Size)\r\n styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n } else if (el.currentStyle) { // IE\r\n // sanitize property name to camelCase\r\n styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = el.currentStyle[styleProp];\r\n // convert other units to pixels on IE\r\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\r\n return (function(value) {\r\n var oldLeft = el.style.left,\r\n oldRsLeft = el.runtimeStyle.left;\r\n el.runtimeStyle.left = el.currentStyle.left;\r\n el.style.left = value || 0;\r\n value = el.style.pixelLeft + \"px\";\r\n el.style.left = oldLeft;\r\n el.runtimeStyle.left = oldRsLeft;\r\n return value;\r\n })(value);\r\n }\r\n return value;\r\n }\r\n }\r\n },\r\n\r\n slide: function(el, dir, speed, callback, recalcMaxHeight) {\r\n if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\r\n return;\r\n }\r\n\r\n speed = (speed ? speed : 600);\r\n var calcHeight = KTUtil.actualHeight(el);\r\n var calcPaddingTop = false;\r\n var calcPaddingBottom = false;\r\n\r\n if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\r\n KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\r\n }\r\n\r\n if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\r\n KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-top')) {\r\n calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-bottom')) {\r\n calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\r\n }\r\n\r\n if (dir == 'up') { // up\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n el.style.paddingTop = (calcPaddingTop - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = (calcHeight - value) + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = 'none';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n\r\n\r\n } else if (dir == 'down') { // down\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {//\r\n el.style.paddingTop = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingTop = '';\r\n });\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingBottom = '';\r\n });\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = value + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = '';\r\n el.style.overflow = '';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n\r\n slideUp: function(el, speed, callback) {\r\n KTUtil.slide(el, 'up', speed, callback);\r\n },\r\n\r\n slideDown: function(el, speed, callback) {\r\n KTUtil.slide(el, 'down', speed, callback);\r\n },\r\n\r\n show: function(el, display) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = (display ? display : 'block');\r\n }\r\n },\r\n\r\n hide: function(el) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = 'none';\r\n }\r\n },\r\n\r\n addEvent: function(el, type, handler, one) {\r\n if (typeof el !== 'undefined' && el !== null) {\r\n el.addEventListener(type, handler);\r\n }\r\n },\r\n\r\n removeEvent: function(el, type, handler) {\r\n if (el !== null) {\r\n el.removeEventListener(type, handler);\r\n }\r\n },\r\n\r\n on: function(element, selector, event, handler) {\r\n if (!selector) {\r\n return;\r\n }\r\n\r\n var eventId = KTUtil.getUniqueID('event');\r\n\r\n window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\r\n var targets = element.querySelectorAll(selector);\r\n var target = e.target;\r\n\r\n while (target && target !== element) {\r\n for (var i = 0, j = targets.length; i < j; i++) {\r\n if (target === targets[i]) {\r\n handler.call(target, e);\r\n }\r\n }\r\n\r\n target = target.parentNode;\r\n }\r\n }\r\n\r\n KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n return eventId;\r\n },\r\n\r\n off: function(element, event, eventId) {\r\n if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\r\n return;\r\n }\r\n\r\n KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n delete window.KTUtilDelegatedEventHandlers[eventId];\r\n },\r\n\r\n one: function onetime(el, type, callback) {\r\n el.addEventListener(type, function callee(e) {\r\n // remove event\r\n if (e.target && e.target.removeEventListener) {\r\n e.target.removeEventListener(e.type, callee);\r\n }\r\n\r\n // need to verify from https://themeforest.net/author_dashboard#comment_23615588\r\n if (el && el.removeEventListener) {\r\n\t\t\t\t e.currentTarget.removeEventListener(e.type, callee);\r\n\t\t\t }\r\n\r\n // call handler\r\n return callback(e);\r\n });\r\n },\r\n\r\n hash: function(str) {\r\n var hash = 0,\r\n i, chr;\r\n\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n\r\n return hash;\r\n },\r\n\r\n animateClass: function(el, animationName, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd',\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.addClass(el, 'animated ' + animationName);\r\n\r\n KTUtil.one(el, animation, function() {\r\n KTUtil.removeClass(el, 'animated ' + animationName);\r\n });\r\n\r\n if (callback) {\r\n KTUtil.one(el, animation, callback);\r\n }\r\n },\r\n\r\n transitionEnd: function(el, callback) {\r\n var transition;\r\n var transitions = {\r\n transition: 'transitionend',\r\n OTransition: 'oTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n msTransition: 'msTransitionEnd'\r\n };\r\n\r\n for (var t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n transition = transitions[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, transition, callback);\r\n },\r\n\r\n animationEnd: function(el, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd'\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, animation, callback);\r\n },\r\n\r\n animateDelay: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-delay', value);\r\n }\r\n },\r\n\r\n animateDuration: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-duration', value);\r\n }\r\n },\r\n\r\n scrollTo: function(target, offset, duration) {\r\n var duration = duration ? duration : 500;\r\n var targetPos = target ? KTUtil.offset(target).top : 0;\r\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n var from, to;\r\n\r\n if (offset) {\r\n scrollPos += offset;\r\n }\r\n\r\n from = scrollPos;\r\n to = targetPos;\r\n\r\n KTUtil.animate(from, to, duration, function(value) {\r\n document.documentElement.scrollTop = value;\r\n document.body.parentNode.scrollTop = value;\r\n document.body.scrollTop = value;\r\n }); //, easing, done\r\n },\r\n\r\n scrollTop: function(offset, duration) {\r\n KTUtil.scrollTo(null, offset, duration);\r\n },\r\n\r\n isArray: function(obj) {\r\n return obj && Array.isArray(obj);\r\n },\r\n\r\n ready: function(callback) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\r\n callback();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', callback);\r\n }\r\n },\r\n\r\n isEmpty: function(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n numberString: function(nStr) {\r\n nStr += '';\r\n var x = nStr.split('.');\r\n var x1 = x[0];\r\n var x2 = x.length > 1 ? '.' + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n }\r\n return x1 + x2;\r\n },\r\n\r\n detectIE: function() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n },\r\n\r\n isRTL: function() {\r\n var html = KTUtil.getByTagName('html')[0];\r\n\r\n if (html) {\r\n return (KTUtil.attr(html, 'direction') == 'rtl');\r\n }\r\n },\r\n\r\n // Scroller\r\n scrollInit: function(element, options) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Learn more: https://github.com/mdbootstrap/perfect-scrollbar#options\r\n var pluginDefOptions = {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: false,\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: true\r\n };\r\n\r\n options = KTUtil.deepExtend({}, pluginDefOptions, options);\r\n\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n // Get extra options via data attributes\r\n var attrs = element.getAttributeNames();\r\n if (attrs.length > 0) {\r\n attrs.forEach(function(attrName) {\r\n \t\t\t// more options; https://github.com/ganlanyuan/tiny-slider#options\r\n \t\t\tif ((/^data-.*/g).test(attrName)) {\r\n if (['scroll', 'height', 'mobile-height'].includes(optionName) == false) {\r\n var optionName = attrName.replace('data-', '').toLowerCase().replace(/(?:[\\s-])\\w/g, function(match) {\r\n \t\t\t\t\treturn match.replace('-', '').toUpperCase();\r\n \t\t\t\t});\r\n\r\n options[optionName] = KTUtil.filterBoolean(element.getAttribute(attrName));\r\n }\r\n \t\t\t}\r\n \t\t});\r\n }\r\n\r\n if (options.height instanceof Function) {\r\n height = options.height.call();\r\n } else {\r\n if (KTUtil.isMobileDevice() === true && options.mobileHeight) {\r\n height = parseInt(options.mobileHeight);\r\n } else if (options.height) {\r\n height = parseInt(options.height);\r\n } else {\r\n height = parseInt(KTUtil.css(element, 'height'));\r\n }\r\n }\r\n\r\n if (height === false) {\r\n KTUtil.scrollDestroy(element, true);\r\n\r\n return;\r\n }\r\n\r\n height = parseInt(height);\r\n\r\n // Destroy scroll on table and mobile modes\r\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isMobileDevice() === true) {\r\n ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n if (options.resetHeightOnDestroy) {\r\n KTUtil.css(element, 'height', 'auto');\r\n } else {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n }\r\n\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n } else if (height > 0){\r\n KTUtil.css(element, 'overflow', 'auto');\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n if (options.desktopNativeScroll) {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n return;\r\n }\r\n\r\n // Pass options via HTML Attributes\r\n if (KTUtil.attr(element, 'data-window-scroll') == 'true') {\r\n options.windowScroll = true;\r\n }\r\n\r\n // Init scroll\r\n ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.update();\r\n } else {\r\n KTUtil.css(element, 'overflow', 'hidden');\r\n KTUtil.addClass(element, 'scroll');\r\n\r\n ps = new PerfectScrollbar(element, options);\r\n\r\n KTUtil.data(element).set('ps', ps);\r\n }\r\n\r\n // Remember scroll position in cookie\r\n var uid = KTUtil.attr(element, 'id');\r\n\r\n // Todo:Consider using Localstorage\r\n if (options.rememberPosition === true && KTCookie && uid) {\r\n if (KTCookie.getCookie(uid)) {\r\n var pos = parseInt(KTCookie.getCookie(uid));\r\n\r\n if (pos > 0) {\r\n element.scrollTop = pos;\r\n }\r\n }\r\n\r\n element.addEventListener('ps-scroll-y', function() {\r\n KTCookie.setCookie(uid, element.scrollTop);\r\n });\r\n }\r\n }\r\n\r\n // Init\r\n init();\r\n\r\n // Handle window resize\r\n if (options.handleWindowResize) {\r\n KTUtil.addResizeHandler(function() {\r\n init();\r\n });\r\n }\r\n },\r\n\r\n scrollUpdate: function(element) {\r\n var ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.update();\r\n }\r\n },\r\n\r\n scrollUpdateAll: function(parent) {\r\n var scrollers = KTUtil.findAll(parent, '.ps');\r\n for (var i = 0, len = scrollers.length; i < len; i++) {\r\n KTUtil.scrollUpdate(scrollers[i]);\r\n }\r\n },\r\n\r\n scrollDestroy: function(element, resetAll) {\r\n var ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n }\r\n\r\n if (element && resetAll) {\r\n element.style.setProperty('overflow', '');\r\n element.style.setProperty('height', '');\r\n }\r\n },\r\n\r\n filterBoolean: function(val) {\r\n // Convert string boolean\r\n\t\t\tif (val === true || val === 'true') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (val === false || val === 'false') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n return val;\r\n },\r\n\r\n setHTML: function(el, html) {\r\n el.innerHTML = html;\r\n },\r\n\r\n getHTML: function(el) {\r\n if (el) {\r\n return el.innerHTML;\r\n }\r\n },\r\n\r\n getDocumentHeight: function() {\r\n var body = document.body;\r\n var html = document.documentElement;\r\n\r\n return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\r\n },\r\n\r\n getScrollTop: function() {\r\n return (document.scrollingElement || document.documentElement).scrollTop;\r\n },\r\n\r\n changeColor: function(col, amt) {\r\n\r\n var usePound = false;\r\n\r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n\r\n var num = parseInt(col,16);\r\n\r\n var r = (num >> 16) + amt;\r\n\r\n if (r > 255) r = 255;\r\n else if (r < 0) r = 0;\r\n\r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n\r\n if (b > 255) b = 255;\r\n else if (b < 0) b = 0;\r\n\r\n var g = (num & 0x0000FF) + amt;\r\n\r\n if (g > 255) g = 255;\r\n else if (g < 0) g = 0;\r\n\r\n return (usePound?\"#\":\"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n\r\n },\r\n\r\n // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\r\n throttle: function (timer, func, delay) {\r\n \t// If setTimeout is already scheduled, no need to do anything\r\n \tif (timer) {\r\n \t\treturn;\r\n \t}\r\n\r\n \t// Schedule a setTimeout after delay seconds\r\n \ttimer = setTimeout(function () {\r\n \t\tfunc();\r\n\r\n \t\t// Once setTimeout function execution is finished, timerId = undefined so that in
\r\n \t\t// the next scroll event function execution can be scheduled by the setTimeout\r\n \t\ttimer = undefined;\r\n \t}, delay);\r\n },\r\n\r\n // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds\r\n debounce: function (timer, func, delay) {\r\n \t// Cancels the setTimeout method execution\r\n \tclearTimeout(timer)\r\n\r\n \t// Executes the func after delay time.\r\n \ttimer = setTimeout(func, delay);\r\n },\r\n\r\n btnWait: function(el, cls, message, disable) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (typeof disable !== 'undefined' && disable === true) {\r\n KTUtil.attr(el, \"disabled\", true);\r\n }\r\n\r\n if (cls) {\r\n KTUtil.addClass(el, cls);\r\n KTUtil.attr(el, \"wait-class\", cls);\r\n }\r\n\r\n if (message) {\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption) {\r\n KTUtil.data(caption).set('caption', KTUtil.getHTML(caption));\r\n KTUtil.setHTML(caption, message);\r\n } else {\r\n KTUtil.data(el).set('caption', KTUtil.getHTML(el));\r\n KTUtil.setHTML(el, message);\r\n }\r\n }\r\n },\r\n\r\n btnRelease: function(el) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n /// Show loading state on button\r\n KTUtil.removeAttr(el, \"disabled\");\r\n\r\n if (KTUtil.hasAttr(el, \"wait-class\")) {\r\n KTUtil.removeClass(el, KTUtil.attr(el, \"wait-class\"));\r\n }\r\n\r\n var caption = KTUtil.find(el, '.btn-caption');\r\n\r\n if (caption && KTUtil.data(caption).has('caption')) {\r\n KTUtil.setHTML(caption, KTUtil.data(caption).get('caption'));\r\n } else if (KTUtil.data(el).has('caption')) {\r\n KTUtil.setHTML(el, KTUtil.data(el).get('caption'));\r\n }\r\n },\r\n\r\n isOffscreen: function(el, direction, offset) {\r\n offset = offset || 0;\r\n\r\n var windowWidth = KTUtil.getViewPort().width;\r\n var windowHeight = KTUtil.getViewPort().height;\r\n\r\n var top = KTUtil.offset(el).top;\r\n var height = KTUtil.outerHeight(el) + offset;\r\n var left = KTUtil.offset(el).left;\r\n var width = KTUtil.outerWidth(el) + offset;\r\n\r\n if (direction == 'bottom') {\r\n if (windowHeight < top + height) {\r\n return true;\r\n } else if (windowHeight > top + height * 1.5) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'top') {\r\n if (top < 0) {\r\n return true;\r\n } else if (top > height) {\r\n return true;\r\n }\r\n }\r\n\r\n if (direction == 'left') {\r\n if (left < 0) {\r\n return true;\r\n } else if (left * 2 > width) {\r\n //console.log('left 2');\r\n //return true;\r\n }\r\n }\r\n\r\n if (direction == 'right') {\r\n if (windowWidth < left + width) {\r\n return true;\r\n } else {\r\n //console.log('right 2');\r\n //return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTUtil;\r\n}\r\n\r\n// Initialize KTUtil class on document ready\r\nKTUtil.ready(function() {\r\n\tif (typeof KTAppSettings !== 'undefined') {\r\n\t\tKTUtil.init(KTAppSettings);\r\n\t} else {\r\n\t\tKTUtil.init();\r\n\t}\r\n});\r\n\r\n// CSS3 Transitions only after page load(.page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n var result = KTUtil.getByTagName('body');\r\n if (result && result[0]) {\r\n KTUtil.removeClass(result[0], 'page-loading');\r\n }\r\n}\r\n\r\nexport default KTUtil;","import { supportContractApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const SUPPORT_CONTRACTS = \"supportContracts\";\r\n\r\n// action types\r\nexport const GET_SUPPORT_CONTRACTS = \"getSupportContracts\";\r\n\r\n// mutation types\r\nconst SET_SUPPORT_CONTRACTS = \"setSupportContracts\";\r\n\r\nconst state = {\r\n supportContracts: []\r\n};\r\n\r\nconst getters = {\r\n [SUPPORT_CONTRACTS](state) {\r\n return state.supportContracts;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_SUPPORT_CONTRACTS](context) {\r\n return new Promise(resolve => {\r\n supportContractApi.getInfoSupportContract().then(response => {\r\n context.commit(SET_SUPPORT_CONTRACTS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_SUPPORT_CONTRACTS](state, supportContracts) {\r\n state.supportContracts = supportContracts;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { vehicleApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const VEHICLE_BASE_DATA = \"vehicleBaseData\";\r\n\r\n// action types\r\nexport const GET_VEHICLE_BASE_DATA = \"getVehicleBaseData\";\r\n\r\n// mutation types\r\nconst SET_VEHICLE_BASE_DATA = \"setVehicleBaseData\";\r\n\r\nconst state = {\r\n vehicleBaseData: []\r\n};\r\n\r\nconst getters = {\r\n [VEHICLE_BASE_DATA](state) {\r\n return state.vehicleBaseData;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_VEHICLE_BASE_DATA](context) {\r\n return new Promise(resolve => {\r\n vehicleApi.getVehicleEditorInitData().then(response => {\r\n context.commit(SET_VEHICLE_BASE_DATA, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_VEHICLE_BASE_DATA](state, vehicleBaseData) {\r\n state.vehicleBaseData = vehicleBaseData;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTOffcanvas = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n attrCustom: ''\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('offcanvas')) {\r\n the = KTUtil.data(element).get('offcanvas');\r\n } else {\r\n // Reset offcanvas\r\n Plugin.init(options);\r\n\r\n // Build offcanvas\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('offcanvas', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n the.classBase = the.options.baseClass;\r\n the.attrCustom = the.options.attrCustom;\r\n the.classShown = the.classBase + '-on';\r\n the.classOverlay = the.classBase + '-overlay';\r\n the.target;\r\n\r\n the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\r\n },\r\n\r\n build: function() {\r\n // offcanvas toggle\r\n if (the.options.toggleBy) {\r\n if (typeof the.options.toggleBy === 'string') {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n } else if (the.options.toggleBy && the.options.toggleBy[0]) {\r\n if (the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i].target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n } else {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i]), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n KTUtil.addEvent( KTUtil.getById(the.options.toggleBy.target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n // offcanvas close\r\n var closeBy = KTUtil.getById(the.options.closeBy);\r\n if (closeBy) {\r\n KTUtil.addEvent(closeBy, 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.hide();\r\n });\r\n }\r\n },\r\n\r\n isShown: function() {\r\n return (the.state == 'shown' ? true : false);\r\n },\r\n\r\n toggle: function() {;\r\n Plugin.eventTrigger('toggle');\r\n\r\n if (the.state == 'shown') {\r\n Plugin.hide();\r\n } else {\r\n Plugin.show();\r\n }\r\n },\r\n\r\n show: function() {\r\n if (the.state == 'shown') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeShow');\r\n\r\n Plugin.toggleClass('show');\r\n\r\n // Offcanvas panel\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classBase, 'on');\r\n KTUtil.addClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.attr(body, 'data-offcanvas-' + the.classCustom, 'on');\r\n //KTUtil.addClass(body, the.classCustom);\r\n }\r\n\r\n the.state = 'shown';\r\n\r\n if (the.options.overlay) {\r\n the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\r\n KTUtil.addClass(the.overlay, the.classOverlay);\r\n\r\n KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n //e.stopPropagation();\r\n e.preventDefault();\r\n Plugin.hide(the.target);\r\n });\r\n }\r\n\r\n Plugin.eventTrigger('afterShow');\r\n },\r\n\r\n hide: function() {\r\n if (the.state == 'hidden') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeHide');\r\n\r\n Plugin.toggleClass('hide');\r\n\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.classBase);\r\n KTUtil.removeClass(element, the.classShown);\r\n\r\n if (the.attrCustom.length > 0) {\r\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.attrCustom);\r\n }\r\n\r\n the.state = 'hidden';\r\n\r\n if (the.options.overlay && the.overlay) {\r\n KTUtil.remove(the.overlay);\r\n }\r\n\r\n Plugin.eventTrigger('afterHide');\r\n },\r\n\r\n toggleClass: function(mode) {\r\n var id = KTUtil.attr(the.target, 'id');\r\n var toggleBy;\r\n\r\n if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n if (the.options.toggleBy[i].target === id) {\r\n toggleBy = the.options.toggleBy[i];\r\n }\r\n }\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n toggleBy = the.options.toggleBy;\r\n }\r\n\r\n if (toggleBy) {\r\n var el = KTUtil.getById(toggleBy.target);\r\n\r\n if (mode === 'show') {\r\n KTUtil.addClass(el, toggleBy.state);\r\n }\r\n\r\n if (mode === 'hide') {\r\n KTUtil.removeClass(el, toggleBy.state);\r\n }\r\n }\r\n },\r\n\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n * @param options\r\n */\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Check if canvas is shown\r\n * @returns {boolean}\r\n */\r\n the.isShown = function() {\r\n return Plugin.isShown();\r\n };\r\n\r\n /**\r\n * Set to hide the canvas\r\n */\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n /**\r\n * Set to show the canvas\r\n */\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @param name\r\n * @param handler\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @param name\r\n * @param handler\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTOffcanvas;\r\n}\r\n\r\nexport default KTOffcanvas;","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTScrolltop = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n offset: 300,\r\n speed: 6000\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {mscrolltop}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('scrolltop')) {\r\n the = KTUtil.data(element).get('scrolltop');\r\n } else {\r\n // reset scrolltop\r\n Plugin.init(options);\r\n\r\n // build scrolltop\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('scrolltop', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subscrolltop click toggle\r\n * @returns {mscrolltop}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n build: function() {\r\n var timer;\r\n\r\n window.addEventListener('scroll', function() {\r\n KTUtil.throttle(timer, function() {\r\n Plugin.handle();\r\n }, 200);\r\n });\r\n\r\n // handle button click\r\n KTUtil.addEvent(element, 'click', Plugin.scroll);\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n handle: function() {\r\n var pos = KTUtil.getScrollTop(); // current vertical position\r\n\r\n if (pos > the.options.offset) {\r\n if (body.hasAttribute('data-scrolltop') === false) {\r\n body.setAttribute('data-scrolltop', 'on');\r\n }\r\n } else {\r\n if (body.hasAttribute('data-scrolltop') === true) {\r\n body.removeAttribute('data-scrolltop');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n scroll: function(e) {\r\n e.preventDefault();\r\n\r\n KTUtil.scrollTop(0, the.options.speed);\r\n },\r\n\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get subscrolltop mode\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Set scrolltop content\r\n * @returns {mscrolltop}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTScrolltop;\r\n}\r\n\r\nexport default KTScrolltop;","import { vehicleTreeData } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const VEHICLE_TREE_DATA = \"vehicleTreeData\";\r\n\r\n// action types\r\nexport const GET_VEHICLE_TREE_DATA = \"getVehicleTreeData\";\r\n\r\n// mutation types\r\nconst SET_VEHICLE_TREE_DATA = \"setVehicleTreeData\";\r\n\r\nconst state = {\r\n vehicleTreeData: []\r\n};\r\n\r\nconst getters = {\r\n [VEHICLE_TREE_DATA](state) {\r\n return state.vehicleTreeData;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_VEHICLE_TREE_DATA](context) {\r\n return new Promise(resolve => {\r\n vehicleTreeData.getVehiclesTreeData().then(response => {\r\n context.commit(SET_VEHICLE_TREE_DATA, response.items);\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_VEHICLE_TREE_DATA](state, vehicleTreeData) {\r\n state.vehicleTreeData = vehicleTreeData;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTToggle = function(toggleElement, targetElement, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = toggleElement;\r\n var target = targetElement;\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n targetToggleMode: 'class' // class|attribute\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('toggle')) {\r\n the = KTUtil.data(element).get('toggle');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('toggle', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subtoggle click toggle\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // Merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n //alert(the.options.target.tagName);\r\n the.target = target;\r\n\r\n the.targetState = the.options.targetState;\r\n the.toggleState = the.options.toggleState;\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\r\n } else {\r\n the.state = KTUtil.hasAttr(the.target, 'data-' + the.targetState) ? KTUtil.attr(the.target, 'data-' + the.targetState) : 'off';\r\n }\r\n },\r\n\r\n /**\r\n * Setup toggle\r\n */\r\n build: function() {\r\n KTUtil.addEvent(element, 'mouseup', Plugin.toggle);\r\n },\r\n\r\n /**\r\n * Handles offcanvas click toggle\r\n */\r\n toggle: function(e) {\r\n Plugin.eventTrigger('beforeToggle');\r\n\r\n if (the.state == 'off') {\r\n Plugin.toggleOn();\r\n } else {\r\n Plugin.toggleOff();\r\n }\r\n\r\n Plugin.eventTrigger('afterToggle');\r\n\r\n e.preventDefault();\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOn: function() {\r\n Plugin.eventTrigger('beforeOn');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.addClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.attr(the.target, 'data-' + the.targetState, 'on');\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.addClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'on';\r\n\r\n Plugin.eventTrigger('afterOn');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles toggle click toggle\r\n */\r\n toggleOff: function() {\r\n Plugin.eventTrigger('beforeOff');\r\n\r\n if (the.options.targetToggleMode == 'class') {\r\n KTUtil.removeClass(the.target, the.targetState);\r\n } else {\r\n KTUtil.removeAttr(the.target, 'data-' + the.targetState);\r\n }\r\n\r\n if (the.toggleState) {\r\n KTUtil.removeClass(element, the.toggleState);\r\n }\r\n\r\n the.state = 'off';\r\n\r\n Plugin.eventTrigger('afterOff');\r\n\r\n Plugin.eventTrigger('toggle');\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get toggle state\r\n */\r\n the.getState = function() {\r\n return the.state;\r\n };\r\n\r\n /**\r\n * Toggle\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Toggle on\r\n */\r\n the.toggleOn = function() {\r\n return Plugin.toggleOn();\r\n };\r\n\r\n /**\r\n * Toggle off\r\n */\r\n the.toggleOff = function() {\r\n return Plugin.toggleOff();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @returns {KTToggle}\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @returns {KTToggle}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTToggle;\r\n}\r\n\r\nexport default KTToggle;","\"use strict\";\r\n\r\nvar KTLayoutHeaderTopbar = function() {\r\n // Private properties\r\n\tvar _toggleElement;\r\n var _toggleObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n\t\t\t_toggleObject = new KTToggle(_toggleElement, KTUtil.getBody(), {\r\n\t\t\t\ttargetState: 'topbar-mobile-on',\r\n\t\t\t\ttoggleState: 'active',\r\n\t\t\t});\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _toggleElement = KTUtil.getById(id);\r\n\r\n\t\t\tif (!_toggleElement) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getToggleElement: function() {\r\n return _toggleElement;\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutHeaderTopbar;","import { mapProviderApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const MAP_PROVIDERS = \"mapProviders\";\r\n\r\n// action types\r\nexport const GET_MAP_PROVIDERS = \"getMapProviders\";\r\nexport const SAVE_MAP_PROVIDERS = \"saveMapProviders\";\r\n\r\n// mutation types\r\nconst SET_MAP_PROVIDERS = \"setMapProviders\";\r\nconst SET_DEFAULT_MAP_PROVIDER = \"setDefaultMapProvider\";\r\n\r\nconst state = {\r\n mapProviders: []\r\n};\r\n\r\nconst getters = {\r\n [MAP_PROVIDERS](state) {\r\n return state.mapProviders;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_MAP_PROVIDERS](context) {\r\n return new Promise(resolve => {\r\n mapProviderApi.getList().then(response => {\r\n context.commit(SET_MAP_PROVIDERS, response.maps);\r\n\r\n resolve();\r\n });\r\n });\r\n },\r\n [SAVE_MAP_PROVIDERS](context, payload) {\r\n return new Promise(resolve => {\r\n mapProviderApi.saveDefault(payload).then(() => {\r\n context.commit(SET_DEFAULT_MAP_PROVIDER, payload);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_MAP_PROVIDERS](state, mapProviders) {\r\n state.mapProviders = mapProviders.map(c => ({\r\n id: c.id,\r\n name: c.name,\r\n url: c.urlTemplate,\r\n subdomains: c.subDomains,\r\n visible: false\r\n }));\r\n },\r\n [SET_DEFAULT_MAP_PROVIDER](state, id) {\r\n state.mapProviders.forEach(item => (item.visible = item.id === id));\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nvar KTLayoutAsideMenu = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _menuObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar menuDesktopMode = (KTUtil.attr(_element, 'data-menu-dropdown') === '1' ? 'dropdown' : 'accordion');\r\n var scroll;\r\n\r\n\t\tif (KTUtil.attr(_element, 'data-menu-scroll') === '1') {\r\n\t\t\tscroll = {\r\n\t\t\t\trememberPosition: true, // remember position on page reload\r\n\t\t\t\theight: function() { // calculate available scrollable area height\r\n\t\t\t\t\tvar height = parseInt(KTUtil.getViewPort().height);\r\n\r\n\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\theight = height - KTLayoutBrand.getHeight();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\theight = height - (parseInt(KTUtil.css(_element, 'marginBottom')) + parseInt(KTUtil.css(_element, 'marginTop')));\r\n\r\n\t\t\t\t\treturn height;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t_menuObject = new KTMenu(_element, {\r\n\t\t\t// Vertical scroll\r\n\t\t\tscroll: scroll,\r\n\r\n\t\t\t// Submenu setup\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: menuDesktopMode,\r\n\t\t\t\ttablet: 'accordion', // menu set to accordion in tablet mode\r\n\t\t\t\tmobile: 'accordion' // menu set to accordion in mobile mode\r\n\t\t\t},\r\n\r\n\t\t\t// Accordion setup\r\n\t\t\taccordion: {\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n var _initHover = function() {\r\n // Handle Minimized Aside Hover\r\n\t\tif (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable')) {\r\n\t\t\tvar insideTm;\r\n\t\t\tvar outsideTm;\r\n\r\n // Handle Aside Hover Mode\r\n\t\t\tKTUtil.addEvent(_element, 'mouseenter', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (outsideTm) {\r\n\t\t\t\t\tclearTimeout(outsideTm);\r\n\t\t\t\t\toutsideTm = null;\r\n\t\t\t\t}\r\n\r\n if (insideTm) {\r\n\t\t\t\t\tclearTimeout(insideTm);\r\n\t\t\t\t\tinsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinsideTm = setTimeout(function() {\r\n\t\t\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\t// Hover class\r\n\t\t\t\t\t\tKTUtil.addClass(_body, 'aside-minimize-hover');\r\n\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 50);\r\n\t\t\t});\r\n\r\n\t\t\tKTUtil.addEvent(KTLayoutAside.getElement(), 'mouseleave', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (insideTm) {\r\n\t\t\t\t\tclearTimeout(insideTm);\r\n\t\t\t\t\tinsideTm = null;\r\n\t\t\t\t}\r\n\r\n if (outsideTm) {\r\n\t\t\t\t\tclearTimeout(outsideTm);\r\n\t\t\t\t\toutsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toutsideTm = setTimeout(function() {\r\n\t\t\t\t if (KTUtil.hasClass(_body, 'aside-minimize-hover') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t KTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n KTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _body = KTUtil.getBody();\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n _initHover();\r\n\t\t},\r\n\r\n\t\tgetElement: function() {\r\n\t\t\treturn _element;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n pauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_menuObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutAsideMenu;","import { systemApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const HELP_VIDEOS = \"helpVideos\";\r\n\r\n// action types\r\nexport const GET_HELP_VIDEOS = \"getHelpVideos\";\r\n\r\n// mutation types\r\nconst VIDEOS = \"videos\";\r\n\r\nconst state = {\r\n videos: []\r\n};\r\n\r\nconst getters = {\r\n [HELP_VIDEOS](state) {\r\n return state.videos;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_HELP_VIDEOS](context) {\r\n return new Promise(resolve => {\r\n systemApi.getHelpInfo().then(response => {\r\n context.commit(VIDEOS, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [VIDEOS](state, videos) {\r\n state.videos = videos;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition\r\nvar KTCard = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n toggleSpeed: 400,\r\n sticky: {\r\n releseOnReverse: false,\r\n offset: 300,\r\n zIndex: 101\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('card')) {\r\n the = KTUtil.data(element).get('card');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('card', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init card\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n the.header = KTUtil.child(element, '.card-header');\r\n the.footer = KTUtil.child(element, '.card-footer');\r\n\r\n if (KTUtil.child(element, '.card-body')) {\r\n the.body = KTUtil.child(element, '.card-body');\r\n } else if (KTUtil.child(element, '.form')) {\r\n the.body = KTUtil.child(element, '.form');\r\n }\r\n },\r\n\r\n /**\r\n * Build Form Wizard\r\n */\r\n build: function() {\r\n // Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove) {\r\n KTUtil.addEvent(remove, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.remove();\r\n });\r\n }\r\n\r\n // Reload\r\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\r\n if (reload) {\r\n KTUtil.addEvent(reload, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.reload();\r\n });\r\n }\r\n\r\n // Toggle\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle) {\r\n KTUtil.addEvent(toggle, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Enable stickt mode\r\n */\r\n initSticky: function() {\r\n var lastScrollTop = 0;\r\n var offset = the.options.sticky.offset;\r\n\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n\t window.addEventListener('scroll', Plugin.onScrollSticky);\r\n },\r\n\r\n\t /**\r\n\t * Window scroll handle event for sticky card\r\n\t */\r\n\t onScrollSticky: function(e) {\r\n\t\t var offset = the.options.sticky.offset;\r\n\r\n\t\t if(isNaN(offset)) return;\r\n\r\n\t\t var st = KTUtil.getScrollTop();\r\n\r\n\t\t if (st >= offset && KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n\t\t\t Plugin.eventTrigger('stickyOn');\r\n\r\n\t\t\t KTUtil.addClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.updateSticky();\r\n\r\n\t\t } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'card-sticky-on')) {\r\n\t\t\t // Back scroll mode\r\n\t\t\t Plugin.eventTrigger('stickyOff');\r\n\r\n\t\t\t KTUtil.removeClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.resetSticky();\r\n\t\t }\r\n\t },\r\n\r\n updateSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n var top;\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on')) {\r\n if (the.options.sticky.position.top instanceof Function) {\r\n top = parseInt(the.options.sticky.position.top.call(this, the));\r\n } else {\r\n top = parseInt(the.options.sticky.position.top);\r\n }\r\n\r\n var left;\r\n if (the.options.sticky.position.left instanceof Function) {\r\n left = parseInt(the.options.sticky.position.left.call(this, the));\r\n } else {\r\n left = parseInt(the.options.sticky.position.left);\r\n }\r\n\r\n var right;\r\n if (the.options.sticky.position.right instanceof Function) {\r\n right = parseInt(the.options.sticky.position.right.call(this, the));\r\n } else {\r\n right = parseInt(the.options.sticky.position.right);\r\n }\r\n\r\n KTUtil.css(the.header, 'z-index', the.options.sticky.zIndex);\r\n KTUtil.css(the.header, 'top', top + 'px');\r\n KTUtil.css(the.header, 'left', left + 'px');\r\n KTUtil.css(the.header, 'right', right + 'px');\r\n }\r\n },\r\n\r\n resetSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n KTUtil.css(the.header, 'z-index', '');\r\n KTUtil.css(the.header, 'top', '');\r\n KTUtil.css(the.header, 'left', '');\r\n KTUtil.css(the.header, 'right', '');\r\n }\r\n },\r\n\r\n /**\r\n * Remove card\r\n */\r\n remove: function() {\r\n if (Plugin.eventTrigger('beforeRemove') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.remove(element);\r\n\r\n Plugin.eventTrigger('afterRemove');\r\n },\r\n\r\n /**\r\n * Set content\r\n */\r\n setContent: function(html) {\r\n if (html) {\r\n the.body.innerHTML = html;\r\n }\r\n },\r\n\r\n /**\r\n * Get body\r\n */\r\n getBody: function() {\r\n return the.body;\r\n },\r\n\r\n /**\r\n * Get self\r\n */\r\n getSelf: function() {\r\n return element;\r\n },\r\n\r\n /**\r\n * Reload\r\n */\r\n reload: function() {\r\n Plugin.eventTrigger('reload');\r\n },\r\n\r\n /**\r\n * Toggle\r\n */\r\n toggle: function() {\r\n if (KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed')) {\r\n Plugin.expand();\r\n } else {\r\n Plugin.collapse();\r\n }\r\n },\r\n\r\n /**\r\n * Collapse\r\n */\r\n collapse: function() {\r\n if (Plugin.eventTrigger('beforeCollapse') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideUp(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterCollapse');\r\n });\r\n\r\n KTUtil.addClass(element, 'card-collapse');\r\n },\r\n\r\n /**\r\n * Expand\r\n */\r\n expand: function() {\r\n if (Plugin.eventTrigger('beforeExpand') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideDown(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterExpand');\r\n });\r\n\r\n KTUtil.removeClass(element, 'card-collapse');\r\n KTUtil.removeClass(element, 'card-collapsed');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Remove card\r\n */\r\n the.remove = function() {\r\n return Plugin.remove(html);\r\n };\r\n\r\n /**\r\n * Init sticky card\r\n */\r\n the.initSticky = function() {\r\n return Plugin.initSticky();\r\n };\r\n\r\n /**\r\n * Rerender sticky layout\r\n */\r\n the.updateSticky = function() {\r\n return Plugin.updateSticky();\r\n };\r\n\r\n /**\r\n * Reset the sticky\r\n */\r\n the.resetSticky = function() {\r\n return Plugin.resetSticky();\r\n };\r\n\r\n\t/**\r\n\t * Destroy sticky card\r\n\t */\r\n\tthe.destroySticky = function() {\r\n\t\tPlugin.resetSticky();\r\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\r\n\t};\r\n\r\n /**\r\n * Reload card\r\n */\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n /**\r\n * Set card content\r\n */\r\n the.setContent = function(html) {\r\n return Plugin.setContent(html);\r\n };\r\n\r\n /**\r\n * Toggle card\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Collapse card\r\n */\r\n the.collapse = function() {\r\n return Plugin.collapse();\r\n };\r\n\r\n /**\r\n * Expand card\r\n */\r\n the.expand = function() {\r\n return Plugin.expand();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getBody = function() {\r\n return Plugin.getBody();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getSelf = function() {\r\n return Plugin.getSelf();\r\n };\r\n\r\n /**\r\n * Attach event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTCard;\r\n}\r\n\r\nexport default KTCard;","\"use strict\";\r\n\r\nvar KTLayoutHeader = function() {\r\n // Private properties\r\n var _element;\r\n var _elementForMobile;\r\n var _object;\r\n\r\n\t// Private functions\r\n // Get Height\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element) + 1;\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Get Height\r\n var _getHeightForMobile = function() {\r\n var height;\r\n\r\n height = KTUtil.actualHeight(_elementForMobile);\r\n\r\n return height;\r\n }\r\n\r\n // Public Methods\r\n\treturn {\r\n\t\tinit: function(id, idForMobile) {\r\n _element = KTUtil.getById(id);\r\n _elementForMobile = KTUtil.getById(idForMobile);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-fixed')\r\n },\r\n\r\n isFixedForMobile: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-mobile-fixed')\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getElementForMobile: function() {\r\n return _elementForMobile;\r\n },\r\n\r\n getHeader: function() {\r\n return _object;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n },\r\n\r\n getHeightForMobile: function() {\r\n return _getHeightForMobile();\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutHeader;","import { companyApi } from \"@/core/apis\";\r\n\r\n// getter types\r\nexport const COMPANIES = \"companies\";\r\n\r\n// action types\r\nexport const GET_COMPANIES = \"getCompanies\";\r\n\r\n// mutation types\r\nconst SET_COMPANIES = \"setCompanies\";\r\n\r\nconst state = {\r\n companies: []\r\n};\r\n\r\nconst getters = {\r\n [COMPANIES](state) {\r\n return state.companies;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_COMPANIES](context) {\r\n return new Promise(resolve => {\r\n companyApi.getAllCompany().then(response => {\r\n context.commit(SET_COMPANIES, response);\r\n\r\n resolve();\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_COMPANIES](state, companies) {\r\n state.companies = companies;\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","import { vehicleTreeData } from \"@/core/apis\";\r\nimport { vehicleTreeGrid_generateUniqueId } from \"@/assets/js/components/XVehicleTreeGrid\";\r\n\r\n// getter types\r\nexport const VEHICLE_TREE_DATA_WITH_CAMERA = \"vehicleTreeDataFlatWithCamera\";\r\n\r\n// action types\r\nexport const GET_VEHICLE_TREE_DATA_WITH_CAMERA = \"getVehicleTreeDataWithCamera\";\r\nexport const PURGE_VEHICLE_TREE_DATA_WITH_CAMERA =\r\n \"purgeVehicleTreeDataWithCamera\";\r\n\r\n// mutation types\r\nconst SET_VEHICLE_TREE_DATA_WITH_CAMERA = \"setVehicleTreeDataWithCamera\";\r\nconst SET_PURGE_VEHICLE_TREE_DATA_WITH_CAMERA =\r\n \"setPurgeVehicleTreeDataWithCamera\";\r\n\r\nconst state = {\r\n vehicleTreeData: []\r\n};\r\n\r\nconst getters = {\r\n [VEHICLE_TREE_DATA_WITH_CAMERA](state) {\r\n return state.vehicleTreeData;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [GET_VEHICLE_TREE_DATA_WITH_CAMERA](context) {\r\n return new Promise(resolve => {\r\n vehicleTreeData.getVehiclesTreeDataWithCamera().then(response => {\r\n context.commit(SET_VEHICLE_TREE_DATA_WITH_CAMERA, response.items);\r\n resolve();\r\n });\r\n });\r\n },\r\n [PURGE_VEHICLE_TREE_DATA_WITH_CAMERA](context) {\r\n context.commit(SET_PURGE_VEHICLE_TREE_DATA_WITH_CAMERA);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_VEHICLE_TREE_DATA_WITH_CAMERA](state, vehicleTreeData) {\r\n // Add iran\r\n vehicleTreeData.unshift({\r\n id: 0,\r\n name: \"ایران\",\r\n gpS_ID: null,\r\n parentID: null,\r\n level: 0,\r\n description: null,\r\n isActive: true\r\n });\r\n\r\n // Change parent id from -1 to 0\r\n vehicleTreeData\r\n .filter(c => c.level === 1)\r\n .forEach(vehicle => (vehicle.parentID = 0));\r\n\r\n const formatted = vehicleTreeData.map(c => ({\r\n extra: {\r\n name: c.name,\r\n gpS_ID: c.gpS_ID,\r\n parentID: c.parentID,\r\n descriptions: c.description\r\n },\r\n isActive: c.isActive,\r\n hasChildren: false,\r\n selected: false,\r\n id: c.id,\r\n level: c.level,\r\n uniqueId: vehicleTreeGrid_generateUniqueId(c.id, c.level),\r\n parentUniqueId:\r\n c.id === 0\r\n ? null\r\n : vehicleTreeGrid_generateUniqueId(c.parentID, c.level - 1)\r\n }));\r\n\r\n const formattedWithoutLastLevel = formatted\r\n .filter(c => c.level < 3)\r\n // Order by level - desc\r\n .sort((first, second) => {\r\n if (first.level === second.level) {\r\n return 0;\r\n } else if (first.level > second.level) {\r\n return -1;\r\n } else {\r\n return 1;\r\n }\r\n });\r\n\r\n for (let index = 0; index < formattedWithoutLastLevel.length; index++) {\r\n const element = formattedWithoutLastLevel[index];\r\n element.hasChildren = formatted.some(\r\n q => q.parentUniqueId === element.uniqueId\r\n );\r\n\r\n if (element.level === 2) {\r\n element.extra.vehicleCount = formatted.filter(\r\n c => c.parentUniqueId === element.uniqueId\r\n ).length;\r\n } else if (element.level === 1) {\r\n element.extra.vehicleCount = formatted\r\n .filter(c => c.parentUniqueId === element.uniqueId)\r\n .reduce((previous, c) => previous + c.extra.vehicleCount, 0);\r\n }\r\n }\r\n\r\n state.vehicleTreeData = [...formatted];\r\n },\r\n [SET_PURGE_VEHICLE_TREE_DATA_WITH_CAMERA](state) {\r\n state.vehicleTreeData = [];\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n","\"use strict\";\r\n\r\nimport KTUtil from \"./util\";\r\n// DOCS: https://javascript.info/cookie\r\n\r\n// Component Definition\r\nvar KTCookie = function() {\r\n return {\r\n // returns the cookie with the given name,\r\n // or undefined if not found\r\n getCookie: function(name) {\r\n var matches = document.cookie.match(new RegExp(\r\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\r\n ));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n },\r\n // Please note that a cookie value is encoded,\r\n // so getCookie uses a built-in decodeURIComponent function to decode it.\r\n setCookie: function(name, value, options) {\r\n if (!options) {\r\n options = {};\r\n }\r\n\r\n options = Object.assign({}, {path: '/'}, options);\r\n\r\n if (options.expires instanceof Date) {\r\n options.expires = options.expires.toUTCString();\r\n }\r\n\r\n var updatedCookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\r\n\r\n for (var optionKey in options) {\r\n if (!options.hasOwnProperty(optionKey)) {\r\n continue;\r\n }\r\n updatedCookie += \"; \" + optionKey;\r\n var optionValue = options[optionKey];\r\n if (optionValue !== true) {\r\n updatedCookie += \"=\" + optionValue;\r\n }\r\n }\r\n\r\n document.cookie = updatedCookie;\r\n },\r\n // To delete a cookie, we can call it with a negative expiration date:\r\n deleteCookie: function(name) {\r\n setCookie(name, \"\", {\r\n 'max-age': -1\r\n })\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n module.exports = KTCookie;\r\n}\r\n\r\nexport default KTCookie;","\"use strict\";\r\n\r\nvar KTLayoutHeaderMenu = function() {\r\n // Private properties\r\n\tvar _menuElement;\r\n var _menuObject;\r\n var _offcanvasElement;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\tvar _init = function() {\r\n\t\t_offcanvasObject = new KTOffcanvas(_offcanvasElement, {\r\n\t\t\toverlay: true,\r\n\t\t\tbaseClass: 'header-menu-wrapper',\r\n\t\t\tcloseBy: 'kt_header_menu_mobile_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_header_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t_menuObject = new KTMenu(_menuElement, {\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: 'dropdown',\r\n\t\t\t\ttablet: 'accordion',\r\n\t\t\t\tmobile: 'accordion'\r\n\t\t\t},\r\n\t\t\taccordion: {\r\n\t\t\t\tslideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n _offcanvasObject.hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n init: function(menuId, offcanvasId) {\r\n _menuElement = KTUtil.getById(menuId);\r\n _offcanvasElement = KTUtil.getById(offcanvasId);\r\n\r\n if (!_menuElement) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetMenuElement: function() {\r\n\t\t\treturn _menuElement;\r\n\t\t},\r\n\r\n getOffcanvasElement: function() {\r\n\t\t\treturn _offcanvasElement;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n\t\tpauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n getOffcanvas: function() {\r\n\t\t\treturn _offcanvasObject;\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_offcanvasObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutHeaderMenu;","export function getAllPermissions() {\r\n return {\r\n MANAGEMENT_USER: 2,\r\n MANAGEMENT_ROLE: 3,\r\n FileUpLoader: 4,\r\n MANAGEMENT_VEHICLE: 5,\r\n MANAGEMENT_VEHICLE_GROUP: 6,\r\n MANAGEMENT_DRIVER: 7,\r\n SupportContract: 8,\r\n MapViewVPath: 15,\r\n MapViewSimple: 17,\r\n MapViewVOnline: 21,\r\n ArbaeenReports: 22,\r\n HeatMap: 23,\r\n TOOLS_CONFIGURATION: 24,\r\n TRACKER_TEST_VIEW: 25,\r\n TRACKER_TEST_EDIT: 26,\r\n DashBoard: 27,\r\n DashCam: 28,\r\n GeneralConfig: 30,\r\n ChangeOnlineReportSettings: 31,\r\n WEB_ONLINE_USERS: 33,\r\n WEB_ADMIN_CONFIG: 34,\r\n WEB_ENTERANCE_REPORT: 35,\r\n WEB_DELETE_REPORT_HISTORY: 36,\r\n EDIT_DefinePerson: 71,\r\n EDIT_MANAGEMENT_SENSORMODEL: 72,\r\n EDIT_MANAGEMENT_SENSORS: 76,\r\n EDIT_MANAGEENT_ASSIGNED_SERVICE: 77,\r\n EDIT_MANAGEMENT_SERVICE: 78,\r\n EDIT_VehicleSupportCompany: 79,\r\n AccessPOL: 108,\r\n MANAGEMENT_AREA: 109,\r\n MANAGEMENT_GEO_PROPERTY: 110,\r\n MANAGEMENT_GEO_PERMISSION: 111,\r\n MANAGEMENT_ALARM: 112,\r\n AccessResetTamper: 113,\r\n AccessResetFactory: 114,\r\n AccessSendController: 115,\r\n RELATION_ALARM_VEHICLE: 116,\r\n RELATION_ALARM_USER: 117,\r\n RELATION_USER_VEHICLEGROUP: 118,\r\n RELATION_USER_VEHICLE: 119,\r\n RELATION_USER_ROLE: 120,\r\n CHANGE_USER_PASSWORD: 121,\r\n ROLE_ACCESSITEM: 122,\r\n EDIT_MANAGEMENT_AREA: 123,\r\n RELATION_VEHICLE_VEHICLEGROUP: 124,\r\n EDIT_MANAGEMENT_PATH: 125,\r\n MANAGEMENT_VEHICLEMODEL: 126,\r\n MANAGEMENT_ASSIGNEDAREA: 127,\r\n MANAGEMENT_ASSIGNEDAREA_ORDERING: 128,\r\n Edit_Trackers: 129,\r\n MANAGEMENT_PATH: 131,\r\n MANAGEMENT_POI: 132,\r\n MANAGEMENT_SENSORS: 133,\r\n MANAGEMENT_SENSORMODEL: 134,\r\n MANAGEMENT_SENSORUSAGE: 135,\r\n MANAGEMENT_VEHICLEKIND: 136,\r\n MANAGEMENT_SERVICE: 138,\r\n PMSERVICEHISTORY: 139,\r\n CHANGE_SPECIAL_PERMISSIONS: 140,\r\n MANAGEENT_ASSIGNED_SERVEICE: 141,\r\n CHANGE_USER_TYPE: 142,\r\n Manage_AccountEntity: 145,\r\n MANAGEMENT_OUTPINUSAGES: 146,\r\n OUTPINS_VEHICLESETTINGS: 147,\r\n Manage_Accounts: 148,\r\n AddMarkerInMapViewVPath: 150,\r\n DefinePerson: 151,\r\n RELATION_VEHICLE_PATH_ASSIGNED: 152,\r\n RELATION_VEHICLE_POINT_ASSIGNED: 153,\r\n EDIT_MANAGEMENT_VEHICLEMODEL: 154,\r\n EDIT_MANAGEMENT_VEHICLEKIND: 155,\r\n VIEW_ONLINE_REPORT_SETTING: 158,\r\n EDIT_RELATION_VEHICLE_PATH_ASSIGNED: 160,\r\n EDIT_MANAGEMENT_POI: 161,\r\n EDIT_RELATION_VEHICLE_POINT_ASSIGNED: 162,\r\n EDIT_MANAGEMENT_USER: 163,\r\n EDIT_RELATION_USER_ROLE: 164,\r\n EDIT_RELATION_USER_VEHICLE: 165,\r\n EDIT_RELATION_USER_VEHICLEGROUP: 166,\r\n EDIT_RELATION_VEHICLE_VEHICLEGROUP: 167,\r\n EDIT_RELATION_ALARM_VEHICLE: 168,\r\n EDIT_MANAGEMENT_DRIVER: 170,\r\n EDIT_MANAGEMENT_GEO_PROPERTY: 171,\r\n EDIT_MANAGEMENT_GEO_PERMISSION: 172,\r\n EDIT_RELATION_ALARM_USER: 174,\r\n Edit_MANAGEMENT_OUTPINUSAGES: 175,\r\n EDIT_MANAGEMENT_SENSORUSAGE: 176,\r\n EDIT_MANAGEMENT_ALARM: 177,\r\n EDIT_OUTPINS_VEHICLESETTINGS: 178,\r\n Report: 179,\r\n EDIT_ROLE: 181,\r\n EDIT_ROLE_ACCESSITEM: 182,\r\n EDIT_MANAGEMENT_VEHICLE_GROUP: 183,\r\n EDIT_MANAGEMENT_ASSIGNEDAREA: 184,\r\n SendAlarmToPersons: 185,\r\n EditSendAlarmToPersons: 186,\r\n MANAGEMENT_VEHICLE_Vehicle_SPEC: 187,\r\n ReportBuilder: 190,\r\n EditReportBuilder: 191,\r\n DefineCustomProperty: 192,\r\n AllUserManagement: 193,\r\n Manage_Company: 195,\r\n DepartmentManagement: 196,\r\n Test: 197,\r\n ImportTrackerList: 198,\r\n DownloadHelpFile: 199,\r\n TrackerStopReason: 200,\r\n Edit_TrackerStopReason: 201,\r\n Mission: 202,\r\n Edit_Mission: 203,\r\n VisitForm: 204,\r\n Edit_VisitForm: 205,\r\n Winter: 206,\r\n Edit_Winter: 207,\r\n View_TrackersResult: 208,\r\n View_Shelters: 209,\r\n MachineFailureReason: 212,\r\n Edit_Shelters: 216,\r\n TrackerStopReason_SetDisable: 210,\r\n View_All_Vehicles_OnlineReports: 211,\r\n TrackerDetail: 214,\r\n SimCardView: 215,\r\n ConsumptionVehicle: 217,\r\n RoadsMngConfirmation: 218,\r\n MachineryMngConfirmation: 219,\r\n SQLEditor: 255,\r\n AlarmReport: 10002,\r\n StopReport: 10004,\r\n DistanceReportNewest: 10030,\r\n VehiclePath: 10037,\r\n VehicleGPSAllPointsInRangeDates: 10038,\r\n OverSpeedHistoryReport: 10063,\r\n AreaActivityReport: 10066,\r\n CommandsStatus: 10071,\r\n AreaVehicleDetailReport: 10082,\r\n AreaActivityByProvince: 10083,\r\n BillingReport: 10084,\r\n CurrentStatus: 10085,\r\n DeviceTrackerLastStatus: 10086,\r\n TrackerBillingReport: 10087,\r\n SupporterBillingDetailReport: 10088,\r\n SupporterBillingReport: 10089,\r\n ConsultantBillingReport: 10090,\r\n ProvinceSpeedAverage: 10091,\r\n CountrySpeedAverage: 10092,\r\n TrackerTestReport: 10093,\r\n Contracts: 10094,\r\n DistanceActiveHoursReport: 10095,\r\n OverSpeedActiveHoursReport: 10096,\r\n DistanceReportInArea: 10097,\r\n InactiveTrackers: 10098,\r\n DeviceTrackerLastStatus2: 10099,\r\n VehiclesMissionReport: 10100,\r\n DepartmentsMissionReport: 10101,\r\n IncorrectOperationReport: 10102,\r\n VehiclesMissionAndDistanceReport: 10103,\r\n ConsumptionVehicleReport: 10104,\r\n DefinedMissionsReport: 10105,\r\n IncorrectStatusReport: 10106,\r\n SupporterEvaluationReport: 10107,\r\n TrackersWithoutDataReport: 10108,\r\n ActiveTrackersDailyReport: 10109,\r\n ActiveInstalledTrackersDailyReport: 10110,\r\n TrackerInstallationReport: 10111,\r\n UserActivitiesReport: 10112,\r\n TrackerLifeReport: 10115,\r\n CameraStatusReport: 10118\r\n };\r\n}\r\n\r\nexport function hasPermissions(permissions, permittedUsecases){\r\n return permissions.every(c =>\r\n permittedUsecases.includes(c)\r\n );\r\n}\r\n","import Vue from \"vue\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport { xLocalStorage } from \"@/core/services/xLocalStorage.service\";\r\n\r\n// Localisation language list\r\nimport fa from \"@/core/config/i18n/fa\";\r\n\r\nVue.use(VueI18n);\r\n\r\nlet messages = {};\r\nmessages = { ...messages, fa };\r\n\r\n// get current selected language\r\nconst lang = xLocalStorage.get(\"language\") || \"fa\";\r\n\r\n// Create VueI18n instance with options\r\nconst i18n = new VueI18n({\r\n locale: lang, // set locale\r\n messages // set locale messages\r\n});\r\n\r\nexport default i18n;\r\n","\"use strict\";\r\n\r\nvar KTLayoutAside = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar offcanvasClass = KTUtil.hasClass(_element, 'aside-offcanvas-default') ? 'aside-offcanvas-default' : 'aside';\r\n\r\n // Initialize mobile aside offcanvas\r\n\t\t_offcanvasObject = new KTOffcanvas(_element, {\r\n\t\t\tbaseClass: offcanvasClass,\r\n\t\t\toverlay: true,\r\n\t\t\tcloseBy: 'kt_aside_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_aside_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getOffcanvas: function() {\r\n return _offcanvasObject;\r\n },\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(_body, 'aside-fixed');\r\n },\r\n\r\n isMinimized: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize'));\r\n },\r\n\r\n isHoverable: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable'));\r\n }\r\n\t};\r\n}();\r\n\r\n\r\n\r\nexport default KTLayoutAside;","import i18n from \"@/core/plugins/vue-i18n\";\r\n\r\n// getter types\r\nexport const DIALOG_DATA = \"dialogData\";\r\n\r\n// action types\r\nexport const OPEN_DIALOG = \"openDialog\";\r\nexport const DO_OK = \"doOk\";\r\nexport const DO_CANCEL = \"doCancel\";\r\n\r\n// mutation types\r\nconst SET_DATA = \"setData\";\r\nconst RESET_DATA = \"resetData\";\r\nconst SET_OPEN_DIALOG = \"setOpenDialog\";\r\n\r\nexport const DIALOG_TYPE_ENUM = Object.freeze({\r\n success: \"Success\",\r\n info: \"Info\",\r\n warning: \"Warning\",\r\n error: \"Error\"\r\n});\r\n\r\nconst state = {\r\n dialog: {\r\n open: false,\r\n title: i18n.t(\"General.Dialog.Titles.Warning\"),\r\n text: null,\r\n type: DIALOG_TYPE_ENUM.warning,\r\n buttons: {\r\n ok: {\r\n display: true,\r\n title: i18n.t(\"General.Ok\"),\r\n callback: null\r\n },\r\n cancel: {\r\n display: false,\r\n title: i18n.t(\"General.Cancel\")\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst getters = {\r\n [DIALOG_DATA](state) {\r\n return state.dialog;\r\n }\r\n};\r\n\r\nconst actions = {\r\n [OPEN_DIALOG](context, payload) {\r\n context.commit(SET_DATA, payload);\r\n context.commit(SET_OPEN_DIALOG, true);\r\n },\r\n [DO_OK](context) {\r\n context.commit(SET_OPEN_DIALOG, false);\r\n\r\n const callback = context.state.dialog.buttons.ok.callback;\r\n if (callback && typeof callback === \"function\") {\r\n callback();\r\n }\r\n\r\n context.commit(RESET_DATA);\r\n },\r\n [DO_CANCEL](context) {\r\n context.commit(SET_OPEN_DIALOG, false);\r\n context.commit(RESET_DATA);\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_OPEN_DIALOG](state, isOpen) {\r\n state.dialog.open = isOpen;\r\n },\r\n [SET_DATA](state, data) {\r\n state.dialog.type = data?.type ?? DIALOG_TYPE_ENUM.warning;\r\n state.dialog.title =\r\n data?.title ?? i18n.t(`General.Dialog.Titles.${state.dialog.type}`);\r\n state.dialog.text = data?.text ?? null;\r\n\r\n state.dialog.buttons.ok.display = data?.buttons?.ok?.display ?? true;\r\n state.dialog.buttons.ok.title =\r\n data?.buttons?.ok?.title ?? i18n.t(\"General.Ok\");\r\n state.dialog.buttons.ok.callback = data?.buttons?.ok?.callback ?? null;\r\n\r\n state.dialog.buttons.cancel.display =\r\n data?.buttons?.cancel?.display ?? false;\r\n state.dialog.buttons.cancel.title =\r\n data?.buttons?.cancel?.title ?? i18n.t(\"General.Cancel\");\r\n },\r\n [RESET_DATA](state) {\r\n state.dialog.type = DIALOG_TYPE_ENUM.warning;\r\n state.dialog.title = i18n.t(\"General.Dialog.Titles.Warning\");\r\n state.dialog.text = null;\r\n\r\n state.dialog.buttons.ok.display = true;\r\n state.dialog.buttons.ok.title = i18n.t(\"General.Ok\");\r\n state.dialog.buttons.ok.callback = null;\r\n\r\n state.dialog.buttons.cancel.display = false;\r\n state.dialog.buttons.cancel.title = i18n.t(\"General.Cancel\");\r\n }\r\n};\r\n\r\nexport default {\r\n state,\r\n actions,\r\n mutations,\r\n getters\r\n};\r\n"],"sourceRoot":""}