{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/core/services/store/breadcrumbs.module.js","webpack:///./src/assets/js/layout/base/aside-toggle.js","webpack:///./src/core/services/api/modules/vehicle_types.js","webpack:///./src/core/services/jwt.service.js","webpack:///./src/assets/js/components/image-input.js","webpack:///./src/App.vue?07d4","webpack:///src/App.vue","webpack:///./src/App.vue?5b92","webpack:///./src/App.vue","webpack:///./src/router.js","webpack:///./src/core/config/i18n/en.js","webpack:///./src/core/config/i18n/ru.js","webpack:///./src/core/plugins/vue-i18n.js","webpack:///./src/core/plugins/vuetify.js","webpack:///./src/core/plugins/bootstrap-vue.js","webpack:///./src/core/plugins/perfect-scrollbar.js","webpack:///./src/core/plugins/highlight-js.js","webpack:///./src/core/plugins/inline-svg.js","webpack:///./src/core/plugins/apexcharts.js","webpack:///./src/assets/js/layout/base/content.js","webpack:///./src/assets/js/layout/base/footer.js","webpack:///./src/assets/js/layout/base/subheader.js","webpack:///./src/assets/js/layout/extended/chat.js","webpack:///./src/assets/js/layout/extended/examples.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-panel.js","webpack:///./src/assets/js/layout/extended/quick-search.js","webpack:///./src/assets/js/layout/extended/quick-user.js","webpack:///./src/assets/js/layout/extended/search.js","webpack:///./src/assets/js/layout/extended/sticky-card.js","webpack:///./src/assets/js/layout/extended/stretched-card.js","webpack:///./src/core/plugins/metronic.js","webpack:///./src/core/plugins/meta.js","webpack:///./src/core/plugins/yandex-map.js","webpack:///./src/main.js","webpack:///./src/core/services/api/modules/geocoder.js","webpack:///./src/core/services/store/config.module.js","webpack:///./src/core/services/api/modules/cities.js","webpack:///./src/App.vue?4726","webpack:///./src/core/services/api/modules/client/vehicles.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/api/index.js","webpack:///./src/core/services/api.service.js","webpack:///./src/core/services/api/modules/contractor/orders.js","webpack:///./src/core/services/store/auth.module.js","webpack:///./src/core/services/api/modules/auth.js","webpack:///./src/core/services/api/modules sync .*\\.js$","webpack:///./src/assets/js/layout/base/brand.js","webpack:///./src/assets/js/components/dialog.js","webpack:///./src/core/services/api/modules/profile.js","webpack:///./src/assets/js/components/wizard.js","webpack:///./src/core/services/api/modules/measure_units.js","webpack:///./src/assets/js/components/util.js","webpack:///./src/core/services/api/modules/client/orders.js","webpack:///./src/assets/js/components/offcanvas.js","webpack:///./src/assets/js/components/scrolltop.js","webpack:///./src/assets/js/components/toggle.js","webpack:///./src/assets/js/layout/base/header-topbar.js","webpack:///./src/assets/js/layout/base/aside-menu.js","webpack:///./src/core/services/api/modules/contractor/messages.js","webpack:///./src/assets/js/components/card.js","webpack:///./src/core/services/api/modules/contractor/vehicles.js","webpack:///./src/assets/js/layout/base/header.js","webpack:///./src/assets/js/components/cookie.js","webpack:///./src/assets/js/layout/base/header-menu.js","webpack:///./src/assets/js/layout/base/aside.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","payload","commit","forEach","item","mutations","KTLayoutAsideToggle","_body","_element","_toggleObject","_init","KTToggle","targetState","toggleState","on","toggle","KTUtil","addClass","transitionEnd","removeClass","KTLayoutStickyCard","update","KTLayoutHeaderMenu","pauseDropdownHover","KTLayoutAsideMenu","KTCookie","setCookie","getState","hasClass","init","id","getById","getBody","getElement","getToggle","onToggle","handler","element","select","query","ApiService","ID_TOKEN_KEY","process","getToken","localStorage","getItem","saveToken","token","setItem","destroyToken","removeItem","KTImageInput","elementId","options","the","this","defaultOptions","editMode","Plugin","construct","has","build","set","events","input","find","wrapper","cancel","remove","css","hidden","deepExtend","addEvent","preventDefault","files","reader","FileReader","readAsDataURL","eventTrigger","one","fired","setDefaults","_vm","_h","$createElement","_c","_self","staticRenderFns","metaInfo","titleTemplate","htmlAttrs","lang","amp","mounted","$store","dispatch","component","Vue","use","Router","routes","path","redirect","children","locale","TRANSLATOR","SELECT","MENU","NEW","ACTIONS","CREATE_POST","PAGES","FEATURES","APPS","DASHBOARD","AUTH","GENERAL","OR","SUBMIT_BUTTON","NO_ACCOUNT","SIGNUP_BUTTON","FORGOT_BUTTON","BACK_BUTTON","PRIVACY","LEGAL","CONTACT","LOGIN","TITLE","BUTTON","FORGOT","DESC","SUCCESS","REGISTER","INPUT","EMAIL","FULLNAME","PASSWORD","CONFIRM_PASSWORD","USERNAME","VALIDATION","INVALID","REQUIRED","MIN_LENGTH","AGREEMENT_REQUIRED","NOT_FOUND","INVALID_LOGIN","REQUIRED_FIELD","MIN_LENGTH_FIELD","MAX_LENGTH_FIELD","INVALID_FIELD","ECOMMERCE","COMMON","SELECTED_RECORDS_COUNT","ALL","SUSPENDED","ACTIVE","FILTER","BY_STATUS","BY_TYPE","BUSINESS","INDIVIDUAL","SEARCH","IN_ALL_FIELDS","CUSTOMERS","CUSTOMERS_LIST","NEW_CUSTOMER","DELETE_CUSTOMER_SIMPLE","DESCRIPTION","WAIT_DESCRIPTION","MESSAGE","DELETE_CUSTOMER_MULTY","UPDATE_STATUS","EDIT","UPDATE_MESSAGE","ADD_MESSAGE","SIGNIN_BUTTON","VueI18n","messages","en","ru","i18n","Vuetify","components","VSnackbar","VBtn","VIcon","VuetifyToast","x","y","color","icon","iconColor","classes","dismissable","multiLine","vertical","queueable","showClose","closeText","closeIcon","closeColor","slot","shorts","custom","vuetify","locales","current","theme","customProperties","themes","light","primary","secondary","accent","info","success","warning","VuetifyConfirm","BootstrapVue","IconsPlugin","PerfectScrollbar","VueHighlightJS","languages","scss","javascript","json","vue","InlineSvgPlugin","VueApexCharts","KTLayoutContent","_getHeight","height","getViewPort","parseInt","KTLayoutHeader","getHeight","KTLayoutSubheader","KTLayoutFooter","actualHeight","isFixed","KTLayoutChat","scrollEl","cardBodyEl","cardHeaderEl","cardFooterEl","scrollInit","windowScroll","mobileNativeScroll","desktopNativeScroll","resetHeightOnDestroy","handleWindowResize","rememberPosition","isBreakpointDown","hasAttr","attr","isBreakpointUp","keyCode","_handeMessaging","messagesEl","textarea","node","ps","html","setHTML","scrollTop","encodeURI","location","hostname","getCookie","expires","Date","getTime","click","setup","KTLayoutExamples","initDefaultMode","elements","querySelectorAll","example","copy","clipboard","ClipboardJS","trigger","closest","el","clearSelection","initCompactMode","slideUp","hide","slideDown","show","KTLayoutQuickActions","header","content","KTOffcanvas","overlay","baseClass","placement","closeBy","toggleBy","disableForMobile","KTLayoutQuickCartPanel","footer","KTLayoutQuickNotifications","KTLayoutQuickPanel","_notificationsElement","_logsElement","_settingsElement","_getContentHeight","_initNotifications","_initLogs","_initSettings","KTLayoutQuickSearch","form","results","KTLayoutQuickUser","KTLayoutSearch","_target","_form","_input","_closeIcon","_resultWrapper","_resultDropdown","_resultDropdownToggle","_closeIconContainer","_query","_hasResult","_timeout","_isProcessing","_requestTimeout","_spinnerClass","_resultClass","_minLength","_showProgress","_hideProgress","_showDropdown","$","dropdown","_hideDropdown","_processSearch","scrollUpdate","ajax","url","HOST_URL","dataType","res","_handleCancel","_handleSearch","onkeypress","charCode","_object","offset","KTCard","sticky","zIndex","position","top","pos","isFixedForMobile","getHeightForMobile","left","card","right","body","cardWidth","bodyWidth","cardOffsetLeft","initSticky","addResizeHandler","updateSticky","KTLayoutStretchedCard","scroll","cardBody","cardHeader","KTDialog","KTHeader","KTMenu","KTScrolltop","KTWizard","KTLayoutAside","KTLayoutBrand","KTLayoutHeaderTopbar","KTLayoutScrolltop","VueMeta","refreshOnceOnNavigation","GmapCluster","GmapVue","load","libraries","installComponents","config","productionTip","router","beforeEach","to","from","next","store","VERIFY_AUTH","confirmed","scrollTo","render","h","App","$mount","params","SET_LAYOUT_CONFIG","OVERRIDE_LAYOUT_CONFIG","layoutConfig","defaultValue","objectPath","assign","JSON","parse","desktop","tabletAndMobile","releseOnReverse","eventTriggerState","lastScrollTop","getDocumentHeight","addEventListener","st","getScrollTop","hasAttribute","removeAttribute","args","speed","Vuex","Store","auth","htmlClass","accordion","slideSpeed","autoScroll","autoScrollSpeed","expandAll","reset","eventHandlers","pauseDropdownHoverTime","uid","getUniqueID","reload","resetSubmenuProps","handleSubmenuAccordion","getSubmenuMode","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","off","scrollDestroy","isset","submenu","hasClasses","default","tablet","mobile","submenus","findAll","len","resumeDropdownHover","showSubmenuDropdown","time","hideSubmenuDropdown","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","child","subnav","closables","el_","submenu_","scrollToItem","classAlso","items","cnt","list","contains","createSubmenuDropdownClickDropoff","dropoff","stopPropagation","date","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","getClasses","context","className","classList","add","requireContext","require","keys","map","file","replace","reduce","namespaced","install","apiModules","api","VueAxios","axios","defaults","baseURL","setHeader","headers","common","JwtService","resource","catch","slug","post","put","patch","delete","selectAvailable","selectActive","accept","vehicleId","vehicle_id","LOGOUT","UPDATE_USER","CONFIRM","REPEAT_CODE","REPEAT_CODE_BY_PHONE","RESET_PASSWORD","RESET_ERRORS","PURGE_AUTH","SET_AUTH","SET_ERROR","errors","user","isAuthenticated","currentUser","role","decoded","jwt_decode","credentials","response","base","sign_up","resetPassword","confirm","repeatCode","repeatCodeByPhone","email","username","password","image","bio","access_token","webpackContext","req","webpackContextResolve","startStep","clickableSteps","steps","btnSubmit","btnNext","btnPrev","btnLast","btnFirst","currentStep","stopped","totalSteps","goTo","updateUI","getNextStep","getPrevStep","getFirstStep","getLastStep","index","number","eventHandle","callback","stop","start","isLastStep","isFirstStep","isBetweenStep","stepType","stepsInfo","removeAttr","stepsContent","nested","goNext","goPrev","goLast","goFirst","getStep","Element","matches","msMatchesSelector","webkitMatchesSelector","ancestor","documentElement","parentElement","elem","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","timeToCall","Math","max","arr","configurable","writable","argArr","Array","arguments","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","String","insertBefore","firstChild","Document","DocumentFragment","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","timer","_runResizeHandlers","each","throttle","settings","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","evt","createEvent","initUIEvent","getURLParam","paramName","val","searchString","search","substring","split","unescape","isMobileDevice","width","getBreakpoint","isDesktopDevice","a","isInResponsiveRange","breakpoint","prefix","floor","random","obj","stone","indexOf","getHighestZindex","isNaN","hasFixedPositionedParent","sleep","milliseconds","getRandomInt","min","isAngularVersion","Zone","out","extend","getElementById","getByTag","getByClass","getElementsByClassName","classesArr","trim","RegExp","test","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","selector","matchesSelector","mozMatchesSelector","oMatchesSelector","log","childNodes","f","tagName","customDataTag","outerWidth","margin","parseFloat","offsetWidth","rect","win","getClientRects","getBoundingClientRect","defaultView","pageYOffset","pageXOffset","visible","offsetHeight","animate","duration","easing","done","easings","linear","b","rAF","change","performance","now","loop","timestamp","actualCss","prop","cache","HTMLElement","style","cssText","actualWidth","getScroll","method","self","browserSupportsBoxModel","styleProp","getComputedStyle","toLowerCase","getPropertyValue","currentStyle","str","letter","toUpperCase","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","display","overflow","removeEventListener","eventId","targets","callee","hash","chr","charCodeAt","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transition","transitions","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","targetPos","scrollPos","isArray","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","navigator","userAgent","msie","trident","rv","edge","isRTL","Function","destroy","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","scrollUpdateAll","scrollers","resetAll","setProperty","getHTML","scrollHeight","clientHeight","scrollingElement","colorDarken","amount","subtractLight","cc","toString","colorLighten","addLight","func","delay","debounce","KTAppSettings","customClass","classBase","classCustom","classShown","classOverlay","isShown","toggleClass","classPush","handle","toggleOn","toggleOff","_toggleElement","getToggleElement","_menuObject","menuDesktopMode","menu","isMinimized","isHoverable","getMenu","closeMobileOffcanvas","send","markReaded","bodyToggleSpeed","tooltips","tools","collapse","expand","fullscreen","setupTooltips","onScrollSticky","resetSticky","removeTooltips","setContent","getSelf","collapsed","fullscreenOn","tip","Tooltip","template","dispose","updateTitleContent","height1","height2","destroySticky","unFullscreen","switchAvailable","_elementForMobile","_getHeightForMobile","idForMobile","getElementForMobile","getHeader","cookie","match","decodeURIComponent","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","deleteCookie","_menuElement","_offcanvasElement","_offcanvasObject","menuId","offcanvasId","getMenuElement","getOffcanvasElement","getOffcanvas","insideTm","outsideTm","offcanvasClass"],"mappings":"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","file":"js/app.c5bca65f.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-0d0ca692\":\"dedb1150\",\"chunk-134f81dd\":\"832b8013\",\"chunk-2d0c0c06\":\"fbe294d1\",\"chunk-314ebc94\":\"552a5570\",\"chunk-b13d98fe\":\"b83ef46a\",\"chunk-b8a3909c\":\"15ce16cd\",\"chunk-35622bb2\":\"b20792b4\",\"chunk-39079918\":\"31201d34\",\"chunk-3cb6c51e\":\"0a26306b\",\"chunk-3a8f104a\":\"2e7118a4\",\"chunk-6f6ef6e4\":\"b39fac34\",\"chunk-7b028d31\":\"98c57f05\",\"chunk-2d0a460b\":\"fb9ee364\",\"chunk-2766e1b2\":\"efe9e615\",\"chunk-6f967527\":\"b11f7727\",\"chunk-aac6e692\":\"5a6ffd5d\",\"chunk-aaf3e904\":\"9dac08b1\",\"chunk-eaaa750e\":\"ddca15ad\",\"chunk-ed5d5662\":\"5c003784\",\"chunk-743e4b25\":\"780cf6db\",\"chunk-74524b79\":\"62ce6076\",\"chunk-746154ec\":\"f79fd0ac\",\"chunk-7498e9ec\":\"89ec2078\",\"chunk-74a82e1a\":\"f8868379\",\"chunk-74b6aca8\":\"c8c06500\",\"chunk-76f08193\":\"c4729e57\",\"chunk-771a7e38\":\"b309e18f\"}[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-134f81dd\":1,\"chunk-314ebc94\":1,\"chunk-b13d98fe\":1,\"chunk-b8a3909c\":1,\"chunk-3a8f104a\":1,\"chunk-2766e1b2\":1,\"chunk-eaaa750e\":1,\"chunk-743e4b25\":1,\"chunk-74524b79\":1,\"chunk-746154ec\":1,\"chunk-7498e9ec\":1,\"chunk-74a82e1a\":1,\"chunk-74b6aca8\":1,\"chunk-76f08193\":1,\"chunk-771a7e38\":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-0d0ca692\":\"31d6cfe0\",\"chunk-134f81dd\":\"a0d28e20\",\"chunk-2d0c0c06\":\"31d6cfe0\",\"chunk-314ebc94\":\"2fecab31\",\"chunk-b13d98fe\":\"0e433876\",\"chunk-b8a3909c\":\"0e433876\",\"chunk-35622bb2\":\"31d6cfe0\",\"chunk-39079918\":\"31d6cfe0\",\"chunk-3cb6c51e\":\"31d6cfe0\",\"chunk-3a8f104a\":\"efa42c7b\",\"chunk-6f6ef6e4\":\"31d6cfe0\",\"chunk-7b028d31\":\"31d6cfe0\",\"chunk-2d0a460b\":\"31d6cfe0\",\"chunk-2766e1b2\":\"dbe4c19c\",\"chunk-6f967527\":\"31d6cfe0\",\"chunk-aac6e692\":\"31d6cfe0\",\"chunk-aaf3e904\":\"31d6cfe0\",\"chunk-eaaa750e\":\"2528ef0f\",\"chunk-ed5d5662\":\"31d6cfe0\",\"chunk-743e4b25\":\"b7e4a7f0\",\"chunk-74524b79\":\"7ffa99ea\",\"chunk-746154ec\":\"bd71bd7a\",\"chunk-7498e9ec\":\"01b003b6\",\"chunk-74a82e1a\":\"46c78b86\",\"chunk-74b6aca8\":\"ab3fe41f\",\"chunk-76f08193\":\"2fe6c5ad\",\"chunk-771a7e38\":\"0ec69b23\"}[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 = \"/client/\";\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","// 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\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, {\r\n\t\t\ttarget: _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\t\t\tKTUtil.addClass(_body, 'aside-minimizing');\r\n KTUtil.transitionEnd(_body, function() {\r\n KTUtil.removeClass(_body, 'aside-minimizing');\r\n\t\t\t});\r\n\r\n // Update sticky card\r\n KTLayoutStickyCard.update();\r\n\r\n // Pause header menu dropdowns\r\n KTLayoutHeaderMenu.pauseDropdownHover(800);\r\n\r\n // Pause aside menu dropdowns\r\n\t\t\tKTLayoutAsideMenu.pauseDropdownHover(800);\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\nexport default KTLayoutAsideToggle;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('vehicle_types', query)\n }\n}\n","const ID_TOKEN_KEY = `${process.env.VUE_APP_ROLE}_app_token`;\r\n\r\nexport const getToken = () => {\r\n return window.localStorage.getItem(ID_TOKEN_KEY);\r\n};\r\n\r\nexport const saveToken = token => {\r\n window.localStorage.setItem(ID_TOKEN_KEY, token);\r\n};\r\n\r\nexport const destroyToken = () => {\r\n window.localStorage.removeItem(ID_TOKEN_KEY);\r\n};\r\n\r\nexport default { getToken, saveToken, destroyToken };\r\n","\"use strict\";\n\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\nexport default KTImageInput;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\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--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-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=2c5c086c&\"\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&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 Router from \"vue-router\";\r\n\r\nVue.use(Router);\r\n\r\nexport default new Router({\r\n routes: [\r\n {\r\n path: \"/\",\r\n name: 'root',\r\n redirect: () => process.env.VUE_APP_ROLE === 'client' ? '/client/orders' : '/vehicles',\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"/vehicles\",\r\n name: \"vehicles\",\r\n component: () => import(\"@/view/pages/Vehicles.vue\")\r\n },\r\n {\r\n path: \"/orders\",\r\n name: \"orders\",\r\n component: () => import(\"@/view/pages/Orders.vue\")\r\n },\r\n {\r\n path: \"/active-orders\",\r\n name: \"active-orders\",\r\n component: () => import(\"@/view/pages/ActiveOrders.vue\")\r\n },\r\n {\r\n path: \"/messages\",\r\n name: \"messages\",\r\n component: () => import(\"@/view/pages/Messages.vue\")\r\n },\r\n {\r\n path: \"/profile\",\r\n name: \"profile\",\r\n component: () => import(\"@/view/pages/Profile.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/\",\r\n name: 'client',\r\n component: () => import(\"@/view/layout/Layout\"),\r\n children: [\r\n {\r\n path: \"client/orders\",\r\n name: \"client_orders\",\r\n component: () => import(\"@/view/pages/client/Orders.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/\",\r\n name: 'client',\r\n component: () => import(\"@/view/layout/LayoutMap\"),\r\n children: [\r\n {\r\n path: \"client/map\",\r\n name: \"client_map\",\r\n component: () => import(\"@/view/pages/client/Map.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/\",\r\n component: () => import(\"@/view/pages/auth/Auth\"),\r\n children: [\r\n {\r\n name: \"login\",\r\n path: \"/login\",\r\n component: () => import(\"@/view/pages/auth/Login\")\r\n },\r\n {\r\n name: \"register\",\r\n path: \"/register\",\r\n component: () => import(\"@/view/pages/auth/Register\")\r\n },\r\n {\r\n name: \"confirm\",\r\n path: \"/confirm\",\r\n component: () => import(\"@/view/pages/auth/Confirm\")\r\n },\r\n {\r\n name: \"restore\",\r\n path: \"/restore\",\r\n component: () => import(\"@/view/pages/auth/Restore\")\r\n },\r\n {\r\n name: \"logout\",\r\n path: \"/logout\",\r\n component: () => import(\"@/view/pages/auth/Logout\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"*\",\r\n redirect: \"/404\"\r\n },\r\n {\r\n // the 404 route, when none of the above matches\r\n path: \"/404\",\r\n name: \"404\",\r\n component: () => import(\"@/view/pages/error/Error-1.vue\")\r\n }\r\n ]\r\n});\r\n","// USA\r\nexport const locale = {\r\n TRANSLATOR: {\r\n SELECT: \"Select your language\"\r\n },\r\n MENU: {\r\n NEW: \"new\",\r\n ACTIONS: \"Actions\",\r\n CREATE_POST: \"Create New Post\",\r\n PAGES: \"Pages\",\r\n FEATURES: \"Features\",\r\n APPS: \"Apps\",\r\n DASHBOARD: \"Dashboard\"\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: \"Or\",\r\n SUBMIT_BUTTON: \"Submit\",\r\n NO_ACCOUNT: \"Don't have an account?\",\r\n SIGNUP_BUTTON: \"Sign Up\",\r\n FORGOT_BUTTON: \"Forgot Password\",\r\n BACK_BUTTON: \"Back\",\r\n PRIVACY: \"Privacy\",\r\n LEGAL: \"Legal\",\r\n CONTACT: \"Contact\"\r\n },\r\n LOGIN: {\r\n TITLE: \"Login Account\",\r\n BUTTON: \"Sign In\"\r\n },\r\n FORGOT: {\r\n TITLE: \"Forgot Password?\",\r\n DESC: \"Enter your email to reset your password\",\r\n SUCCESS: \"Your account has been successfully reset.\"\r\n },\r\n REGISTER: {\r\n TITLE: \"Sign Up\",\r\n DESC: \"Enter your details to create your account\",\r\n SUCCESS: \"Your account has been successfuly registered.\"\r\n },\r\n INPUT: {\r\n EMAIL: \"Email\",\r\n FULLNAME: \"Fullname\",\r\n PASSWORD: \"Password\",\r\n CONFIRM_PASSWORD: \"Confirm Password\",\r\n USERNAME: \"Username\"\r\n },\r\n VALIDATION: {\r\n INVALID: \"{{name}} is not valid\",\r\n REQUIRED: \"{{name}} is required\",\r\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\r\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\r\n NOT_FOUND: \"The requested {{name}} is not found\",\r\n INVALID_LOGIN: \"The login detail is incorrect\",\r\n REQUIRED_FIELD: \"Required field\",\r\n MIN_LENGTH_FIELD: \"Minimum field length:\",\r\n MAX_LENGTH_FIELD: \"Maximum field length:\",\r\n INVALID_FIELD: \"Field is not valid\"\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\r\n ALL: \"All\",\r\n SUSPENDED: \"Suspended\",\r\n ACTIVE: \"Active\",\r\n FILTER: \"Filter\",\r\n BY_STATUS: \"by Status\",\r\n BY_TYPE: \"by Type\",\r\n BUSINESS: \"Business\",\r\n INDIVIDUAL: \"Individual\",\r\n SEARCH: \"Search\",\r\n IN_ALL_FIELDS: \"in all fields\"\r\n },\r\n ECOMMERCE: \"eCommerce\",\r\n CUSTOMERS: {\r\n CUSTOMERS: \"Customers\",\r\n CUSTOMERS_LIST: \"Customers list\",\r\n NEW_CUSTOMER: \"New Customer\",\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: \"Customer Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\r\n WAIT_DESCRIPTION: \"Customer is deleting...\",\r\n MESSAGE: \"Customer has been deleted\"\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: \"Customers Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\r\n WAIT_DESCRIPTION: \"Customers are deleting...\",\r\n MESSAGE: \"Selected customers have been deleted\"\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: \"Status has been updated for selected customers\",\r\n MESSAGE: \"Selected customers status have successfully been updated\"\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: \"Customer has been updated\",\r\n ADD_MESSAGE: \"Customer has been created\"\r\n }\r\n }\r\n }\r\n};\r\n","// Russian\r\nexport const locale = {\r\n TRANSLATOR: {\r\n SELECT: \"Select your language\"\r\n },\r\n MENU: {\r\n NEW: \"new\",\r\n ACTIONS: \"Actions\",\r\n CREATE_POST: \"Create New Post\",\r\n PAGES: \"Pages\",\r\n FEATURES: \"Features\",\r\n APPS: \"Apps\",\r\n DASHBOARD: \"Dashboard\"\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: \"Or\",\r\n SUBMIT_BUTTON: \"Submit\",\r\n NO_ACCOUNT: \"У Вас еще нет аккаунта?\",\r\n SIGNUP_BUTTON: \"Регистрация\",\r\n SIGNIN_BUTTON: \"Авторизация\",\r\n FORGOT_BUTTON: \"Forgot Password\",\r\n BACK_BUTTON: \"Назад\",\r\n PRIVACY: \"Privacy\",\r\n LEGAL: \"Legal\",\r\n CONTACT: \"Contact\"\r\n },\r\n LOGIN: {\r\n TITLE: \"Авторизация\",\r\n BUTTON: \"Вход\"\r\n },\r\n FORGOT: {\r\n TITLE: \"Забыли пароль?\",\r\n DESC: \"Введите свой номер телефона для сброса пароля\",\r\n SUCCESS: \"Your account has been successfully reset.\"\r\n },\r\n REGISTER: {\r\n TITLE: \"Регистрация\",\r\n BUTTON: \"Зарегистрироваться\",\r\n DESC: \"Enter your details to create your account\",\r\n SUCCESS: \"Your account has been successfuly registered.\"\r\n },\r\n INPUT: {\r\n EMAIL: \"Email\",\r\n FULLNAME: \"Fullname\",\r\n PASSWORD: \"Password\",\r\n CONFIRM_PASSWORD: \"Confirm Password\",\r\n USERNAME: \"Username\"\r\n },\r\n VALIDATION: {\r\n INVALID: \"{{name}} is not valid\",\r\n REQUIRED: \"{{name}} is required\",\r\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\r\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\r\n NOT_FOUND: \"The requested {{name}} is not found\",\r\n INVALID_LOGIN: \"The login detail is incorrect\",\r\n REQUIRED_FIELD: \"Required field\",\r\n MIN_LENGTH_FIELD: \"Minimum field length:\",\r\n MAX_LENGTH_FIELD: \"Maximum field length:\",\r\n INVALID_FIELD: \"Field is not valid\"\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\r\n ALL: \"All\",\r\n SUSPENDED: \"Suspended\",\r\n ACTIVE: \"Active\",\r\n FILTER: \"Filter\",\r\n BY_STATUS: \"by Status\",\r\n BY_TYPE: \"by Type\",\r\n BUSINESS: \"Business\",\r\n INDIVIDUAL: \"Individual\",\r\n SEARCH: \"Search\",\r\n IN_ALL_FIELDS: \"in all fields\"\r\n },\r\n ECOMMERCE: \"eCommerce\",\r\n CUSTOMERS: {\r\n CUSTOMERS: \"Customers\",\r\n CUSTOMERS_LIST: \"Customers list\",\r\n NEW_CUSTOMER: \"New Customer\",\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: \"Customer Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\r\n WAIT_DESCRIPTION: \"Customer is deleting...\",\r\n MESSAGE: \"Customer has been deleted\"\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: \"Customers Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\r\n WAIT_DESCRIPTION: \"Customers are deleting...\",\r\n MESSAGE: \"Selected customers have been deleted\"\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: \"Status has been updated for selected customers\",\r\n MESSAGE: \"Selected customers status have successfully been updated\"\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: \"Customer has been updated\",\r\n ADD_MESSAGE: \"Customer has been created\"\r\n }\r\n }\r\n }\r\n};\r\n","import Vue from \"vue\";\r\nimport VueI18n from \"vue-i18n\";\r\n\r\n// Localisation language list\r\nimport { locale as en } from \"@/core/config/i18n/en\";\r\nimport { locale as ru } from \"@/core/config/i18n/ru\";\r\n\r\nVue.use(VueI18n);\r\n\r\nlet messages = {};\r\nmessages = { ...messages, en, ru };\r\n\r\n// get current selected language\r\nconst lang = localStorage.getItem(\"language\") || \"ru\";\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","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib/framework\";\r\nimport { VSnackbar, VBtn, VIcon } from 'vuetify/lib'\r\nimport ru from 'vuetify/lib/locale/ru'\r\nimport VuetifyToast from 'vuetify-toast-snackbar'\r\nimport VuetifyConfirm from 'vuetify-confirm'\r\n\r\nVue.use(Vuetify, {\r\n components: {\r\n VSnackbar,\r\n VBtn,\r\n VIcon\r\n }\r\n});\r\n\r\nVue.use(VuetifyToast, {\r\n x: 'right',\r\n y: 'top',\r\n color: 'info',\r\n icon: 'fa-info',\r\n iconColor: '',\r\n classes: [\r\n 'body-2'\r\n ],\r\n timeout: 3000,\r\n dismissable: true,\r\n multiLine: false,\r\n vertical: false,\r\n queueable: false,\r\n showClose: false,\r\n closeText: '',\r\n closeIcon: 'fa-times',\r\n closeColor: '',\r\n slot: [],\r\n shorts: {\r\n custom: {\r\n color: 'purple'\r\n }\r\n },\r\n property: '$toast'\r\n})\r\n\r\nconst vuetify = new Vuetify({\r\n lang: {\r\n locales: { ru },\r\n current: 'ru',\r\n },\r\n theme: {\r\n options: {\r\n customProperties: true\r\n },\r\n themes: {\r\n light: {\r\n primary: \"#ff9630\",\r\n secondary: \"#464e5f\",\r\n accent: \"#5d78ff\",\r\n error: \"#dc3545\",\r\n info: \"#17a2b8\",\r\n success: \"#28a745\",\r\n warning: \"#ffc107\"\r\n }\r\n }\r\n }\r\n});\r\n\r\nVue.use(VuetifyConfirm, { vuetify })\r\n\r\nexport default vuetify","import Vue from \"vue\";\r\nimport { BootstrapVue, IconsPlugin } from \"bootstrap-vue\";\r\n\r\n// Install BootstrapVue\r\nVue.use(BootstrapVue);\r\n// Optionally install the BootstrapVue icon components plugin\r\nVue.use(IconsPlugin);\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\n// Highlight js\r\nimport VueHighlightJS from \"vue-highlight.js\";\r\n// Highlight.js languages (Only required languages)\r\nimport scss from \"highlight.js/lib/languages/scss\";\r\nimport javascript from \"highlight.js/lib/languages/javascript\";\r\nimport json from \"highlight.js/lib/languages/json\";\r\nimport vue from \"vue-highlight.js/lib/languages/vue\";\r\nimport \"highlight.js/styles/github-gist.css\";\r\n\r\n// highlight js\r\nVue.use(VueHighlightJS, {\r\n // Register only languages that you want\r\n languages: {\r\n scss,\r\n javascript,\r\n json,\r\n vue\r\n }\r\n});\r\n","import Vue from \"vue\";\r\nimport { InlineSvgPlugin } from \"vue-inline-svg\";\r\n\r\nVue.use(InlineSvgPlugin);\r\n","import Vue from \"vue\";\r\nimport VueApexCharts from \"vue-apexcharts\";\r\n\r\nVue.use(VueApexCharts);\r\n\r\nVue.component(\"apexchart\", VueApexCharts);\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\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\nexport default KTLayoutFooter;","\"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\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() {\r\n\t\t\t// init modal chat example\r\n\t\t\t_init(KTUtil.getById('kt_chat_modal'));\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\nexport default KTLayoutChat;","\"use strict\";\r\n\r\nvar KTLayoutExamples = function() {\r\n\r\n var initDefaultMode = function(element) {\r\n var elements = element;\r\n if (typeof elements === 'undefined') {\r\n elements = document.querySelectorAll('.example:not(.example-compact):not(.example-hover):not(.example-basic)');\r\n }\r\n\r\n for (var i = 0; i < elements.length; ++i) {\r\n var example = elements[i];\r\n var copy = KTUtil.find(example, '.example-copy');\r\n\r\n var clipboard = new ClipboardJS(copy, {\r\n target: function(trigger) {\r\n var example = trigger.closest('.example');\r\n var el = KTUtil.find(example, '.example-code .tab-pane.active');\r\n\r\n if (!el) {\r\n el = KTUtil.find(example, '.example-code');\r\n }\r\n\r\n return el;\r\n }\r\n });\r\n\r\n clipboard.on('success', function(e) {\r\n KTUtil.addClass(e.trigger, 'example-copied');\r\n e.clearSelection();\r\n\r\n setTimeout(function() {\r\n KTUtil.removeClass(e.trigger, 'example-copied');\r\n }, 2000);\r\n });\r\n }\r\n }\r\n\r\n var initCompactMode = function(element) {\r\n var example,code,toggle,copy, clipboard;\r\n var elements = element;\r\n if (typeof elements === 'undefined') {\r\n var elements = document.querySelectorAll('.example.example-compact');\r\n }\r\n\r\n for (var i = 0; i < elements.length; ++i) {\r\n var example = elements[i];\r\n var toggle = KTUtil.find(example, '.example-toggle');\r\n var copy = KTUtil.find(example, '.example-copy');\r\n\r\n // Handle toggle\r\n KTUtil.addEvent(toggle, 'click', function() {\r\n var example = this.closest('.example');\r\n var code = KTUtil.find(example, '.example-code');\r\n var the = this;\r\n\r\n if (KTUtil.hasClass(this, 'example-toggled')) {\r\n KTUtil.slideUp(code, 300, function() {\r\n KTUtil.removeClass(the, 'example-toggled');\r\n KTUtil.removeClass(code, 'example-code-on');\r\n KTUtil.hide(code);\r\n });\r\n } else {\r\n KTUtil.addClass(code, 'example-code-on');\r\n KTUtil.addClass(this, 'example-toggled');\r\n KTUtil.slideDown(code, 300, function() {\r\n KTUtil.show(code);\r\n });\r\n }\r\n });\r\n\r\n // Handle copy\r\n var clipboard = new ClipboardJS(copy, {\r\n target: function(trigger) {\r\n var example = trigger.closest('.example');\r\n var el = KTUtil.find(example, '.example-code .tab-pane.active');\r\n\r\n if (!el) {\r\n el = KTUtil.find(example, '.example-code');\r\n }\r\n\r\n return el;\r\n }\r\n });\r\n\r\n clipboard.on('success', function(e) {\r\n KTUtil.addClass(e.trigger, 'example-copied');\r\n e.clearSelection();\r\n\r\n setTimeout(function() {\r\n KTUtil.removeClass(e.trigger, 'example-copied');\r\n }, 2000);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n init: function(element, options) {\r\n initDefaultMode(element);\r\n initCompactMode(element);\r\n }\r\n };\r\n}();\r\n\r\n\r\n\nexport default KTLayoutExamples;","\"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\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\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\nexport default KTLayoutQuickNotifications;","\"use strict\";\r\n\r\nvar KTLayoutQuickPanel = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n var _notificationsElement;\r\n var _logsElement;\r\n var _settingsElement;\r\n\r\n // Private functions\r\n var _getContentHeight = function() {\r\n var height;\r\n\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\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 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_panel_close',\r\n toggleBy: 'kt_quick_panel_toggle'\r\n });\r\n }\r\n\r\n var _initNotifications = function() {\r\n KTUtil.scrollInit(_notificationsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initLogs = function() {\r\n KTUtil.scrollInit(_logsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initSettings = function() {\r\n KTUtil.scrollInit(_settingsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _updateScrollbars = function() {\r\n $(_element).find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n KTUtil.scrollUpdate(_notificationsElement);\r\n KTUtil.scrollUpdate(_logsElement);\r\n KTUtil.scrollUpdate(_settingsElement);\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 _notificationsElement = KTUtil.getById('kt_quick_panel_notifications');\r\n _logsElement = KTUtil.getById('kt_quick_panel_logs');\r\n _settingsElement = KTUtil.getById('kt_quick_panel_settings');\r\n\r\n _init();\r\n _initNotifications();\r\n _initLogs();\r\n _initSettings();\r\n\r\n \r\n }\r\n };\r\n}();\r\n\r\n\r\n\nexport default KTLayoutQuickPanel;","\"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\nexport default KTLayoutQuickSearch;","\"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\nexport default KTLayoutQuickUser;","\"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\nexport default KTLayoutSearch;","\"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\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\nexport default KTLayoutStretchedCard;","// 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 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 KTLayoutExamples from \"@/assets/js/layout/extended/examples.js\";\r\nwindow.KTLayoutExamples = KTLayoutExamples;\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 KTLayoutQuickPanel from \"@/assets/js/layout/extended/quick-panel.js\";\r\nwindow.KTLayoutQuickPanel = KTLayoutQuickPanel;\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\r\nimport KTLayoutStickyCard from \"@/assets/js/layout/extended/sticky-card.js\";\r\nwindow.KTLayoutStickyCard = KTLayoutStickyCard;\r\n\r\nimport KTLayoutStretchedCard from \"@/assets/js/layout/extended/stretched-card.js\";\r\nwindow.KTLayoutStretchedCard = KTLayoutStretchedCard;\r\n","import Vue from \"vue\";\nimport VueMeta from 'vue-meta';\n\nVue.use(VueMeta, {\n // optional pluginOptions\n refreshOnceOnNavigation: true\n})","import Vue from \"vue\";\nimport * as GmapVue from 'gmap-vue'\nimport GmapCluster from 'gmap-vue/dist/components/cluster' // replace dist with src if you have Babel issues\n\nVue.component('GmapCluster', GmapCluster)\n\nVue.use(GmapVue, {\n load: {\n key: 'AIzaSyACFZXTqraWwBXQZSlKj-QZhNUzIQ3OV0Y',\n libraries: 'places',\n },\n installComponents: true\n});\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 { VERIFY_AUTH } from \"./core/services/store/auth.module\";\r\n\r\nVue.config.productionTip = false;\r\n\r\n// Global 3rd party plugins\r\nimport \"popper.js\";\r\nimport \"tooltip.js\";\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nwindow.PerfectScrollbar = PerfectScrollbar;\r\nimport ClipboardJS from \"clipboard\";\r\nwindow.ClipboardJS = ClipboardJS;\r\n\r\n// Vue 3rd party plugins\r\nimport i18n from \"./core/plugins/vue-i18n\";\r\nimport vuetify from \"./core/plugins/vuetify\";\r\n\r\nimport \"./core/plugins/bootstrap-vue\";\r\nimport \"./core/plugins/perfect-scrollbar\";\r\nimport \"./core/plugins/highlight-js\";\r\nimport \"./core/plugins/inline-svg\";\r\nimport \"./core/plugins/apexcharts\";\r\nimport \"./core/plugins/metronic\";\r\nimport \"./core/plugins/meta\";\r\nimport \"./core/plugins/yandex-map\";\r\nimport \"@mdi/font/css/materialdesignicons.css\";\r\n\r\n// API service init\r\nApiService.init();\r\n\r\n// Ensure we checked auth before each page load.\r\nrouter.beforeEach((to, from, next) => {\r\n Promise.all([store.dispatch(VERIFY_AUTH)]).then((result) => {\r\n if (!result[0]) {\r\n if (to.name != 'login' && to.name != 'register' && to.name != 'restore') {\r\n next({ name: \"login\" });\r\n } else {\r\n next();\r\n }\r\n } else if (result[0].confirmed) {\r\n next();\r\n }\r\n else {\r\n if (to.name != 'confirm') {\r\n next({ name: \"confirm\" });\r\n } else {\r\n next();\r\n }\r\n }\r\n });\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\nnew 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","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('geocodes', { params: query })\n }\n}\n","import objectPath from \"object-path\";\r\nimport config from \"@/core/config/layout.config.json\";\r\n\r\n// action types\r\nexport const SET_LAYOUT_CONFIG = \"setLayoutConfig\";\r\nexport const OVERRIDE_LAYOUT_CONFIG = \"overrideLayoutConfig\";\r\n\r\n// mutation types\r\n\r\nexport default {\r\n state: {\r\n config: 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 [SET_LAYOUT_CONFIG](state, payload) {\r\n state.commit(SET_LAYOUT_CONFIG, payload);\r\n },\r\n [OVERRIDE_LAYOUT_CONFIG](state) {\r\n state.commit(OVERRIDE_LAYOUT_CONFIG);\r\n }\r\n },\r\n mutations: {\r\n [SET_LAYOUT_CONFIG](state, payload) {\r\n state.config = payload;\r\n },\r\n [OVERRIDE_LAYOUT_CONFIG](state) {\r\n state.config = Object.assign(\r\n {},\r\n state.config,\r\n JSON.parse(localStorage.getItem(\"config\"))\r\n );\r\n }\r\n }\r\n};\r\n","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('cities', query)\n }\n}\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select(query = {}) {\n return ApiService.query('client/vehicles', query)\n }\n}\n","\"use strict\";\n\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 viewportHeight = KTUtil.getViewPort().height;\r\n var documentHeight = KTUtil.getDocumentHeight();\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\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: 300,\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\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\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n auth,\r\n htmlClass,\r\n config,\r\n breadcrumbs\r\n }\r\n});\r\n","\"use strict\";\n\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 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 KTUtil.css(submenus[0], 'display', '');\r\n KTUtil.css(submenus[0], 'overflow', '');\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 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\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","const requireContext = require.context('./modules', true, /.*\\.js$/)\n\nconst modules = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((modules, [name, module]) => {\n if (module.namespaced === undefined) {\n module.namespaced = true\n }\n\n return { ...modules, [name]: module.default }\n }, {})\n\nexport default modules\n","import Vue from \"vue\";\r\nimport axios from \"axios\";\r\nimport VueAxios from \"vue-axios\";\r\nimport JwtService from \"./jwt.service\";\r\n\r\nimport apiModules from './api'\r\n\r\nVue.use({\r\n install(Vue) {\r\n Object.defineProperty(Vue.prototype, '$api', {\r\n get: function get() {\r\n return apiModules\r\n }\r\n })\r\n }\r\n})\r\n\r\n/**\r\n * Service to call HTTP request via Axios\r\n */\r\nconst ApiService = {\r\n api: apiModules,\r\n\r\n init() {\r\n Vue.use(VueAxios, axios);\r\n if (process.env.NODE_ENV == 'production') {\r\n Vue.axios.defaults.baseURL = '/api/v2';\r\n } else {\r\n Vue.axios.defaults.baseURL = 'http://localhost:3000/api/v2';\r\n }\r\n },\r\n\r\n /**\r\n * Set the default HTTP request headers\r\n */\r\n setHeader() {\r\n Vue.axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `Bearer ${JwtService.getToken()}`;\r\n },\r\n\r\n query(resource, params) {\r\n return Vue.axios.get(resource, params).catch(error => {\r\n throw error;\r\n });\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 get(resource, slug = \"\") {\r\n return Vue.axios.get(`${resource}/${slug}`).catch(error => {\r\n\r\n throw 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) {\r\n return Vue.axios.post(`${resource}`, params);\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 update(resource, slug, params) {\r\n return Vue.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 put(resource, params) {\r\n return Vue.axios.put(`${resource}`, params);\r\n },\r\n\r\n /**\r\n * Send the PATCH HTTP request\r\n * @param resource\r\n * @param params\r\n * @returns {IDBRequest | Promise}\r\n */\r\n patch(resource, params) {\r\n return Vue.axios.patch(`${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 delete(resource) {\r\n return Vue.axios.delete(resource).catch(error => {\r\n throw error;\r\n });\r\n }\r\n};\r\n\r\nexport default ApiService;\r\n","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n selectAvailable(query = {}) {\n return ApiService.query('contractor/available_orders', query)\n },\n selectActive(query = {}) {\n return ApiService.query('contractor/active_orders', query)\n },\n accept(id, vehicleId) {\n return ApiService.post(`contractor/available_orders/${id}/accept`, { vehicle_id: vehicleId })\n },\n reject(id) {\n return ApiService.post(`contractor/available_orders/${id}/reject`)\n }\n}\n","import ApiService from \"@/core/services/api.service\";\r\nimport JwtService from \"@/core/services/jwt.service\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n// action types\r\nexport const VERIFY_AUTH = \"verifyAuth\";\r\nexport const LOGIN = \"login\";\r\nexport const LOGOUT = \"logout\";\r\nexport const REGISTER = \"register\";\r\nexport const UPDATE_USER = \"updateUser\";\r\nexport const CONFIRM = \"confirm\";\r\nexport const REPEAT_CODE = \"repeatCode\";\r\nexport const REPEAT_CODE_BY_PHONE = \"repeatCodeByPhone\";\r\nexport const RESET_PASSWORD = \"resetPassword\";\r\nexport const RESET_ERRORS = \"resetErrors\";\r\n\r\n// mutation types\r\nexport const PURGE_AUTH = \"logOut\";\r\nexport const SET_AUTH = \"setUser\";\r\nexport const SET_ERROR = \"setError\";\r\n\r\nconst state = {\r\n errors: null,\r\n user: {},\r\n isAuthenticated: !!JwtService.getToken()\r\n};\r\n\r\nconst getters = {\r\n currentUser(state) {\r\n return state.user;\r\n },\r\n isAuthenticated(state) {\r\n return state.isAuthenticated;\r\n },\r\n role() {\r\n if (JwtService.getToken()) {\r\n const decoded = jwt_decode(JwtService.getToken());\r\n\r\n return decoded.role;\r\n }\r\n }\r\n};\r\n\r\nconst actions = {\r\n [LOGIN](context, credentials) {\r\n return ApiService.post(\"auth/sign_in\", credentials)\r\n .then(({ data }) => {\r\n context.commit(SET_AUTH, data);\r\n\r\n return Promise.resolve(data);\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response);\r\n });\r\n },\r\n [LOGOUT](context) {\r\n context.commit(PURGE_AUTH);\r\n },\r\n [RESET_ERRORS](context) {\r\n context.commit(SET_ERROR, {});\r\n },\r\n [REGISTER](context, credentials) {\r\n return ApiService.api.auth.sign_up(credentials)\r\n .then(({ data }) => {\r\n context.commit(SET_AUTH, data);\r\n\r\n return Promise.resolve(data)\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response)\r\n });\r\n },\r\n [RESET_PASSWORD](context, credentials) {\r\n return ApiService.api.auth.resetPassword(credentials)\r\n .then(({ data }) => {\r\n return Promise.resolve(data)\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response)\r\n });\r\n },\r\n [CONFIRM](context, credentials) {\r\n return ApiService.api.auth.confirm(credentials)\r\n .then(({ data }) => {\r\n context.commit(SET_AUTH, data);\r\n\r\n return Promise.resolve(data)\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response)\r\n });\r\n },\r\n [REPEAT_CODE](context) {\r\n return ApiService.api.auth.repeatCode()\r\n .then(({ data }) => {\r\n return Promise.resolve(data);\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response)\r\n });\r\n },\r\n [REPEAT_CODE_BY_PHONE](context, data) {\r\n return ApiService.api.auth.repeatCodeByPhone(data)\r\n .then(({ data }) => {\r\n return Promise.resolve(data)\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors.base);\r\n\r\n return Promise.reject(response)\r\n });\r\n },\r\n [VERIFY_AUTH](context) {\r\n if (JwtService.getToken()) {\r\n ApiService.setHeader();\r\n\r\n return new Promise(resolve => {\r\n ApiService.get(\"auth/verify\")\r\n .then(({ data }) => {\r\n context.commit(SET_AUTH, data);\r\n resolve(data);\r\n })\r\n .catch(({ response }) => {\r\n context.commit(SET_ERROR, response.data.errors);\r\n context.commit(PURGE_AUTH);\r\n });\r\n })\r\n } else {\r\n context.commit(PURGE_AUTH);\r\n }\r\n },\r\n [UPDATE_USER](context, payload) {\r\n const { email, username, password, image, bio } = payload;\r\n const user = { email, username, bio, image };\r\n if (password) {\r\n user.password = password;\r\n }\r\n\r\n return ApiService.put(\"user\", user).then(({ data }) => {\r\n context.commit(SET_AUTH, data);\r\n return data;\r\n });\r\n }\r\n};\r\n\r\nconst mutations = {\r\n [SET_ERROR](state, error) {\r\n state.errors = error;\r\n },\r\n [SET_AUTH](state, user) {\r\n state.isAuthenticated = true;\r\n state.user = user;\r\n state.errors = {};\r\n JwtService.saveToken(state.user.access_token);\r\n },\r\n [PURGE_AUTH](state) {\r\n state.isAuthenticated = false;\r\n state.user = {};\r\n state.errors = {};\r\n JwtService.destroyToken();\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 ApiService from \"@/core/services/api.service\";\n\nexport default {\n sign_up (data = {}) {\n return ApiService.post('auth/sign_up', data)\n },\n confirm (data = {}) {\n return ApiService.post('auth/confirm', data)\n },\n repeatCode () {\n return ApiService.post('auth/repeat_code')\n },\n repeatCodeByPhone (data = {}) {\n return ApiService.post('auth/repeat_code_by_phone', data)\n },\n resetPassword (data = {}) {\n return ApiService.post('auth/reset_password', data)\n }\n}\n","var map = {\n\t\"./auth.js\": \"8896\",\n\t\"./cities.js\": \"58e9\",\n\t\"./client/orders.js\": \"b0ed\",\n\t\"./client/vehicles.js\": \"65fc\",\n\t\"./contractor/messages.js\": \"d2ef\",\n\t\"./contractor/orders.js\": \"8201\",\n\t\"./contractor/vehicles.js\": \"d84c\",\n\t\"./geocoder.js\": \"57de\",\n\t\"./measure_units.js\": \"aa5e\",\n\t\"./profile.js\": \"a6da\",\n\t\"./vehicle_types.js\": \"2974\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"929b\";","\"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\nexport default KTLayoutBrand;","\"use strict\";\n\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\nexport default KTDialog;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n get (query = {}) {\n return ApiService.query('auth/profile', query)\n },\n update (data = {}) {\n return ApiService.patch('auth/profile', data)\n }\n}\n","\"use strict\";\n\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.btnSubmit = KTUtil.find(element, '[data-wizard-type=\"action-submit\"]');\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.btnLast = KTUtil.find(element, '[data-wizard-type=\"action-last\"]');\r\n the.btnFirst = KTUtil.find(element, '[data-wizard-type=\"action-first\"]');\r\n\r\n // Variables\r\n the.events = [];\r\n the.currentStep = 1;\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 Plugin.goTo(Plugin.getNextStep(), true);\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 Plugin.goTo(Plugin.getPrevStep(), true);\r\n });\r\n\r\n // First button event handler\r\n KTUtil.addEvent(the.btnFirst, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.goTo(Plugin.getFirstStep(), true);\r\n });\r\n\r\n // Last button event handler\r\n KTUtil.addEvent(the.btnLast, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.goTo(Plugin.getLastStep(), true);\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 if (index !== the.currentStep) {\r\n Plugin.goTo(index, true);\r\n }\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Handles wizard click wizard\r\n */\r\n goTo: function(number, eventHandle) {\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 if (number) {\r\n number = parseInt(number);\r\n } else {\r\n number = Plugin.getNextStep();\r\n }\r\n\r\n // Before next and prev events\r\n var callback;\r\n\r\n if (eventHandle === true) {\r\n if (number > the.currentStep) {\r\n callback = Plugin.eventTrigger('beforeNext');\r\n } else {\r\n callback = Plugin.eventTrigger('beforePrev');\r\n }\r\n }\r\n\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 // Continue if no exit\r\n if (callback !== false) {\r\n // Before change\r\n if (eventHandle === true) {\r\n Plugin.eventTrigger('beforeChange');\r\n }\r\n\r\n // Set current step\r\n the.currentStep = number;\r\n\r\n Plugin.updateUI();\r\n\r\n // Trigger change event\r\n if (eventHandle === true) {\r\n Plugin.eventTrigger('change');\r\n }\r\n }\r\n\r\n // After next and prev events\r\n if (eventHandle === true) {\r\n if (number > the.startStep) {\r\n Plugin.eventTrigger('afterNext');\r\n } else {\r\n Plugin.eventTrigger('afterPrev');\r\n }\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Cancel\r\n */\r\n stop: function() {\r\n the.stopped = true;\r\n },\r\n\r\n /**\r\n * Resume\r\n */\r\n start: 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 * Go to the first step\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\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\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 * 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(eventHandle) {\r\n return Plugin.goTo(Plugin.getNextStep(), eventHandle);\r\n };\r\n\r\n /**\r\n * Go to the prev step\r\n */\r\n the.goPrev = function(eventHandle) {\r\n return Plugin.goTo(Plugin.getPrevStep(),eventHandle);\r\n };\r\n\r\n /**\r\n * Go to the last step\r\n */\r\n the.goLast = function(eventHandle) {\r\n return Plugin.goTo(Plugin.getLastStep(), eventHandle);\r\n };\r\n\r\n /**\r\n * Go to the first step\r\n */\r\n the.goFirst = function(eventHandle) {\r\n return Plugin.goTo(Plugin.getFirstStep(), eventHandle);\r\n };\r\n\r\n /**\r\n * Go to a step\r\n */\r\n the.goTo = function(number, eventHandle) {\r\n return Plugin.goTo(number, eventHandle);\r\n };\r\n\r\n /**\r\n * Cancel step\r\n */\r\n the.stop = function() {\r\n return Plugin.stop();\r\n };\r\n\r\n /**\r\n * Resume step\r\n */\r\n the.start = function() {\r\n return Plugin.start();\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 * 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\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\nexport default KTWizard;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('measure_units', query)\n }\n}\n","\"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// 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// 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 return (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\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 /**\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 // jQuery Workarounds\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\r\n if (!obj)\r\n continue;\r\n\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (typeof obj[key] === 'object')\r\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n else\r\n out[key] = obj[key];\r\n }\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 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) return;\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n if (options.height instanceof Function) {\r\n height = options.height.call();\r\n } else {\r\n height = options.height;\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.isBreakpointDown('lg')) {\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, {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: (options.windowScroll === false ? false : true),\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: KTUtil.attr(element, 'data-scroll-x') != 'true' ? true : false\r\n });\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 // Consider using Localstorage\r\n //if (options.rememberPosition === true && Cookies && 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 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 colorDarken: function(color, amount) {\r\n var subtractLight = function(color, amount){\r\n var cc = parseInt(color,16) - amount;\r\n var c = (cc < 0) ? 0 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${subtractLight(color.substring(0,2), amount)}${subtractLight(color.substring(2,4), amount)}${subtractLight(color.substring(4,6), amount)}`;\r\n },\r\n\r\n colorLighten: function(color, amount) {\r\n var addLight = function(color, amount){\r\n var cc = parseInt(color,16) + amount;\r\n var c = (cc > 255) ? 255 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${addLight(color.substring(0,2), amount)}${addLight(color.substring(2,4), amount)}${addLight(color.substring(4,6), amount)}`;\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}();\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\nexport default KTUtil;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select(query = {}) {\n return ApiService.query('client/orders', query);\n },\n find(id) {\n return ApiService.query(`client/orders/${id}`);\n },\n create(data = {}) {\n return ApiService.post('client/orders', data);\n },\n update(id, data = {}) {\n return ApiService.patch(`client/orders/${id}`, data);\n },\n delete(id) {\n return ApiService.delete(`client/orders/${id}`);\n }\n};\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 customClass: ''\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.classCustom = the.options.customClass;\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.addClass(body, the.classShown);\r\n KTUtil.addClass(element, the.classShown);\r\n\r\n if (the.classCustom.length > 0) {\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.removeClass(body, the.classShown);\r\n KTUtil.addClass(body, the.classPush);\r\n KTUtil.removeClass(element, the.classShown);\r\n\r\n if (the.classCustom.length > 0) {\r\n KTUtil.removeClass(body, the.classCustom);\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\";\n\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\nexport default KTScrolltop;","\"use strict\";\n\nimport KTUtil from \"./util\";\r\n\r\n// Component Definition \r\nvar KTToggle = 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\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\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 // options\r\n the.options = options;\r\n\r\n //alert(the.options.target.tagName);\r\n the.target = KTUtil.getById(the.options.target);\r\n\r\n the.targetState = the.options.targetState;\r\n the.toggleState = the.options.toggleState;\r\n\r\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\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 KTUtil.addClass(the.target, the.targetState);\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 KTUtil.removeClass(the.target, the.targetState);\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\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, {\r\n\t\t\t\ttarget: 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\nexport default KTLayoutHeaderTopbar;","\"use strict\";\r\n\r\nvar KTLayoutAsideMenu = function() {\r\n // Private properties\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\r\n // Disable menu click if aside is fixed and minimized\r\n _menuObject.on('submenuToggle', function(menu) {\r\n if (KTLayoutAside.isMinimized() === true && KTLayoutAside.isHoverable() === false) {\r\n return false;\r\n }\r\n });\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 menu\r\n _init();\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\nexport default KTLayoutAsideMenu;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('contractor/messages', query)\n },\n send (data = {}) {\n return ApiService.post('contractor/messages', data)\n },\n markReaded(id) {\n return ApiService.post(`contractor/messages/${id}/mark_readed`)\n }\n}\n","\"use strict\";\n\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 bodyToggleSpeed: 400,\r\n tooltips: true,\r\n tools: {\r\n toggle: {\r\n collapse: 'Collapse',\r\n expand: 'Expand'\r\n },\r\n reload: 'Reload',\r\n remove: 'Remove',\r\n fullscreen: {\r\n on: 'Fullscreen',\r\n off: 'Exit Fullscreen'\r\n }\r\n },\r\n sticky: {\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 //== Fullscreen\r\n var fullscreen = KTUtil.find(the.header, '[data-card-tool=fullscreen]');\r\n if (fullscreen) {\r\n KTUtil.addEvent(fullscreen, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.fullscreen();\r\n });\r\n }\r\n\r\n Plugin.setupTooltips();\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 if (KTUtil.hasClass(body, 'card-fullscreen') && KTUtil.hasClass(element, 'card-fullscreen')) {\r\n Plugin.fullscreen('off');\r\n }\r\n\r\n Plugin.removeTooltips();\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 * Setup tooltips\r\n */\r\n setupTooltips: function() {\r\n if (the.options.tooltips) {\r\n var collapsed = KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed');\r\n var fullscreenOn = KTUtil.hasClass(body, 'card-fullscreen') && KTUtil.hasClass(element, 'card-fullscreen');\r\n\r\n //== Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove) {\r\n var placement = (fullscreenOn ? 'bottom' : 'top');\r\n var tip = new Tooltip(remove, {\r\n title: the.options.tools.remove,\r\n placement: placement,\r\n offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n trigger: 'hover',\r\n template: '
\\\r\n
\\\r\n
\\\r\n
'\r\n });\r\n\r\n KTUtil.data(remove).set('tooltip', tip);\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 var placement = (fullscreenOn ? 'bottom' : 'top');\r\n var tip = new Tooltip(reload, {\r\n title: the.options.tools.reload,\r\n placement: placement,\r\n offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n trigger: 'hover',\r\n template: '
\\\r\n
\\\r\n
\\\r\n
'\r\n });\r\n\r\n KTUtil.data(reload).set('tooltip', tip);\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 var placement = (fullscreenOn ? 'bottom' : 'top');\r\n var tip = new Tooltip(toggle, {\r\n title: (collapsed ? the.options.tools.toggle.expand : the.options.tools.toggle.collapse),\r\n placement: placement,\r\n offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n trigger: 'hover',\r\n template: '
\\\r\n
\\\r\n
\\\r\n
'\r\n });\r\n\r\n KTUtil.data(toggle).set('tooltip', tip);\r\n }\r\n\r\n //== Fullscreen\r\n var fullscreen = KTUtil.find(the.header, '[data-card-tool=fullscreen]');\r\n if (fullscreen) {\r\n var placement = (fullscreenOn ? 'bottom' : 'top');\r\n var tip = new Tooltip(fullscreen, {\r\n title: (fullscreenOn ? the.options.tools.fullscreen.off : the.options.tools.fullscreen.on),\r\n placement: placement,\r\n offset: (fullscreenOn ? '0,10px,0,0' : '0,5px'),\r\n trigger: 'hover',\r\n template: '
\\\r\n
\\\r\n
\\\r\n
'\r\n });\r\n\r\n KTUtil.data(fullscreen).set('tooltip', tip);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Setup tooltips\r\n */\r\n removeTooltips: function() {\r\n if (the.options.tooltips) {\r\n //== Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove && KTUtil.data(remove).has('tooltip')) {\r\n KTUtil.data(remove).get('tooltip').dispose();\r\n }\r\n\r\n //== Reload\r\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\r\n if (reload && KTUtil.data(reload).has('tooltip')) {\r\n KTUtil.data(reload).get('tooltip').dispose();\r\n }\r\n\r\n //== Toggle\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n KTUtil.data(toggle).get('tooltip').dispose();\r\n }\r\n\r\n //== Fullscreen\r\n var fullscreen = KTUtil.find(the.header, '[data-card-tool=fullscreen]');\r\n if (fullscreen && KTUtil.data(fullscreen).has('tooltip')) {\r\n KTUtil.data(fullscreen).get('tooltip').dispose();\r\n }\r\n }\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.bodyToggleSpeed, function() {\r\n Plugin.eventTrigger('afterCollapse');\r\n });\r\n\r\n KTUtil.addClass(element, 'card-collapse');\r\n\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n KTUtil.data(toggle).get('tooltip').updateTitleContent(the.options.tools.toggle.expand);\r\n }\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.bodyToggleSpeed, 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 var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle && KTUtil.data(toggle).has('tooltip')) {\r\n KTUtil.data(toggle).get('tooltip').updateTitleContent(the.options.tools.toggle.collapse);\r\n }\r\n },\r\n\r\n /**\r\n * fullscreen\r\n */\r\n fullscreen: function(mode) {\r\n var d = {};\r\n var speed = 300;\r\n\r\n if (mode === 'off' || (KTUtil.hasClass(body, 'card-fullscreen') && KTUtil.hasClass(element, 'card-fullscreen'))) {\r\n Plugin.eventTrigger('beforeFullscreenOff');\r\n\r\n KTUtil.removeClass(body, 'card-fullscreen');\r\n KTUtil.removeClass(element, 'card-fullscreen');\r\n\r\n Plugin.removeTooltips();\r\n Plugin.setupTooltips();\r\n\r\n if (the.footer) {\r\n KTUtil.css(the.body, 'margin-bottom', '');\r\n KTUtil.css(the.footer, 'margin-top', '');\r\n }\r\n\r\n Plugin.eventTrigger('afterFullscreenOff');\r\n } else {\r\n Plugin.eventTrigger('beforeFullscreenOn');\r\n\r\n KTUtil.addClass(element, 'card-fullscreen');\r\n KTUtil.addClass(body, 'card-fullscreen');\r\n\r\n Plugin.removeTooltips();\r\n Plugin.setupTooltips();\r\n\r\n\r\n if (the.footer) {\r\n var height1 = parseInt(KTUtil.css(the.footer, 'height'));\r\n var height2 = parseInt(KTUtil.css(the.footer, 'height')) + parseInt(KTUtil.css(the.header, 'height'));\r\n KTUtil.css(the.body, 'margin-bottom', height1 + 'px');\r\n KTUtil.css(the.footer, 'margin-top', '-' + height2 + 'px');\r\n }\r\n\r\n Plugin.eventTrigger('afterFullscreenOn');\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 * Remove card\r\n * @returns {KTCard}\r\n */\r\n the.remove = function() {\r\n return Plugin.remove(html);\r\n };\r\n\r\n /**\r\n * Remove card\r\n * @returns {KTCard}\r\n */\r\n the.initSticky = function() {\r\n return Plugin.initSticky();\r\n };\r\n\r\n /**\r\n * Remove card\r\n * @returns {KTCard}\r\n */\r\n the.updateSticky = function() {\r\n return Plugin.updateSticky();\r\n };\r\n\r\n /**\r\n * Remove card\r\n * @returns {KTCard}\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 * @returns {KTCard}\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 * @returns {KTCard}\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 * @returns {KTCard}\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Collapse card\r\n * @returns {KTCard}\r\n */\r\n the.collapse = function() {\r\n return Plugin.collapse();\r\n };\r\n\r\n /**\r\n * Expand card\r\n * @returns {KTCard}\r\n */\r\n the.expand = function() {\r\n return Plugin.expand();\r\n };\r\n\r\n /**\r\n * Fullscreen card\r\n * @returns {Mcard}\r\n */\r\n the.fullscreen = function() {\r\n return Plugin.fullscreen('on');\r\n };\r\n\r\n /**\r\n * Fullscreen card\r\n * @returns {Mcard}\r\n */\r\n the.unFullscreen = function() {\r\n return Plugin.fullscreen('off');\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\nexport default KTCard;","import ApiService from \"@/core/services/api.service\";\n\nexport default {\n select (query = {}) {\n return ApiService.query('contractor/vehicles', query)\n },\n create (data = {}) {\n return ApiService.post('contractor/vehicles', data)\n },\n update (id, data = {}) {\n return ApiService.patch(`contractor/vehicles/${id}`, data)\n },\n delete (id) {\n return ApiService.delete(`contractor/vehicles/${id}`)\n },\n switchAvailable (id) {\n return ApiService.post(`contractor/vehicles/${id}/switch_available`)\n }\n}\n","\"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\nexport default KTLayoutHeader;","\"use strict\";\n\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\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\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\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\nexport default KTLayoutHeaderMenu;","\"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\r\n\t\t// 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\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\tKTUtil.removeClass(_body, 'aside-minimize');\r\n\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(_element, '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\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\t\t\t\t\t KTUtil.addClass(_body, 'aside-minimize');\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 _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;"],"sourceRoot":""}