{"version":3,"sources":["webpack:///./node_modules/v-year-calendar/dist/v-year-calendar.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/selection.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/initialize.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/default-setting.js","webpack:///./node_modules/perfect-scrollbar/src/js/lib/guid.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/keyboard.js","webpack:///./node_modules/perfect-scrollbar/index.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/update-geometry.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/instances.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/update.js","webpack:///./node_modules/perfect-scrollbar/src/js/lib/helper.js","webpack:///./src/components/Dashboard/Views/Entity/NewCampaign.vue","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/components/UIComponents/CampaignScheduler.vue","webpack:///src/components/UIComponents/CampaignScheduler.vue","webpack:///./src/components/UIComponents/CampaignScheduler.vue?3f59","webpack:///./src/components/UIComponents/CampaignScheduler.vue?f3db","webpack:///src/components/Dashboard/Views/Entity/NewCampaign.vue","webpack:///./src/components/Dashboard/Views/Entity/NewCampaign.vue?fad3","webpack:///./src/components/Dashboard/Views/Entity/NewCampaign.vue?0faa","webpack:///./node_modules/perfect-scrollbar/src/js/main.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/update-scroll.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/mouse-wheel.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/drag-scrollbar.js","webpack:///./node_modules/element-ui/lib/color-picker.js","webpack:///./node_modules/normalize-wheel/src/isEventSupported.js","webpack:///./node_modules/element-ui/lib/divider.js","webpack:///./node_modules/element-ui/lib/checkbox-group.js","webpack:///./src/components/Dashboard/Views/Entity/HVGroupsList.vue","webpack:///src/components/Dashboard/Views/Entity/HVGroupsList.vue","webpack:///./src/components/Dashboard/Views/Entity/HVGroupsList.vue?391f","webpack:///./src/components/Dashboard/Views/Entity/HVGroupsList.vue?e57b","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/element-ui/lib/upload.js","webpack:///./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/destroy.js","webpack:///./node_modules/normalize-wheel/src/ExecutionEnvironment.js","webpack:///./src/components/UIComponents/Cards/BenchmarkCard.vue","webpack:///src/components/UIComponents/Cards/BenchmarkCard.vue","webpack:///./src/components/UIComponents/Cards/BenchmarkCard.vue?a161","webpack:///./src/components/UIComponents/Cards/BenchmarkCard.vue?515b","webpack:///./node_modules/perfect-scrollbar/src/js/lib/dom.js","webpack:///./node_modules/element-ui/lib/table.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/click-rail.js","webpack:///./node_modules/normalize-wheel/index.js","webpack:///./node_modules/element-ui/lib/progress.js","webpack:///./node_modules/perfect-scrollbar/src/js/lib/class.js","webpack:///./node_modules/normalize-wheel/src/normalizeWheel.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/native-scroll.js","webpack:///./node_modules/perfect-scrollbar/src/js/plugin/handler/touch.js","webpack:///./src/components/Dashboard/Views/CampaignBlocks/CampaignBlockList.vue","webpack:///src/components/Dashboard/Views/CampaignBlocks/CampaignBlockList.vue","webpack:///./src/components/Dashboard/Views/CampaignBlocks/CampaignBlockList.vue?10d9","webpack:///./src/components/Dashboard/Views/CampaignBlocks/CampaignBlockList.vue?761a","webpack:///./src/components/Dashboard/Views/CampaignBlockGroups/NewCampaignBlockGroup.vue","webpack:///./src/components/UIComponents/CampaignBlock/SelectedCampaignBlockTable.vue","webpack:///src/components/UIComponents/CampaignBlock/SelectedCampaignBlockTable.vue","webpack:///./src/components/UIComponents/CampaignBlock/SelectedCampaignBlockTable.vue?388d","webpack:///./src/components/UIComponents/CampaignBlock/SelectedCampaignBlockTable.vue?8ed3","webpack:///src/components/Dashboard/Views/CampaignBlockGroups/NewCampaignBlockGroup.vue","webpack:///./src/components/Dashboard/Views/CampaignBlockGroups/NewCampaignBlockGroup.vue?cc9d","webpack:///./src/components/Dashboard/Views/CampaignBlockGroups/NewCampaignBlockGroup.vue?75f6","webpack:///./node_modules/element-ui/lib/checkbox.js","webpack:///./node_modules/perfect-scrollbar/src/js/lib/event-manager.js","webpack:///./node_modules/element-ui/lib/table-column.js"],"names":["globalThis","window","global","self","unwrapExports","x","__esModule","Object","prototype","hasOwnProperty","call","createCommonjsModule","fn","module","exports","jsYearCalendar","factory","_exports","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","_defineProperty","value","NodeList","forEach","callback","thisArg","this","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","s","el","document","documentElement","contains","parentElement","parentNode","nodeType","Calendar","element","options","arguments","undefined","HTMLElement","Error","querySelector","classList","add","_initializeEvents","_initializeOptions","setYear","startYear","opt","isNaN","parseInt","Date","getFullYear","minDate","maxDate","language","locales","allowOverlap","displayWeekNumber","displayDisabledDataSource","displayHeader","alwaysHalfDay","enableRangeSelection","disabledDays","Array","disabledWeekDays","hiddenWeekDays","roundRangeLimits","dataSource","style","enableContextMenu","contextMenuItems","customDayRenderer","customDataSourceRenderer","weekStart","loadingTemplate","_dataSource","_initializeDatasourceColors","yearChanged","addEventListener","renderEnd","clickDay","dayContextMenu","selectRange","mouseOnDay","mouseOutDay","getDataSource","result","then","color","colors","isLoading","firstChild","removeChild","_renderHeader","_renderLoading","_renderBody","_renderDataSource","_applyEvents","months","opacity","display","transition","setTimeout","_triggerEvent","currentYear","header","createElement","headerTable","prevDiv","prevIcon","innerHTML","appendChild","prev2YearDiv","textContent","toString","prevYearDiv","yearDiv","nextYearDiv","next2YearDiv","nextDiv","nextIcon","monthsDiv","m","monthDiv","dataset","monthId","_nbCols","concat","firstDate","table","thead","titleRow","titleCell","setAttribute","headerRow","weekNumberCell","weekShort","d","headerCell","daysMin","_isHidden","currentDate","getTime","lastDate","getDay","setDate","getDate","row","currentThursday","getWeekNumber","cell","_isDisabled","cellContent","container","minHeight","loading","spinner","bounce","_this","querySelectorAll","month","monthData","startDate","endDate","push","day","nextDate","dayData","_renderDataSourceDay","elt","events","parent","weight","boxShadow","backgroundColor","currentTime","startHalfDay","otherColor","background","endHalfDay","_this2","e","currentTarget","marginLeft","visibility","cells","stopPropagation","date","_getDate","getEvents","preventDefault","_openContextMenu","which","isThereFreeSlot","_mouseDown","_rangeStart","_rangeEnd","_refreshRange","newDate","getMonth","oldValue","getEventsOnRange","_responsiveInterval","clearInterval","setInterval","calendarSize","offsetWidth","monthSize","className","remove","_this3","top","left","offsetTop","offsetLeft","offsetParent","_this4","contextMenu","body","eventItem","paddingLeft","eventItemContent","text","name","icon","_renderContextMenuItems","children","position","_getElementPosition","right","getBoundingClientRect","_checkContextMenuItemsPosition","closeContextMenu","event","type","removeEventListener","items","evt","subMenu","visible","menuItem","menuItemContent","click","index","menus","menu","htmlMenu","year","eventName","parameters","Event","createEvent","initEvent","calendar","dispatchEvent","workingDate","setHours","week1","Math","round","_this5","after","some","_this6","parsedYear","eventResult","preventRendering","render","_fetchDataSource","_this7","en","days","daysShort","monthsShort","JsCalendar","styleInject","css","ref","insertAt","head","getElementsByTagName","insertBefore","styleSheet","cssText","createTextNode","css_248z","script","data","shouldRender","mounted","$el","renderStyle","$emit","computed","allProps","watch","val","setAllowOverlap","setAlwaysHalfDay","setContextMenuItems","setCustomDayRenderer","setCustomDataSourceRenderer","setDataSource","setDisabledDays","setDisabledWeekDays","setDisplayDisabledDataSource","setDisplayHeader","setDisplayWeekNumber","setEnableContextMenu","setEnableRangeSelection","setHiddenWeekDays","setLanguage","setLoadingTemplate","setMaxDate","setMinDate","setRoundRangeLimits","setStyle","setWeekStart","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","normalizeComponent_1","__vue_script__","__vue_render__","_vm","_h","$createElement","_c","_self","__vue_staticRenderFns__","_withStripped","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","vYearCalendar","_","instances","updateGeometry","updateScroll","bindSelectionHandler","getRangeNode","selection","getSelection","getRangeAt","commonAncestorContainer","scrollingLoop","scrollDiff","startScrolling","get","scrollTop","scrollLeft","stopScrolling","isSelected","bind","ownerDocument","mousePosition","pageX","y","pageY","containerGeometry","bottom","offsetHeight","cls","handlers","nativeScrollHandler","userSettings","settings","extend","theme","handlerName","maxScrollbarLength","minScrollbarLength","scrollXMarginOffset","scrollYMarginOffset","suppressScrollX","suppressScrollY","swipePropagation","swipeEasing","useBothWheelAxes","wheelPropagation","wheelSpeed","s4","floor","random","substring","dom","bindKeyboardHandler","hovered","shouldPrevent","shouldPreventDefault","deltaX","deltaY","scrollbarYActive","contentHeight","containerHeight","scrollbarXActive","contentWidth","containerWidth","isDefaultPrevented","defaultPrevented","focused","scrollbarX","scrollbarY","activeElement","tagName","contentDocument","isEditable","metaKey","altKey","shiftKey","ctrlKey","$export","$find","KEY","forced","P","F","findIndex","callbackfn","getThumbSize","thumbSize","max","min","updateCss","xRailOffset","width","railXWidth","isRtl","negativeScrollAdjustment","isScrollbarXUsingBottom","scrollbarXBottom","scrollbarXTop","scrollbarXRail","yRailOffset","height","railYHeight","isScrollbarYUsingRight","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarYRail","scrollbarXLeft","scrollbarXWidth","railBorderXWidth","scrollbarYTop","scrollbarYHeight","railBorderYWidth","existingRails","clientWidth","clientHeight","scrollWidth","scrollHeight","queryChildren","rail","appendTo","railXMarginWidth","railXRatio","toInt","railYMarginHeight","railYRatio","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","$min","$push","$SPLIT","LENGTH","LAST_INDEX","MAX_UINT32","SUPPORTS_Y","RegExp","defined","SPLIT","$split","maybeCallNative","internalSplit","separator","limit","string","String","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","splitLimit","separatorCopy","source","slice","apply","test","O","splitter","regexp","res","done","rx","S","C","unicodeMatching","lim","p","q","A","z","defaultSettings","EventManager","guid","Instance","focus","blur","clone","isNegativeScroll","originalScrollLeft","outerWidth","getId","getAttribute","setId","id","removeId","removeAttribute","newId","isArray","map","toggleScrolling","handler","axis","original","removePsClasses","clsList","list","indexOf","env","isWebKit","supportsTouch","DocumentTouch","supportsIePointer","navigator","msMaxTouchPoints","attrs","staticClass","_v","_s","$t","slot","modelValidations","campaignName","msg","model","$$v","expression","anonymousMode","_l","anynomousModes","am","label","selectedCbGroupHID","cbgSelectorLoading","cbgSelectorPlaceholder","campaignBlockGroups","ct","hid","selectLabel","staticStyle","cultureCode","selectedHvGroupHID","hvgSelectorLoading","hvgSelectorPlaceholder","hvGroups","hvg","translateGroupName","isSystem","checkedDomains","_e","hasRunningCampaign","isQA","campaignScheduler","datePickerOptions","defaultStartDate","startDateUtc","endDateUtc","minStartDateCalendar","maxStartDateCalendar","newCampaignForScheduler","campaignSchedulerData","on","onClickDayHandler","summary","createCampaign","calendarDataSource","customDataRenderer","components","newCampaign","today","methods","initComponent","elem","iHeight","sumHeights","cNames","newCampIsPlaced","dayObj","deep","isFull","vueThis","countCampaigns","component","CollapseItem","Collapse","Checkbox","Card","entityHID","countCampsPerDay","selectedCbGroup","selectedHvGroup","disabledDate","time","shortcuts","onClick","picker","urlParams","campBlocksHID","groupHID","hvGroupHID","campaignBlockGroupHID","sendingMode","swal","title","showConfirmButton","timer","timerProgressBar","catch","hvsHvgQALimit","loadCampBlockGroups","item","setEndDate","disabledDateDatePicker","loadHvGroups","validate","clearValidation","loadCampaignSchedulerData","loader","checkConcurrentCampaigns","dt","updateCampaignForScheduler","cn","campLimitErrorDialog","readOnlyStartDatePicker","$route","to","from","params","ehid","created","destroy","initialize","update","createDOMEvent","lastTop","lastLeft","bindMouseWheelHandler","getDeltaFromEvent","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","shouldBeConsumedByChild","child","getComputedStyle","overflow","overflowX","overflowY","join","maxScrollTop","maxScrollLeft","mousewheelHandler","delta","onwheel","onmousewheel","bindMouseScrollXHandler","currentLeft","currentPageX","updateScrollLeft","newLeft","maxLeft","mouseMoveHandler","mouseUpHandler","unbind","once","bindMouseScrollYHandler","currentTop","currentPageY","updateScrollTop","newTop","maxTop","modules","installedModules","__webpack_require__","moduleId","l","c","getter","o","r","toStringTag","t","mode","ns","create","n","object","property","0","__webpack_exports__","scriptExports","functionalTemplate","injectStyles","_injectStyles","10","12","14","4","5","55","directives","rawName","hide","class","colorDisabled","colorSize","handleTrigger","showAlpha","displayedColor","showPanelColor","popperClass","predefine","pick","confirmValue","clear","clearValue","showPicker","hsv2hsl","hue","sat","isOnePointZero","parseFloat","isPercentage","bound01","processPercent","abs","INT_HEX_MAP","11","13","15","toHex","_ref","g","b","hexOne","high","low","HEX_INT_MAP","B","D","E","parseHexChannel","hex","toUpperCase","hsl2hsv","light","smin","lmin","sv","v","rgb2hsv","hsv2rgb","f","mod","Color","option","_hue","_saturation","_value","_alpha","enableAlpha","format","doOnChange","set","prop","toRgb","fromString","fromHSV","parts","replace","split","filter","_hsl2hsv","_parts","_parts2","_rgb2hsv","trim","_rgb2hsv2","_h2","_s2","_v2","compare","hsl","_hsv2rgb","_hsl","_hsv2rgb2","_r","_g","_b","src_color","picker_dropdownvue_type_template_id_06601625_render","doDestroy","showPopper","float","vertical","size","handleConfirm","nativeOn","keyup","$event","_k","keyCode","customInput","plain","picker_dropdownvue_type_template_id_06601625_staticRenderFns","sv_panelvue_type_template_id_d8583596_render","cursorTop","cursorLeft","sv_panelvue_type_template_id_d8583596_staticRenderFns","external_vue_","external_vue_default","isDragging","draggable","a","$isServer","moveFn","drag","upFn","onselectstart","ondragstart","end","start","sv_panelvue_type_script_lang_js_","required","colorValue","saturation","handleDrag","rect","clientX","clientY","components_sv_panelvue_type_script_lang_js_","componentNormalizer","__file","sv_panel","hue_slidervue_type_template_id_5cdc43b1_render","handleClick","thumbLeft","thumbTop","hue_slidervue_type_template_id_5cdc43b1_staticRenderFns","hue_slidervue_type_script_lang_js_","Boolean","hueValue","thumb","$refs","getThumbLeft","getThumbTop","_$refs","bar","dragConfig","components_hue_slidervue_type_script_lang_js_","hue_slider_component","hue_slider","alpha_slidervue_type_template_id_068c66cb_render","alpha_slidervue_type_template_id_068c66cb_staticRenderFns","alpha_slidervue_type_script_lang_js_","alpha","getBackground","_color$toRgb","components_alpha_slidervue_type_script_lang_js_","alpha_slider_component","alpha_slider","predefinevue_type_template_id_06e03093_render","rgbaColors","selected","handleSelect","predefinevue_type_template_id_06e03093_staticRenderFns","predefinevue_type_script_lang_js_","parseColors","newVal","components_predefinevue_type_script_lang_js_","predefine_component","vue_popper_","vue_popper_default","locale_","locale_default","input_","input_default","button_","button_default","picker_dropdownvue_type_script_lang_js_","mixins","SvPanel","HueSlider","AlphaSlider","ElInput","ElButton","Predefine","currentColor","$parent","popperElm","referenceElm","$nextTick","sl","immediate","components_picker_dropdownvue_type_script_lang_js_","picker_dropdown_component","picker_dropdown","clickoutside_","clickoutside_default","emitter_","emitter_default","mainvue_type_script_lang_js_","colorFormat","disabled","inject","elForm","default","elFormItem","Clickoutside","displayedRgb","_elFormItemSize","elFormItemSize","$ELEMENT","currentValueColor","currentValueColorRgb","dispatch","resetColor","dropdown","PickerDropdown","src_mainvue_type_script_lang_js_","main_component","main","install","Vue","6","7","useHasFeature","ExecutionEnvironment","isEventSupported","eventNameSuffix","capture","canUseDOM","isSupported","implementation","hasFeature","123","direction","listeners","slots","contentPosition","_t","validator","93","role","checkbox_groupvue_type_script_lang_js_","componentName","Number","fill","textColor","checkboxGroupSize","src_checkbox_groupvue_type_script_lang_js_","checkbox_group","showListGroup","changeView","showHvs","showImport","refresh","createNewHvGroup","manualControl","lazyAIStopped","sortEmp2Group","g_searchQuery","g_pagination","perPage","$set","perPageOptions","g_queriedData","order","groupTableRowClassName","g_handleSortChange","scopedSlots","_u","scope","ghid","deleteGroup","g_from","g_to","g_total","total","currentPage","createNewHV","proxy","clearEntity","modals","hvDetailModal","hvDetailHide","hoaxVictimCreate","domProps","hvgStatus","userUsed","userLimit","hvGroupUsed","hvGroupLimit","uploadUrl","uploadFinished","comparison","Progress","PPagination","HvManageTable","StatsCard","UploadButton","hvDetail","ControlCard","view","g_propsToSearch","g_sortObject","input","showCancelButton","inputValidator","html","confirmButtonClass","force","loadHvgStatus","query","hvGroup","cfg","errObj","domaiName","email","phoneNumber","uploadModeChange","console","hvData","domain","isIncluded","highBound","tourSteps","viewTour","trunc","it","ceil","26","43","59","upload_listvue_type_template_id_173fedf5_render","listType","tag","files","file","uid","status","focusing","tabindex","keydown","src","url","alt","percentage","parsePercentage","handlePreview","progress_","progress_default","upload_listvue_type_script_lang_js_","ElProgress","Function","src_upload_listvue_type_script_lang_js_","upload_list","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","getError","action","xhr","response","error","responseText","err","method","getBody","JSON","parse","upload","XMLHttpRequest","onprogress","percent","loaded","onProgress","formData","FormData","keys","append","filename","onerror","onError","onload","onSuccess","open","withCredentials","headers","setRequestHeader","send","upload_draggervue_type_template_id_7ebbf219_render","dragover","drop","onDrop","onDragover","dragleave","upload_draggervue_type_template_id_7ebbf219_staticRenderFns","upload_draggervue_type_script_lang_js_","uploader","accept","dataTransfer","extension","pop","baseType","acceptedType","src_upload_draggervue_type_script_lang_js_","upload_dragger_component","upload_render","upload_staticRenderFns","upload_dragger","uploadvue_type_script_lang_js_","UploadDragger","multiple","onStart","beforeUpload","onPreview","onRemove","fileList","autoUpload","httpRequest","onExceed","mouseover","reqs","isImage","str","handleChange","ev","uploadFiles","postFiles","rawFile","post","before","processedFile","fileType","File","abort","req","handleKeydown","$slots","src_uploadvue_type_script_lang_js_","upload_component","src_upload","migrating_","migrating_default","noop","src_render","src_staticRenderFns","srcvue_type_script_lang_js_","UploadList","Upload","provide","dragger","showFileList","beforeRemove","onChange","dragOver","draging","tempIndex","uploadDisabled","raw","URL","createObjectURL","now","handleStart","handleProgress","getFile","handleSuccess","handleError","splice","handleRemove","doRemove","every","clearFiles","submit","getMigratingConfig","beforeDestroy","revokeObjectURL","uploadList","$scopedSlots","uploadData","trigger","uploadComponent","tip","upload_srcvue_type_script_lang_js_","src_component","_ie","_firefox","_opera","_webkit","_chrome","_ie_real_version","_osx","_windows","_linux","_android","_win64","_iphone","_ipad","_native","_mobile","_populated","_populate","uas","userAgent","agent","exec","os","NaN","documentMode","trident","ver","UserAgent_DEPRECATED","ie","ieCompatibilityMode","ie64","firefox","opera","webkit","safari","chrome","windows","osx","linux","iphone","mobile","nativeApp","android","ipad","unbindAll","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","isInWorker","iconColor","reactedColor","reacted","reactedSemaforColor","compromisedColor","compromised","compromisedSemaforColor","footerText","description","diffSemaforColor","DOM","cssGet","styleName","cssSet","styleValue","cssMultiSet","styleNameOrObject","matchesSelector","mozMatchesSelector","selector","childNodes","getCell","orderBy","getColumnById","getColumnByKey","getColumnByCell","getRowIdentity","getKeysMap","mergeOptions","parseWidth","parseMinWidth","parseHeight","compose","toggleRowStatus","walkTreeNode","objectEquals","element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__","isObject","array","sortKey","reverse","sortMethod","sortBy","getKey","by","$value","len","sort","columnId","column","columns","columnKey","rowKey","current","arrayMap","hasOwn","defaults","config","minWidth","_len","funcs","_key","arg","reduce","statusArr","changed","included","addRow","removeRow","root","cb","childrenKey","lazyKey","isNil","_walker","level","objectA","objectB","aProps","getOwnPropertyNames","bProps","propName","fit","stripe","border","isGroup","isHidden","maxHeight","layout","scrollX","scrollY","store","states","isComplex","tableSize","mouseleave","handleMouseLeave","showHeader","handleHeaderFooterMousewheel","bodyWidth","defaultSort","scrollPosition","bodyHeight","rowClassName","rowStyle","highlight","highlightCurrentRow","emptyBlockStyle","emptyText","showSummary","sumText","summaryMethod","fixedColumns","handleFixedMousewheel","fixedWidth","fixedHeight","fixed","headerHeight","fixedBodyHeight","appendHeight","rightFixedColumns","rightFixedWidth","gutterWidth","resizeProxyVisible","checkbox_","checkbox_default","external_throttle_debounce_","resize_event_","external_normalize_wheel_","external_normalize_wheel_default","isFirefox","toLowerCase","mousewheel_mousewheel","normalized","directives_mousewheel","binding","merge_","merge_default","util","expand","defaultExpandAll","expandRows","updateExpandRows","_states","_states$data","expandRowsMap","prev","rowId","rowInfo","toggleRowExpansion","expanded","scheduleLayout","setExpandRowKeys","rowKeys","assertRowKey","_states2","keysMap","cur","info","isRowExpanded","_states3","_states3$expandRows","expandMap","util_","_currentRowKey","currentRow","setCurrentRowKey","setCurrentRowByKey","restoreCurrentRowKey","updateCurrentRow","oldCurrentRow","updateCurrentRowData","currentRowKey","_extends","assign","tree","expandRowKeys","treeData","indent","lazy","lazyTreeNodeMap","lazyColumnIdentifier","childrenColumnName","normalizedData","normalize","normalizedLazyNode","parentId","updateTreeData","nested","newTreeData","oldTreeData","rootLazyRowKeys","getExpanded","newValue","_ref$loaded","_ref$loading","lazyKeys","lazyNodeChildren","_ref2","_ref2$loaded","_ref2$loading","updateTableScrollY","updateTreeExpandKeys","toggleTreeExpansion","_states4","oldExpanded","loadOrToggle","_states5","loadData","treeNode","load","rawTreeData","_states6","watcher_sortData","sortingColumn","sortable","sortProp","sortOrder","doFlattenColumns","watcher","_columns","originColumns","leafColumns","fixedLeafColumns","rightFixedLeafColumns","leafColumnsLength","fixedLeafColumnsLength","rightFixedLeafColumnsLength","isAllSelected","reserveSelection","selectOnIndeterminate","selectable","filters","filteredData","hoverRow","updateColumns","unshift","notFixedColumns","needUpdateColumns","debouncedUpdateLayout","_states$selection","clearSelection","oldSelection","cleanSelection","deleted","selectedMap","dataMap","newSelection","toggleRowSelection","emitChange","_toggleAllSelection","selectionChanged","updateSelectionByRowKey","updateAllSelected","selectedCount","j","isRowSelectable","updateFilters","values","col","updateSort","execFilter","_data","filterMethod","execSort","execQuery","ignore","clearFilter","columnKeys","_table$$refs","tableHeader","fixedTableHeader","rightFixedTableHeader","panels","filterPanels","find","filteredValue","commit","silent","multi","clearSort","setExpandRowKeysAdapter","toggleRowExpansionAdapter","hasExpandColumn","mutations","setData","dataInstanceChanged","insertColumn","$ready","removeColumn","init","changeSortCondition","ingore","filterChange","newFilters","toggleAllSelection","rowSelectedChanged","setHoverRow","setCurrentRow","args","nextTick","updateScrollY","src_store","debounce_","debounce_default","createStore","initialState","mapStates","mapper","scrollbar_width_","scrollbar_width_default","table_layout_TableLayout","TableLayout","observers","tableHeight","footerHeight","viewportHeight","bodyWrapper","prevScrollY","setHeight","updateElsHeight","setMaxHeight","getFlattenColumns","flattenColumns","isColumnGroup","headerWrapper","appendWrapper","footerWrapper","headerTrElm","noneHeader","headerDisplayNone","noData","notifyObservers","elm","headerChild","updateColumnsWidth","bodyMinWidth","flexColumns","realWidth","scrollYWidth","totalFlexWidth","allColumnsWidth","flexWidthPerPixel","noneFirstWidth","flexWidth","resizeState","addObserver","observer","removeObserver","onColumnsChange","onScrollableChange","table_layout","dom_","tooltip_","tooltip_default","layout_observer","tableLayout","destroyed","updated","__updated__","cols","columnsMap","ths","_i","_j","th","table_row_extends","table_row","ElCheckbox","$index","firstDefaultColumnIndex","treeRowData","treeIndent","_columnsHidden","columnsHidden","isExpanded","cellIndex","_getSpan","getSpan","rowspan","colspan","columnData","getColspanRealWidth","noLazyChildren","getCellStyle","getCellClass","handleCellMouseEnter","handleCellMouseLeave","renderCell","_renderProxy","table_body_extends","table_body","ElTooltip","TableRow","cellspacing","cellpadding","acc","wrappedRowRender","effect","tooltipEffect","placement","content","tooltipContent","leftFixedLeafCount","rightFixedLeafCount","columnsCount","leftFixedCount","rightFixedCount","isColumnHidden","oldVal","raf","requestAnimationFrame","rows","oldRow","newRow","activateTooltip","tooltip","handleShowPopper","getKeyOfRow","rowIndex","columnIndex","spanMethod","getRowStyle","getRowClass","classes","highlightSelectionRow","cellStyle","align","cellClassName","widthArr","_ref3","hoverState","cellChild","range","createRange","setStart","setEnd","rangeWidth","padding","innerText","popper","setExpectedState","handleClosePopper","oldHoverState","handleMouseEnter","handleContextMenu","handleEvent","handleDoubleClick","rowRender","rowClasses","displayStyle","_store$states","renderExpanded","tr","tmp","traverse","node","innerTreeRowData","childKey","_nodes","nodes","filter_panelvue_type_template_id_7f2c919f_render","handleOutsideClick","handleReset","filterValue","isActive","filter_panelvue_type_template_id_7f2c919f_staticRenderFns","popup_","dropdowns","close","checkbox_group_","checkbox_group_default","scrollbar_","scrollbar_default","filter_panelvue_type_script_lang_js_","ElCheckboxGroup","ElScrollbar","confirmFilter","filterMultiple","updatePopper","$watch","filterOpened","popperJS","_popper","zIndex","nextZIndex","src_filter_panelvue_type_script_lang_js_","filter_panel","table_header_extends","getAllColumns","convertToRows","maxLevel","colSpan","subColumn","allColumns","rowSpan","table_header","columnRows","hasGutter","getHeaderRowStyle","getHeaderRowClass","handleMouseMove","handleMouseOut","handleMouseDown","handleHeaderClick","handleHeaderContextMenu","getHeaderCellStyle","getHeaderCellClass","labelClassName","renderHeader","handleSortClick","filterable","handleFilterClick","_defaultSort","$destroy","isCellHidden","headerRowStyle","headerRowClassName","headerCellStyle","headerAlign","headerCellClassName","filterPanel","filterPlacement","$mount","draggingColumn","dragging","tableEl","tableLeft","columnEl","columnRect","minLeft","dragState","startMouseLeft","startLeft","startColumnLeft","resizeProxy","deltaLeft","proxyLeft","handleMouseUp","_dragState","finalLeft","columnWidth","cursor","resizable","bodyStyle","toggleOrder","sortOrders","givenOrder","table_footer_extends","table_footer","sums","precisions","notNumber","decimal","precision","curr","toFixed","getRowClasses","tablevue_type_script_lang_js_extends","tableIdSeed","tablevue_type_script_lang_js_","Mousewheel","treeProps","hasChildren","TableHeader","TableFooter","TableBody","spinY","currentScrollTop","pixelY","pixelX","syncPostion","_bodyWrapper","fixedBodyWrapper","rightFixedBodyWrapper","maxScrollLeftPosition","throttleSyncPostion","onScroll","bindEvents","passive","resizeListener","unbindEvents","shouldUpdateLayout","_resizeState","oldWidth","oldHeight","shouldUpdateHeight","doLayout","_layout","_layout2","_layout2$headerHeight","_layout2$footerHeight","tableData","tableId","_treeProps","_treeProps$hasChildre","_treeProps$children","src_tablevue_type_script_lang_js_","table_component","src_table","bindClickRailHandler","pageOffset","positionTop","pageYOffset","positionLeft","pageXOffset","104","showText","textInside","strokeWidth","defineBackColor","barStyle","viewBox","trailPathStyle","trackPath","stroke","relativeStrokeWidth","circlePathStyle","strokeLinecap","fontSize","progressTextSize","iconClass","progressvue_type_script_lang_js_","getCurrentColor","radius","isDashboard","perimeter","PI","rate","strokeDashoffset","offset","strokeDasharray","ret","getLevelColor","colorArray","getColorArray","span","seriesColor","src_progressvue_type_script_lang_js_","progress","oldAdd","oldRemove","idx","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","normalizeWheel","sX","sY","pX","pY","detail","HORIZONTAL_AXIS","spinX","getEventType","bindNativeScrollHandler","bindTouchHandler","magnitudeX","magnitudeY","applyTouchMove","differenceX","differenceY","startOffset","startTime","speed","easingLoop","inGlobalTouch","inLocalTouch","globalTouchStart","globalTouchEnd","getTouch","targetTouches","shouldHandle","pointerType","MSPOINTER_TYPE_MOUSE","touchStart","touch","touchMove","currentOffset","timeGap","touchEnd","PointerEvent","MSPointerEvent","active","cbFilter","cbFilterStatus","preFilteredCampBlocks","CampaignBlocks","campBlocks","loadCampBlocks","tabInfoComplete","cbgName","cbgCC","formatedCCs","cc","cbgDesc","tabCbComplete","cbgBlocks","selectChangeCBG","disableAddingCb","openCbModal","cbgProgress","cbgSending","cbgWaiting","cbgSendingMin","cbgSendingMax","cbgWaitingMin","cbgWaitingMax","createTemplate","modal","show","campaignBlocks","goCbModalTop","queriedData","handleSortChange","difficulty","channels","includes","selectCBG","CampaignBlockDetail","DropdownCheck","sortObject","PProgress","SelectedCampaignBlockTable","Wizard","WizardTab","Modal","refreshCbgBlocks","blockHIDs","sending","waiting","gcb","validateTabInto","clearValidationTabInto","validateTabCb","clearValidationTabCb","cultureCodes","91","checkboxSize","isDisabled","isChecked","indeterminate","trueLabel","falseLabel","checked","_q","change","$$a","$$el","$$c","$$i","checkboxvue_type_script_lang_js_","selfModel","isLimitExceeded","_checkboxGroup","isLimitDisabled","temCheckboxSize","controls","addToStore","src_checkboxvue_type_script_lang_js_","src_checkbox","EventElement","isHandlerProvided","hdlr","eventElements","eventElement","ee","onceHandler","136","cellStarts","cellForced","_ref4","_ref5","_ref6","defaultRenderCell","_ref7","formatter","treeCellPrefix","_ref8","ele","expandClasses","iconClasses","columnIdSeed","table_column","showTooltipWhenOverflow","showOverflowTooltip","isSubColumn","owner","columnOrTableParent","realMinWidth","realAlign","realHeaderAlign","getPropsData","getColumnElIndex","setColumnWidth","setColumnForcedProps","setColumnRenders","warn","originRenderCell","prefix","registerNormalWatchers","aliases","allAliases","columnConfig","registerComplexWatchers","basicProps","sortProps","selectProps","filterProps","chains","hiddenColumns","18","3","8"],"mappings":"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,sBACA,KACA,qCACA,KACA,IACA,KACA,KACA,mBACA,QACAG,QAEA,gBACA2c,OACA3c,4DACA4c,MACA,WAIAC,yCAHAC,KAKA,IACAD,iGACA,4CACAA,mEAIA,sEAGAA,EAHA,cAMA/c,oBACAA,qFAEA,+BACA,sKACA4c,+BAIAV,kBAjDA,SAiDAe,GACA,iCAEArjB,kBApDA,SAoDAgjB,EAAA5b,GACA,sHACA4b,2BAIAhV,OACA4U,aACAU,QACA7E,QAFA,SAEAxQ,GACA,2CACA,oCAEA,2EACA,KACA,iCAGA,6BACA,kDAKAmU,uBACAkB,QACA7E,QAFA,SAEAxQ,GACA,WACAA,2CACA,gBACA,KACA,oCACAhN,YACAsiB,MAEAC,2BACAtF,8BACA1U,+CACAvI,QACA0E,2BACAC,yBACA6d,uBACAF,cAGA,kDC7IyW,I,YCOrWG,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,6BCiKf,GACAf,kCACA,SADA,sBAEA,SAFA,sBAGA,SAHA,qCAIAgB,QAJA,4BAKAC,QALA,iBAMAC,oBANA,iBAOAjC,UAPA,wBAQAkC,QARA,GAUAtW,KAXA,WAYA,OACAuW,eACAC,oBACAC,qBACAzD,wBACA0D,qBACAjD,wBACAc,kBACAC,gBACA7B,iBACAQ,uBACAS,YACAS,mBACAsC,aADA,SACAC,GACA,qCAEAC,YACA9a,aACA+a,QAFA,SAEAC,GACAA,6BAKAzE,kBACAD,kBACAC,cACAC,QAEAS,oBACAT,QAEAkB,oBACAlB,QAEAgC,cACAhC,QAEA6B,mBACA7B,QAEAwC,SACAxC,SAGAoC,yBACAjE,MACA1U,QACA7D,eACAC,aACA3E,iBAEAmhB,yBACAoC,WACAC,mBACAC,eAEAjE,sBACAS,sBACAS,UAGAmB,SACAC,yBACA,2BACA,oBACA,kCAEAP,0BACA,oBACA,sCACA,MAEA,YADA,4BAIA,OACA1C,sCACA6E,oCACAC,+CACA7C,0HACAC,kHACA6C,kCACA1E,iCACAwB,gBAEAmD,qDACA,WACA,uFACA9jB,MAAA,YACA8jB,YACAtB,gBAAAha,wBACAsb,UACArb,eACAsb,gDACAC,qBACAC,kCACAC,yBAEAC,OAAA,YAEA,GADAL,YACA,wBAEA,sBACAA,UACAC,+CACAxb,yCAAAC,oBAAA4b,uDACA3b,0CACAub,qBACAC,kCACAC,2BAIA1B,iBACAA,2BAKA6B,oBA1DA,WA0DA,WACA,mBACA,WACA,wGACArkB,MAAA,YACA,6BACA,2CACAskB,kEAEA,2BACA,qFACA,gDAGA,2BACAH,OAAA,YACA3B,iBACAA,sBACA,gCAGA+B,WA/EA,WAgFA,sDACA,4CACA,iHAGAC,uBArFA,SAqFApB,GAiBA,UAEAqB,aAxGA,WAyGA,mBACA,WACA,sFACAzkB,MAAA,YACAwiB,kBACA,sBACA,qEACAA,2CAGAA,2BAEA2B,OAAA,YACA3B,iBACAA,sBACAA,6BAGAkC,oBAAA,WACA,KAoBA,GAnBA,uBACA,yBACA,oGACA3kB,OAGA,qCACA,oGACAA,MAEA,yEACA,6IACAA,OAGA,gCACA,yGACAA,MAEA,8BACA,yGACAA,SAEA,CACA,4EACA,sBACA,2GACAA,MAEA,mBACA,mHACAA,MAoBA,OAjBA,4FACA,gFAAAqkB,0DACArkB,MAEA,qFACA,+GACAA,MAKA,kCADA,EACA,GAGA,wCAGA,GAEA4kB,2BACA,0CACA,gDACA,gDACA,0CACA,+CACA,sCAEAC,0BA1LA,WA0LA,WACA,OACA,gFACA,6FACA5kB,MAAA,YACA6kB,SACA,kCACAV,OAAA,YACA3B,iBACAqC,aAGAvD,kBAtMA,SAsMAlb,GACA,qBAEA0e,yBAzMA,WAyMA,WACA,+CACA,4CAFA,aAKA,mEACA,oCACA,kFACA,cACA,wDAEA,OADA,gGACA,OAGAC,sCAXA,kEAaA,UAEAC,2BA3NA,WA4NA,yDACA,qDAEA,wBACA,uBACAC,MACA,qCAEAC,qBApOA,WAqOApB,UACArb,aACAsb,kDACAxb,wCACAyb,qBACAC,qCACAC,uBAGA5D,mBA9OA,SA8OA9X,EAAA+X,GACA,wCAGAzT,UACAgU,iBADA,WAEA,mEAEAzB,eAJA,WAKA,QAAAE,kDAAAhkB,UAAA,CAAAgkB,gDAAAhkB,YAEA4p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BAIAC,QAJA,iBAKAC,oBALA,wBAMAC,QANA,iBAOA,SAPA,sBAQA,SARA,sBASA,SATA,kCAUA41C,QAVA,8CAWAC,GAXA,kCAYApC,QAZA,0BAaAqC,QAbA,6BAcAC,QAdA,yBAeAC,QAfA,GAiBAtsD,KAlBA,WAmBA,OACAuW,eACAg1C,kBACApB,aACAI,aACAH,WACAU,aACAC,aACA14C,kBACA83C,SACA53C,QAEAg4C,SACAh4C,QAEA63C,OACA73C,QAEAk4C,WACAl4C,QAEAwC,SACAxC,SAGAg6C,mBACAlB,OACAC,WAIAh2C,SACAC,yBACA,sBACA,uEAEA00C,eALA,WAMA,mBACA,WACA,0EACA,8FACAz2D,MAAA,YACAwiB,wBACAA,sCACA8B,iBAEAO,YACAV,OAAA,YACA3B,iBACAA,sBACAqC,cAGAF,2BACA,8BACA,4BAEA,sCAEAD,oBACA,SAiBA,OAhBA,uBAGA3kB,yBAGAA,uBAIA,kCADA,EACA,GAGA,sCAGA,GAEA63D,0BACA,oBACA,OACApvD,yBACAwjC,gCACAhsB,uBACAg5C,0CAAA,gBACAC,wBACAC,yBAEAp1C,qDACA,WACA,uGACA9jB,MAAA,YACA8jB,YACAtB,gBAAAha,iCACAsb,UACArb,eACAsb,kDACAC,qBACAC,kCACAC,yBAEAC,OAAA,YAEA,GADAL,YACA,wBACA,sBACAA,UACAC,iDACAxb,yCAAAC,cACAC,0CACAub,qBACAC,kCACAC,2BAIA1B,iBACAA,2BAKA00C,gBA3FA,SA2FAiC,EAAA59D,GAEA,yEACA,wBACA,8BACA,8BAGAm7D,gBAnGA,WAoGA,+BAEA0C,gBAtGA,WAuGA,SAmCA,OAlCA,8BACA,oBACA,gGACAr5D,OAGA,gCACA,gGACAA,MAEA,8EACA,sJACAA,OAGA,oBACA,gGACAA,OAGA,gCACA,gGACAA,MAEA,8EACA,mJACAA,OAGA,mBACA,4FACAA,MAGA,GAEAs5D,kCACA,qCACA,qCACA,oCAEArC,cAjJA,WAkJA,6BAEAsC,cApJA,WAqJA,SAUA,OATA,4BACA,2BACA,mFACAv5D,MAEA,uEACA,oIACAA,MAEA,GA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","file":"chunk-aea98f9a.a002341002a1a37a1bb9.js","sourcesContent":["'use strict';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar jsYearCalendar = createCommonjsModule(function (module, exports) {\n(function (global, factory) {\n {\n factory(exports);\n }\n})(typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : commonjsGlobal, function (_exports) {\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports[\"default\"] = void 0;\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n /* =========================================================\r\n * JS year calendar v1.0.0\r\n * Repo: https://github.com/year-calendar/js-year-calendar\r\n * =========================================================\r\n * Created by Paul David-Sivelle\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ========================================================= */\n // NodeList forEach() polyfill\n if (typeof NodeList !== \"undefined\" && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = function (callback, thisArg) {\n thisArg = thisArg || window;\n\n for (var i = 0; i < this.length; i++) {\n callback.call(thisArg, this[i], i, this);\n }\n };\n } // Element closest() polyfill\n\n\n if (typeof Element !== \"undefined\" && !Element.prototype.matches) {\n var prototype = Element.prototype;\n Element.prototype.matches = prototype.msMatchesSelector || prototype.webkitMatchesSelector;\n }\n\n if (typeof Element !== \"undefined\" && !Element.prototype.closest) {\n Element.prototype.closest = function (s) {\n var el = this;\n if (!document.documentElement.contains(el)) return null;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType == 1);\n\n return null;\n };\n }\n /**\r\n * Calendar instance.\r\n */\n\n\n var Calendar = /*#__PURE__*/function () {\n /**\r\n * Fired when a day is clicked.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('clickDay', function(e) {\r\n * console.log(\"Click on day: \" + e.date + \" (\" + e.events.length + \" events)\");\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Fired when a day is right clicked.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('clickDay', function(e) {\r\n * console.log(\"Right click on day: \" + e.date + \" (\" + e.events.length + \" events)\");\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Fired when the mouse enter in a day.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('mouseOnDay', function(e) {\r\n * console.log(\"Mouse enter in a day: \" + e.date + \" (\" + e.events.length + \" events)\");\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Fired when the mouse leave a day.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('mouseOutDay', function(e) {\r\n * console.log(\"Mouse leave a day: \" + e.date + \" (\" + e.events.length + \" events)\");\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Fired when the calendar rendering is ended.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('renderEnd', function(e) {\r\n * console.log(\"Render end for year: \" + e.currentYear);\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Fired when a date range is selected.\r\n * \r\n * Don't forget to enable the `enableRangeSelection` option to be able to use the range selection functionality.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('selectRange', function(e) {\r\n * console.log(\"Select the range: \" + e.startDate + \" - \" + e.endDate);\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Triggered after the changing the current year.\r\n * @event\r\n * @example\r\n * ```\r\n * \r\n * document.querySelector('.calendar').addEventListener('yearChanged', function(e) {\r\n * console.log(\"New year selected: \" + e.currentYear);\r\n * })\r\n * ```\r\n */\n\n /**\r\n * Create a new calendar.\r\n * @param element The element (or the selector to an element) in which the calendar should be created.\r\n * @param options [Optional] The options used to customize the calendar\r\n */\n function Calendar(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Calendar);\n\n _defineProperty(this, \"element\", void 0);\n\n _defineProperty(this, \"options\", void 0);\n\n _defineProperty(this, \"_dataSource\", void 0);\n\n _defineProperty(this, \"_mouseDown\", void 0);\n\n _defineProperty(this, \"_rangeStart\", void 0);\n\n _defineProperty(this, \"_rangeEnd\", void 0);\n\n _defineProperty(this, \"_responsiveInterval\", void 0);\n\n _defineProperty(this, \"_nbCols\", void 0);\n\n _defineProperty(this, \"clickDay\", void 0);\n\n _defineProperty(this, \"dayContextMenu\", void 0);\n\n _defineProperty(this, \"mouseOnDay\", void 0);\n\n _defineProperty(this, \"mouseOutDay\", void 0);\n\n _defineProperty(this, \"renderEnd\", void 0);\n\n _defineProperty(this, \"selectRange\", void 0);\n\n _defineProperty(this, \"yearChanged\", void 0);\n\n if (element instanceof HTMLElement) {\n this.element = element;\n } else if (typeof element === \"string\") {\n this.element = document.querySelector(element);\n } else {\n throw new Error(\"The element parameter should be a DOM node or a selector\");\n }\n\n this.element.classList.add('calendar');\n\n this._initializeEvents(options);\n\n this._initializeOptions(options);\n\n this.setYear(this.options.startYear);\n }\n\n _createClass(Calendar, [{\n key: \"_initializeOptions\",\n value: function _initializeOptions(opt) {\n if (opt == null) {\n opt = {};\n }\n\n this.options = {\n startYear: !isNaN(parseInt(opt.startYear)) ? parseInt(opt.startYear) : new Date().getFullYear(),\n minDate: opt.minDate instanceof Date ? opt.minDate : null,\n maxDate: opt.maxDate instanceof Date ? opt.maxDate : null,\n language: opt.language != null && Calendar.locales[opt.language] != null ? opt.language : 'en',\n allowOverlap: opt.allowOverlap != null ? opt.allowOverlap : true,\n displayWeekNumber: opt.displayWeekNumber != null ? opt.displayWeekNumber : false,\n displayDisabledDataSource: opt.displayDisabledDataSource != null ? opt.displayDisabledDataSource : false,\n displayHeader: opt.displayHeader != null ? opt.displayHeader : true,\n alwaysHalfDay: opt.alwaysHalfDay != null ? opt.alwaysHalfDay : false,\n enableRangeSelection: opt.enableRangeSelection != null ? opt.enableRangeSelection : false,\n disabledDays: opt.disabledDays instanceof Array ? opt.disabledDays : [],\n disabledWeekDays: opt.disabledWeekDays instanceof Array ? opt.disabledWeekDays : [],\n hiddenWeekDays: opt.hiddenWeekDays instanceof Array ? opt.hiddenWeekDays : [],\n roundRangeLimits: opt.roundRangeLimits != null ? opt.roundRangeLimits : false,\n dataSource: opt.dataSource instanceof Array || typeof opt.dataSource === \"function\" ? opt.dataSource : [],\n style: opt.style == 'background' || opt.style == 'border' || opt.style == 'custom' ? opt.style : 'border',\n enableContextMenu: opt.enableContextMenu != null ? opt.enableContextMenu : false,\n contextMenuItems: opt.contextMenuItems instanceof Array ? opt.contextMenuItems : [],\n customDayRenderer: typeof opt.customDayRenderer === \"function\" ? opt.customDayRenderer : null,\n customDataSourceRenderer: typeof opt.customDataSourceRenderer === \"function\" ? opt.customDataSourceRenderer : null,\n weekStart: !isNaN(parseInt(opt.weekStart)) ? parseInt(opt.weekStart) : null,\n loadingTemplate: typeof opt.loadingTemplate === \"string\" || opt.loadingTemplate instanceof HTMLElement ? opt.loadingTemplate : null\n };\n\n if (this.options.dataSource instanceof Array) {\n this._dataSource = this.options.dataSource;\n\n this._initializeDatasourceColors();\n }\n }\n }, {\n key: \"_initializeEvents\",\n value: function _initializeEvents(opt) {\n if (opt == null) {\n opt = [];\n }\n\n if (opt.yearChanged) {\n this.element.addEventListener('yearChanged', opt.yearChanged);\n }\n\n if (opt.renderEnd) {\n this.element.addEventListener('renderEnd', opt.renderEnd);\n }\n\n if (opt.clickDay) {\n this.element.addEventListener('clickDay', opt.clickDay);\n }\n\n if (opt.dayContextMenu) {\n this.element.addEventListener('dayContextMenu', opt.dayContextMenu);\n }\n\n if (opt.selectRange) {\n this.element.addEventListener('selectRange', opt.selectRange);\n }\n\n if (opt.mouseOnDay) {\n this.element.addEventListener('mouseOnDay', opt.mouseOnDay);\n }\n\n if (opt.mouseOutDay) {\n this.element.addEventListener('mouseOutDay', opt.mouseOutDay);\n }\n }\n }, {\n key: \"_fetchDataSource\",\n value: function _fetchDataSource(callback) {\n if (typeof this.options.dataSource === \"function\") {\n var getDataSource = this.options.dataSource;\n\n if (getDataSource.length == 2) {\n // 2 parameters, means callback method\n getDataSource(this.options.startYear, callback);\n } else {\n // 1 parameter, means synchronous or promise method\n var result = getDataSource(this.options.startYear);\n\n if (result instanceof Array) {\n callback(result);\n } else {\n result.then(callback);\n }\n }\n } else {\n callback(this.options.dataSource);\n }\n }\n }, {\n key: \"_initializeDatasourceColors\",\n value: function _initializeDatasourceColors() {\n for (var i = 0; i < this._dataSource.length; i++) {\n if (this._dataSource[i].color == null) {\n this._dataSource[i].color = Calendar.colors[i % Calendar.colors.length];\n }\n }\n }\n /**\r\n * Renders the calendar.\r\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var isLoading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // Clear the calendar (faster method)\n while (this.element.firstChild) {\n this.element.removeChild(this.element.firstChild);\n }\n\n if (this.options.displayHeader) {\n this._renderHeader();\n }\n\n if (isLoading) {\n this._renderLoading();\n } else {\n this._renderBody();\n\n this._renderDataSource();\n\n this._applyEvents(); // Fade animation\n\n\n var months = this.element.querySelector('.months-container');\n months.style.opacity = '0';\n months.style.display = 'block';\n months.style.transition = 'opacity 0.5s';\n setTimeout(function () {\n months.style.opacity = '1';\n setTimeout(function () {\n return months.style.transition = '';\n }, 500);\n }, 0);\n\n this._triggerEvent('renderEnd', {\n currentYear: this.options.startYear\n });\n }\n }\n }, {\n key: \"_renderHeader\",\n value: function _renderHeader() {\n var header = document.createElement('div');\n header.classList.add('calendar-header');\n var headerTable = document.createElement('table');\n var prevDiv = document.createElement('th');\n prevDiv.classList.add('prev');\n\n if (this.options.minDate != null && this.options.minDate > new Date(this.options.startYear - 1, 11, 31)) {\n prevDiv.classList.add('disabled');\n }\n\n var prevIcon = document.createElement('span');\n prevIcon.innerHTML = \"‹\";\n prevDiv.appendChild(prevIcon);\n headerTable.appendChild(prevDiv);\n var prev2YearDiv = document.createElement('th');\n prev2YearDiv.classList.add('year-title');\n prev2YearDiv.classList.add('year-neighbor2');\n prev2YearDiv.textContent = (this.options.startYear - 2).toString();\n\n if (this.options.minDate != null && this.options.minDate > new Date(this.options.startYear - 2, 11, 31)) {\n prev2YearDiv.classList.add('disabled');\n }\n\n headerTable.appendChild(prev2YearDiv);\n var prevYearDiv = document.createElement('th');\n prevYearDiv.classList.add('year-title');\n prevYearDiv.classList.add('year-neighbor');\n prevYearDiv.textContent = (this.options.startYear - 1).toString();\n\n if (this.options.minDate != null && this.options.minDate > new Date(this.options.startYear - 1, 11, 31)) {\n prevYearDiv.classList.add('disabled');\n }\n\n headerTable.appendChild(prevYearDiv);\n var yearDiv = document.createElement('th');\n yearDiv.classList.add('year-title');\n yearDiv.textContent = this.options.startYear.toString();\n headerTable.appendChild(yearDiv);\n var nextYearDiv = document.createElement('th');\n nextYearDiv.classList.add('year-title');\n nextYearDiv.classList.add('year-neighbor');\n nextYearDiv.textContent = (this.options.startYear + 1).toString();\n\n if (this.options.maxDate != null && this.options.maxDate < new Date(this.options.startYear + 1, 0, 1)) {\n nextYearDiv.classList.add('disabled');\n }\n\n headerTable.appendChild(nextYearDiv);\n var next2YearDiv = document.createElement('th');\n next2YearDiv.classList.add('year-title');\n next2YearDiv.classList.add('year-neighbor2');\n next2YearDiv.textContent = (this.options.startYear + 2).toString();\n\n if (this.options.maxDate != null && this.options.maxDate < new Date(this.options.startYear + 2, 0, 1)) {\n next2YearDiv.classList.add('disabled');\n }\n\n headerTable.appendChild(next2YearDiv);\n var nextDiv = document.createElement('th');\n nextDiv.classList.add('next');\n\n if (this.options.maxDate != null && this.options.maxDate < new Date(this.options.startYear + 1, 0, 1)) {\n nextDiv.classList.add('disabled');\n }\n\n var nextIcon = document.createElement('span');\n nextIcon.innerHTML = \"›\";\n nextDiv.appendChild(nextIcon);\n headerTable.appendChild(nextDiv);\n header.appendChild(headerTable);\n this.element.appendChild(header);\n }\n }, {\n key: \"_renderBody\",\n value: function _renderBody() {\n var monthsDiv = document.createElement('div');\n monthsDiv.classList.add('months-container');\n\n for (var m = 0; m < 12; m++) {\n /* Container */\n var monthDiv = document.createElement('div');\n monthDiv.classList.add('month-container');\n monthDiv.dataset.monthId = m.toString();\n\n if (this._nbCols) {\n monthDiv.classList.add(\"month-\".concat(this._nbCols));\n }\n\n var firstDate = new Date(this.options.startYear, m, 1);\n var table = document.createElement('table');\n table.classList.add('month');\n /* Month header */\n\n var thead = document.createElement('thead');\n var titleRow = document.createElement('tr');\n var titleCell = document.createElement('th');\n titleCell.classList.add('month-title');\n titleCell.setAttribute('colspan', this.options.displayWeekNumber ? '8' : '7');\n titleCell.textContent = Calendar.locales[this.options.language].months[m];\n titleRow.appendChild(titleCell);\n thead.appendChild(titleRow);\n var headerRow = document.createElement('tr');\n\n if (this.options.displayWeekNumber) {\n var weekNumberCell = document.createElement('th');\n weekNumberCell.classList.add('week-number');\n weekNumberCell.textContent = Calendar.locales[this.options.language].weekShort;\n headerRow.appendChild(weekNumberCell);\n }\n\n var weekStart = this.options.weekStart ? this.options.weekStart : Calendar.locales[this.options.language].weekStart;\n var d = weekStart;\n\n do {\n var headerCell = document.createElement('th');\n headerCell.classList.add('day-header');\n headerCell.textContent = Calendar.locales[this.options.language].daysMin[d];\n\n if (this._isHidden(d)) {\n headerCell.classList.add('hidden');\n }\n\n headerRow.appendChild(headerCell);\n d++;\n if (d >= 7) d = 0;\n } while (d != weekStart);\n\n thead.appendChild(headerRow);\n table.appendChild(thead);\n /* Days */\n\n var currentDate = new Date(firstDate.getTime());\n var lastDate = new Date(this.options.startYear, m + 1, 0);\n\n while (currentDate.getDay() != weekStart) {\n currentDate.setDate(currentDate.getDate() - 1);\n }\n\n while (currentDate <= lastDate) {\n var row = document.createElement('tr');\n\n if (this.options.displayWeekNumber) {\n var weekNumberCell = document.createElement('td');\n var currentThursday = new Date(currentDate.getTime()); // Week number is computed based on the thursday\n\n currentThursday.setDate(currentThursday.getDate() - weekStart + 4);\n weekNumberCell.classList.add('week-number');\n weekNumberCell.textContent = this.getWeekNumber(currentThursday).toString();\n row.appendChild(weekNumberCell);\n }\n\n do {\n var cell = document.createElement('td');\n cell.classList.add('day');\n\n if (this._isHidden(currentDate.getDay())) {\n cell.classList.add('hidden');\n }\n\n if (currentDate < firstDate) {\n cell.classList.add('old');\n } else if (currentDate > lastDate) {\n cell.classList.add('new');\n } else {\n if (this._isDisabled(currentDate)) {\n cell.classList.add('disabled');\n }\n\n var cellContent = document.createElement('div');\n cellContent.classList.add('day-content');\n cellContent.textContent = currentDate.getDate().toString();\n cell.appendChild(cellContent);\n\n if (this.options.customDayRenderer) {\n this.options.customDayRenderer(cellContent, currentDate);\n }\n }\n\n row.appendChild(cell);\n currentDate.setDate(currentDate.getDate() + 1);\n } while (currentDate.getDay() != weekStart);\n\n table.appendChild(row);\n }\n\n monthDiv.appendChild(table);\n monthsDiv.appendChild(monthDiv);\n }\n\n this.element.appendChild(monthsDiv);\n }\n }, {\n key: \"_renderLoading\",\n value: function _renderLoading() {\n var container = document.createElement('div');\n container.classList.add('calendar-loading-container');\n container.style.minHeight = this._nbCols * 200 + 'px';\n var loading = document.createElement('div');\n loading.classList.add('calendar-loading');\n\n if (this.options.loadingTemplate) {\n if (typeof this.options.loadingTemplate === \"string\") {\n loading.innerHTML = this.options.loadingTemplate;\n } else if (this.options.loadingTemplate instanceof HTMLElement) {\n loading.appendChild(this.options.loadingTemplate);\n }\n } else {\n var spinner = document.createElement('div');\n spinner.classList.add('calendar-spinner');\n\n for (var i = 1; i <= 3; i++) {\n var bounce = document.createElement('div');\n bounce.classList.add(\"bounce\".concat(i));\n spinner.appendChild(bounce);\n }\n\n loading.appendChild(spinner);\n }\n\n container.appendChild(loading);\n this.element.appendChild(container);\n }\n }, {\n key: \"_renderDataSource\",\n value: function _renderDataSource() {\n var _this = this;\n\n if (this._dataSource != null && this._dataSource.length > 0) {\n this.element.querySelectorAll('.month-container').forEach(function (month) {\n var monthId = parseInt(month.dataset.monthId);\n var firstDate = new Date(_this.options.startYear, monthId, 1);\n var lastDate = new Date(_this.options.startYear, monthId + 1, 1);\n\n if ((_this.options.minDate == null || lastDate > _this.options.minDate) && (_this.options.maxDate == null || firstDate <= _this.options.maxDate)) {\n var monthData = [];\n\n for (var i = 0; i < _this._dataSource.length; i++) {\n if (!(_this._dataSource[i].startDate >= lastDate) || _this._dataSource[i].endDate < firstDate) {\n monthData.push(_this._dataSource[i]);\n }\n }\n\n if (monthData.length > 0) {\n month.querySelectorAll('.day-content').forEach(function (day) {\n var currentDate = new Date(_this.options.startYear, monthId, parseInt(day.textContent));\n var nextDate = new Date(_this.options.startYear, monthId, currentDate.getDate() + 1);\n var dayData = [];\n\n if ((_this.options.minDate == null || currentDate >= _this.options.minDate) && (_this.options.maxDate == null || currentDate <= _this.options.maxDate)) {\n for (var i = 0; i < monthData.length; i++) {\n if (monthData[i].startDate < nextDate && monthData[i].endDate >= currentDate) {\n dayData.push(monthData[i]);\n }\n }\n\n if (dayData.length > 0 && (_this.options.displayDisabledDataSource || !_this._isDisabled(currentDate))) {\n _this._renderDataSourceDay(day, currentDate, dayData);\n }\n }\n });\n }\n }\n });\n }\n }\n }, {\n key: \"_renderDataSourceDay\",\n value: function _renderDataSourceDay(elt, currentDate, events) {\n var parent = elt.parentElement;\n\n switch (this.options.style) {\n case 'border':\n var weight = 0;\n\n if (events.length == 1) {\n weight = 4;\n } else if (events.length <= 3) {\n weight = 2;\n } else {\n parent.style.boxShadow = 'inset 0 -4px 0 0 black';\n }\n\n if (weight > 0) {\n var boxShadow = '';\n\n for (var i = 0; i < events.length; i++) {\n if (boxShadow != '') {\n boxShadow += \",\";\n }\n\n boxShadow += \"inset 0 -\".concat((i + 1) * weight, \"px 0 0 \").concat(events[i].color);\n }\n\n parent.style.boxShadow = boxShadow;\n }\n\n break;\n\n case 'background':\n parent.style.backgroundColor = events[events.length - 1].color;\n var currentTime = currentDate.getTime();\n\n if (events[events.length - 1].startDate.getTime() == currentTime) {\n parent.classList.add('day-start');\n\n if (events[events.length - 1].startHalfDay || this.options.alwaysHalfDay) {\n parent.classList.add('day-half'); // Find color for other half\n\n var otherColor = 'transparent';\n\n for (var i = events.length - 2; i >= 0; i--) {\n if (events[i].startDate.getTime() != currentTime || !events[i].startHalfDay && !this.options.alwaysHalfDay) {\n otherColor = events[i].color;\n break;\n }\n }\n\n parent.style.background = \"linear-gradient(-45deg, \".concat(events[events.length - 1].color, \", \").concat(events[events.length - 1].color, \" 49%, \").concat(otherColor, \" 51%, \").concat(otherColor, \")\");\n } else if (this.options.roundRangeLimits) {\n parent.classList.add('round-left');\n }\n } else if (events[events.length - 1].endDate.getTime() == currentTime) {\n parent.classList.add('day-end');\n\n if (events[events.length - 1].endHalfDay || this.options.alwaysHalfDay) {\n parent.classList.add('day-half'); // Find color for other half\n\n var otherColor = 'transparent';\n\n for (var i = events.length - 2; i >= 0; i--) {\n if (events[i].endDate.getTime() != currentTime || !events[i].endHalfDay && !this.options.alwaysHalfDay) {\n otherColor = events[i].color;\n break;\n }\n }\n\n parent.style.background = \"linear-gradient(135deg, \".concat(events[events.length - 1].color, \", \").concat(events[events.length - 1].color, \" 49%, \").concat(otherColor, \" 51%, \").concat(otherColor, \")\");\n } else if (this.options.roundRangeLimits) {\n parent.classList.add('round-right');\n }\n }\n\n break;\n\n case 'custom':\n if (this.options.customDataSourceRenderer) {\n this.options.customDataSourceRenderer.call(this, elt, currentDate, events);\n }\n\n break;\n }\n }\n }, {\n key: \"_applyEvents\",\n value: function _applyEvents() {\n var _this2 = this;\n\n if (this.options.displayHeader) {\n /* Header buttons */\n this.element.querySelectorAll('.year-neighbor, .year-neighbor2').forEach(function (element) {\n element.addEventListener('click', function (e) {\n if (!e.currentTarget.classList.contains('disabled')) {\n _this2.setYear(parseInt(e.currentTarget.textContent));\n }\n });\n });\n this.element.querySelector('.calendar-header .prev').addEventListener('click', function (e) {\n if (!e.currentTarget.classList.contains('disabled')) {\n var months = _this2.element.querySelector('.months-container');\n\n months.style.transition = 'margin-left 0.1s';\n months.style.marginLeft = '100%';\n setTimeout(function () {\n months.style.visibility = 'hidden';\n months.style.transition = '';\n months.style.marginLeft = '0';\n setTimeout(function () {\n _this2.setYear(_this2.options.startYear - 1);\n }, 50);\n }, 100);\n }\n });\n this.element.querySelector('.calendar-header .next').addEventListener('click', function (e) {\n if (!e.currentTarget.classList.contains('disabled')) {\n var months = _this2.element.querySelector('.months-container');\n\n months.style.transition = 'margin-left 0.1s';\n months.style.marginLeft = '-100%';\n setTimeout(function () {\n months.style.visibility = 'hidden';\n months.style.transition = '';\n months.style.marginLeft = '0';\n setTimeout(function () {\n _this2.setYear(_this2.options.startYear + 1);\n }, 50);\n }, 100);\n }\n });\n }\n\n var cells = this.element.querySelectorAll('.day:not(.old):not(.new):not(.disabled)');\n cells.forEach(function (cell) {\n /* Click on date */\n cell.addEventListener('click', function (e) {\n e.stopPropagation();\n\n var date = _this2._getDate(e.currentTarget);\n\n _this2._triggerEvent('clickDay', {\n element: e.currentTarget,\n date: date,\n events: _this2.getEvents(date)\n });\n });\n /* Click right on date */\n\n cell.addEventListener('contextmenu', function (e) {\n if (_this2.options.enableContextMenu) {\n e.preventDefault();\n\n if (_this2.options.contextMenuItems.length > 0) {\n _this2._openContextMenu(e.currentTarget);\n }\n }\n\n var date = _this2._getDate(e.currentTarget);\n\n _this2._triggerEvent('dayContextMenu', {\n element: e.currentTarget,\n date: date,\n events: _this2.getEvents(date)\n });\n });\n /* Range selection */\n\n if (_this2.options.enableRangeSelection) {\n cell.addEventListener('mousedown', function (e) {\n if (e.which == 1) {\n var currentDate = _this2._getDate(e.currentTarget);\n\n if (_this2.options.allowOverlap || _this2.isThereFreeSlot(currentDate)) {\n _this2._mouseDown = true;\n _this2._rangeStart = _this2._rangeEnd = currentDate;\n\n _this2._refreshRange();\n }\n }\n });\n cell.addEventListener('mouseenter', function (e) {\n if (_this2._mouseDown) {\n var currentDate = _this2._getDate(e.currentTarget);\n\n if (!_this2.options.allowOverlap) {\n var newDate = new Date(_this2._rangeStart.getTime());\n\n if (newDate < currentDate) {\n var nextDate = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate() + 1);\n\n while (newDate < currentDate) {\n if (!_this2.isThereFreeSlot(nextDate, false)) {\n break;\n }\n\n newDate.setDate(newDate.getDate() + 1);\n nextDate.setDate(nextDate.getDate() + 1);\n }\n } else {\n var nextDate = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate() - 1);\n\n while (newDate > currentDate) {\n if (!_this2.isThereFreeSlot(nextDate, true)) {\n break;\n }\n\n newDate.setDate(newDate.getDate() - 1);\n nextDate.setDate(nextDate.getDate() - 1);\n }\n }\n\n currentDate = newDate;\n }\n\n var oldValue = _this2._rangeEnd;\n _this2._rangeEnd = currentDate;\n\n if (oldValue.getTime() != _this2._rangeEnd.getTime()) {\n _this2._refreshRange();\n }\n }\n });\n }\n /* Hover date */\n\n\n cell.addEventListener('mouseenter', function (e) {\n if (!_this2._mouseDown) {\n var date = _this2._getDate(e.currentTarget);\n\n _this2._triggerEvent('mouseOnDay', {\n element: e.currentTarget,\n date: date,\n events: _this2.getEvents(date)\n });\n }\n });\n cell.addEventListener('mouseleave', function (e) {\n var date = _this2._getDate(e.currentTarget);\n\n _this2._triggerEvent('mouseOutDay', {\n element: e.currentTarget,\n date: date,\n events: _this2.getEvents(date)\n });\n });\n });\n\n if (this.options.enableRangeSelection) {\n // Release range selection\n window.addEventListener('mouseup', function (e) {\n if (_this2._mouseDown) {\n _this2._mouseDown = false;\n\n _this2._refreshRange();\n\n var minDate = _this2._rangeStart < _this2._rangeEnd ? _this2._rangeStart : _this2._rangeEnd;\n var maxDate = _this2._rangeEnd > _this2._rangeStart ? _this2._rangeEnd : _this2._rangeStart;\n\n _this2._triggerEvent('selectRange', {\n startDate: minDate,\n endDate: maxDate,\n events: _this2.getEventsOnRange(minDate, new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate() + 1))\n });\n }\n });\n }\n /* Responsive management */\n\n\n if (this._responsiveInterval) {\n clearInterval(this._responsiveInterval);\n this._responsiveInterval = null;\n }\n\n this._responsiveInterval = setInterval(function () {\n if (_this2.element.querySelector('.month') == null) {\n return;\n }\n\n var calendarSize = _this2.element.offsetWidth;\n var monthSize = _this2.element.querySelector('.month').offsetWidth + 10;\n _this2._nbCols = null;\n\n if (monthSize * 6 < calendarSize) {\n _this2._nbCols = 2;\n } else if (monthSize * 4 < calendarSize) {\n _this2._nbCols = 3;\n } else if (monthSize * 3 < calendarSize) {\n _this2._nbCols = 4;\n } else if (monthSize * 2 < calendarSize) {\n _this2._nbCols = 6;\n } else {\n _this2._nbCols = 12;\n }\n\n _this2.element.querySelectorAll('.month-container').forEach(function (month) {\n if (!month.classList.contains(\"month-\".concat(_this2._nbCols))) {\n ['month-2', 'month-3', 'month-4', 'month-6', 'month-12'].forEach(function (className) {\n month.classList.remove(className);\n });\n month.classList.add(\"month-\".concat(_this2._nbCols));\n }\n });\n }, 300);\n }\n }, {\n key: \"_refreshRange\",\n value: function _refreshRange() {\n var _this3 = this;\n\n this.element.querySelectorAll('td.day.range').forEach(function (day) {\n return day.classList.remove('range');\n });\n this.element.querySelectorAll('td.day.range-start').forEach(function (day) {\n return day.classList.remove('range-start');\n });\n this.element.querySelectorAll('td.day.range-end').forEach(function (day) {\n return day.classList.remove('range-end');\n });\n\n if (this._mouseDown) {\n var minDate = this._rangeStart < this._rangeEnd ? this._rangeStart : this._rangeEnd;\n var maxDate = this._rangeEnd > this._rangeStart ? this._rangeEnd : this._rangeStart;\n this.element.querySelectorAll('.month-container').forEach(function (month) {\n var monthId = parseInt(month.dataset.monthId);\n\n if (minDate.getMonth() <= monthId && maxDate.getMonth() >= monthId) {\n month.querySelectorAll('td.day:not(.old):not(.new)').forEach(function (day) {\n var date = _this3._getDate(day);\n\n if (date >= minDate && date <= maxDate) {\n day.classList.add('range');\n\n if (date.getTime() == minDate.getTime()) {\n day.classList.add('range-start');\n }\n\n if (date.getTime() == maxDate.getTime()) {\n day.classList.add('range-end');\n }\n }\n });\n }\n });\n }\n }\n }, {\n key: \"_getElementPosition\",\n value: function _getElementPosition(element) {\n var top = 0,\n left = 0;\n\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n\n return {\n top: top,\n left: left\n };\n }\n }, {\n key: \"_openContextMenu\",\n value: function _openContextMenu(elt) {\n var _this4 = this;\n\n var contextMenu = document.querySelector('.calendar-context-menu');\n\n if (contextMenu !== null) {\n contextMenu.style.display = 'none'; // Clear the context menu (faster method)\n\n while (contextMenu.firstChild) {\n contextMenu.removeChild(contextMenu.firstChild);\n }\n } else {\n contextMenu = document.createElement('div');\n contextMenu.classList.add('calendar-context-menu');\n document.body.appendChild(contextMenu);\n }\n\n var date = this._getDate(elt);\n\n var events = this.getEvents(date);\n\n for (var i = 0; i < events.length; i++) {\n var eventItem = document.createElement('div');\n eventItem.classList.add('item');\n eventItem.style.paddingLeft = '4px';\n eventItem.style.boxShadow = \"inset 4px 0 0 0 \".concat(events[i].color);\n var eventItemContent = document.createElement('div');\n eventItemContent.classList.add('content');\n var text = document.createElement('span');\n text.classList.add('text');\n text.textContent = events[i].name;\n eventItemContent.appendChild(text);\n var icon = document.createElement('span');\n icon.classList.add('arrow');\n icon.innerHTML = \"›\";\n eventItemContent.appendChild(icon);\n eventItem.appendChild(eventItemContent);\n\n this._renderContextMenuItems(eventItem, this.options.contextMenuItems, events[i]);\n\n contextMenu.appendChild(eventItem);\n }\n\n if (contextMenu.children.length > 0) {\n var position = this._getElementPosition(elt);\n\n contextMenu.style.left = position.left + 25 + 'px';\n contextMenu.style.right = '';\n contextMenu.style.top = position.top + 25 + 'px';\n contextMenu.style.display = 'block';\n\n if (contextMenu.getBoundingClientRect().right > document.body.offsetWidth) {\n contextMenu.style.left = '';\n contextMenu.style.right = '0';\n } // Launch the position check once the whole context menu tree will be rendered\n\n\n setTimeout(function () {\n return _this4._checkContextMenuItemsPosition();\n }, 0);\n\n var closeContextMenu = function closeContextMenu(event) {\n if (event.type !== 'click' || !contextMenu.contains(event.target)) {\n contextMenu.style.display = 'none';\n window.removeEventListener('click', closeContextMenu);\n window.removeEventListener('resize', closeContextMenu);\n window.removeEventListener('scroll', closeContextMenu);\n }\n };\n\n window.addEventListener('click', closeContextMenu);\n window.addEventListener('resize', closeContextMenu);\n window.addEventListener('scroll', closeContextMenu);\n }\n }\n }, {\n key: \"_renderContextMenuItems\",\n value: function _renderContextMenuItems(parent, items, evt) {\n var subMenu = document.createElement('div');\n subMenu.classList.add('submenu');\n\n for (var i = 0; i < items.length; i++) {\n if (items[i].visible === false || typeof items[i].visible === \"function\" && !items[i].visible(evt)) {\n continue;\n }\n\n var menuItem = document.createElement('div');\n menuItem.classList.add('item');\n var menuItemContent = document.createElement('div');\n menuItemContent.classList.add('content');\n var text = document.createElement('span');\n text.classList.add('text');\n text.textContent = items[i].text;\n menuItemContent.appendChild(text);\n\n if (items[i].click) {\n (function (index) {\n menuItemContent.addEventListener('click', function () {\n document.querySelector('.calendar-context-menu').style.display = 'none';\n items[index].click(evt);\n });\n })(i);\n }\n\n menuItem.appendChild(menuItemContent);\n\n if (items[i].items && items[i].items.length > 0) {\n var icon = document.createElement('span');\n icon.classList.add('arrow');\n icon.innerHTML = \"›\";\n menuItemContent.appendChild(icon);\n\n this._renderContextMenuItems(menuItem, items[i].items, evt);\n }\n\n subMenu.appendChild(menuItem);\n }\n\n if (subMenu.children.length > 0) {\n parent.appendChild(subMenu);\n }\n }\n }, {\n key: \"_checkContextMenuItemsPosition\",\n value: function _checkContextMenuItemsPosition() {\n var menus = document.querySelectorAll('.calendar-context-menu .submenu');\n menus.forEach(function (menu) {\n var htmlMenu = menu;\n htmlMenu.style.display = 'block';\n htmlMenu.style.visibility = 'hidden';\n });\n menus.forEach(function (menu) {\n var htmlMenu = menu;\n\n if (htmlMenu.getBoundingClientRect().right > document.body.offsetWidth) {\n htmlMenu.classList.add('open-left');\n } else {\n htmlMenu.classList.remove('open-left');\n }\n });\n menus.forEach(function (menu) {\n var htmlMenu = menu;\n htmlMenu.style.display = '';\n htmlMenu.style.visibility = '';\n });\n }\n }, {\n key: \"_getDate\",\n value: function _getDate(elt) {\n var day = elt.querySelector('.day-content').textContent;\n var month = elt.closest('.month-container').dataset.monthId;\n var year = this.options.startYear;\n return new Date(year, month, day);\n }\n }, {\n key: \"_triggerEvent\",\n value: function _triggerEvent(eventName, parameters) {\n var event = null;\n\n if (typeof Event === \"function\") {\n event = new Event(eventName);\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, false);\n }\n\n event.calendar = this;\n\n for (var i in parameters) {\n event[i] = parameters[i];\n }\n\n this.element.dispatchEvent(event);\n return event;\n }\n }, {\n key: \"_isDisabled\",\n value: function _isDisabled(date) {\n if (this.options.minDate != null && date < this.options.minDate || this.options.maxDate != null && date > this.options.maxDate) {\n return true;\n }\n\n if (this.options.disabledWeekDays.length > 0) {\n for (var d = 0; d < this.options.disabledWeekDays.length; d++) {\n if (date.getDay() == this.options.disabledWeekDays[d]) {\n return true;\n }\n }\n }\n\n if (this.options.disabledDays.length > 0) {\n for (var d = 0; d < this.options.disabledDays.length; d++) {\n if (date.getTime() == this.options.disabledDays[d].getTime()) {\n return true;\n }\n }\n }\n\n return false;\n }\n }, {\n key: \"_isHidden\",\n value: function _isHidden(day) {\n if (this.options.hiddenWeekDays.length > 0) {\n for (var d = 0; d < this.options.hiddenWeekDays.length; d++) {\n if (day == this.options.hiddenWeekDays[d]) {\n return true;\n }\n }\n }\n\n return false;\n }\n /**\r\n * Gets the week number for a specified date.\r\n *\r\n * @param date The specified date.\r\n */\n\n }, {\n key: \"getWeekNumber\",\n value: function getWeekNumber(date) {\n // Algorithm from https://weeknumber.net/how-to/javascript\n var workingDate = new Date(date.getTime());\n workingDate.setHours(0, 0, 0, 0); // Thursday in current week decides the year.\n\n workingDate.setDate(workingDate.getDate() + 3 - (workingDate.getDay() + 6) % 7); // January 4 is always in week 1.\n\n var week1 = new Date(workingDate.getFullYear(), 0, 4); // Adjust to Thursday in week 1 and count number of weeks from date to week1.\n\n return 1 + Math.round(((workingDate.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n }\n /**\r\n * Gets the data source elements for a specified day.\r\n *\r\n * @param date The specified day.\r\n */\n\n }, {\n key: \"getEvents\",\n value: function getEvents(date) {\n return this.getEventsOnRange(date, new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1));\n }\n /**\r\n * Gets the data source elements for a specified range of days.\r\n *\r\n * @param startDate The beginning of the day range (inclusive).\r\n * @param endDate The end of the day range (non inclusive).\r\n */\n\n }, {\n key: \"getEventsOnRange\",\n value: function getEventsOnRange(startDate, endDate) {\n var events = [];\n\n if (this._dataSource && startDate && endDate) {\n for (var i = 0; i < this._dataSource.length; i++) {\n if (this._dataSource[i].startDate < endDate && this._dataSource[i].endDate >= startDate) {\n events.push(this._dataSource[i]);\n }\n }\n }\n\n return events;\n }\n /**\r\n * Check if there is no event on the first part, last part or on the whole specified day.\r\n *\r\n * @param date The specified day.\r\n * @param after Whether to check for a free slot on the first part (if `false`) or the last part (if `true`) of the day. If `null`, this will check on the whole day.\r\n * \r\n * Usefull only if using the `alwaysHalfDay` option of the calendar, or the `startHalfDay` or `endHalfDay` option of the datasource.\r\n */\n\n }, {\n key: \"isThereFreeSlot\",\n value: function isThereFreeSlot(date) {\n var _this5 = this;\n\n var after = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var events = this.getEvents(date);\n\n if (after === true) {\n return !events.some(function (evt) {\n return !_this5.options.alwaysHalfDay && !evt.endHalfDay || evt.endDate > date;\n });\n } else if (after === false) {\n return !events.some(function (evt) {\n return !_this5.options.alwaysHalfDay && !evt.startHalfDay || evt.startDate < date;\n });\n } else {\n return this.isThereFreeSlot(date, false) || this.isThereFreeSlot(date, true);\n }\n }\n /**\r\n * Gets the year displayed on the calendar.\r\n */\n\n }, {\n key: \"getYear\",\n value: function getYear() {\n return this.options.startYear;\n }\n /**\r\n * Sets the year displayed on the calendar.\r\n *\r\n * @param year The year to displayed on the calendar.\r\n */\n\n }, {\n key: \"setYear\",\n value: function setYear(year) {\n var _this6 = this;\n\n var parsedYear = parseInt(year);\n\n if (!isNaN(parsedYear)) {\n this.options.startYear = parsedYear; // Clear the calendar (faster method)\n\n while (this.element.firstChild) {\n this.element.removeChild(this.element.firstChild);\n }\n\n if (this.options.displayHeader) {\n this._renderHeader();\n }\n\n var eventResult = this._triggerEvent('yearChanged', {\n currentYear: this.options.startYear,\n preventRendering: false\n });\n\n if (typeof this.options.dataSource === \"function\") {\n this.render(true);\n\n this._fetchDataSource(function (dataSource) {\n _this6._dataSource = dataSource;\n\n _this6._initializeDatasourceColors();\n\n _this6.render(false);\n });\n } else {\n if (!eventResult.preventRendering) {\n this.render();\n }\n }\n }\n }\n /**\r\n * Gets the minimum date of the calendar.\r\n */\n\n }, {\n key: \"getMinDate\",\n value: function getMinDate() {\n return this.options.minDate;\n }\n /**\r\n * Sets the minimum date of the calendar.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param minDate The minimum date to set.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setMinDate\",\n value: function setMinDate(date) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (date instanceof Date || date === null) {\n this.options.minDate = date;\n\n if (!preventRendering) {\n this.render();\n }\n }\n }\n /**\r\n * Gets the maximum date of the calendar.\r\n */\n\n }, {\n key: \"getMaxDate\",\n value: function getMaxDate() {\n return this.options.maxDate;\n }\n /**\r\n * Sets the maximum date of the calendar. \r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param maxDate The maximum date to set.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setMaxDate\",\n value: function setMaxDate(date) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (date instanceof Date || date === null) {\n this.options.maxDate = date;\n\n if (!preventRendering) {\n this.render();\n }\n }\n }\n /**\r\n * Gets the current style used for displaying data source.\r\n */\n\n }, {\n key: \"getStyle\",\n value: function getStyle() {\n return this.options.style;\n }\n /**\r\n * Sets the style to use for displaying data source. \r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param style The style to use for displaying data source (\"background\", \"border\" or \"custom\").\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.style = style == 'background' || style == 'border' || style == 'custom' ? style : 'border';\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the user can select a range which overlapping an other element present in the datasource.\r\n */\n\n }, {\n key: \"getAllowOverlap\",\n value: function getAllowOverlap() {\n return this.options.allowOverlap;\n }\n /**\r\n * Sets a value indicating whether the user can select a range which overlapping an other element present in the datasource.\r\n *\r\n * @param allowOverlap Indicates whether the user can select a range which overlapping an other element present in the datasource.\r\n */\n\n }, {\n key: \"setAllowOverlap\",\n value: function setAllowOverlap(allowOverlap) {\n this.options.allowOverlap = allowOverlap;\n }\n /**\r\n * Gets a value indicating whether the weeks number are displayed.\r\n */\n\n }, {\n key: \"getDisplayWeekNumber\",\n value: function getDisplayWeekNumber() {\n return this.options.displayWeekNumber;\n }\n /**\r\n * Sets a value indicating whether the weeks number are displayed.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param displayWeekNumber Indicates whether the weeks number are displayed.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDisplayWeekNumber\",\n value: function setDisplayWeekNumber(displayWeekNumber) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.displayWeekNumber = displayWeekNumber;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the calendar header is displayed.\r\n */\n\n }, {\n key: \"getDisplayHeader\",\n value: function getDisplayHeader() {\n return this.options.displayHeader;\n }\n /**\r\n * Sets a value indicating whether the calendar header is displayed.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param displayHeader Indicates whether the calendar header is displayed.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDisplayHeader\",\n value: function setDisplayHeader(displayHeader) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.displayHeader = displayHeader;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the data source must be rendered on disabled days.\r\n */\n\n }, {\n key: \"getDisplayDisabledDataSource\",\n value: function getDisplayDisabledDataSource() {\n return this.options.displayDisabledDataSource;\n }\n /**\r\n * Sets a value indicating whether the data source must be rendered on disabled days.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param displayDisabledDataSource Indicates whether the data source must be rendered on disabled days.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDisplayDisabledDataSource\",\n value: function setDisplayDisabledDataSource(displayDisabledDataSource) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.displayDisabledDataSource = displayDisabledDataSource;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the beginning and the end of each range should be displayed as half selected day.\r\n */\n\n }, {\n key: \"getAlwaysHalfDay\",\n value: function getAlwaysHalfDay() {\n return this.options.alwaysHalfDay;\n }\n /**\r\n * Sets a value indicating whether the beginning and the end of each range should be displayed as half selected day.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param alwaysHalfDay Indicates whether the beginning and the end of each range should be displayed as half selected day.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setAlwaysHalfDay\",\n value: function setAlwaysHalfDay(alwaysHalfDay) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.alwaysHalfDay = alwaysHalfDay;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the user can make range selection.\r\n */\n\n }, {\n key: \"getEnableRangeSelection\",\n value: function getEnableRangeSelection() {\n return this.options.enableRangeSelection;\n }\n /**\r\n * Sets a value indicating whether the user can make range selection.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param enableRangeSelection Indicates whether the user can make range selection.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setEnableRangeSelection\",\n value: function setEnableRangeSelection(enableRangeSelection) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.enableRangeSelection = enableRangeSelection;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the disabled days.\r\n */\n\n }, {\n key: \"getDisabledDays\",\n value: function getDisabledDays() {\n return this.options.disabledDays;\n }\n /**\r\n * Sets the disabled days.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param disableDays The disabled days to set.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDisabledDays\",\n value: function setDisabledDays(disabledDays) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.disabledDays = disabledDays instanceof Array ? disabledDays : [];\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the disabled days of the week.\r\n */\n\n }, {\n key: \"getDisabledWeekDays\",\n value: function getDisabledWeekDays() {\n return this.options.disabledWeekDays;\n }\n /**\r\n * Sets the disabled days of the week.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param disabledWeekDays The disabled days of the week to set.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDisabledWeekDays\",\n value: function setDisabledWeekDays(disabledWeekDays) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.disabledWeekDays = disabledWeekDays instanceof Array ? disabledWeekDays : [];\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the hidden days of the week.\r\n */\n\n }, {\n key: \"getHiddenWeekDays\",\n value: function getHiddenWeekDays() {\n return this.options.hiddenWeekDays;\n }\n /**\r\n * Sets the hidden days of the week.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param hiddenWeekDays The hidden days of the week to set.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setHiddenWeekDays\",\n value: function setHiddenWeekDays(hiddenWeekDays) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.hiddenWeekDays = hiddenWeekDays instanceof Array ? hiddenWeekDays : [];\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the beginning and the end of each range should be displayed as rounded cells.\r\n */\n\n }, {\n key: \"getRoundRangeLimits\",\n value: function getRoundRangeLimits() {\n return this.options.roundRangeLimits;\n }\n /**\r\n * Sets a value indicating whether the beginning and the end of each range should be displayed as rounded cells.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param roundRangeLimits Indicates whether the beginning and the end of each range should be displayed as rounded cells. \r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setRoundRangeLimits\",\n value: function setRoundRangeLimits(roundRangeLimits) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.roundRangeLimits = roundRangeLimits;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets a value indicating whether the default context menu must be displayed when right clicking on a day.\r\n */\n\n }, {\n key: \"getEnableContextMenu\",\n value: function getEnableContextMenu() {\n return this.options.enableContextMenu;\n }\n /**\r\n * Sets a value indicating whether the default context menu must be displayed when right clicking on a day. \r\n * \r\n * This method causes a refresh of the calendar.\r\n * \r\n * @param enableContextMenu Indicates whether the default context menu must be displayed when right clicking on a day.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setEnableContextMenu\",\n value: function setEnableContextMenu(enableContextMenu) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.enableContextMenu = enableContextMenu;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the context menu items.\r\n */\n\n }, {\n key: \"getContextMenuItems\",\n value: function getContextMenuItems() {\n return this.options.contextMenuItems;\n }\n /**\r\n * Sets new context menu items.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param contextMenuItems The new context menu items.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setContextMenuItems\",\n value: function setContextMenuItems(contextMenuItems) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.contextMenuItems = contextMenuItems instanceof Array ? contextMenuItems : [];\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the custom day renderer.\r\n */\n\n }, {\n key: \"getCustomDayRenderer\",\n value: function getCustomDayRenderer() {\n return this.options.customDayRenderer;\n }\n /**\r\n * Sets the custom day renderer.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param handler The function used to render the days. This function is called during render for each day.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setCustomDayRenderer\",\n value: function setCustomDayRenderer(customDayRenderer) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.customDayRenderer = typeof customDayRenderer === \"function\" ? customDayRenderer : null;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the custom data source renderer.\r\n */\n\n }, {\n key: \"getCustomDataSourceRenderer\",\n value: function getCustomDataSourceRenderer() {\n return this.options.customDataSourceRenderer;\n }\n /**\r\n * Sets the custom data source renderer. Works only with the style set to \"custom\".\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param handler The function used to render the data source. This function is called during render for each day containing at least one event.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setCustomDataSourceRenderer\",\n value: function setCustomDataSourceRenderer(customDataSourceRenderer) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.customDataSourceRenderer = typeof customDataSourceRenderer === \"function\" ? customDataSourceRenderer : null;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the language used for calendar rendering.\r\n */\n\n }, {\n key: \"getLanguage\",\n value: function getLanguage() {\n return this.options.language;\n }\n /**\r\n * Sets the language used for calendar rendering.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param language The language to use for calendar redering.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setLanguage\",\n value: function setLanguage(language) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (language != null && Calendar.locales[language] != null) {\n this.options.language = language;\n\n if (!preventRendering) {\n this.render();\n }\n }\n }\n /**\r\n * Gets the current data source.\r\n */\n\n }, {\n key: \"getDataSource\",\n value: function getDataSource() {\n return this.options.dataSource;\n }\n /**\r\n * Sets a new data source.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param dataSource The new data source.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setDataSource\",\n value: function setDataSource(dataSource) {\n var _this7 = this;\n\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.dataSource = dataSource instanceof Array || typeof dataSource === \"function\" ? dataSource : [];\n\n if (typeof this.options.dataSource === \"function\") {\n this.render(true);\n\n this._fetchDataSource(function (dataSource) {\n _this7._dataSource = dataSource;\n\n _this7._initializeDatasourceColors();\n\n _this7.render(false);\n });\n } else {\n this._dataSource = this.options.dataSource;\n\n this._initializeDatasourceColors();\n\n if (!preventRendering) {\n this.render();\n }\n }\n }\n /**\r\n * Gets the starting day of the week.\r\n */\n\n }, {\n key: \"getWeekStart\",\n value: function getWeekStart() {\n return this.options.weekStart ? this.options.weekStart : Calendar.locales[this.options.language].weekStart;\n }\n /**\r\n * Sets the starting day of the week.\r\n * \r\n * This method causes a refresh of the calendar.\r\n *\r\n * @param weekStart The starting day of the week. This option overrides the parameter define in the language file.\r\n * @param preventRedering Indicates whether the rendering should be prevented after the property update.\r\n */\n\n }, {\n key: \"setWeekStart\",\n value: function setWeekStart(weekStart) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.options.weekStart = !isNaN(parseInt(weekStart)) ? parseInt(weekStart) : null;\n\n if (!preventRendering) {\n this.render();\n }\n }\n /**\r\n * Gets the loading template.\r\n */\n\n }, {\n key: \"getLoadingTemplate\",\n value: function getLoadingTemplate() {\n return this.options.loadingTemplate;\n }\n /**\r\n * Sets the loading template.\r\n *\r\n * @param loadingTemplate The loading template.\r\n */\n\n }, {\n key: \"setLoadingTemplate\",\n value: function setLoadingTemplate(loadingTemplate) {\n this.options.loadingTemplate = typeof loadingTemplate === \"string\" || loadingTemplate instanceof HTMLElement ? loadingTemplate : null;\n }\n /**\r\n * \r\n * Add a new element to the data source.\r\n * \r\n * This method causes a refresh of the calendar.\r\n * \r\n * @param element The element to add.\r\n * @param preventRendering Indicates whether the calendar shouldn't be refreshed once the event added.\r\n */\n\n }, {\n key: \"addEvent\",\n value: function addEvent(evt) {\n var preventRendering = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n this._dataSource.push(evt);\n\n if (!preventRendering) {\n this.render();\n }\n }\n }]);\n\n return Calendar;\n }();\n\n _exports[\"default\"] = Calendar;\n\n _defineProperty(Calendar, \"locales\", {\n en: {\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n daysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n daysMin: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n monthsShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n weekShort: 'W',\n weekStart: 0\n }\n });\n\n _defineProperty(Calendar, \"colors\", ['#2C8FC9', '#9CB703', '#F5BB00', '#FF4A32', '#B56CE2', '#45A597']);\n\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") {\n window.Calendar = Calendar;\n document.addEventListener(\"DOMContentLoaded\", function () {\n document.querySelectorAll('[data-provide=\"calendar\"]').forEach(function (element) {\n return new Calendar(element);\n });\n });\n }\n});\n});\n\nvar JsCalendar = unwrapExports(jsYearCalendar);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"/* =========================================================\\n * JS year calendar v0.1.0\\n * Repo: https://github.com/year-calendar/js-year-calendar\\n * =========================================================\\n * Created by Paul David-Sivelle\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n * ========================================================= */\\n/* Main */\\n.calendar {\\n padding: 4px;\\n -webkit-border-radius: 4px;\\n -moz-border-radius: 4px;\\n border-radius: 4px;\\n direction: ltr;\\n overflow-x: hidden;\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n /* Header */\\n /* Months */\\n /* Loading */\\n}\\n.calendar:after {\\n /* Apply the right height on the calendar div, even if the months elements are floating */\\n clear: both;\\n content: \\\"\\\";\\n display: block;\\n}\\n.calendar .calendar-rtl {\\n direction: rtl;\\n}\\n.calendar .calendar-rtl .calendar-rtl table tr td span {\\n float: right;\\n}\\n.calendar table {\\n margin: auto;\\n border-spacing: 0;\\n}\\n.calendar table td,\\n.calendar table th {\\n text-align: center;\\n width: 20px;\\n height: 20px;\\n border: none;\\n padding: 4px 5px;\\n font-size: 12px;\\n}\\n.calendar .calendar-header {\\n width: 100%;\\n margin-bottom: 20px;\\n border: 1px solid #ddd;\\n}\\n.calendar .calendar-header table {\\n width: 100%;\\n}\\n.calendar .calendar-header table th {\\n font-size: 22px;\\n padding: 5px 10px;\\n cursor: pointer;\\n}\\n.calendar .calendar-header table th:hover {\\n background: #eeeeee;\\n}\\n.calendar .calendar-header table th.disabled,\\n.calendar .calendar-header table th.disabled:hover {\\n background: none;\\n cursor: default;\\n color: white;\\n}\\n.calendar .calendar-header table th.prev,\\n.calendar .calendar-header table th.next {\\n width: 20px;\\n}\\n.calendar .calendar-header .year-title {\\n font-weight: bold;\\n text-align: center;\\n height: 20px;\\n width: auto;\\n}\\n.calendar .calendar-header .year-neighbor {\\n opacity: 0.4;\\n}\\n@media (max-width: 991px) {\\n .calendar .calendar-header .year-neighbor {\\n display: none;\\n }\\n}\\n.calendar .calendar-header .year-neighbor2 {\\n opacity: 0.2;\\n}\\n@media (max-width: 767px) {\\n .calendar .calendar-header .year-neighbor2 {\\n display: none;\\n }\\n}\\n.calendar .months-container {\\n width: 100%;\\n display: none;\\n}\\n.calendar .months-container .month-container {\\n float: left;\\n text-align: center;\\n height: 200px;\\n padding: 0;\\n}\\n.calendar .months-container .month-container.month-2 {\\n width: 16.66666667%;\\n}\\n.calendar .months-container .month-container.month-3 {\\n width: 25%;\\n}\\n.calendar .months-container .month-container.month-4 {\\n width: 33.33333333%;\\n}\\n.calendar .months-container .month-container.month-6 {\\n width: 50%;\\n}\\n.calendar .months-container .month-container.month-12 {\\n width: 100%;\\n}\\n.calendar table.month th.month-title {\\n font-size: 16px;\\n padding-bottom: 5px;\\n}\\n.calendar table.month th.day-header {\\n font-size: 14px;\\n}\\n.calendar table.month tr td,\\n.calendar table.month tr th {\\n padding: 0;\\n}\\n.calendar table.month tr td.hidden,\\n.calendar table.month tr th.hidden {\\n display: none;\\n}\\n.calendar table.month td.week-number {\\n cursor: default;\\n font-weight: bold;\\n border-right: 1px solid #eee;\\n padding: 5px;\\n}\\n.calendar table.month td.day.round-left {\\n -webkit-border-radius: 8px 0 0 8px;\\n -moz-border-radius: 8px 0 0 8px;\\n border-radius: 8px 0 0 8px;\\n}\\n.calendar table.month td.day.round-right {\\n webkit-border-radius: 0 8px 8px 0 ;\\n -moz-border-radius: 0 8px 8px 0;\\n border-radius: 0 8px 8px 0;\\n}\\n.calendar table.month td.day .day-content {\\n -webkit-border-radius: 4px;\\n -moz-border-radius: 4px;\\n border-radius: 4px;\\n padding: 5px 6px;\\n}\\n.calendar table.month td.old,\\n.calendar table.month td.new,\\n.calendar table.month td.old:hover,\\n.calendar table.month td.new:hover {\\n background: none;\\n cursor: default;\\n}\\n.calendar table.month td.disabled,\\n.calendar table.month td.disabled:hover {\\n color: #dddddd;\\n}\\n.calendar table.month td.disabled .day-content:hover,\\n.calendar table.month td.disabled:hover .day-content:hover {\\n background: none;\\n cursor: default;\\n}\\n.calendar table.month td.range .day-content {\\n background: rgba(0, 0, 0, 0.2);\\n -webkit-border-radius: 0;\\n -moz-border-radius: 0;\\n border-radius: 0;\\n}\\n.calendar table.month td.range.range-start .day-content {\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px;\\n}\\n.calendar table.month td.range.range-end .day-content {\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n.calendar .calendar-loading-container {\\n position: relative;\\n text-align: center;\\n min-height: 200px;\\n}\\n.calendar .calendar-loading-container .calendar-loading {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n}\\n.calendar .calendar-spinner {\\n margin: 20px auto;\\n width: 80px;\\n text-align: center;\\n}\\n.calendar .calendar-spinner > div {\\n width: 16px;\\n height: 16px;\\n margin: 5px;\\n background-color: #333;\\n border-radius: 100%;\\n display: inline-block;\\n -webkit-animation: sk-bouncedelay 1s infinite ease-in-out both;\\n animation: sk-bouncedelay 1s infinite ease-in-out both;\\n}\\n.calendar .calendar-spinner > div.bounce1 {\\n -webkit-animation-delay: -0.32s;\\n animation-delay: -0.32s;\\n}\\n.calendar .calendar-spinner > div.bounce2 {\\n -webkit-animation-delay: -0.16s;\\n animation-delay: -0.16s;\\n}\\n/* Context menu */\\n.calendar-context-menu,\\n.calendar-context-menu .submenu {\\n border: 1px solid #ddd;\\n background-color: white;\\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);\\n position: absolute;\\n display: none;\\n}\\n.calendar-context-menu .item {\\n position: relative;\\n}\\n.calendar-context-menu .item .content {\\n padding: 5px 10px;\\n cursor: pointer;\\n display: table;\\n width: 100%;\\n white-space: nowrap;\\n}\\n.calendar-context-menu .item .content:hover {\\n background: #eee;\\n}\\n.calendar-context-menu .item .content .text {\\n display: table-cell;\\n}\\n.calendar-context-menu .item .content .arrow {\\n display: table-cell;\\n padding-left: 10px;\\n text-align: right;\\n}\\n.calendar-context-menu .item .submenu {\\n top: -1px;\\n /* Compensate for the border */\\n}\\n.calendar-context-menu .item .submenu:not(.open-left) {\\n left: 100%;\\n}\\n.calendar-context-menu .item .submenu.open-left {\\n right: 100%;\\n}\\n.calendar-context-menu .item:hover > .submenu {\\n display: block;\\n}\\n.table-striped .calendar table.month tr td,\\n.table-striped .calendar table.month tr th {\\n background-color: transparent;\\n}\\ntable.month td.day .day-content:hover {\\n background: rgba(0, 0, 0, 0.2);\\n cursor: pointer;\\n}\\n@-webkit-keyframes sk-bouncedelay {\\n 0%,\\n 80%,\\n 100% {\\n -webkit-transform: scale(0);\\n }\\n 40% {\\n -webkit-transform: scale(1);\\n }\\n}\\n@keyframes sk-bouncedelay {\\n 0%,\\n 80%,\\n 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0);\\n }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n}\\n\";\nstyleInject(css_248z);\n\n//\nvar script = {\n name: 'Calendar',\n props: ['allowOverlap', 'alwaysHalfDay', 'contextMenuItems', 'customDayRenderer', 'customDataSourceRenderer', 'dataSource', 'disabledDays', 'disabledWeekDays', 'displayDisabledDataSource', 'displayHeader', 'displayWeekNumber', 'enableContextMenu', 'enableRangeSelection', 'hiddenWeekDays', 'language', 'loadingTemplate', 'maxDate', 'minDate', 'roundRangeLimits', 'renderStyle', 'weekStart', 'year'],\n data: function data() {\n return {\n shouldRender: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.calendar = new JsCalendar(this.$el, {\n // Options\n allowOverlap: this.allowOverlap,\n alwaysHalfDay: this.alwaysHalfDay,\n contextMenuItems: this.contextMenuItems,\n customDayRenderer: this.customDayRenderer,\n customDataSourceRenderer: this.customDataSourceRenderer,\n dataSource: this.dataSource,\n disabledDays: this.disabledDays,\n disabledWeekDays: this.disabledWeekDays,\n displayDisabledDataSource: this.displayDisabledDataSource,\n displayHeader: this.displayHeader,\n displayWeekNumber: this.displayWeekNumber,\n enableContextMenu: this.enableContextMenu,\n enableRangeSelection: this.enableRangeSelection,\n hiddenWeekDays: this.hiddenWeekDays,\n language: this.language,\n loadingTemplate: this.loadingTemplate,\n maxDate: this.maxDate,\n minDate: this.minDate,\n roundRangeLimits: this.roundRangeLimits,\n style: this.renderStyle,\n weekStart: this.weekStart,\n startYear: this.year,\n // Events\n clickDay: function clickDay(e) {\n return _this.$emit('click-day', e);\n },\n dayContextMenu: function dayContextMenu(e) {\n return _this.$emit('day-context-menu', e);\n },\n mouseOnDay: function mouseOnDay(e) {\n return _this.$emit('mouse-on-day', e);\n },\n mouseOutDay: function mouseOutDay(e) {\n return _this.$emit('mouse-out-day', e);\n },\n renderEnd: function renderEnd(e) {\n return _this.$emit('render-end', e);\n },\n selectRange: function selectRange(e) {\n return _this.$emit('select-range', e);\n },\n yearChanged: function yearChanged(e) {\n return _this.$emit('year-changed', e);\n }\n });\n },\n computed: {\n allProps: function allProps() {\n return \"\\n \".concat(this.allowOverlap, \"\\n \").concat(this.alwaysHalfDay, \"\\n \").concat(this.contextMenuItems, \"\\n \").concat(this.customDayRenderer, \"\\n \").concat(this.customDataSourceRenderer, \"\\n \").concat(this.dataSource, \"\\n \").concat(this.disabledDays, \"\\n \").concat(this.disabledWeekDays, \"\\n \").concat(this.displayDisabledDataSource, \"\\n \").concat(this.displayHeader, \"\\n \").concat(this.displayWeekNumber, \"\\n \").concat(this.enableContextMenu, \"\\n \").concat(this.enableRangeSelection, \"\\n \").concat(this.hiddenWeekDays, \"\\n \").concat(this.language, \"\\n \").concat(this.loadingTemplate, \"\\n \").concat(this.maxDate, \"\\n \").concat(this.minDate, \"\\n \").concat(this.roundRangeLimits, \"\\n \").concat(this.renderStyle, \"\\n \").concat(this.weekStart, \"\\n \").concat(this.year, \"\\n \");\n }\n },\n watch: {\n allowOverlap: function allowOverlap(val) {\n this.calendar.setAllowOverlap(val);\n },\n alwaysHalfDay: function alwaysHalfDay(val) {\n this.calendar.setAlwaysHalfDay(val, true);\n this.shouldRender = true;\n },\n contextMenuItems: function contextMenuItems(val) {\n this.calendar.setContextMenuItems(val, true);\n this.shouldRender = true;\n },\n customDayRenderer: function customDayRenderer(val) {\n this.calendar.setCustomDayRenderer(val, true);\n this.shouldRender = true;\n },\n customDataSourceRenderer: function customDataSourceRenderer(val) {\n this.calendar.setCustomDataSourceRenderer(val, true);\n this.shouldRender = true;\n },\n dataSource: function dataSource(val) {\n this.calendar.setDataSource(val, true);\n this.shouldRender = true;\n },\n disabledDays: function disabledDays(val) {\n this.calendar.setDisabledDays(val, true);\n this.shouldRender = true;\n },\n disabledWeekDays: function disabledWeekDays(val) {\n this.calendar.setDisabledWeekDays(val, true);\n this.shouldRender = true;\n },\n displayDisabledDataSource: function displayDisabledDataSource(val) {\n this.calendar.setDisplayDisabledDataSource(val, true);\n this.shouldRender = true;\n },\n displayHeader: function displayHeader(val) {\n this.calendar.setDisplayHeader(val, true);\n this.shouldRender = true;\n },\n displayWeekNumber: function displayWeekNumber(val) {\n this.calendar.setDisplayWeekNumber(val, true);\n this.shouldRender = true;\n },\n enableContextMenu: function enableContextMenu(val) {\n this.calendar.setEnableContextMenu(val, true);\n this.shouldRender = true;\n },\n enableRangeSelection: function enableRangeSelection(val) {\n this.calendar.setEnableRangeSelection(val, true);\n this.shouldRender = true;\n },\n hiddenWeekDays: function hiddenWeekDays(val) {\n this.calendar.setHiddenWeekDays(val, true);\n this.shouldRender = true;\n },\n language: function language(val) {\n this.calendar.setLanguage(val, true);\n this.shouldRender = true;\n },\n loadingTemplate: function loadingTemplate(val) {\n this.calendar.setLoadingTemplate(val, true);\n },\n maxDate: function maxDate(val) {\n this.calendar.setMaxDate(val, true);\n this.shouldRender = true;\n },\n minDate: function minDate(val) {\n this.calendar.setMinDate(val, true);\n this.shouldRender = true;\n },\n roundRangeLimits: function roundRangeLimits(val) {\n this.calendar.setRoundRangeLimits(val, true);\n this.shouldRender = true;\n },\n renderStyle: function renderStyle(val) {\n this.calendar.setStyle(val, true);\n this.shouldRender = true;\n },\n weekStart: function weekStart(val) {\n this.calendar.setWeekStart(val, true);\n this.shouldRender = true;\n },\n year: function year(val) {\n this.calendar.setYear(val);\n },\n allProps: function allProps(val) {\n if (this.shouldRender) {\n this.calendar.render();\n this.shouldRender = false;\n }\n }\n },\n locales: JsCalendar.locales // Map the \"locales\" property to the js-year-calendar \"locales\" property, in order to make the locale files compatible\n\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function () {\n style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\");\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\nvar vYearCalendar = normalizeComponent_1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, undefined, undefined);\n\nmodule.exports = vYearCalendar;\n","'use strict';\n\nvar _ = require('../../lib/helper');\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindSelectionHandler(element, i) {\n function getRangeNode() {\n var selection = window.getSelection ? window.getSelection() :\n document.getSelection ? document.getSelection() : '';\n if (selection.toString().length === 0) {\n return null;\n } else {\n return selection.getRangeAt(0).commonAncestorContainer;\n }\n }\n\n var scrollingLoop = null;\n var scrollDiff = {top: 0, left: 0};\n function startScrolling() {\n if (!scrollingLoop) {\n scrollingLoop = setInterval(function () {\n if (!instances.get(element)) {\n clearInterval(scrollingLoop);\n return;\n }\n\n updateScroll(element, 'top', element.scrollTop + scrollDiff.top);\n updateScroll(element, 'left', element.scrollLeft + scrollDiff.left);\n updateGeometry(element);\n }, 50); // every .1 sec\n }\n }\n function stopScrolling() {\n if (scrollingLoop) {\n clearInterval(scrollingLoop);\n scrollingLoop = null;\n }\n _.stopScrolling(element);\n }\n\n var isSelected = false;\n i.event.bind(i.ownerDocument, 'selectionchange', function () {\n if (element.contains(getRangeNode())) {\n isSelected = true;\n } else {\n isSelected = false;\n stopScrolling();\n }\n });\n i.event.bind(window, 'mouseup', function () {\n if (isSelected) {\n isSelected = false;\n stopScrolling();\n }\n });\n i.event.bind(window, 'keyup', function () {\n if (isSelected) {\n isSelected = false;\n stopScrolling();\n }\n });\n\n i.event.bind(window, 'mousemove', function (e) {\n if (isSelected) {\n var mousePosition = {x: e.pageX, y: e.pageY};\n var containerGeometry = {\n left: element.offsetLeft,\n right: element.offsetLeft + element.offsetWidth,\n top: element.offsetTop,\n bottom: element.offsetTop + element.offsetHeight\n };\n\n if (mousePosition.x < containerGeometry.left + 3) {\n scrollDiff.left = -5;\n _.startScrolling(element, 'x');\n } else if (mousePosition.x > containerGeometry.right - 3) {\n scrollDiff.left = 5;\n _.startScrolling(element, 'x');\n } else {\n scrollDiff.left = 0;\n }\n\n if (mousePosition.y < containerGeometry.top + 3) {\n if (containerGeometry.top + 3 - mousePosition.y < 5) {\n scrollDiff.top = -5;\n } else {\n scrollDiff.top = -20;\n }\n _.startScrolling(element, 'y');\n } else if (mousePosition.y > containerGeometry.bottom - 3) {\n if (mousePosition.y - containerGeometry.bottom + 3 < 5) {\n scrollDiff.top = 5;\n } else {\n scrollDiff.top = 20;\n }\n _.startScrolling(element, 'y');\n } else {\n scrollDiff.top = 0;\n }\n\n if (scrollDiff.top === 0 && scrollDiff.left === 0) {\n stopScrolling();\n } else {\n startScrolling();\n }\n }\n });\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindSelectionHandler(element, i);\n};\n","'use strict';\n\nvar _ = require('../lib/helper');\nvar cls = require('../lib/class');\nvar instances = require('./instances');\nvar updateGeometry = require('./update-geometry');\n\n// Handlers\nvar handlers = {\n 'click-rail': require('./handler/click-rail'),\n 'drag-scrollbar': require('./handler/drag-scrollbar'),\n 'keyboard': require('./handler/keyboard'),\n 'wheel': require('./handler/mouse-wheel'),\n 'touch': require('./handler/touch'),\n 'selection': require('./handler/selection')\n};\nvar nativeScrollHandler = require('./handler/native-scroll');\n\nmodule.exports = function (element, userSettings) {\n userSettings = typeof userSettings === 'object' ? userSettings : {};\n\n cls.add(element, 'ps');\n\n // Create a plugin instance.\n var i = instances.add(element);\n\n i.settings = _.extend(i.settings, userSettings);\n cls.add(element, 'ps--theme_' + i.settings.theme);\n\n i.settings.handlers.forEach(function (handlerName) {\n handlers[handlerName](element);\n });\n\n nativeScrollHandler(element);\n\n updateGeometry(element);\n};\n","'use strict';\n\nmodule.exports = {\n handlers: ['click-rail', 'drag-scrollbar', 'keyboard', 'wheel', 'touch'],\n maxScrollbarLength: null,\n minScrollbarLength: null,\n scrollXMarginOffset: 0,\n scrollYMarginOffset: 0,\n suppressScrollX: false,\n suppressScrollY: false,\n swipePropagation: true,\n swipeEasing: true,\n useBothWheelAxes: false,\n wheelPropagation: false,\n wheelSpeed: 1,\n theme: 'default'\n};\n","'use strict';\n\nmodule.exports = (function () {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n return function () {\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\n s4() + '-' + s4() + s4() + s4();\n };\n})();\n","'use strict';\n\nvar _ = require('../../lib/helper');\nvar dom = require('../../lib/dom');\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindKeyboardHandler(element, i) {\n var hovered = false;\n i.event.bind(element, 'mouseenter', function () {\n hovered = true;\n });\n i.event.bind(element, 'mouseleave', function () {\n hovered = false;\n });\n\n var shouldPrevent = false;\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n if (deltaX === 0) {\n if (!i.scrollbarYActive) {\n return false;\n }\n if ((scrollTop === 0 && deltaY > 0) || (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)) {\n return !i.settings.wheelPropagation;\n }\n }\n\n var scrollLeft = element.scrollLeft;\n if (deltaY === 0) {\n if (!i.scrollbarXActive) {\n return false;\n }\n if ((scrollLeft === 0 && deltaX < 0) || (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)) {\n return !i.settings.wheelPropagation;\n }\n }\n return true;\n }\n\n i.event.bind(i.ownerDocument, 'keydown', function (e) {\n if ((e.isDefaultPrevented && e.isDefaultPrevented()) || e.defaultPrevented) {\n return;\n }\n\n var focused = dom.matches(i.scrollbarX, ':focus') ||\n dom.matches(i.scrollbarY, ':focus');\n\n if (!hovered && !focused) {\n return;\n }\n\n var activeElement = document.activeElement ? document.activeElement : i.ownerDocument.activeElement;\n if (activeElement) {\n if (activeElement.tagName === 'IFRAME') {\n activeElement = activeElement.contentDocument.activeElement;\n } else {\n // go deeper if element is a webcomponent\n while (activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n }\n if (_.isEditable(activeElement)) {\n return;\n }\n }\n\n var deltaX = 0;\n var deltaY = 0;\n\n switch (e.which) {\n case 37: // left\n if (e.metaKey) {\n deltaX = -i.contentWidth;\n } else if (e.altKey) {\n deltaX = -i.containerWidth;\n } else {\n deltaX = -30;\n }\n break;\n case 38: // up\n if (e.metaKey) {\n deltaY = i.contentHeight;\n } else if (e.altKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = 30;\n }\n break;\n case 39: // right\n if (e.metaKey) {\n deltaX = i.contentWidth;\n } else if (e.altKey) {\n deltaX = i.containerWidth;\n } else {\n deltaX = 30;\n }\n break;\n case 40: // down\n if (e.metaKey) {\n deltaY = -i.contentHeight;\n } else if (e.altKey) {\n deltaY = -i.containerHeight;\n } else {\n deltaY = -30;\n }\n break;\n case 33: // page up\n deltaY = 90;\n break;\n case 32: // space bar\n if (e.shiftKey) {\n deltaY = 90;\n } else {\n deltaY = -90;\n }\n break;\n case 34: // page down\n deltaY = -90;\n break;\n case 35: // end\n if (e.ctrlKey) {\n deltaY = -i.contentHeight;\n } else {\n deltaY = -i.containerHeight;\n }\n break;\n case 36: // home\n if (e.ctrlKey) {\n deltaY = element.scrollTop;\n } else {\n deltaY = i.containerHeight;\n }\n break;\n default:\n return;\n }\n\n updateScroll(element, 'top', element.scrollTop - deltaY);\n updateScroll(element, 'left', element.scrollLeft + deltaX);\n updateGeometry(element);\n\n shouldPrevent = shouldPreventDefault(deltaX, deltaY);\n if (shouldPrevent) {\n e.preventDefault();\n }\n });\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindKeyboardHandler(element, i);\n};\n","'use strict';\n\nmodule.exports = require('./src/js/main');\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n\nvar _ = require('../lib/helper');\nvar cls = require('../lib/class');\nvar dom = require('../lib/dom');\nvar instances = require('./instances');\nvar updateScroll = require('./update-scroll');\n\nfunction getThumbSize(i, thumbSize) {\n if (i.settings.minScrollbarLength) {\n thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);\n }\n if (i.settings.maxScrollbarLength) {\n thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);\n }\n return thumbSize;\n}\n\nfunction updateCss(element, i) {\n var xRailOffset = {width: i.railXWidth};\n if (i.isRtl) {\n xRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + i.containerWidth - i.contentWidth;\n } else {\n xRailOffset.left = element.scrollLeft;\n }\n if (i.isScrollbarXUsingBottom) {\n xRailOffset.bottom = i.scrollbarXBottom - element.scrollTop;\n } else {\n xRailOffset.top = i.scrollbarXTop + element.scrollTop;\n }\n dom.css(i.scrollbarXRail, xRailOffset);\n\n var yRailOffset = {top: element.scrollTop, height: i.railYHeight};\n if (i.isScrollbarYUsingRight) {\n if (i.isRtl) {\n yRailOffset.right = i.contentWidth - (i.negativeScrollAdjustment + element.scrollLeft) - i.scrollbarYRight - i.scrollbarYOuterWidth;\n } else {\n yRailOffset.right = i.scrollbarYRight - element.scrollLeft;\n }\n } else {\n if (i.isRtl) {\n yRailOffset.left = i.negativeScrollAdjustment + element.scrollLeft + i.containerWidth * 2 - i.contentWidth - i.scrollbarYLeft - i.scrollbarYOuterWidth;\n } else {\n yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;\n }\n }\n dom.css(i.scrollbarYRail, yRailOffset);\n\n dom.css(i.scrollbarX, {left: i.scrollbarXLeft, width: i.scrollbarXWidth - i.railBorderXWidth});\n dom.css(i.scrollbarY, {top: i.scrollbarYTop, height: i.scrollbarYHeight - i.railBorderYWidth});\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n\n i.containerWidth = element.clientWidth;\n i.containerHeight = element.clientHeight;\n i.contentWidth = element.scrollWidth;\n i.contentHeight = element.scrollHeight;\n\n var existingRails;\n if (!element.contains(i.scrollbarXRail)) {\n existingRails = dom.queryChildren(element, '.ps__scrollbar-x-rail');\n if (existingRails.length > 0) {\n existingRails.forEach(function (rail) {\n dom.remove(rail);\n });\n }\n dom.appendTo(i.scrollbarXRail, element);\n }\n if (!element.contains(i.scrollbarYRail)) {\n existingRails = dom.queryChildren(element, '.ps__scrollbar-y-rail');\n if (existingRails.length > 0) {\n existingRails.forEach(function (rail) {\n dom.remove(rail);\n });\n }\n dom.appendTo(i.scrollbarYRail, element);\n }\n\n if (!i.settings.suppressScrollX && i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth) {\n i.scrollbarXActive = true;\n i.railXWidth = i.containerWidth - i.railXMarginWidth;\n i.railXRatio = i.containerWidth / i.railXWidth;\n i.scrollbarXWidth = getThumbSize(i, _.toInt(i.railXWidth * i.containerWidth / i.contentWidth));\n i.scrollbarXLeft = _.toInt((i.negativeScrollAdjustment + element.scrollLeft) * (i.railXWidth - i.scrollbarXWidth) / (i.contentWidth - i.containerWidth));\n } else {\n i.scrollbarXActive = false;\n }\n\n if (!i.settings.suppressScrollY && i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight) {\n i.scrollbarYActive = true;\n i.railYHeight = i.containerHeight - i.railYMarginHeight;\n i.railYRatio = i.containerHeight / i.railYHeight;\n i.scrollbarYHeight = getThumbSize(i, _.toInt(i.railYHeight * i.containerHeight / i.contentHeight));\n i.scrollbarYTop = _.toInt(element.scrollTop * (i.railYHeight - i.scrollbarYHeight) / (i.contentHeight - i.containerHeight));\n } else {\n i.scrollbarYActive = false;\n }\n\n if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {\n i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;\n }\n if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {\n i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;\n }\n\n updateCss(element, i);\n\n if (i.scrollbarXActive) {\n cls.add(element, 'ps--active-x');\n } else {\n cls.remove(element, 'ps--active-x');\n i.scrollbarXWidth = 0;\n i.scrollbarXLeft = 0;\n updateScroll(element, 'left', 0);\n }\n if (i.scrollbarYActive) {\n cls.add(element, 'ps--active-y');\n } else {\n cls.remove(element, 'ps--active-y');\n i.scrollbarYHeight = 0;\n i.scrollbarYTop = 0;\n updateScroll(element, 'top', 0);\n }\n};\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\n\nvar _ = require('../lib/helper');\nvar cls = require('../lib/class');\nvar defaultSettings = require('./default-setting');\nvar dom = require('../lib/dom');\nvar EventManager = require('../lib/event-manager');\nvar guid = require('../lib/guid');\n\nvar instances = {};\n\nfunction Instance(element) {\n var i = this;\n\n i.settings = _.clone(defaultSettings);\n i.containerWidth = null;\n i.containerHeight = null;\n i.contentWidth = null;\n i.contentHeight = null;\n\n i.isRtl = dom.css(element, 'direction') === \"rtl\";\n i.isNegativeScroll = (function () {\n var originalScrollLeft = element.scrollLeft;\n var result = null;\n element.scrollLeft = -1;\n result = element.scrollLeft < 0;\n element.scrollLeft = originalScrollLeft;\n return result;\n })();\n i.negativeScrollAdjustment = i.isNegativeScroll ? element.scrollWidth - element.clientWidth : 0;\n i.event = new EventManager();\n i.ownerDocument = element.ownerDocument || document;\n\n function focus() {\n cls.add(element, 'ps--focus');\n }\n\n function blur() {\n cls.remove(element, 'ps--focus');\n }\n\n i.scrollbarXRail = dom.appendTo(dom.e('div', 'ps__scrollbar-x-rail'), element);\n i.scrollbarX = dom.appendTo(dom.e('div', 'ps__scrollbar-x'), i.scrollbarXRail);\n i.scrollbarX.setAttribute('tabindex', 0);\n i.event.bind(i.scrollbarX, 'focus', focus);\n i.event.bind(i.scrollbarX, 'blur', blur);\n i.scrollbarXActive = null;\n i.scrollbarXWidth = null;\n i.scrollbarXLeft = null;\n i.scrollbarXBottom = _.toInt(dom.css(i.scrollbarXRail, 'bottom'));\n i.isScrollbarXUsingBottom = i.scrollbarXBottom === i.scrollbarXBottom; // !isNaN\n i.scrollbarXTop = i.isScrollbarXUsingBottom ? null : _.toInt(dom.css(i.scrollbarXRail, 'top'));\n i.railBorderXWidth = _.toInt(dom.css(i.scrollbarXRail, 'borderLeftWidth')) + _.toInt(dom.css(i.scrollbarXRail, 'borderRightWidth'));\n // Set rail to display:block to calculate margins\n dom.css(i.scrollbarXRail, 'display', 'block');\n i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + _.toInt(dom.css(i.scrollbarXRail, 'marginRight'));\n dom.css(i.scrollbarXRail, 'display', '');\n i.railXWidth = null;\n i.railXRatio = null;\n\n i.scrollbarYRail = dom.appendTo(dom.e('div', 'ps__scrollbar-y-rail'), element);\n i.scrollbarY = dom.appendTo(dom.e('div', 'ps__scrollbar-y'), i.scrollbarYRail);\n i.scrollbarY.setAttribute('tabindex', 0);\n i.event.bind(i.scrollbarY, 'focus', focus);\n i.event.bind(i.scrollbarY, 'blur', blur);\n i.scrollbarYActive = null;\n i.scrollbarYHeight = null;\n i.scrollbarYTop = null;\n i.scrollbarYRight = _.toInt(dom.css(i.scrollbarYRail, 'right'));\n i.isScrollbarYUsingRight = i.scrollbarYRight === i.scrollbarYRight; // !isNaN\n i.scrollbarYLeft = i.isScrollbarYUsingRight ? null : _.toInt(dom.css(i.scrollbarYRail, 'left'));\n i.scrollbarYOuterWidth = i.isRtl ? _.outerWidth(i.scrollbarY) : null;\n i.railBorderYWidth = _.toInt(dom.css(i.scrollbarYRail, 'borderTopWidth')) + _.toInt(dom.css(i.scrollbarYRail, 'borderBottomWidth'));\n dom.css(i.scrollbarYRail, 'display', 'block');\n i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom'));\n dom.css(i.scrollbarYRail, 'display', '');\n i.railYHeight = null;\n i.railYRatio = null;\n}\n\nfunction getId(element) {\n return element.getAttribute('data-ps-id');\n}\n\nfunction setId(element, id) {\n element.setAttribute('data-ps-id', id);\n}\n\nfunction removeId(element) {\n element.removeAttribute('data-ps-id');\n}\n\nexports.add = function (element) {\n var newId = guid();\n setId(element, newId);\n instances[newId] = new Instance(element);\n return instances[newId];\n};\n\nexports.remove = function (element) {\n delete instances[getId(element)];\n removeId(element);\n};\n\nexports.get = function (element) {\n return instances[getId(element)];\n};\n","'use strict';\n\nvar _ = require('../lib/helper');\nvar dom = require('../lib/dom');\nvar instances = require('./instances');\nvar updateGeometry = require('./update-geometry');\nvar updateScroll = require('./update-scroll');\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n\n if (!i) {\n return;\n }\n\n // Recalcuate negative scrollLeft adjustment\n i.negativeScrollAdjustment = i.isNegativeScroll ? element.scrollWidth - element.clientWidth : 0;\n\n // Recalculate rail margins\n dom.css(i.scrollbarXRail, 'display', 'block');\n dom.css(i.scrollbarYRail, 'display', 'block');\n i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + _.toInt(dom.css(i.scrollbarXRail, 'marginRight'));\n i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom'));\n\n // Hide scrollbars not to affect scrollWidth and scrollHeight\n dom.css(i.scrollbarXRail, 'display', 'none');\n dom.css(i.scrollbarYRail, 'display', 'none');\n\n updateGeometry(element);\n\n // Update top/left scroll to trigger events\n updateScroll(element, 'top', element.scrollTop);\n updateScroll(element, 'left', element.scrollLeft);\n\n dom.css(i.scrollbarXRail, 'display', '');\n dom.css(i.scrollbarYRail, 'display', '');\n};\n","'use strict';\n\nvar cls = require('./class');\nvar dom = require('./dom');\n\nvar toInt = exports.toInt = function (x) {\n return parseInt(x, 10) || 0;\n};\n\nvar clone = exports.clone = function (obj) {\n if (!obj) {\n return null;\n } else if (Array.isArray(obj)) {\n return obj.map(clone);\n } else if (typeof obj === 'object') {\n var result = {};\n for (var key in obj) {\n result[key] = clone(obj[key]);\n }\n return result;\n } else {\n return obj;\n }\n};\n\nexports.extend = function (original, source) {\n var result = clone(original);\n for (var key in source) {\n result[key] = clone(source[key]);\n }\n return result;\n};\n\nexports.isEditable = function (el) {\n return dom.matches(el, \"input,[contenteditable]\") ||\n dom.matches(el, \"select,[contenteditable]\") ||\n dom.matches(el, \"textarea,[contenteditable]\") ||\n dom.matches(el, \"button,[contenteditable]\");\n};\n\nexports.removePsClasses = function (element) {\n var clsList = cls.list(element);\n for (var i = 0; i < clsList.length; i++) {\n var className = clsList[i];\n if (className.indexOf('ps-') === 0) {\n cls.remove(element, className);\n }\n }\n};\n\nexports.outerWidth = function (element) {\n return toInt(dom.css(element, 'width')) +\n toInt(dom.css(element, 'paddingLeft')) +\n toInt(dom.css(element, 'paddingRight')) +\n toInt(dom.css(element, 'borderLeftWidth')) +\n toInt(dom.css(element, 'borderRightWidth'));\n};\n\nfunction toggleScrolling(handler) {\n return function (element, axis) {\n handler(element, 'ps--in-scrolling');\n if (typeof axis !== 'undefined') {\n handler(element, 'ps--' + axis);\n } else {\n handler(element, 'ps--x');\n handler(element, 'ps--y');\n }\n };\n}\n\nexports.startScrolling = toggleScrolling(cls.add);\n\nexports.stopScrolling = toggleScrolling(cls.remove);\n\nexports.env = {\n isWebKit: typeof document !== 'undefined' && 'WebkitAppearance' in document.documentElement.style,\n supportsTouch: typeof window !== 'undefined' && (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch),\n supportsIePointer: typeof window !== 'undefined' && window.navigator.msMaxTouchPoints !== null\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"pref\":\"content\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col d-flex justify-content-start\"},[_c('router-link',{staticClass:\"btn btn-info btn-icon btn-round btn-lg\",attrs:{\"to\":{ name: 'eCampaignsList'}}},[_c('i',{staticClass:\"fa fa-arrow-left\"})]),_c('div',{staticClass:\"view-title ml-2\"},[_c('p',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.header'))+\" \")])])],1)]),_c('card',[_c('h4',{staticClass:\"card-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.settingsCard.header')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-8\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-name\"}},[_c('label',{},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.settingsCard.form.name.label')))]),_c('fg-input',{attrs:{\"placeholder\":_vm.$t('entityViews.newCamp.settingsCard.form.name.placeholder'),\"error\":_vm.modelValidations.campaignName.msg},model:{value:(_vm.campaignName),callback:function ($$v) {_vm.campaignName=$$v},expression:\"campaignName\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-4\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-training\"}},[_c('label',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.settingsCard.form.mode.label'))+\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.newCamp.settingsCard.form.mode.tooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])],1),_c('el-select',{staticClass:\"select-primary\",model:{value:(_vm.anonymousMode),callback:function ($$v) {_vm.anonymousMode=$$v},expression:\"anonymousMode\"}},_vm._l((_vm.anynomousModes),function(am){return _c('el-option',{key:am.value,staticClass:\"select-primary\",attrs:{\"value\":am.value,\"label\":am.label}})}),1)],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-template\"}},[_c('label',{},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.settingsCard.form.cbg.label')))]),_c('fg-input',{attrs:{\"error\":_vm.modelValidations.selectedCbGroupHID.msg}},[_c('el-select',{staticClass:\"select-primary\",attrs:{\"filterable\":\"\",\"disabled\":_vm.cbgSelectorLoading,\"placeholder\":_vm.cbgSelectorPlaceholder},model:{value:(_vm.selectedCbGroupHID),callback:function ($$v) {_vm.selectedCbGroupHID=$$v},expression:\"selectedCbGroupHID\"}},_vm._l((_vm.campaignBlockGroups),function(ct){return _c('el-option',{key:ct.hid,staticClass:\"select-primary\",attrs:{\"value\":ct.hid,\"label\":ct.selectLabel}},[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(ct.name)+\" \")]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(ct.cultureCode))])])}),1)],1)],1)]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-group\"}},[_c('label',{},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.settingsCard.form.hvg.label')))]),_c('fg-input',{attrs:{\"error\":_vm.modelValidations.selectedHvGroupHID.msg}},[_c('el-select',{staticClass:\"select-primary\",attrs:{\"filterable\":\"\",\"disabled\":_vm.hvgSelectorLoading,\"placeholder\":_vm.hvgSelectorPlaceholder},model:{value:(_vm.selectedHvGroupHID),callback:function ($$v) {_vm.selectedHvGroupHID=$$v},expression:\"selectedHvGroupHID\"}},_vm._l((_vm.hvGroups),function(hvg){return _c('el-option',{key:hvg.hid,staticClass:\"select-primary\",attrs:{\"value\":hvg.hid,\"label\":_vm.translateGroupName(hvg.name, hvg.isSystem)}},[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(_vm.translateGroupName(hvg.name, hvg.isSystem)))]),_c('div',{staticStyle:{\"float\":\"right\"}},[(!hvg.checkedDomains)?_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.newCamp.settingsCard.form.hvg.domainNotValid'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(hvg.hasRunningCampaign)?_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.newCamp.settingsCard.form.hvg.runningCamp'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa-solid fa-chart-gantt text-success\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()],1)])}),1)],1)],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('p-checkbox',{model:{value:(_vm.isQA),callback:function ($$v) {_vm.isQA=$$v},expression:\"isQA\"}},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.schedulerCard.qaTitle')))])],1)])]),_c('card',{attrs:{\"data-v-step\":\"step-calendar\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.schedulerCard.header'))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.schedulerCard.text')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.modelValidations.campaignScheduler.msg))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.schedulerCard.form.startDate.label')))]),_c('el-date-picker',{attrs:{\"type\":\"date\",\"placeholder\":_vm.$t('entityViews.newCamp.schedulerCard.form.startDate.placeholder'),\"picker-options\":_vm.datePickerOptions,\"default-value\":_vm.defaultStartDate,\"readonly\":\"\"},model:{value:(_vm.startDateUtc),callback:function ($$v) {_vm.startDateUtc=$$v},expression:\"startDateUtc\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{},[_vm._v(_vm._s(_vm.$t('entityViews.newCamp.schedulerCard.form.endDate.label')))]),_c('el-date-picker',{attrs:{\"type\":\"date\",\"placeholder\":_vm.$t('entityViews.newCamp.schedulerCard.form.endDate.placeholder'),\"picker-options\":_vm.datePickerOptions,\"readonly\":\"\"},model:{value:(_vm.endDateUtc),callback:function ($$v) {_vm.endDateUtc=$$v},expression:\"endDateUtc\"}})],1)])]),_c('div',{ref:\"campScheduler\",staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col-12 col-md-10 ml-md-auto mr-md-auto\"},[_c('campaign-scheduler',{attrs:{\"minDate\":_vm.minStartDateCalendar,\"maxDate\":_vm.maxStartDateCalendar,\"newCampaign\":_vm.newCampaignForScheduler,\"campaignSchedulerData\":_vm.campaignSchedulerData},on:{\"onClickDay\":_vm.onClickDayHandler}})],1)]),(_vm.modelValidations.summary.msg.length > 0)?_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col text-center\"},[_c('span',{staticClass:\"validation-summary\"},[_vm._v(\" \"+_vm._s(_vm.modelValidations.summary.msg)+\" \")])])]):_vm._e(),_c('div',{staticClass:\"row mt-3 justify-content-center\"},[_c('div',{staticClass:\"col-12 col-md-auto text-center text-md-right\"},[(_vm.isQA)?_c('p-button',{staticClass:\"w-100\",attrs:{\"type\":\"warning\"},on:{\"click\":_vm.createCampaign}},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.btnQaCreate'))+\" \")]):_c('p-button',{staticClass:\"w-100\",attrs:{\"type\":\"success\"},on:{\"click\":_vm.createCampaign}},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.btnCreate'))+\" \")])],1),_c('div',{staticClass:\"col-12 col-md-auto\"},[_c('router-link',{staticClass:\"btn btn-info w-100\",attrs:{\"to\":{ name: 'eCampaignsList'}}},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.newCamp.btnCancel'))+\" \")])],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"campaignScheduler\",staticClass:\"campaigns-scheduler\"},[_c('Calendar',{ref:\"calendarInstance\",attrs:{\"renderStyle\":\"custom\",\"data-source\":_vm.calendarDataSource,\"customDataSourceRenderer\":_vm.customDataRenderer,\"roundRangeLimits\":\"true\",\"minDate\":_vm.minDate,\"maxDate\":_vm.maxDate,\"weekStart\":\"1\",\"customDayRenderer\":_vm.customDayRenderer,\"language\":\"en\"},on:{\"click-day\":_vm.onClickDayHandler}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"campaigns-scheduler\" ref=\"campaignScheduler\">\r\n <Calendar renderStyle=\"custom\" ref=\"calendarInstance\"\r\n :data-source=\"calendarDataSource\"\r\n :customDataSourceRenderer=\"customDataRenderer\"\r\n roundRangeLimits=\"true\"\r\n :minDate=\"minDate\"\r\n :maxDate=\"maxDate\"\r\n weekStart=\"1\"\r\n @click-day=\"onClickDayHandler\"\r\n :customDayRenderer=\"customDayRenderer\"\r\n language=\"en\">\r\n </Calendar>\r\n </div>\r\n</template>\r\n<script>\r\n import { CampaignTools } from 'src/lpLibrary.js'\r\n import Calendar from 'v-year-calendar';\r\n\r\n export default {\r\n name: 'campaign-scheduler',\r\n components: {\r\n Calendar\r\n },\r\n props: {\r\n newCampaign: {\r\n id: -1,\r\n name: \"\",\r\n startDate: null,\r\n endDate: null,\r\n color: '',\r\n },\r\n minDate: Date,\r\n maxDate: Date,\r\n campaignSchedulerData: Object,\r\n },\r\n data() {\r\n return {\r\n calendarDataSource: [],\r\n }\r\n },\r\n computed: {\r\n today: () => new Date(Date.now()),\r\n },\r\n methods: {\r\n initComponent: function () {\r\n },\r\n customDataRenderer(elem, date, events) {\r\n //console.log(\"data\", elem, date, events); \r\n if (events.length > 0) {\r\n const parent = elem.parentElement;\r\n let pHeight = 28;\r\n let iHeight = Math.max(Math.round(pHeight / events.length), 1);\r\n let boxShadow = \"\";\r\n let sumHeights = 0;\r\n let cNames = \"\";\r\n let newCampIsPlaced = false;\r\n for (var i = 0; i < events.length; i++) {\r\n if (boxShadow != \"\") {\r\n boxShadow += \",\";\r\n }\r\n if (i == (events.length - 1))\r\n iHeight = pHeight - sumHeights;\r\n boxShadow += `inset 0 -${(i + 1) * iHeight}px 0 0 ${events[i].color}`;\r\n sumHeights += iHeight;\r\n if (events[i].id == -1) {\r\n newCampIsPlaced = true;\r\n continue;\r\n }\r\n cNames = `<span>${events[i].name}</span>` + cNames;\r\n }\r\n if (newCampIsPlaced)\r\n cNames = `<span>${this.$t('campSheduler.nCamp') }: ${this.newCampaign.name}</span>` + cNames;\r\n if (events.some(c=>c.isFull == true)) {\r\n cNames = cNames + `<span>${this.$t('campSheduler.campLimitEx')}</span>`;\r\n }\r\n\r\n //console.log(cNames);\r\n let dayTooltip = \r\n`Info\r\n<div class='text-left d-flex flex-column'>\r\n ${cNames}\r\n</div>\r\n`;\r\n parent.style.boxShadow = boxShadow;\r\n parent.insertAdjacentHTML('beforeend', `<span class='info-box'>${dayTooltip}</span>`);\r\n }\r\n if (this.newCampaign.startDate != undefined) {\r\n if (date.getFullYear() === this.newCampaign.startDate.getFullYear() && date.getMonth() === this.newCampaign.startDate.getMonth() && date.getDate() === this.newCampaign.startDate.getDate()) {\r\n elem.classList.add(\"c-startday\");\r\n }\r\n }\r\n },\r\n onClickDayHandler(dayObj) {\r\n this.$emit('onClickDay', dayObj.date);\r\n },\r\n customDayRenderer(elem, date) {\r\n if (this.today.getFullYear() === date.getFullYear() && this.today.getMonth() === date.getMonth() && this.today.getDate() === date.getDate()) {\r\n elem.classList.add(\"today\");\r\n }\r\n },\r\n },\r\n watch: {\r\n newCampaign: {\r\n deep: true,\r\n handler(val) {\r\n if (val.startDate == null || val.startDate == undefined) return;\r\n if (val.endDate == null || val.endDate == undefined) return;\r\n\r\n let idx = this.calendarDataSource.findIndex(c => c.id == val.id);\r\n if (idx == -1) {\r\n this.calendarDataSource.push(val);\r\n }\r\n else {\r\n this.calendarDataSource[idx] = val;\r\n this.$refs.calendarInstance.calendar.render();\r\n }\r\n }\r\n \r\n },\r\n campaignSchedulerData: {\r\n deep: true,\r\n handler(val) {\r\n let vueThis = this;\r\n val.campaignCountDays.forEach(function (item, index) {\r\n let color = '#fbc658'; // ncastecne\r\n let isFull = false;\r\n if (item.count >= val.maxConcurrentCampaigns) {\r\n color = \"#ef8157\"; // plno\r\n isFull = true;\r\n }\r\n vueThis.calendarDataSource.push({\r\n id: new Date(item.date).getTime(),\r\n name: vueThis.$t('campSheduler.concurrCamps') + item.count,\r\n color: color,\r\n startDate: new Date(item.date),\r\n endDate: new Date(item.date),\r\n countCampaigns: item.count,\r\n isFull: isFull,\r\n });\r\n });\r\n this.$refs.calendarInstance.calendar.render();\r\n }\r\n },\r\n },\r\n }\r\n</script>\r\n<style>\r\n\r\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignScheduler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignScheduler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CampaignScheduler.vue?vue&type=template&id=701a10bc\"\nimport script from \"./CampaignScheduler.vue?vue&type=script&lang=js\"\nexport * from \"./CampaignScheduler.vue?vue&type=script&lang=js\"\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","<template>\r\n <div pref=\"content\">\r\n <div class=\"row\">\r\n <div class=\"col d-flex justify-content-start\">\r\n <router-link class=\"btn btn-info btn-icon btn-round btn-lg\" :to=\"{ name: 'eCampaignsList'}\">\r\n <i class=\"fa fa-arrow-left \"></i>\r\n </router-link>\r\n <div class=\"view-title ml-2\">\r\n <p class=\"title\">\r\n {{$t('entityViews.newCamp.header')}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <card>\r\n <h4 slot=\"header\" class=\"card-title\">{{$t('entityViews.newCamp.settingsCard.header')}}</h4>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-8\">\r\n <div class=\"form-group\" data-v-step=\"step-name\">\r\n <label class=\"\">{{$t('entityViews.newCamp.settingsCard.form.name.label')}}</label>\r\n <fg-input :placeholder=\"$t('entityViews.newCamp.settingsCard.form.name.placeholder')\" v-model=\"campaignName\" :error=\"modelValidations.campaignName.msg\"></fg-input>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-4\">\r\n <div class=\"form-group\" data-v-step=\"step-training\">\r\n <label>\r\n {{$t('entityViews.newCamp.settingsCard.form.mode.label')}}\r\n <el-tooltip :content=\"$t('entityViews.newCamp.settingsCard.form.mode.tooltip')\" :open-delay=\"300\" placement=\"top\">\r\n <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </label>\r\n <el-select class=\"select-primary\"\r\n v-model=\"anonymousMode\">\r\n <el-option v-for=\"am in anynomousModes\"\r\n class=\"select-primary\"\r\n :value=\"am.value\"\r\n :label=\"am.label\"\r\n :key=\"am.value\">\r\n </el-option>\r\n </el-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"form-group\" data-v-step=\"step-template\">\r\n <label class=\"\">{{$t('entityViews.newCamp.settingsCard.form.cbg.label')}}</label>\r\n <fg-input :error=\"modelValidations.selectedCbGroupHID.msg\">\r\n <el-select class=\"select-primary\" filterable :disabled=\"cbgSelectorLoading\"\r\n :placeholder=\"cbgSelectorPlaceholder\"\r\n v-model=\"selectedCbGroupHID\">\r\n <el-option v-for=\"ct in campaignBlockGroups\"\r\n class=\"select-primary\"\r\n :value=\"ct.hid\"\r\n :label=\"ct.selectLabel\"\r\n :key=\"ct.hid\">\r\n <span style=\"float: left\">{{ ct.name }} </span>\r\n <span style=\"float: right\">{{ct.cultureCode}}</span>\r\n </el-option>\r\n </el-select>\r\n </fg-input>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"form-group\" data-v-step=\"step-group\">\r\n <label class=\"\">{{$t('entityViews.newCamp.settingsCard.form.hvg.label')}}</label>\r\n <fg-input :error=\"modelValidations.selectedHvGroupHID.msg\">\r\n <el-select class=\"select-primary\" filterable :disabled=\"hvgSelectorLoading\"\r\n :placeholder=\"hvgSelectorPlaceholder\"\r\n v-model=\"selectedHvGroupHID\">\r\n <el-option v-for=\"hvg in hvGroups\"\r\n class=\"select-primary\"\r\n :value=\"hvg.hid\"\r\n :label=\"translateGroupName(hvg.name, hvg.isSystem)\"\r\n :key=\"hvg.hid\">\r\n <span style=\"float: left\">{{ translateGroupName(hvg.name, hvg.isSystem) }}</span>\r\n <div style=\"float: right\">\r\n <el-tooltip :content=\"$t('entityViews.newCamp.settingsCard.form.hvg.domainNotValid')\" :open-delay=\"300\" placement=\"top\" v-if=\"!hvg.checkedDomains\">\r\n <i class=\"fa fa-ban\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n <el-tooltip :content=\"$t('entityViews.newCamp.settingsCard.form.hvg.runningCamp')\" :open-delay=\"300\" placement=\"top\" v-if=\"hvg.hasRunningCampaign\">\r\n <i class=\"fa-solid fa-chart-gantt text-success\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </div>\r\n </el-option>\r\n </el-select>\r\n </fg-input>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <p-checkbox v-model=\"isQA\">{{$t('entityViews.newCamp.schedulerCard.qaTitle')}}</p-checkbox>\r\n </div>\r\n </div>\r\n\r\n </card>\r\n\r\n <card data-v-step=\"step-calendar\">\r\n <div slot=\"header\">\r\n <h4 class=\"card-title\">\r\n {{$t('entityViews.newCamp.schedulerCard.header')}}\r\n </h4>\r\n <p>{{$t('entityViews.newCamp.schedulerCard.text')}}</p>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <p class=\"text-danger\">{{modelValidations.campaignScheduler.msg}}</p>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"form-group\">\r\n <label class=\"\">{{$t('entityViews.newCamp.schedulerCard.form.startDate.label')}}</label>\r\n <el-date-picker v-model=\"startDateUtc\" type=\"date\" :placeholder=\"$t('entityViews.newCamp.schedulerCard.form.startDate.placeholder')\"\r\n :picker-options=\"datePickerOptions\" :default-value=\"defaultStartDate\" readonly>\r\n </el-date-picker>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"form-group\">\r\n <label class=\"\">{{$t('entityViews.newCamp.schedulerCard.form.endDate.label')}}</label>\r\n <el-date-picker v-model=\"endDateUtc\" type=\"date\" :placeholder=\"$t('entityViews.newCamp.schedulerCard.form.endDate.placeholder')\"\r\n :picker-options=\"datePickerOptions\" readonly>\r\n </el-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" ref=\"campScheduler\">\r\n <div class=\"col-12 col-md-10 ml-md-auto mr-md-auto\">\r\n <campaign-scheduler :minDate=\"minStartDateCalendar\" :maxDate=\"maxStartDateCalendar\"\r\n @onClickDay=\"onClickDayHandler\"\r\n :newCampaign=\"newCampaignForScheduler\"\r\n :campaignSchedulerData=\"campaignSchedulerData\">\r\n </campaign-scheduler>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" v-if=\"modelValidations.summary.msg.length > 0\">\r\n <div class=\"col text-center\">\r\n <span class=\"validation-summary\">\r\n {{modelValidations.summary.msg}}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row mt-3 justify-content-center\">\r\n <div class=\"col-12 col-md-auto text-center text-md-right\">\r\n <p-button type=\"warning\" @click=\"createCampaign\" class=\"w-100\" v-if=\"isQA\">\r\n {{$t('entityViews.newCamp.btnQaCreate')}}\r\n </p-button>\r\n <p-button type=\"success\" @click=\"createCampaign\" class=\"w-100\" v-else>\r\n {{$t('entityViews.newCamp.btnCreate')}}\r\n </p-button>\r\n </div>\r\n <div class=\"col-12 col-md-auto\">\r\n <router-link class=\"btn btn-info w-100\" :to=\"{ name: 'eCampaignsList'}\">\r\n {{$t('entityViews.newCamp.btnCancel')}}\r\n </router-link>\r\n </div>\r\n </div>\r\n </card>\r\n\r\n </div>\r\n</template>\r\n<script>\r\n import { MaturityLevelTools, LazyAITools } from 'src/lpLibrary.js'\r\n import { Collapse, CollapseItem, Card, Checkbox } from 'src/components/UIComponents'\r\n import { Select, DatePicker, Option } from 'element-ui'\r\n import campaignScheduler from 'src/components/UIComponents/CampaignScheduler.vue';\r\n import swal from 'sweetalert2'\r\n\r\n export default {\r\n components: {\r\n [DatePicker.name]: DatePicker,\r\n [Select.name]: Select,\r\n [Option.name]: Option,\r\n CollapseItem,\r\n Collapse,\r\n [Checkbox.name]: Checkbox,\r\n [campaignScheduler.name]: campaignScheduler,\r\n Card\r\n },\r\n data() {\r\n return {\r\n entityHID: null,\r\n countCampsPerDay: [],\r\n selectedCbGroup : null,\r\n selectedCbGroupHID: null,\r\n selectedHvGroup: null,\r\n selectedHvGroupHID: null,\r\n startDateUtc: null,\r\n endDateUtc: null,\r\n anonymousMode: false,\r\n campaignBlockGroups: [],\r\n hvGroups: [],\r\n datePickerOptions: {\r\n disabledDate(time) {\r\n return vm.disabledDateDatePicker(time);\r\n },\r\n shortcuts: [{\r\n text: 'Today',\r\n onClick(picker) {\r\n picker.$emit('pick', new Date())\r\n }\r\n },\r\n ]\r\n },\r\n campaignName: null,\r\n modelValidations: {\r\n campaignName: {\r\n msg:'',\r\n },\r\n selectedCbGroupHID: {\r\n msg: '',\r\n },\r\n selectedHvGroupHID: {\r\n msg: '',\r\n },\r\n startDateUtc: {\r\n msg: '',\r\n },\r\n campaignScheduler: {\r\n msg: '',\r\n },\r\n summary: {\r\n msg:'',\r\n },\r\n },\r\n newCampaignForScheduler: {\r\n id: -1,\r\n name: \"\",\r\n startDate: null,\r\n endDate: null,\r\n color: \"#e3e3e3\", // planovana\r\n },\r\n campaignSchedulerData: {},\r\n urlParams: {\r\n campBlocksHID: null,\r\n groupHID: null,\r\n },\r\n cbgSelectorLoading: true,\r\n hvgSelectorLoading: true, \r\n isQA: false,\r\n }\r\n },\r\n methods: {\r\n initComponent: function () {\r\n this.loadCampBlockGroups();\r\n this.loadHvGroups();\r\n this.loadCampaignSchedulerData();\r\n },\r\n createCampaign: function () {\r\n if (this.validate()) {\r\n let result = this.checkConcurrentCampaigns();\r\n if (!result) {\r\n this.campLimitErrorDialog();\r\n return;\r\n }\r\n\r\n var cModel = {\r\n campaignName: this.campaignName.trim(),\r\n hvGroupHID: this.selectedHvGroup.hid,\r\n campaignBlockGroupHID: this.selectedCbGroup.hid,\r\n startDateUtc: new Date(Date.UTC(this.startDateUtc.getFullYear(), this.startDateUtc.getMonth(), this.startDateUtc.getDate())),\r\n endDateUtc: new Date(Date.UTC(this.endDateUtc.getFullYear(), this.endDateUtc.getMonth(), this.endDateUtc.getDate())),\r\n sendingMode: this.selectedSendMode,\r\n anonymousMode: this.anonymousMode,\r\n isQA: this.isQA,\r\n };\r\n swal.fire(this.$root.config.getSweetAlertCfg_Waiting);\r\n let vueThis = this;\r\n this.axios.post(this.$root.config.entity.campaign.createCampaignUrl(this.entityHID), cModel)\r\n .then(response => {\r\n swal.close();\r\n vueThis.$router.push({ name: 'eCampaignsList' });\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('entityViews.newCamp.alert.success'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n swal.close();\r\n if (error.response.status == 400) {\r\n // 100503, 500003, 500505, 500503:\r\n let respMsg = error.response.data;\r\n swal.fire({\r\n title: vueThis.$t('entityViews.newCamp.alert.failed'),\r\n text: vueThis.$t('apiErrorCode.' + respMsg.code + '.msg', { name: cModel.campaignName, hvsHvgQALimit: vueThis.$root.config.maxHvsInHVGForQACampain } ),\r\n icon: vueThis.$t('apiErrorCode.' + respMsg.code + '.icon'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n }\r\n },\r\n loadCampBlockGroups() {\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n this.axios.post(this.$root.config.entity.campBlockGroup.getCampaignBlockGroupsUrl(this.entityHID), null)\r\n .then(response => {\r\n this.campaignBlockGroups = response.data;\r\n this.campaignBlockGroups.forEach(function (item) {\r\n item.selectLabel = `${item.name} (${item.cultureCode})`;\r\n });\r\n if (this.urlParams.campBlocksHID) {\r\n if (this.campaignBlockGroups.some(c => c.hid == this.urlParams.campBlocksHID)) {\r\n this.selectedCbGroupHID = this.urlParams.campBlocksHID;\r\n }\r\n }\r\n this.cbgSelectorLoading = false; \r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n this.cbgSelectorLoading = false;\r\n });\r\n },\r\n setEndDate() {\r\n if (this.selectedCbGroup != null && this.startDateUtc != null) {\r\n this.endDateUtc = new Date(this.startDateUtc);\r\n this.endDateUtc.setDate(this.startDateUtc.getDate() + this.selectedCbGroup.sending + this.selectedCbGroup.waiting);\r\n }\r\n },\r\n disabledDateDatePicker(time) {\r\n //let tDate = new Date(time.getFullYear(), time.getMonth(), time.getDate());\r\n //let faDate = new Date(this.firstAvailableDate.getFullYear(), this.firstAvailableDate.getMonth(), this.firstAvailableDate.getDate());\r\n //let nowDate = new Date(Date.now());\r\n //let laDate = new Date(nowDate.getFullYear() + this.$root.config.startDateCampaignRange, nowDate.getMonth(), nowDate.getDate());\r\n //let disableByStandartRange = tDate < faDate || tDate > laDate\r\n \r\n //if (!disableByStandartRange) {\r\n // let tDateUtc = new Date(Date.UTC(tDate.getFullYear(), tDate.getMonth(), tDate.getDate()));\r\n // let strtDateUtc = tDateUtc.toISOString().split('.')[0] + \"Z\";\r\n // //console.log(tDateUtc, strtDateUtc, this.countCampDays[0].date);\r\n // let cdItem = this.countCampDays.find(c => c.date == strtDateUtc);\r\n // if (cdItem != undefined) {\r\n // if (cdItem.count >= 3) return true;\r\n // }\r\n //}\r\n //return disableByStandartRange\r\n return false;\r\n },\r\n loadHvGroups() {\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n this.axios.post(this.$root.config.entity.hvGroup.getHvGroupsUrl(this.entityHID), null)\r\n .then(response => {\r\n vueThis.hvGroups = response.data;\r\n if (vueThis.urlParams.groupHID) {\r\n if (vueThis.hvGroups.some(c => c.hid == vueThis.urlParams.groupHID)) {\r\n vueThis.selectedHvGroupHID = vueThis.urlParams.groupHID;\r\n }\r\n }\r\n vueThis.hvgSelectorLoading = false;\r\n \r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n vueThis.hvgSelectorLoading = false;\r\n });\r\n },\r\n validate: function () {\r\n var result = true;\r\n this.clearValidation();\r\n if (this.campaignName == null) {\r\n this.modelValidations.campaignName.msg = this.$t('entityViews.newCamp.settingsCard.form.name.errReq');\r\n result = false;\r\n }\r\n else {\r\n if (this.campaignName.trim().length == 0) {\r\n this.modelValidations.campaignName.msg = this.$t('entityViews.newCamp.settingsCard.form.name.errReq');\r\n result = false;\r\n }\r\n if (this.campaignName.trim().length > this.$root.config.maxCampainNameLength) {\r\n this.modelValidations.campaignName.msg = this.$t('entityViews.newCamp.settingsCard.form.name.errMax', [this.$root.config.maxCampainNameLength]);\r\n result = false;\r\n }\r\n }\r\n if (this.selectedCbGroupHID == null) {\r\n this.modelValidations.selectedCbGroupHID.msg = this.$t('entityViews.newCamp.settingsCard.form.cbg.errReq');\r\n result = false;\r\n }\r\n if (this.selectedHvGroupHID == null) {\r\n this.modelValidations.selectedHvGroupHID.msg = this.$t('entityViews.newCamp.settingsCard.form.hvg.errReq');\r\n result = false;\r\n }\r\n else {\r\n let hvg = this.hvGroups.find(e => e.hid == this.selectedHvGroupHID);\r\n if (hvg.countHoaxVictim == 0) {\r\n this.modelValidations.selectedHvGroupHID.msg = this.$t('entityViews.newCamp.settingsCard.form.hvg.errNoHvs');\r\n result = false;\r\n }\r\n else if (!hvg.checkedDomains) {\r\n this.modelValidations.selectedHvGroupHID.msg = this.$t('entityViews.newCamp.settingsCard.form.hvg.errNoValidDomain');\r\n result = false;\r\n }\r\n }\r\n if (this.isQA && this.selectedHvGroup.countHoaxVictim > this.$root.config.maxHvsInHVGForQACampain) { \r\n this.modelValidations.selectedHvGroupHID.msg = this.$t('apiErrorCode.' + 500506 + '.msg', { hvsHvgQALimit: this.$root.config.maxHvsInHVGForQACampain });\r\n result = false;\r\n }\r\n if (!this.readOnlyStartDatePicker && (this.startDateUtc == null || this.startDateUtc.length == 0)) {\r\n this.modelValidations.campaignScheduler.msg = this.$t('entityViews.newCamp.schedulerCard.form.startDate.errReq');\r\n result = false;\r\n }\r\n\r\n\r\n if (result) {\r\n this.modelValidations.summary.msg = \"\";\r\n }\r\n else {\r\n this.modelValidations.summary.msg = this.$t('entityViews.newCamp.errExist');\r\n }\r\n\r\n return result;\r\n },\r\n clearValidation: function() {\r\n this.modelValidations.campaignName.msg = \"\";\r\n this.modelValidations.selectedCbGroupHID.msg = \"\";\r\n this.modelValidations.selectedHvGroupHID.msg = \"\";\r\n this.modelValidations.startDateUtc.msg = \"\";\r\n this.modelValidations.campaignScheduler.msg = \"\";\r\n this.modelValidations.summary.msg = \"\";\r\n },\r\n loadCampaignSchedulerData() {\r\n let vueThis = this;\r\n let loader = this.$loading.show(this.$root.config.getLoadingCfg(this.$refs.campScheduler)); \r\n this.axios.post(this.$root.config.entity.campaign.campaignSchedulerUrl(this.entityHID), null)\r\n .then(response => {\r\n loader.hide();\r\n this.campaignSchedulerData = response.data; \r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n loader.hide();\r\n });\r\n },\r\n onClickDayHandler(date) {\r\n this.startDateUtc = date;\r\n },\r\n checkConcurrentCampaigns() {\r\n this.modelValidations.campaignScheduler.msg = \"\";\r\n let dt = new Date(this.startDateUtc.getTime());\r\n while (dt <= this.endDateUtc) {\r\n //console.log(dt);\r\n let tDateUtc = new Date(Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate()));\r\n let strtDateUtc = tDateUtc.toISOString().split('.')[0] + \"Z\";\r\n let cdItem = this.campaignSchedulerData.campaignCountDays.find(c => c.date == strtDateUtc);\r\n if (cdItem != undefined) {\r\n if (cdItem.count >= this.campaignSchedulerData.maxConcurrentCampaigns) {\r\n this.modelValidations.campaignScheduler.msg = this.$t('entityViews.newCamp.schedulerCard.errCampLimit');\r\n return false;\r\n }\r\n }\r\n dt = new Date(dt.setDate(dt.getDate() + 1));\r\n }\r\n return true\r\n },\r\n updateCampaignForScheduler() {\r\n this.newCampaignForScheduler.startDate = this.startDateUtc;\r\n this.newCampaignForScheduler.endDate = this.endDateUtc;\r\n\r\n let cn = this.campaignName;\r\n if (cn == null || cn.length == 0)\r\n cn = \"\";\r\n this.newCampaignForScheduler.name = cn;\r\n },\r\n campLimitErrorDialog() {\r\n swal.fire({\r\n icon: 'error',\r\n title: this.$t('entityViews.newCamp.campLimitErr'),\r\n text: this.$t('apiErrorCode.500503.msg'),\r\n showConfirmButton: true,\r\n timer: this.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n },\r\n translateGroupName(name, isSystem) {\r\n return MaturityLevelTools.translateGroupName(name, isSystem);\r\n },\r\n },\r\n computed: {\r\n defaultStartDate() {\r\n return this.$moment(this.firstAvailableDate).format('YYYY-MM-DD')\r\n },\r\n anynomousModes() {\r\n return [{ label: this.$t('entityViews.newCamp.modes.withTP'), value: false }, { label: this.$t('entityViews.newCamp.modes.noTP'), value: true}];\r\n },\r\n readOnlyStartDatePicker() {\r\n return !(this.selectedCbGroup != null && this.selectedCbGroup != undefined && this.selectedCbGroup.hid != null && this.selectedCbGroup.hid != undefined);\r\n },\r\n minStartDateCalendar() {\r\n let now = new Date(Date.now());\r\n return new Date(now.setDate(now.getDate() - 1));\r\n },\r\n maxStartDateCalendar() {\r\n let nowDate = new Date(Date.now());\r\n return new Date(nowDate.getFullYear() + this.$root.config.startDateCampaignRange, nowDate.getMonth(), nowDate.getDate());\r\n },\r\n cbgSelectorPlaceholder() {\r\n if (this.cbgSelectorLoading) {\r\n return this.$t('entityViews.newCamp.settingsCard.form.cbg.loading');\r\n }\r\n return this.$t('entityViews.newCamp.settingsCard.form.cbg.placeholder');\r\n },\r\n hvgSelectorPlaceholder() {\r\n if (this.hvgSelectorLoading) {\r\n return this.$t('entityViews.newCamp.settingsCard.form.hvg.loading');\r\n }\r\n return this.$t('entityViews.newCamp.settingsCard.form.hvg.placeholder');\r\n },\r\n },\r\n watch: {\r\n campaignName: function (value) {\r\n this.validate();\r\n this.updateCampaignForScheduler();\r\n },\r\n startDateUtc: function (value) {\r\n this.setEndDate();\r\n this.validate();\r\n this.updateCampaignForScheduler();\r\n this.checkConcurrentCampaigns();\r\n },\r\n selectedCbGroup: function (value) {\r\n this.setEndDate();\r\n this.validate();\r\n this.updateCampaignForScheduler();\r\n },\r\n selectedCbGroupHID: function (value) {\r\n this.selectedCbGroup = this.campaignBlockGroups.find(c => c.hid == value);\r\n this.validate();\r\n },\r\n selectedHvGroupHID: function (value) {\r\n this.selectedHvGroup = this.hvGroups.find(c => c.hid == value);\r\n if (!this.hvgSelectorLoading)\r\n this.validate();\r\n },\r\n $route(to, from) {\r\n if (to !== from) {\r\n //this.entityHID = this.$route.params.ehid;\r\n //this.initComponent();\r\n //this.selectedHvGroupHID = null;\r\n //this.selectedHvGroup = null;\r\n this.$router.push({ name: 'eCampaignsList', params: { ehid: this.$route.params.ehid } })\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initComponent();\r\n },\r\n created() {\r\n this.entityHID = this.$route.params.ehid;\r\n if (this.$route.query.cbhid)\r\n this.urlParams.campBlocksHID = this.$route.query.cbhid;\r\n if (this.$route.query.ghid)\r\n this.urlParams.groupHID = this.$route.query.ghid;\r\n\r\n }\r\n }\r\n</script>\r\n<style scoped>\r\n\r\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCampaign.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCampaign.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewCampaign.vue?vue&type=template&id=8d232038&scoped=true\"\nimport script from \"./NewCampaign.vue?vue&type=script&lang=js\"\nexport * from \"./NewCampaign.vue?vue&type=script&lang=js\"\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 \"8d232038\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar destroy = require('./plugin/destroy');\nvar initialize = require('./plugin/initialize');\nvar update = require('./plugin/update');\n\nmodule.exports = {\n initialize: initialize,\n update: update,\n destroy: destroy\n};\n","'use strict';\n\nvar instances = require('./instances');\n\nvar createDOMEvent = function (name) {\n var event = document.createEvent(\"Event\");\n event.initEvent(name, true, true);\n return event;\n};\n\nmodule.exports = function (element, axis, value) {\n if (typeof element === 'undefined') {\n throw 'You must provide an element to the update-scroll function';\n }\n\n if (typeof axis === 'undefined') {\n throw 'You must provide an axis to the update-scroll function';\n }\n\n if (typeof value === 'undefined') {\n throw 'You must provide a value to the update-scroll function';\n }\n\n if (axis === 'top' && value <= 0) {\n element.scrollTop = value = 0; // don't allow negative scroll\n element.dispatchEvent(createDOMEvent('ps-y-reach-start'));\n }\n\n if (axis === 'left' && value <= 0) {\n element.scrollLeft = value = 0; // don't allow negative scroll\n element.dispatchEvent(createDOMEvent('ps-x-reach-start'));\n }\n\n var i = instances.get(element);\n\n if (axis === 'top' && value >= i.contentHeight - i.containerHeight) {\n // don't allow scroll past container\n value = i.contentHeight - i.containerHeight;\n if (value - element.scrollTop <= 1) {\n // mitigates rounding errors on non-subpixel scroll values\n value = element.scrollTop;\n } else {\n element.scrollTop = value;\n }\n element.dispatchEvent(createDOMEvent('ps-y-reach-end'));\n }\n\n if (axis === 'left' && value >= i.contentWidth - i.containerWidth) {\n // don't allow scroll past container\n value = i.contentWidth - i.containerWidth;\n if (value - element.scrollLeft <= 1) {\n // mitigates rounding errors on non-subpixel scroll values\n value = element.scrollLeft;\n } else {\n element.scrollLeft = value;\n }\n element.dispatchEvent(createDOMEvent('ps-x-reach-end'));\n }\n\n if (i.lastTop === undefined) {\n i.lastTop = element.scrollTop;\n }\n\n if (i.lastLeft === undefined) {\n i.lastLeft = element.scrollLeft;\n }\n\n if (axis === 'top' && value < i.lastTop) {\n element.dispatchEvent(createDOMEvent('ps-scroll-up'));\n }\n\n if (axis === 'top' && value > i.lastTop) {\n element.dispatchEvent(createDOMEvent('ps-scroll-down'));\n }\n\n if (axis === 'left' && value < i.lastLeft) {\n element.dispatchEvent(createDOMEvent('ps-scroll-left'));\n }\n\n if (axis === 'left' && value > i.lastLeft) {\n element.dispatchEvent(createDOMEvent('ps-scroll-right'));\n }\n\n if (axis === 'top' && value !== i.lastTop) {\n element.scrollTop = i.lastTop = value;\n element.dispatchEvent(createDOMEvent('ps-scroll-y'));\n }\n\n if (axis === 'left' && value !== i.lastLeft) {\n element.scrollLeft = i.lastLeft = value;\n element.dispatchEvent(createDOMEvent('ps-scroll-x'));\n }\n\n};\n","'use strict';\n\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindMouseWheelHandler(element, i) {\n var shouldPrevent = false;\n\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n if (deltaX === 0) {\n if (!i.scrollbarYActive) {\n return false;\n }\n if ((scrollTop === 0 && deltaY > 0) || (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)) {\n return !i.settings.wheelPropagation;\n }\n }\n\n var scrollLeft = element.scrollLeft;\n if (deltaY === 0) {\n if (!i.scrollbarXActive) {\n return false;\n }\n if ((scrollLeft === 0 && deltaX < 0) || (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)) {\n return !i.settings.wheelPropagation;\n }\n }\n return true;\n }\n\n function getDeltaFromEvent(e) {\n var deltaX = e.deltaX;\n var deltaY = -1 * e.deltaY;\n\n if (typeof deltaX === \"undefined\" || typeof deltaY === \"undefined\") {\n // OS X Safari\n deltaX = -1 * e.wheelDeltaX / 6;\n deltaY = e.wheelDeltaY / 6;\n }\n\n if (e.deltaMode && e.deltaMode === 1) {\n // Firefox in deltaMode 1: Line scrolling\n deltaX *= 10;\n deltaY *= 10;\n }\n\n if (deltaX !== deltaX && deltaY !== deltaY/* NaN checks */) {\n // IE in some mouse drivers\n deltaX = 0;\n deltaY = e.wheelDelta;\n }\n\n if (e.shiftKey) {\n // reverse axis with shift key\n return [-deltaY, -deltaX];\n }\n return [deltaX, deltaY];\n }\n\n function shouldBeConsumedByChild(deltaX, deltaY) {\n var child = element.querySelector('textarea:hover, select[multiple]:hover, .ps-child:hover');\n if (child) {\n var style = window.getComputedStyle(child);\n var overflow = [\n style.overflow,\n style.overflowX,\n style.overflowY\n ].join('');\n\n if (!overflow.match(/(scroll|auto)/)) {\n // if not scrollable\n return false;\n }\n\n var maxScrollTop = child.scrollHeight - child.clientHeight;\n if (maxScrollTop > 0) {\n if (!(child.scrollTop === 0 && deltaY > 0) && !(child.scrollTop === maxScrollTop && deltaY < 0)) {\n return true;\n }\n }\n var maxScrollLeft = child.scrollLeft - child.clientWidth;\n if (maxScrollLeft > 0) {\n if (!(child.scrollLeft === 0 && deltaX < 0) && !(child.scrollLeft === maxScrollLeft && deltaX > 0)) {\n return true;\n }\n }\n }\n return false;\n }\n\n function mousewheelHandler(e) {\n var delta = getDeltaFromEvent(e);\n\n var deltaX = delta[0];\n var deltaY = delta[1];\n\n if (shouldBeConsumedByChild(deltaX, deltaY)) {\n return;\n }\n\n shouldPrevent = false;\n if (!i.settings.useBothWheelAxes) {\n // deltaX will only be used for horizontal scrolling and deltaY will\n // only be used for vertical scrolling - this is the default\n updateScroll(element, 'top', element.scrollTop - (deltaY * i.settings.wheelSpeed));\n updateScroll(element, 'left', element.scrollLeft + (deltaX * i.settings.wheelSpeed));\n } else if (i.scrollbarYActive && !i.scrollbarXActive) {\n // only vertical scrollbar is active and useBothWheelAxes option is\n // active, so let's scroll vertical bar using both mouse wheel axes\n if (deltaY) {\n updateScroll(element, 'top', element.scrollTop - (deltaY * i.settings.wheelSpeed));\n } else {\n updateScroll(element, 'top', element.scrollTop + (deltaX * i.settings.wheelSpeed));\n }\n shouldPrevent = true;\n } else if (i.scrollbarXActive && !i.scrollbarYActive) {\n // useBothWheelAxes and only horizontal bar is active, so use both\n // wheel axes for horizontal bar\n if (deltaX) {\n updateScroll(element, 'left', element.scrollLeft + (deltaX * i.settings.wheelSpeed));\n } else {\n updateScroll(element, 'left', element.scrollLeft - (deltaY * i.settings.wheelSpeed));\n }\n shouldPrevent = true;\n }\n\n updateGeometry(element);\n\n shouldPrevent = (shouldPrevent || shouldPreventDefault(deltaX, deltaY));\n if (shouldPrevent) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n if (typeof window.onwheel !== \"undefined\") {\n i.event.bind(element, 'wheel', mousewheelHandler);\n } else if (typeof window.onmousewheel !== \"undefined\") {\n i.event.bind(element, 'mousewheel', mousewheelHandler);\n }\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindMouseWheelHandler(element, i);\n};\n","'use strict';\n\nvar _ = require('../../lib/helper');\nvar dom = require('../../lib/dom');\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindMouseScrollXHandler(element, i) {\n var currentLeft = null;\n var currentPageX = null;\n\n function updateScrollLeft(deltaX) {\n var newLeft = currentLeft + (deltaX * i.railXRatio);\n var maxLeft = Math.max(0, i.scrollbarXRail.getBoundingClientRect().left) + (i.railXRatio * (i.railXWidth - i.scrollbarXWidth));\n\n if (newLeft < 0) {\n i.scrollbarXLeft = 0;\n } else if (newLeft > maxLeft) {\n i.scrollbarXLeft = maxLeft;\n } else {\n i.scrollbarXLeft = newLeft;\n }\n\n var scrollLeft = _.toInt(i.scrollbarXLeft * (i.contentWidth - i.containerWidth) / (i.containerWidth - (i.railXRatio * i.scrollbarXWidth))) - i.negativeScrollAdjustment;\n updateScroll(element, 'left', scrollLeft);\n }\n\n var mouseMoveHandler = function (e) {\n updateScrollLeft(e.pageX - currentPageX);\n updateGeometry(element);\n e.stopPropagation();\n e.preventDefault();\n };\n\n var mouseUpHandler = function () {\n _.stopScrolling(element, 'x');\n i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n };\n\n i.event.bind(i.scrollbarX, 'mousedown', function (e) {\n currentPageX = e.pageX;\n currentLeft = _.toInt(dom.css(i.scrollbarX, 'left')) * i.railXRatio;\n _.startScrolling(element, 'x');\n\n i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n\n e.stopPropagation();\n e.preventDefault();\n });\n}\n\nfunction bindMouseScrollYHandler(element, i) {\n var currentTop = null;\n var currentPageY = null;\n\n function updateScrollTop(deltaY) {\n var newTop = currentTop + (deltaY * i.railYRatio);\n var maxTop = Math.max(0, i.scrollbarYRail.getBoundingClientRect().top) + (i.railYRatio * (i.railYHeight - i.scrollbarYHeight));\n\n if (newTop < 0) {\n i.scrollbarYTop = 0;\n } else if (newTop > maxTop) {\n i.scrollbarYTop = maxTop;\n } else {\n i.scrollbarYTop = newTop;\n }\n\n var scrollTop = _.toInt(i.scrollbarYTop * (i.contentHeight - i.containerHeight) / (i.containerHeight - (i.railYRatio * i.scrollbarYHeight)));\n updateScroll(element, 'top', scrollTop);\n }\n\n var mouseMoveHandler = function (e) {\n updateScrollTop(e.pageY - currentPageY);\n updateGeometry(element);\n e.stopPropagation();\n e.preventDefault();\n };\n\n var mouseUpHandler = function () {\n _.stopScrolling(element, 'y');\n i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n };\n\n i.event.bind(i.scrollbarY, 'mousedown', function (e) {\n currentPageY = e.pageY;\n currentTop = _.toInt(dom.css(i.scrollbarY, 'top')) * i.railYRatio;\n _.startScrolling(element, 'y');\n\n i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n\n e.stopPropagation();\n e.preventDefault();\n });\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindMouseScrollXHandler(element, i);\n bindMouseScrollYHandler(element, i);\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 55);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/button\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.hide,\n expression: \"hide\"\n }\n ],\n class: [\n \"el-color-picker\",\n _vm.colorDisabled ? \"is-disabled\" : \"\",\n _vm.colorSize ? \"el-color-picker--\" + _vm.colorSize : \"\"\n ]\n },\n [\n _vm.colorDisabled\n ? _c(\"div\", { staticClass: \"el-color-picker__mask\" })\n : _vm._e(),\n _c(\n \"div\",\n {\n staticClass: \"el-color-picker__trigger\",\n on: { click: _vm.handleTrigger }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"el-color-picker__color\",\n class: { \"is-alpha\": _vm.showAlpha }\n },\n [\n _c(\"span\", {\n staticClass: \"el-color-picker__color-inner\",\n style: {\n backgroundColor: _vm.displayedColor\n }\n }),\n !_vm.value && !_vm.showPanelColor\n ? _c(\"span\", {\n staticClass: \"el-color-picker__empty el-icon-close\"\n })\n : _vm._e()\n ]\n ),\n _c(\"span\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value || _vm.showPanelColor,\n expression: \"value || showPanelColor\"\n }\n ],\n staticClass: \"el-color-picker__icon el-icon-arrow-down\"\n })\n ]\n ),\n _c(\"picker-dropdown\", {\n ref: \"dropdown\",\n class: [\"el-color-picker__panel\", _vm.popperClass || \"\"],\n attrs: {\n color: _vm.color,\n \"show-alpha\": _vm.showAlpha,\n predefine: _vm.predefine\n },\n on: { pick: _vm.confirmValue, clear: _vm.clearValue },\n model: {\n value: _vm.showPicker,\n callback: function($$v) {\n _vm.showPicker = $$v\n },\n expression: \"showPicker\"\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\n\n// CONCATENATED MODULE: ./packages/color-picker/src/color.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar hsv2hsl = function hsv2hsl(hue, sat, val) {\n return [hue, sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2];\n};\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nvar isOnePointZero = function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n};\n\nvar isPercentage = function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n};\n\n// Take input from [0, n] and return it as [0, 1]\nvar bound01 = function bound01(value, max) {\n if (isOnePointZero(value)) value = '100%';\n\n var processPercent = isPercentage(value);\n value = Math.min(max, Math.max(0, parseFloat(value)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n value = parseInt(value * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(value - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return value % max / parseFloat(max);\n};\n\nvar INT_HEX_MAP = { 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' };\n\nvar toHex = function toHex(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n\n var hexOne = function hexOne(value) {\n value = Math.min(Math.round(value), 255);\n var high = Math.floor(value / 16);\n var low = value % 16;\n return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low);\n };\n\n if (isNaN(r) || isNaN(g) || isNaN(b)) return '';\n\n return '#' + hexOne(r) + hexOne(g) + hexOne(b);\n};\n\nvar HEX_INT_MAP = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15 };\n\nvar parseHexChannel = function parseHexChannel(hex) {\n if (hex.length === 2) {\n return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]);\n }\n\n return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1];\n};\n\nvar hsl2hsv = function hsl2hsv(hue, sat, light) {\n sat = sat / 100;\n light = light / 100;\n var smin = sat;\n var lmin = Math.max(light, 0.01);\n var sv = void 0;\n var v = void 0;\n\n light *= 2;\n sat *= light <= 1 ? light : 2 - light;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (light + sat) / 2;\n sv = light === 0 ? 2 * smin / (lmin + smin) : 2 * sat / (light + sat);\n\n return {\n h: hue,\n s: sv * 100,\n v: v * 100\n };\n};\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nvar rgb2hsv = function rgb2hsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = void 0,\n s = void 0;\n var v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return { h: h * 360, s: s * 100, v: v * 100 };\n};\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nvar hsv2rgb = function hsv2rgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n };\n};\n\nvar Color = function () {\n function Color(options) {\n _classCallCheck(this, Color);\n\n this._hue = 0;\n this._saturation = 100;\n this._value = 100;\n this._alpha = 100;\n\n this.enableAlpha = false;\n this.format = 'hex';\n this.value = '';\n\n options = options || {};\n\n for (var option in options) {\n if (options.hasOwnProperty(option)) {\n this[option] = options[option];\n }\n }\n\n this.doOnChange();\n }\n\n Color.prototype.set = function set(prop, value) {\n if (arguments.length === 1 && (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object') {\n for (var p in prop) {\n if (prop.hasOwnProperty(p)) {\n this.set(p, prop[p]);\n }\n }\n\n return;\n }\n\n this['_' + prop] = value;\n this.doOnChange();\n };\n\n Color.prototype.get = function get(prop) {\n return this['_' + prop];\n };\n\n Color.prototype.toRgb = function toRgb() {\n return hsv2rgb(this._hue, this._saturation, this._value);\n };\n\n Color.prototype.fromString = function fromString(value) {\n var _this = this;\n\n if (!value) {\n this._hue = 0;\n this._saturation = 100;\n this._value = 100;\n\n this.doOnChange();\n return;\n }\n\n var fromHSV = function fromHSV(h, s, v) {\n _this._hue = Math.max(0, Math.min(360, h));\n _this._saturation = Math.max(0, Math.min(100, s));\n _this._value = Math.max(0, Math.min(100, v));\n\n _this.doOnChange();\n };\n\n if (value.indexOf('hsl') !== -1) {\n var parts = value.replace(/hsla|hsl|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (parts.length === 4) {\n this._alpha = Math.floor(parseFloat(parts[3]) * 100);\n } else if (parts.length === 3) {\n this._alpha = 100;\n }\n if (parts.length >= 3) {\n var _hsl2hsv = hsl2hsv(parts[0], parts[1], parts[2]),\n h = _hsl2hsv.h,\n s = _hsl2hsv.s,\n v = _hsl2hsv.v;\n\n fromHSV(h, s, v);\n }\n } else if (value.indexOf('hsv') !== -1) {\n var _parts = value.replace(/hsva|hsv|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (_parts.length === 4) {\n this._alpha = Math.floor(parseFloat(_parts[3]) * 100);\n } else if (_parts.length === 3) {\n this._alpha = 100;\n }\n if (_parts.length >= 3) {\n fromHSV(_parts[0], _parts[1], _parts[2]);\n }\n } else if (value.indexOf('rgb') !== -1) {\n var _parts2 = value.replace(/rgba|rgb|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (_parts2.length === 4) {\n this._alpha = Math.floor(parseFloat(_parts2[3]) * 100);\n } else if (_parts2.length === 3) {\n this._alpha = 100;\n }\n if (_parts2.length >= 3) {\n var _rgb2hsv = rgb2hsv(_parts2[0], _parts2[1], _parts2[2]),\n _h = _rgb2hsv.h,\n _s = _rgb2hsv.s,\n _v = _rgb2hsv.v;\n\n fromHSV(_h, _s, _v);\n }\n } else if (value.indexOf('#') !== -1) {\n var hex = value.replace('#', '').trim();\n if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) return;\n var r = void 0,\n g = void 0,\n b = void 0;\n\n if (hex.length === 3) {\n r = parseHexChannel(hex[0] + hex[0]);\n g = parseHexChannel(hex[1] + hex[1]);\n b = parseHexChannel(hex[2] + hex[2]);\n } else if (hex.length === 6 || hex.length === 8) {\n r = parseHexChannel(hex.substring(0, 2));\n g = parseHexChannel(hex.substring(2, 4));\n b = parseHexChannel(hex.substring(4, 6));\n }\n\n if (hex.length === 8) {\n this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100);\n } else if (hex.length === 3 || hex.length === 6) {\n this._alpha = 100;\n }\n\n var _rgb2hsv2 = rgb2hsv(r, g, b),\n _h2 = _rgb2hsv2.h,\n _s2 = _rgb2hsv2.s,\n _v2 = _rgb2hsv2.v;\n\n fromHSV(_h2, _s2, _v2);\n }\n };\n\n Color.prototype.compare = function compare(color) {\n return Math.abs(color._hue - this._hue) < 2 && Math.abs(color._saturation - this._saturation) < 1 && Math.abs(color._value - this._value) < 1 && Math.abs(color._alpha - this._alpha) < 1;\n };\n\n Color.prototype.doOnChange = function doOnChange() {\n var _hue = this._hue,\n _saturation = this._saturation,\n _value = this._value,\n _alpha = this._alpha,\n format = this.format;\n\n\n if (this.enableAlpha) {\n switch (format) {\n case 'hsl':\n var hsl = hsv2hsl(_hue, _saturation / 100, _value / 100);\n this.value = 'hsla(' + _hue + ', ' + Math.round(hsl[1] * 100) + '%, ' + Math.round(hsl[2] * 100) + '%, ' + _alpha / 100 + ')';\n break;\n case 'hsv':\n this.value = 'hsva(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%, ' + _alpha / 100 + ')';\n break;\n default:\n var _hsv2rgb = hsv2rgb(_hue, _saturation, _value),\n r = _hsv2rgb.r,\n g = _hsv2rgb.g,\n b = _hsv2rgb.b;\n\n this.value = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + _alpha / 100 + ')';\n }\n } else {\n switch (format) {\n case 'hsl':\n var _hsl = hsv2hsl(_hue, _saturation / 100, _value / 100);\n this.value = 'hsl(' + _hue + ', ' + Math.round(_hsl[1] * 100) + '%, ' + Math.round(_hsl[2] * 100) + '%)';\n break;\n case 'hsv':\n this.value = 'hsv(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%)';\n break;\n case 'rgb':\n var _hsv2rgb2 = hsv2rgb(_hue, _saturation, _value),\n _r = _hsv2rgb2.r,\n _g = _hsv2rgb2.g,\n _b = _hsv2rgb2.b;\n\n this.value = 'rgb(' + _r + ', ' + _g + ', ' + _b + ')';\n break;\n default:\n this.value = toHex(hsv2rgb(_hue, _saturation, _value));\n }\n }\n };\n\n return Color;\n}();\n\n/* harmony default export */ var src_color = (Color);\n;\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\nvar picker_dropdownvue_type_template_id_06601625_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n { attrs: { name: \"el-zoom-in-top\" }, on: { \"after-leave\": _vm.doDestroy } },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-color-dropdown\"\n },\n [\n _c(\n \"div\",\n { staticClass: \"el-color-dropdown__main-wrapper\" },\n [\n _c(\"hue-slider\", {\n ref: \"hue\",\n staticStyle: { float: \"right\" },\n attrs: { color: _vm.color, vertical: \"\" }\n }),\n _c(\"sv-panel\", { ref: \"sl\", attrs: { color: _vm.color } })\n ],\n 1\n ),\n _vm.showAlpha\n ? _c(\"alpha-slider\", { ref: \"alpha\", attrs: { color: _vm.color } })\n : _vm._e(),\n _vm.predefine\n ? _c(\"predefine\", {\n attrs: { color: _vm.color, colors: _vm.predefine }\n })\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"el-color-dropdown__btns\" },\n [\n _c(\n \"span\",\n { staticClass: \"el-color-dropdown__value\" },\n [\n _c(\"el-input\", {\n attrs: { \"validate-event\": false, size: \"mini\" },\n on: { blur: _vm.handleConfirm },\n nativeOn: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.handleConfirm($event)\n }\n },\n model: {\n value: _vm.customInput,\n callback: function($$v) {\n _vm.customInput = $$v\n },\n expression: \"customInput\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-button\",\n {\n staticClass: \"el-color-dropdown__link-btn\",\n attrs: { size: \"mini\", type: \"text\" },\n on: {\n click: function($event) {\n _vm.$emit(\"clear\")\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.t(\"el.colorpicker.clear\")) +\n \"\\n \"\n )\n ]\n ),\n _c(\n \"el-button\",\n {\n staticClass: \"el-color-dropdown__btn\",\n attrs: { plain: \"\", size: \"mini\" },\n on: { click: _vm.confirmValue }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.t(\"el.colorpicker.confirm\")) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ]\n )\n}\nvar picker_dropdownvue_type_template_id_06601625_staticRenderFns = []\npicker_dropdownvue_type_template_id_06601625_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\nvar sv_panelvue_type_template_id_d8583596_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-svpanel\",\n style: {\n backgroundColor: _vm.background\n }\n },\n [\n _c(\"div\", { staticClass: \"el-color-svpanel__white\" }),\n _c(\"div\", { staticClass: \"el-color-svpanel__black\" }),\n _c(\n \"div\",\n {\n staticClass: \"el-color-svpanel__cursor\",\n style: {\n top: _vm.cursorTop + \"px\",\n left: _vm.cursorLeft + \"px\"\n }\n },\n [_c(\"div\")]\n )\n ]\n )\n}\nvar sv_panelvue_type_template_id_d8583596_staticRenderFns = []\nsv_panelvue_type_template_id_d8583596_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/color-picker/src/draggable.js\n\nvar isDragging = false;\n\n/* harmony default export */ var draggable = (function (element, options) {\n if (external_vue_default.a.prototype.$isServer) return;\n var moveFn = function moveFn(event) {\n if (options.drag) {\n options.drag(event);\n }\n };\n var upFn = function upFn(event) {\n document.removeEventListener('mousemove', moveFn);\n document.removeEventListener('mouseup', upFn);\n document.onselectstart = null;\n document.ondragstart = null;\n\n isDragging = false;\n\n if (options.end) {\n options.end(event);\n }\n };\n element.addEventListener('mousedown', function (event) {\n if (isDragging) return;\n document.onselectstart = function () {\n return false;\n };\n document.ondragstart = function () {\n return false;\n };\n\n document.addEventListener('mousemove', moveFn);\n document.addEventListener('mouseup', upFn);\n isDragging = true;\n\n if (options.start) {\n options.start(event);\n }\n });\n});\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var sv_panelvue_type_script_lang_js_ = ({\n name: 'el-sl-panel',\n\n props: {\n color: {\n required: true\n }\n },\n\n computed: {\n colorValue: function colorValue() {\n var hue = this.color.get('hue');\n var value = this.color.get('value');\n return { hue: hue, value: value };\n }\n },\n\n watch: {\n colorValue: function colorValue() {\n this.update();\n }\n },\n\n methods: {\n update: function update() {\n var saturation = this.color.get('saturation');\n var value = this.color.get('value');\n\n var el = this.$el;\n var width = el.clientWidth,\n height = el.clientHeight;\n\n\n this.cursorLeft = saturation * width / 100;\n this.cursorTop = (100 - value) * height / 100;\n\n this.background = 'hsl(' + this.color.get('hue') + ', 100%, 50%)';\n },\n handleDrag: function handleDrag(event) {\n var el = this.$el;\n var rect = el.getBoundingClientRect();\n\n var left = event.clientX - rect.left;\n var top = event.clientY - rect.top;\n left = Math.max(0, left);\n left = Math.min(left, rect.width);\n\n top = Math.max(0, top);\n top = Math.min(top, rect.height);\n\n this.cursorLeft = left;\n this.cursorTop = top;\n this.color.set({\n saturation: left / rect.width * 100,\n value: 100 - top / rect.height * 100\n });\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n draggable(this.$el, {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n });\n\n this.update();\n },\n data: function data() {\n return {\n cursorTop: 0,\n cursorLeft: 0,\n background: 'hsl(0, 100%, 50%)'\n };\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_sv_panelvue_type_script_lang_js_ = (sv_panelvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n components_sv_panelvue_type_script_lang_js_,\n sv_panelvue_type_template_id_d8583596_render,\n sv_panelvue_type_template_id_d8583596_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/color-picker/src/components/sv-panel.vue\"\n/* harmony default export */ var sv_panel = (component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\nvar hue_slidervue_type_template_id_5cdc43b1_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-hue-slider\",\n class: { \"is-vertical\": _vm.vertical }\n },\n [\n _c(\"div\", {\n ref: \"bar\",\n staticClass: \"el-color-hue-slider__bar\",\n on: { click: _vm.handleClick }\n }),\n _c(\"div\", {\n ref: \"thumb\",\n staticClass: \"el-color-hue-slider__thumb\",\n style: {\n left: _vm.thumbLeft + \"px\",\n top: _vm.thumbTop + \"px\"\n }\n })\n ]\n )\n}\nvar hue_slidervue_type_template_id_5cdc43b1_staticRenderFns = []\nhue_slidervue_type_template_id_5cdc43b1_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var hue_slidervue_type_script_lang_js_ = ({\n name: 'el-color-hue-slider',\n\n props: {\n color: {\n required: true\n },\n\n vertical: Boolean\n },\n\n data: function data() {\n return {\n thumbLeft: 0,\n thumbTop: 0\n };\n },\n\n\n computed: {\n hueValue: function hueValue() {\n var hue = this.color.get('hue');\n return hue;\n }\n },\n\n watch: {\n hueValue: function hueValue() {\n this.update();\n }\n },\n\n methods: {\n handleClick: function handleClick(event) {\n var thumb = this.$refs.thumb;\n var target = event.target;\n\n if (target !== thumb) {\n this.handleDrag(event);\n }\n },\n handleDrag: function handleDrag(event) {\n var rect = this.$el.getBoundingClientRect();\n var thumb = this.$refs.thumb;\n\n var hue = void 0;\n\n if (!this.vertical) {\n var left = event.clientX - rect.left;\n left = Math.min(left, rect.width - thumb.offsetWidth / 2);\n left = Math.max(thumb.offsetWidth / 2, left);\n\n hue = Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 360);\n } else {\n var top = event.clientY - rect.top;\n top = Math.min(top, rect.height - thumb.offsetHeight / 2);\n top = Math.max(thumb.offsetHeight / 2, top);\n\n hue = Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 360);\n }\n\n this.color.set('hue', hue);\n },\n getThumbLeft: function getThumbLeft() {\n if (this.vertical) return 0;\n var el = this.$el;\n var hue = this.color.get('hue');\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(hue * (el.offsetWidth - thumb.offsetWidth / 2) / 360);\n },\n getThumbTop: function getThumbTop() {\n if (!this.vertical) return 0;\n var el = this.$el;\n var hue = this.color.get('hue');\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(hue * (el.offsetHeight - thumb.offsetHeight / 2) / 360);\n },\n update: function update() {\n this.thumbLeft = this.getThumbLeft();\n this.thumbTop = this.getThumbTop();\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var _$refs = this.$refs,\n bar = _$refs.bar,\n thumb = _$refs.thumb;\n\n\n var dragConfig = {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n };\n\n draggable(bar, dragConfig);\n draggable(thumb, dragConfig);\n this.update();\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_hue_slidervue_type_script_lang_js_ = (hue_slidervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue\n\n\n\n\n\n/* normalize component */\n\nvar hue_slider_component = Object(componentNormalizer[\"a\" /* default */])(\n components_hue_slidervue_type_script_lang_js_,\n hue_slidervue_type_template_id_5cdc43b1_render,\n hue_slidervue_type_template_id_5cdc43b1_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var hue_slider_api; }\nhue_slider_component.options.__file = \"packages/color-picker/src/components/hue-slider.vue\"\n/* harmony default export */ var hue_slider = (hue_slider_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\nvar alpha_slidervue_type_template_id_068c66cb_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-alpha-slider\",\n class: { \"is-vertical\": _vm.vertical }\n },\n [\n _c(\"div\", {\n ref: \"bar\",\n staticClass: \"el-color-alpha-slider__bar\",\n style: {\n background: _vm.background\n },\n on: { click: _vm.handleClick }\n }),\n _c(\"div\", {\n ref: \"thumb\",\n staticClass: \"el-color-alpha-slider__thumb\",\n style: {\n left: _vm.thumbLeft + \"px\",\n top: _vm.thumbTop + \"px\"\n }\n })\n ]\n )\n}\nvar alpha_slidervue_type_template_id_068c66cb_staticRenderFns = []\nalpha_slidervue_type_template_id_068c66cb_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var alpha_slidervue_type_script_lang_js_ = ({\n name: 'el-color-alpha-slider',\n\n props: {\n color: {\n required: true\n },\n vertical: Boolean\n },\n\n watch: {\n 'color._alpha': function color_alpha() {\n this.update();\n },\n 'color.value': function colorValue() {\n this.update();\n }\n },\n\n methods: {\n handleClick: function handleClick(event) {\n var thumb = this.$refs.thumb;\n var target = event.target;\n\n if (target !== thumb) {\n this.handleDrag(event);\n }\n },\n handleDrag: function handleDrag(event) {\n var rect = this.$el.getBoundingClientRect();\n var thumb = this.$refs.thumb;\n\n\n if (!this.vertical) {\n var left = event.clientX - rect.left;\n left = Math.max(thumb.offsetWidth / 2, left);\n left = Math.min(left, rect.width - thumb.offsetWidth / 2);\n\n this.color.set('alpha', Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 100));\n } else {\n var top = event.clientY - rect.top;\n top = Math.max(thumb.offsetHeight / 2, top);\n top = Math.min(top, rect.height - thumb.offsetHeight / 2);\n\n this.color.set('alpha', Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 100));\n }\n },\n getThumbLeft: function getThumbLeft() {\n if (this.vertical) return 0;\n var el = this.$el;\n var alpha = this.color._alpha;\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(alpha * (el.offsetWidth - thumb.offsetWidth / 2) / 100);\n },\n getThumbTop: function getThumbTop() {\n if (!this.vertical) return 0;\n var el = this.$el;\n var alpha = this.color._alpha;\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(alpha * (el.offsetHeight - thumb.offsetHeight / 2) / 100);\n },\n getBackground: function getBackground() {\n if (this.color && this.color.value) {\n var _color$toRgb = this.color.toRgb(),\n r = _color$toRgb.r,\n g = _color$toRgb.g,\n b = _color$toRgb.b;\n\n return 'linear-gradient(to right, rgba(' + r + ', ' + g + ', ' + b + ', 0) 0%, rgba(' + r + ', ' + g + ', ' + b + ', 1) 100%)';\n }\n return null;\n },\n update: function update() {\n this.thumbLeft = this.getThumbLeft();\n this.thumbTop = this.getThumbTop();\n this.background = this.getBackground();\n }\n },\n\n data: function data() {\n return {\n thumbLeft: 0,\n thumbTop: 0,\n background: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var _$refs = this.$refs,\n bar = _$refs.bar,\n thumb = _$refs.thumb;\n\n\n var dragConfig = {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n };\n\n draggable(bar, dragConfig);\n draggable(thumb, dragConfig);\n this.update();\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_alpha_slidervue_type_script_lang_js_ = (alpha_slidervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue\n\n\n\n\n\n/* normalize component */\n\nvar alpha_slider_component = Object(componentNormalizer[\"a\" /* default */])(\n components_alpha_slidervue_type_script_lang_js_,\n alpha_slidervue_type_template_id_068c66cb_render,\n alpha_slidervue_type_template_id_068c66cb_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var alpha_slider_api; }\nalpha_slider_component.options.__file = \"packages/color-picker/src/components/alpha-slider.vue\"\n/* harmony default export */ var alpha_slider = (alpha_slider_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\nvar predefinevue_type_template_id_06e03093_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"el-color-predefine\" }, [\n _c(\n \"div\",\n { staticClass: \"el-color-predefine__colors\" },\n _vm._l(_vm.rgbaColors, function(item, index) {\n return _c(\n \"div\",\n {\n key: _vm.colors[index],\n staticClass: \"el-color-predefine__color-selector\",\n class: { selected: item.selected, \"is-alpha\": item._alpha < 100 },\n on: {\n click: function($event) {\n _vm.handleSelect(index)\n }\n }\n },\n [_c(\"div\", { style: { \"background-color\": item.value } })]\n )\n }),\n 0\n )\n ])\n}\nvar predefinevue_type_template_id_06e03093_staticRenderFns = []\npredefinevue_type_template_id_06e03093_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var predefinevue_type_script_lang_js_ = ({\n props: {\n colors: { type: Array, required: true },\n color: { required: true }\n },\n data: function data() {\n return {\n rgbaColors: this.parseColors(this.colors, this.color)\n };\n },\n\n methods: {\n handleSelect: function handleSelect(index) {\n this.color.fromString(this.colors[index]);\n },\n parseColors: function parseColors(colors, color) {\n return colors.map(function (value) {\n var c = new src_color();\n c.enableAlpha = true;\n c.format = 'rgba';\n c.fromString(value);\n c.selected = c.value === color.value;\n return c;\n });\n }\n },\n watch: {\n '$parent.currentColor': function $parentCurrentColor(val) {\n var color = new src_color();\n color.fromString(val);\n\n this.rgbaColors.forEach(function (item) {\n item.selected = color.compare(item);\n });\n },\n colors: function colors(newVal) {\n this.rgbaColors = this.parseColors(newVal, this.color);\n },\n color: function color(newVal) {\n this.rgbaColors = this.parseColors(this.colors, newVal);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_predefinevue_type_script_lang_js_ = (predefinevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue\n\n\n\n\n\n/* normalize component */\n\nvar predefine_component = Object(componentNormalizer[\"a\" /* default */])(\n components_predefinevue_type_script_lang_js_,\n predefinevue_type_template_id_06e03093_render,\n predefinevue_type_template_id_06e03093_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var predefine_api; }\npredefine_component.options.__file = \"packages/color-picker/src/components/predefine.vue\"\n/* harmony default export */ var predefine = (predefine_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/button\"\nvar button_ = __webpack_require__(14);\nvar button_default = /*#__PURE__*/__webpack_require__.n(button_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var picker_dropdownvue_type_script_lang_js_ = ({\n name: 'el-color-picker-dropdown',\n\n mixins: [vue_popper_default.a, locale_default.a],\n\n components: {\n SvPanel: sv_panel,\n HueSlider: hue_slider,\n AlphaSlider: alpha_slider,\n ElInput: input_default.a,\n ElButton: button_default.a,\n Predefine: predefine\n },\n\n props: {\n color: {\n required: true\n },\n showAlpha: Boolean,\n predefine: Array\n },\n\n data: function data() {\n return {\n customInput: ''\n };\n },\n\n\n computed: {\n currentColor: function currentColor() {\n var parent = this.$parent;\n return !parent.value && !parent.showPanelColor ? '' : parent.color.value;\n }\n },\n\n methods: {\n confirmValue: function confirmValue() {\n this.$emit('pick');\n },\n handleConfirm: function handleConfirm() {\n this.color.fromString(this.customInput);\n }\n },\n\n mounted: function mounted() {\n this.$parent.popperElm = this.popperElm = this.$el;\n this.referenceElm = this.$parent.$el;\n },\n\n\n watch: {\n showPopper: function showPopper(val) {\n var _this = this;\n\n if (val === true) {\n this.$nextTick(function () {\n var _$refs = _this.$refs,\n sl = _$refs.sl,\n hue = _$refs.hue,\n alpha = _$refs.alpha;\n\n sl && sl.update();\n hue && hue.update();\n alpha && alpha.update();\n });\n }\n },\n\n\n currentColor: {\n immediate: true,\n handler: function handler(val) {\n this.customInput = val;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_picker_dropdownvue_type_script_lang_js_ = (picker_dropdownvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar picker_dropdown_component = Object(componentNormalizer[\"a\" /* default */])(\n components_picker_dropdownvue_type_script_lang_js_,\n picker_dropdownvue_type_template_id_06601625_render,\n picker_dropdownvue_type_template_id_06601625_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var picker_dropdown_api; }\npicker_dropdown_component.options.__file = \"packages/color-picker/src/components/picker-dropdown.vue\"\n/* harmony default export */ var picker_dropdown = (picker_dropdown_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElColorPicker',\n\n mixins: [emitter_default.a],\n\n props: {\n value: String,\n showAlpha: Boolean,\n colorFormat: String,\n disabled: Boolean,\n size: String,\n popperClass: String,\n predefine: Array\n },\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n computed: {\n displayedColor: function displayedColor() {\n if (!this.value && !this.showPanelColor) {\n return 'transparent';\n }\n\n return this.displayedRgb(this.color, this.showAlpha);\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n colorSize: function colorSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n colorDisabled: function colorDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n }\n },\n\n watch: {\n value: function value(val) {\n if (!val) {\n this.showPanelColor = false;\n } else if (val && val !== this.color.value) {\n this.color.fromString(val);\n }\n },\n\n color: {\n deep: true,\n handler: function handler() {\n this.showPanelColor = true;\n }\n },\n displayedColor: function displayedColor(val) {\n if (!this.showPicker) return;\n var currentValueColor = new src_color({\n enableAlpha: this.showAlpha,\n format: this.colorFormat\n });\n currentValueColor.fromString(this.value);\n\n var currentValueColorRgb = this.displayedRgb(currentValueColor, this.showAlpha);\n if (val !== currentValueColorRgb) {\n this.$emit('active-change', val);\n }\n }\n },\n\n methods: {\n handleTrigger: function handleTrigger() {\n if (this.colorDisabled) return;\n this.showPicker = !this.showPicker;\n },\n confirmValue: function confirmValue() {\n var value = this.color.value;\n this.$emit('input', value);\n this.$emit('change', value);\n this.dispatch('ElFormItem', 'el.form.change', value);\n this.showPicker = false;\n },\n clearValue: function clearValue() {\n this.$emit('input', null);\n this.$emit('change', null);\n if (this.value !== null) {\n this.dispatch('ElFormItem', 'el.form.change', null);\n }\n this.showPanelColor = false;\n this.showPicker = false;\n this.resetColor();\n },\n hide: function hide() {\n this.showPicker = false;\n this.resetColor();\n },\n resetColor: function resetColor() {\n var _this = this;\n\n this.$nextTick(function (_) {\n if (_this.value) {\n _this.color.fromString(_this.value);\n } else {\n _this.showPanelColor = false;\n }\n });\n },\n displayedRgb: function displayedRgb(color, showAlpha) {\n if (!(color instanceof src_color)) {\n throw Error('color should be instance of Color Class');\n }\n\n var _color$toRgb = color.toRgb(),\n r = _color$toRgb.r,\n g = _color$toRgb.g,\n b = _color$toRgb.b;\n\n return showAlpha ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + color.get('alpha') / 100 + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')';\n }\n },\n\n mounted: function mounted() {\n var value = this.value;\n if (value) {\n this.color.fromString(value);\n }\n this.popperElm = this.$refs.dropdown.$el;\n },\n data: function data() {\n var color = new src_color({\n enableAlpha: this.showAlpha,\n format: this.colorFormat\n });\n\n return {\n color: color,\n showPicker: false,\n showPanelColor: false\n };\n },\n\n\n components: {\n PickerDropdown: picker_dropdown\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar main_component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var main_api; }\nmain_component.options.__file = \"packages/color-picker/src/main.vue\"\n/* harmony default export */ var main = (main_component.exports);\n// CONCATENATED MODULE: ./packages/color-picker/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var color_picker = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature =\n document.implementation &&\n document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM ||\n capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 123);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 123:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true&\nvar render = function(_h, _vm) {\n var _c = _vm._c\n return _c(\n \"div\",\n _vm._g(\n _vm._b(\n {\n class: [\n _vm.data.staticClass,\n \"el-divider\",\n \"el-divider--\" + _vm.props.direction\n ]\n },\n \"div\",\n _vm.data.attrs,\n false\n ),\n _vm.listeners\n ),\n [\n _vm.slots().default && _vm.props.direction !== \"vertical\"\n ? _c(\n \"div\",\n { class: [\"el-divider__text\", \"is-\" + _vm.props.contentPosition] },\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElDivider',\n props: {\n direction: {\n type: String,\n default: 'horizontal',\n validator: function validator(val) {\n return ['horizontal', 'vertical'].indexOf(val) !== -1;\n }\n },\n contentPosition: {\n type: String,\n default: 'center',\n validator: function validator(val) {\n return ['left', 'center', 'right'].indexOf(val) !== -1;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/divider/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/divider/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/divider/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var divider = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 93);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 93:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-checkbox-group\",\n attrs: { role: \"group\", \"aria-label\": \"checkbox-group\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({\n name: 'ElCheckboxGroup',\n\n componentName: 'ElCheckboxGroup',\n\n mixins: [emitter_default.a],\n\n inject: {\n elFormItem: {\n default: ''\n }\n },\n\n props: {\n value: {},\n disabled: Boolean,\n min: Number,\n max: Number,\n size: String,\n fill: String,\n textColor: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxGroupSize: function checkboxGroupSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n }\n },\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', [_value]);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkbox_groupvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox-group.vue\"\n/* harmony default export */ var checkbox_group = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox-group/index.js\n\n\n/* istanbul ignore next */\ncheckbox_group.install = function (Vue) {\n Vue.component(checkbox_group.name, checkbox_group);\n};\n\n/* harmony default export */ var packages_checkbox_group = __webpack_exports__[\"default\"] = (checkbox_group);\n\n/***/ })\n\n/******/ });","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"mb-3\"},[_c('div',{staticClass:\"btn-group campaign-btn-group d-none d-md-block\",attrs:{\"data-v-step\":\"step-switch\"}},[_c('p-button',{class:{ 'active' : _vm.showListGroup},attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('groups')}}},[_c('i',{staticClass:\"fa fa-users mr-1\"}),_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.filter.groupLabel')))]),_c('p-button',{class:{ 'active' : _vm.showHvs},attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('hvs')}}},[_c('i',{staticClass:\"fa fa-user mr-1\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.filter.hvLabel')))]),_c('p-button',{class:{ 'active' : _vm.showImport},attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('import')}}},[_c('i',{staticClass:\"fa fa-upload mr-1\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.filter.importLabel')))])],1),_c('div',{staticClass:\"row d-md-none\"},[_c('div',{staticClass:\"col-12\"},[_c('p-button',{staticClass:\"w-100\",class:{'active' : _vm.showListGroup },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('groups')}}},[_c('i',{staticClass:\"fa fa-users\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.filter.groupLabel')))])],1),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('p-button',{staticClass:\"w-100\",class:{ 'active' : _vm.showHvs },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('hvs')}}},[_c('i',{staticClass:\"fa fa-user\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.filter.hvLabel')))])],1),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('p-button',{staticClass:\"w-100\",class:{ 'active' : _vm.showImport },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.changeView('import')}}},[_c('i',{staticClass:\"fa fa-upload\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.filter.importLabel')))])],1)])]),(_vm.showListGroup)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{ref:\"groupscontent\",staticClass:\"card\",attrs:{\"data-v-step\":\"step-listg\"}},[_c('div',{staticClass:\"card-header\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col d-flex justify-content-start\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.groupHeader')))])]),_c('div',{staticClass:\"col text-right\"},[_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.hvGroupList.btnRefreshTooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('p-button',{staticClass:\"mr-2\",attrs:{\"type\":\"neutral\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.refresh(true)}}},[_c('i',{staticClass:\"fa-solid fa-arrows-rotate\"})])],1)],1)])]),_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row toolbar\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{},[_c('p-button',{attrs:{\"type\":\"success\",\"data-v-step\":\"step-newgroup\"},on:{\"click\":_vm.createNewHvGroup}},[_c('i',{staticClass:\"nc-icon nc-simple-add\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.gToolbar.btnNewG'))+\" \")]),(_vm.manualControl && _vm.lazyAIStopped)?_c('p-button',{attrs:{\"type\":\"primary\",\"data-v-step\":\"step-sortemp2group\"},on:{\"click\":_vm.sortEmp2Group}},[_c('i',{staticClass:\"fa fa-sort\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.gToolbar.btnSortHv2G'))+\" \")]):_vm._e()],1)])]),_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col-12 col-md-6 pt-0 pt-md-2\"}),_c('div',{staticClass:\"col-12 col-md-6 col-xl-4 offset-xl-2 mt-2 mt-md-0\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('fg-input',{staticClass:\"input-sm mr-2\",attrs:{\"placeholder\":_vm.$t('entityViews.hvGroupList.searchPlaceholder'),\"addon-right-icon\":\"nc-icon nc-zoom-split\"},model:{value:(_vm.g_searchQuery),callback:function ($$v) {_vm.g_searchQuery=$$v},expression:\"g_searchQuery\"}}),_c('el-select',{staticClass:\"select-default float-sm-left page-size\",model:{value:(_vm.g_pagination.perPage),callback:function ($$v) {_vm.$set(_vm.g_pagination, \"perPage\", $$v)},expression:\"g_pagination.perPage\"}},_vm._l((_vm.g_pagination.perPageOptions),function(item){return _c('el-option',{key:item,staticClass:\"select-default\",attrs:{\"label\":item,\"value\":item}})}),1)],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{ref:\"table\",staticClass:\"col-12\"},[_c('el-table',{attrs:{\"data\":_vm.g_queriedData,\"empty-text\":_vm.$t('entityViews.hvGroupList.table.noData'),\"default-sort\":{ prop: 'name', order: 'ascending'},\"row-class-name\":_vm.groupTableRowClassName},on:{\"sort-change\":_vm.g_handleSortChange}},[_c('el-table-column',{attrs:{\"prop\":\"name\",\"sortable\":\"custom\",\"label\":_vm.$t('entityViews.hvGroupList.table.colName')},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.isSystem)?_c('span',[_vm._v(_vm._s(_vm.translateGroupName(props.row.name, props.row.isSystem)))]):_c('span',[_vm._v(_vm._s(props.row.name))])]}}],null,false,2304504171)}),_c('el-table-column',{attrs:{\"prop\":\"checkedDomains\",\"sortable\":\"custom\",\"label\":_vm.$t('entityViews.hvGroupList.table.colDomains.header'),\"width\":150,\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.checkedDomains)?_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.hvGroupList.table.colDomains.dValidTooltip'),\"open-delay\":300,\"placement\":\"left\"}},[_c('i',{staticClass:\"fa fa-check\",attrs:{\"aria-hidden\":\"true\"}})]):_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.hvGroupList.table.colDomains.dNoValidTooltip'),\"open-delay\":300,\"placement\":\"left\"}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]}}],null,false,630610537)}),_c('el-table-column',{attrs:{\"prop\":\"countHoaxVictim\",\"sortable\":\"custom\",\"label\":_vm.$t('entityViews.hvGroupList.table.colHvs'),\"width\":150,\"align\":\"center\"}}),_c('el-table-column',{attrs:{\"prop\":\"countCampaigns\",\"sortable\":\"custom\",\"label\":_vm.$t('entityViews.hvGroupList.table.colCamps'),\"width\":150,\"align\":\"center\"}}),_c('el-table-column',{attrs:{\"width\":120,\"class-name\":\"td-actions\",\"align\":\"center\"},scopedSlots:_vm._u([{key:\"header\",fn:function(scope){return [_c('span',{attrs:{\"data-v-step\":\"step-groupactions\"}},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.table.colActions.header')))])]}},{key:\"default\",fn:function(props){return [_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.hvGroupList.table.colActions.btnDetail'),\"open-delay\":300,\"placement\":\"top\"}},[_c('router-link',{staticClass:\"btn btn-default btn-icon btn-sm\",attrs:{\"to\":{ name: 'eHVGroup', params:{ ghid: props.row.hid}}}},[_c('i',{staticClass:\"fa-solid fa-users-gear\"})])],1),_c('el-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.row.isSystem),expression:\"!props.row.isSystem\"}],attrs:{\"content\":_vm.$t('entityViews.hvGroupList.table.colActions.btnDelete'),\"open-delay\":300,\"placement\":\"top\"}},[_c('p-button',{attrs:{\"type\":\"danger\",\"size\":\"sm\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteGroup(props.row.hid, props.row.name)}}},[_c('i',{staticClass:\"fa-solid fa-trash-can\"})])],1)]}}],null,false,649936800)})],1)],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 pagination-info\"},[_c('p',{staticClass:\"category\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.pagingInfo', [_vm.g_from + 1, _vm.g_to, _vm.g_total])))])]),_c('div',{staticClass:\"col-sm-6\"},[_c('p-pagination',{staticClass:\"pull-right\",attrs:{\"per-page\":_vm.g_pagination.perPage,\"total\":_vm.g_pagination.total},model:{value:(_vm.g_pagination.currentPage),callback:function ($$v) {_vm.$set(_vm.g_pagination, \"currentPage\", $$v)},expression:\"g_pagination.currentPage\"}})],1)])])])])])]):_vm._e(),(_vm.showHvs)?_c('div',{ref:\"usersContent\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('hv-manage-table',{ref:\"hvTable\",attrs:{\"entityHID\":_vm.entityHID,\"viewBy\":\"entity\",\"title\":_vm.$t('entityViews.hvGroupList.hvTable.header'),\"showHasGroupUserFilter\":\"\",\"data-v-step\":\"step-listhvs\"},scopedSlots:_vm._u([{key:\"toolbar-start\",fn:function(){return [_c('p-button',{attrs:{\"type\":\"success\",\"data-v-step\":\"step-newhv\"},on:{\"click\":_vm.createNewHV}},[_c('i',{staticClass:\"nc-icon nc-simple-add\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.hvTable.toolbar.btnNewHv'))+\" \")])]},proxy:true},{key:\"toolbar-end\",fn:function(){return [_c('p-button',{attrs:{\"type\":\"danger\",\"data-v-step\":\"step-clearentity\"},on:{\"click\":_vm.clearEntity}},[_c('i',{staticClass:\"fa fa-times\"}),_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.hvTable.toolbar.btnDelAllHvs'))+\" \")])]},proxy:true}],null,false,3977649915)})],1)])]):_vm._e(),_c('hoax-victim-detail',{attrs:{\"show\":_vm.modals.hvDetailModal,\"entityHID\":_vm.entityHID,\"title\":_vm.$t('entityViews.hvGroupList.hvDetailModal.header'),\"confirmBtnLabel\":_vm.$t('entityViews.hvGroupList.hvDetailModal.btnConfirm')},on:{\"hide\":_vm.hvDetailHide,\"save\":_vm.hoaxVictimCreate}}),(_vm.showImport)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{ref:\"hvgstatus\",staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6 col-12\"},[_c('stats-card',{attrs:{\"type\":\"info\",\"data-v-step\":\"step-empused\",\"icon\":\"fa fa-user\"},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"numbers\"},[_c('p',{staticClass:\"card-category\"},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.hvsCard.header'))+\" \"),_c('el-tooltip',{attrs:{\"open-delay\":300,\"placement\":\"top\"}},[_c('span',{attrs:{\"slot\":\"content\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.hvsCard.tooltip'))},slot:\"content\"}),_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])],1),_c('p',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.hvgStatus.userUsed)+\"/\"+_vm._s(_vm.hvgStatus.userLimit))])])]},proxy:true}],null,false,2558967093)})],1),_c('div',{staticClass:\"col-md-6 col-12\"},[_c('stats-card',{attrs:{\"type\":\"info\",\"data-v-step\":\"step-grouplimit\",\"icon\":\"fa fa-users\"},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"numbers\"},[_c('p',{staticClass:\"card-category\"},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.hvgCardLimit.header'))+\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('entityViews.hvGroupList.hvgCardLimit.tooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])],1),_c('p',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.hvgStatus.hvGroupUsed)+\"/\"+_vm._s(_vm.hvgStatus.hvGroupLimit))])])]},proxy:true}],null,false,901467457)})],1)])]),_c('div',{staticClass:\"col-12\"},[_c('card',[_c('h4',{staticClass:\"card-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.header'))+\" \")]),_c('div',{staticClass:\"text-muted\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.text1'))+\" \"),_c('br')]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.row1')))]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.row1')))]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.row1')))]),_c('p'),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.text2'))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.point1'))}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.point2'))}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.point3'))}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.point4'))}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.point5'))}})])])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 order-2 order-md-1\"},[_c('control-card',[_c('div',{attrs:{\"slot\":\"icon\"},slot:\"icon\"},[_c('div',{staticClass:\"icon-big text-center text-success\"},[_c('i',{staticClass:\"fa-solid fa-person-circle-plus\"}),_c('div',{staticClass:\"upload-icon-text\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.iconText')))])])]),_c('div',{staticClass:\"row\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"col-12 text-center\"},[_c('upload-button',{attrs:{\"entityHID\":_vm.entityHID,\"mode\":\"toEntity\",\"uploadMode\":\"addOrUpdate\",\"color\":\"white\",\"backgroundColor\":\"#66615B\",\"url\":_vm.uploadUrl,\"btnLabel\":_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.btnUpload'),\"tooltipPlacement\":\"top\"},on:{\"uploadFinished\":_vm.uploadFinished}})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-8 order-1 order-md-1\"},[_c('card',[_c('h6',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.header')))]),_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.text1')))]),_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.text2')))]),_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.text3')))]),_c('div',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addNewHvs.text4')))])])])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 order-2 order-md-1\"},[_c('control-card',[_c('div',{attrs:{\"slot\":\"icon\"},slot:\"icon\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center\"},[_c('div',{staticClass:\"icon-big text-center text-success\"},[_c('i',{staticClass:\"fa-solid fa-person-circle-plus\"}),_c('div',{staticClass:\"upload-icon-text\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconText1')))])]),_c('div',{staticClass:\"d-flex justify-content-center align-items-center\"},[_c('span',{staticClass:\"upload-icon-combiner\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconCombiner')))])]),_c('div',{staticClass:\"icon-big text-center text-danger\"},[_c('i',{staticClass:\"fa-solid fa-person-circle-minus\"}),_c('div',{staticClass:\"upload-icon-text\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconText2')))])])])]),_c('div',{staticClass:\"row\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"col-12 text-center\"},[_c('upload-button',{attrs:{\"entityHID\":_vm.entityHID,\"mode\":\"toEntity\",\"uploadMode\":\"noIncludedRemove\",\"color\":\"white\",\"backgroundColor\":\"#66615B\",\"url\":_vm.uploadUrl,\"btnLabel\":_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.btnUpload'),\"tooltipPlacement\":\"top\"},on:{\"uploadFinished\":_vm.uploadFinished}})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-8 order-1 order-md-1\"},[_c('card',[_c('h6',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.header')))]),_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text1')))]),_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text2')))]),_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text3')))]),_c('div',[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text4')))]),_c('div',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text5')))])])])],1)])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n \r\n <div class=\"mb-3\">\r\n <div class=\"btn-group campaign-btn-group d-none d-md-block\" data-v-step=\"step-switch\">\r\n <p-button type=\"primary\" round outline nativeLabel :class=\"{ 'active' : showListGroup}\" @click=\"changeView('groups')\"> <i class=\"fa fa-users mr-1\"></i>{{$t('entityViews.hvGroupList.filter.groupLabel')}}</p-button>\r\n <p-button type=\"primary\" round outline nativeLabel :class=\"{ 'active' : showHvs}\" @click=\"changeView('hvs')\"> <i class=\"fa fa-user mr-1\"></i> {{$t('entityViews.hvGroupList.filter.hvLabel')}}</p-button>\r\n <p-button type=\"primary\" round outline nativeLabel :class=\"{ 'active' : showImport}\" @click=\"changeView('import')\"> <i class=\"fa fa-upload mr-1\"></i> {{$t('entityViews.hvGroupList.filter.importLabel')}}</p-button>\r\n </div>\r\n <div class=\"row d-md-none\">\r\n <div class=\"col-12\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"changeView('groups')\" :class=\"{'active' : showListGroup }\"> <i class=\"fa fa-users\"></i> {{$t('entityViews.hvGroupList.filter.groupLabel')}}</p-button>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"changeView('hvs')\" :class=\"{ 'active' : showHvs }\"> <i class=\"fa fa-user\"></i> {{$t('entityViews.hvGroupList.filter.hvLabel')}}</p-button>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"changeView('import')\" :class=\"{ 'active' : showImport }\"> <i class=\"fa fa-upload\"></i> {{$t('entityViews.hvGroupList.filter.importLabel')}}</p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div v-if=\"showListGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\" data-v-step=\"step-listg\" ref=\"groupscontent\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col d-flex justify-content-start\">\r\n <h4 class=\"card-title\">{{$t('entityViews.hvGroupList.groupHeader')}}</h4>\r\n </div>\r\n <div class=\"col text-right\">\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.btnRefreshTooltip')\" :open-delay=\"300\" placement=\"top\">\r\n <p-button type=\"neutral\" class=\"mr-2\" icon @click=\"refresh(true)\">\r\n <i class=\"fa-solid fa-arrows-rotate\"></i>\r\n </p-button>\r\n </el-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <!-- toolbar -->\r\n <div class=\"row toolbar\">\r\n <div class=\"col-12\">\r\n <div class=\"\">\r\n <p-button type=\"success\" @click=\"createNewHvGroup\" data-v-step=\"step-newgroup\">\r\n <i class=\"nc-icon nc-simple-add\"></i> {{$t('entityViews.hvGroupList.gToolbar.btnNewG')}}\r\n </p-button>\r\n <p-button type=\"primary\" @click=\"sortEmp2Group\" data-v-step=\"step-sortemp2group\" v-if=\"manualControl && lazyAIStopped\">\r\n <i class=\"fa fa-sort\"></i> {{$t('entityViews.hvGroupList.gToolbar.btnSortHv2G')}}\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- header -->\r\n <div class=\"row justify-content-between\">\r\n <div class=\"col-12 col-md-6 pt-0 pt-md-2\">\r\n\r\n </div>\r\n <div class=\"col-12 col-md-6 col-xl-4 offset-xl-2 mt-2 mt-md-0\">\r\n <div class=\"d-flex justify-content-end\">\r\n <fg-input class=\"input-sm mr-2\"\r\n :placeholder=\"$t('entityViews.hvGroupList.searchPlaceholder')\"\r\n v-model=\"g_searchQuery\"\r\n addon-right-icon=\"nc-icon nc-zoom-split\">\r\n </fg-input>\r\n <el-select class=\"select-default float-sm-left page-size\"\r\n v-model=\"g_pagination.perPage\">\r\n <el-option class=\"select-default\"\r\n v-for=\"item in g_pagination.perPageOptions\"\r\n :key=\"item\"\r\n :label=\"item\"\r\n :value=\"item\">\r\n </el-option>\r\n </el-select>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- table -->\r\n <div class=\"row\">\r\n <div class=\"col-12\" ref=\"table\">\r\n <el-table :data=\"g_queriedData\" :empty-text=\"$t('entityViews.hvGroupList.table.noData')\"\r\n :default-sort=\"{ prop: 'name', order: 'ascending'}\"\r\n :row-class-name=\"groupTableRowClassName\"\r\n @sort-change=\"g_handleSortChange\">\r\n <el-table-column prop=\"name\" sortable=\"custom\" :label=\"$t('entityViews.hvGroupList.table.colName')\">\r\n <template slot-scope=\"props\">\r\n <span v-if=\"props.row.isSystem\">{{translateGroupName(props.row.name, props.row.isSystem)}}</span>\r\n <span v-else>{{props.row.name}}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"checkedDomains\" sortable=\"custom\" :label=\"$t('entityViews.hvGroupList.table.colDomains.header')\" :width=\"150\" align=\"center\">\r\n <template slot-scope=\"props\">\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.table.colDomains.dValidTooltip')\" :open-delay=\"300\" placement=\"left\" v-if=\"props.row.checkedDomains\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.table.colDomains.dNoValidTooltip')\" :open-delay=\"300\" placement=\"left\" v-else>\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"countHoaxVictim\" sortable=\"custom\" :label=\"$t('entityViews.hvGroupList.table.colHvs')\" :width=\"150\" align=\"center\">\r\n </el-table-column>\r\n <el-table-column prop=\"countCampaigns\" sortable=\"custom\" :label=\"$t('entityViews.hvGroupList.table.colCamps')\" :width=\"150\" align=\"center\">\r\n </el-table-column>\r\n <el-table-column :width=\"120\" class-name=\"td-actions\" align=\"center\">\r\n <template slot=\"header\" slot-scope=\"scope\">\r\n <span data-v-step=\"step-groupactions\">{{$t('entityViews.hvGroupList.table.colActions.header')}}</span>\r\n </template>\r\n <template slot-scope=\"props\">\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.table.colActions.btnDetail')\" :open-delay=\"300\" placement=\"top\">\r\n <router-link class=\"btn btn-default btn-icon btn-sm\" :to=\"{ name: 'eHVGroup', params:{ ghid: props.row.hid}}\">\r\n <i class=\"fa-solid fa-users-gear\"></i>\r\n </router-link>\r\n </el-tooltip>\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.table.colActions.btnDelete')\" :open-delay=\"300\" placement=\"top\" v-show=\"!props.row.isSystem\">\r\n <p-button type=\"danger\" size=\"sm\" icon @click=\"deleteGroup(props.row.hid, props.row.name)\">\r\n <i class=\"fa-solid fa-trash-can\"></i>\r\n </p-button>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </div>\r\n <!-- paging -->\r\n <div class=\"row\">\r\n <div class=\"col-sm-6 pagination-info\">\r\n <p class=\"category\">{{$t('entityViews.hvGroupList.pagingInfo', [g_from + 1, g_to, g_total])}}</p>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <p-pagination class=\"pull-right\"\r\n v-model=\"g_pagination.currentPage\"\r\n :per-page=\"g_pagination.perPage\"\r\n :total=\"g_pagination.total\">\r\n </p-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- **************************************************************************-->\r\n\r\n <div ref=\"usersContent\" v-if=\"showHvs\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <hv-manage-table ref=\"hvTable\" :entityHID=\"entityHID\" viewBy=\"entity\" :title=\"$t('entityViews.hvGroupList.hvTable.header')\" showHasGroupUserFilter data-v-step=\"step-listhvs\">\r\n <template v-slot:toolbar-start>\r\n <p-button type=\"success\" @click=\"createNewHV\" data-v-step=\"step-newhv\">\r\n <i class=\"nc-icon nc-simple-add\"></i> {{$t('entityViews.hvGroupList.hvTable.toolbar.btnNewHv')}}\r\n </p-button>\r\n </template>\r\n <template v-slot:toolbar-end>\r\n <p-button type=\"danger\" @click=\"clearEntity\" data-v-step=\"step-clearentity\">\r\n <i class=\"fa fa-times\"></i> {{$t('entityViews.hvGroupList.hvTable.toolbar.btnDelAllHvs')}}\r\n </p-button>\r\n </template>\r\n </hv-manage-table>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <hoax-victim-detail :show=\"modals.hvDetailModal\"\r\n :entityHID=\"entityHID\"\r\n :title=\"$t('entityViews.hvGroupList.hvDetailModal.header')\"\r\n :confirmBtnLabel=\"$t('entityViews.hvGroupList.hvDetailModal.btnConfirm')\"\r\n @hide=\"hvDetailHide\"\r\n @save=\"hoaxVictimCreate\">\r\n </hoax-victim-detail>\r\n\r\n <!-- **************************************************************************-->\r\n\r\n <div v-if=\"showImport\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"row\" ref=\"hvgstatus\">\r\n <div class=\"col-md-6 col-12\">\r\n <stats-card type=\"info\" data-v-step=\"step-empused\"\r\n icon=\"fa fa-user\">\r\n <template v-slot:content>\r\n <div class=\"numbers\">\r\n <p class=\"card-category\">\r\n {{$t('entityViews.hvGroupList.hvsCard.header')}}\r\n <el-tooltip :open-delay=\"300\" placement=\"top\">\r\n <span slot=\"content\" v-html=\"$t('entityViews.hvGroupList.hvsCard.tooltip')\">\r\n </span>\r\n <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </p>\r\n <p class=\"card-title\">{{hvgStatus.userUsed}}/{{hvgStatus.userLimit}}</p>\r\n </div>\r\n </template>\r\n </stats-card>\r\n </div>\r\n <div class=\"col-md-6 col-12\">\r\n <stats-card type=\"info\" data-v-step=\"step-grouplimit\"\r\n icon=\"fa fa-users\">\r\n <template v-slot:content>\r\n <div class=\"numbers\">\r\n <p class=\"card-category\">\r\n {{$t('entityViews.hvGroupList.hvgCardLimit.header')}}\r\n <el-tooltip :content=\"$t('entityViews.hvGroupList.hvgCardLimit.tooltip')\" :open-delay=\"300\" placement=\"top\">\r\n <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </p>\r\n <p class=\"card-title\">{{hvgStatus.hvGroupUsed}}/{{hvgStatus.hvGroupLimit}}</p>\r\n </div>\r\n </template>\r\n </stats-card>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <card>\r\n <h4 slot=\"header\" class=\"card-title\">\r\n {{$t('entityViews.hvGroupList.uploadCard.header')}}\r\n </h4>\r\n <div class=\"text-muted\">\r\n <p>\r\n {{$t('entityViews.hvGroupList.uploadCard.text1')}}\r\n <br />\r\n <div> {{$t('entityViews.hvGroupList.uploadCard.row1')}}</div>\r\n <div> {{$t('entityViews.hvGroupList.uploadCard.row1')}}</div>\r\n <div> {{$t('entityViews.hvGroupList.uploadCard.row1')}}</div>\r\n </p>\r\n\r\n <p>\r\n {{$t('entityViews.hvGroupList.uploadCard.text2')}}\r\n </p>\r\n\r\n <div v-html=\"$t('entityViews.hvGroupList.uploadCard.point1')\"></div>\r\n <div v-html=\"$t('entityViews.hvGroupList.uploadCard.point2')\"></div>\r\n <div v-html=\"$t('entityViews.hvGroupList.uploadCard.point3')\"></div>\r\n <div v-html=\"$t('entityViews.hvGroupList.uploadCard.point4')\"></div>\r\n <div v-html=\"$t('entityViews.hvGroupList.uploadCard.point5')\"></div>\r\n </div>\r\n </card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-4 order-2 order-md-1\">\r\n <control-card>\r\n <div slot=\"icon\">\r\n <div class=\"icon-big text-center text-success\">\r\n <i class=\"fa-solid fa-person-circle-plus\"></i>\r\n <div class=\"upload-icon-text\">{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.iconText')}}</div>\r\n </div>\r\n </div>\r\n <div class=\"row\" slot=\"footer\">\r\n <div class=\"col-12 text-center\">\r\n <upload-button :entityHID=\"entityHID\" mode=\"toEntity\" uploadMode=\"addOrUpdate\"\r\n color=\"white\" backgroundColor=\"#66615B\" class=\"\"\r\n :url=\"uploadUrl\"\r\n @uploadFinished=\"uploadFinished\" :btnLabel=\"$t('entityViews.hvGroupList.uploadCard.addNewHvs.btnUpload')\"\r\n tooltipPlacement=\"top\">\r\n </upload-button>\r\n </div>\r\n </div>\r\n </control-card>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-8 order-1 order-md-1\">\r\n <card>\r\n <h6 slot=\"header\">{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.header')}}</h6>\r\n <div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.text1')}}</div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.text2')}}</div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.text3')}}</div>\r\n <div class=\"mt-2\">{{$t('entityViews.hvGroupList.uploadCard.addNewHvs.text4')}}</div>\r\n </div>\r\n </card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-4 order-2 order-md-1\">\r\n <control-card>\r\n <div slot=\"icon\">\r\n <div class=\"d-flex flex-row justify-content-center\">\r\n <div class=\"icon-big text-center text-success\">\r\n <i class=\"fa-solid fa-person-circle-plus\"></i>\r\n <div class=\"upload-icon-text\">{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconText1')}}</div>\r\n </div>\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <span class=\"upload-icon-combiner\">{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconCombiner')}}</span>\r\n </div>\r\n <div class=\"icon-big text-center text-danger\">\r\n <i class=\"fa-solid fa-person-circle-minus\"></i>\r\n <div class=\"upload-icon-text\">{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.iconText2')}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" slot=\"footer\">\r\n <div class=\"col-12 text-center\">\r\n <upload-button :entityHID=\"entityHID\" mode=\"toEntity\" uploadMode=\"noIncludedRemove\"\r\n color=\"white\" backgroundColor=\"#66615B\"\r\n :url=\"uploadUrl\"\r\n @uploadFinished=\"uploadFinished\" :btnLabel=\"$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.btnUpload')\"\r\n tooltipPlacement=\"top\">\r\n </upload-button>\r\n </div>\r\n </div>\r\n </control-card>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-8 order-1 order-md-1\">\r\n <card>\r\n <h6 slot=\"header\">{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.header')}}</h6>\r\n <div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text1')}}</div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text2')}}</div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text3')}}</div>\r\n <div>{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text4')}}</div>\r\n <div class=\"mt-2\">{{$t('entityViews.hvGroupList.uploadCard.addRemoveHvs.text5')}}</div>\r\n </div>\r\n </card>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n import { CampaignTools, HvGroupTools, MaturityLevelTools, LazyAITools } from 'src/lpLibrary.js'\r\n\r\n import { Input, Select, Option, Table, TableColumn } from 'element-ui'\r\n import { Collapse, CollapseItem, Card, Progress, StatsCard, ControlCard } from 'src/components/UIComponents'\r\n import swal from 'sweetalert2'\r\n import PPagination from 'src/components/UIComponents/Pagination.vue'\r\n import HvManageTable from 'src/components/UIComponents/HVManageTable.vue'\r\n import UploadButton from 'src/components/UIComponents/UploadButton.vue'\r\n import hvDetail from 'src/components/UIComponents/ModalDialog/HoaxVictimDetail'\r\n\r\n\r\n function g_sortingHandler(a, b, sortObject) {\r\n let comparison = 0;\r\n let sign = sortObject.order == \"descending\" ? -1 : 1;\r\n if (a[sortObject.name] > b[sortObject.name]) {\r\n comparison = 1 * sign;\r\n } else if (a[sortObject.name] < b[sortObject.name]) {\r\n comparison = -1 * sign;\r\n }\r\n return comparison;\r\n }\r\n\r\n export default {\r\n components: {\r\n [Input.name]: Input,\r\n [Option.name]: Option,\r\n [Select.name]: Select,\r\n CollapseItem,\r\n Collapse,\r\n Card,\r\n [Progress.name]: Progress,\r\n [Table.name]: Table,\r\n [TableColumn.name]: TableColumn,\r\n PPagination,\r\n [HvManageTable.name]: HvManageTable,\r\n StatsCard,\r\n [UploadButton.name]: UploadButton,\r\n [hvDetail.name]: hvDetail,\r\n ControlCard,\r\n },\r\n data() {\r\n return {\r\n entityHID: 0,\r\n view: 'groups',\r\n hvgStatus: {\r\n userLimit: 0,\r\n userUsed: 0,\r\n hvGroupLimit: 0,\r\n hvGroupUsed: 0,\r\n },\r\n modals: {\r\n hvDetailModal: false,\r\n },\r\n manualControl: false,\r\n lazyAIStopped: false,\r\n //-------------------------------------------------\r\n hvGroups: [],\r\n g_pagination: {\r\n perPage: 25,\r\n currentPage: 1,\r\n perPageOptions: [10, 25, 50, 100],\r\n total: 0\r\n },\r\n g_propsToSearch: ['name', 'countHoaxVictim', 'countCampaigns'],\r\n g_searchQuery: '',\r\n g_sortObject: { order: 'ascending', name: 'name' },\r\n }\r\n },\r\n methods: {\r\n initComponent: function (force) {\r\n this.manualControl = this.$store.getters.appState.entity.manualControl;\r\n this.lazyAIStopped = this.$store.getters.appState.entity.lazyAIStatus === LazyAITools.Status_Stopped;\r\n\r\n if (this.view === 'groups') {\r\n setTimeout(() => { this.loadHvGroups(force); }, 200);\r\n }\r\n if (this.view === 'import') {\r\n setTimeout(() => { this.loadHvgStatus(); }, 200);\r\n }\r\n },\r\n createNewHvGroup() {\r\n var vueThis = this;\r\n swal.fire({\r\n title: vueThis.$t('entityViews.hvGroupList.newGroupAlert.msg'),\r\n input: 'text',\r\n showCancelButton: true,\r\n inputValidator: (value) => {\r\n if (!value) {\r\n return vueThis.$t('entityViews.hvGroupList.newGroupAlert.errReq');\r\n }\r\n if (value.trim().length > this.$root.config.maxHvGroupNameLength) {\r\n return vueThis.$t('entityViews.hvGroupList.newGroupAlert.errMax', [this.$root.config.maxHvGroupNameLength]);\r\n }\r\n }\r\n }).then(function (result) {\r\n if (!result.value) return;\r\n vueThis.axios.post(vueThis.$root.config.entity.hvGroup.createHvGroupUrl(vueThis.entityHID), null, { params: { name: result.value.trim() } })\r\n .then(response => {\r\n if (result == null || result == undefined) {\r\n result = { value: \"NaN\" };\r\n }\r\n vueThis.loadHvGroups();\r\n swal.fire({\r\n icon: 'success',\r\n html: vueThis.$t('entityViews.hvGroupList.newGroupAlert.success', [result.value]),\r\n confirmButtonClass: 'btn btn-success btn-fill',\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .catch(function (error) {\r\n if (error.response.status == 400) {\r\n if (result == null || result == undefined) {\r\n result = { value: \"NaN\" };\r\n }\r\n //100400, 500103\r\n let respMsg = error.response.data;\r\n swal.fire({\r\n title: vueThis.$t('entityViews.hvGroupList.newGroupAlert.failed'),\r\n text: vueThis.$t('apiErrorCode.' + respMsg.code + '.msg', { name: result.value }),\r\n icon: vueThis.$t('apiErrorCode.' + respMsg.code + '.icon'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n });\r\n },\r\n loadHvGroups(force) {\r\n if (force == undefined) force = false;\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n let loader = this.$loading.show(this.$root.config.getLoadingCfg(this.$refs.groupscontent)); \r\n this.axios.post(this.$root.config.entity.hvGroup.getHvGroupsUrl(this.entityHID), null, { params: { force: force } })\r\n .then(response => {\r\n loader.hide();\r\n this.hvGroups = response.data;\r\n this.hvGroups.forEach(function (item) {\r\n var suiData = HvGroupTools.GetStatusUIData(item.status);\r\n item.statusLabelId = suiData.labelId;\r\n item.statusIcon = suiData.icon;\r\n item.isActive = item.status == HvGroupTools.Status_Active;\r\n\r\n item.hasActiveCampaign = item.hasScheduledCampaign || item.hasRunningCampaign || item.hasStoppedCampaign;\r\n if (item.currentOrNextCampaign != null) {\r\n var uiData = CampaignTools.GetStatusUIData(item.currentOrNextCampaign.status);\r\n item.currentOrNextCampaign.statusLabelId = uiData.labelId;\r\n item.currentOrNextCampaign.statusIcon = uiData.icon;\r\n item.currentOrNextCampaign.startDate = Date.parse(item.startUtc);\r\n item.currentOrNextCampaign.endDate = Date.parse(item.endUtc);\r\n }\r\n\r\n });\r\n \r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n loader.hide();\r\n });\r\n },\r\n loadHvgStatus() {\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n let loader = this.$loading.show(this.$root.config.getLoadingCfg(this.$refs.hvgstatus));\r\n this.axios.post(this.$root.config.entity.hvGroup.getHvGroupStatusUrl(this.entityHID), null)\r\n .then(response => {\r\n loader.hide();\r\n this.hvgStatus = response.data; \r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n loader.hide();\r\n });\r\n },\r\n changeView(val) {\r\n //let thisVue = this;\r\n //this.$nextTick()\r\n // .then(function () {\r\n // if (thisVue.view === \"groups\")\r\n // thisVue.loadHvGroups();\r\n // });\r\n if (this.view != val) {\r\n this.$router.push({ name: 'eHVGroupsList', query: { v: val } });\r\n }\r\n else {\r\n this.view = val;\r\n }\r\n },\r\n translateGroupName(name, isSystem) {\r\n return MaturityLevelTools.translateGroupName(name, isSystem);\r\n },\r\n async deleteGroup(ghid, name) {\r\n let vueThis = this;\r\n var hvGroup = this.hvGroups.find(g => g.hid == ghid);\r\n if (hvGroup.hasActiveCampaign) {\r\n swal.fire({\r\n icon: 'error',\r\n title: vueThis.$t('common.delGroupAlert.errActiveCamp.msg', [name]),\r\n text: vueThis.$t('common.delGroupAlert.errActiveCamp.text'),\r\n showCancelButton: false,\r\n });\r\n return;\r\n }\r\n\r\n if (hvGroup.countCampaigns > 0) {\r\n let { value: confirm } = await swal.fire({\r\n icon: 'warning',\r\n title: vueThis.$t('common.delGroupAlert.warnHasCamp.msg'),\r\n text: vueThis.$t('common.delGroupAlert.warnHasCamp.text'),\r\n showCancelButton: false,\r\n });\r\n }\r\n\r\n let cfg = this.$root.config.getSweetAlertCfg_YesNo;\r\n cfg.title = vueThis.$t('common.delGroupAlert.msg',);\r\n cfg.text = vueThis.$t('common.delGroupAlert.text', [name]);\r\n swal.fire(cfg).then((result) => {\r\n if (result.value) {\r\n swal.fire(this.$root.config.getSweetAlertCfg_Waiting);\r\n this.axios.post(this.$root.config.entity.hvGroup.hvGroupDeleteUrl(this.entityHID), null, { params: { groupHID: ghid } })\r\n .then(response => {\r\n swal.close();\r\n vueThis.loadHvGroups();\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('common.delGroupAlert.success', [name]),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n swal.close();\r\n if (error.response.status == 400) {\r\n swal.fire({\r\n icon: 'error',\r\n title: vueThis.$t('common.delGroupAlert.failed'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n }\r\n });\r\n },\r\n uploadFinished: function (response, errCode, errMsg, errObj) {\r\n let vueThis = this;\r\n if (response) {\r\n //this.$refs.hvTable.refresh();\r\n this.loadHvgStatus();\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('common.uploadHvsAlert.success'),\r\n showConfirmButton: true,\r\n timer: this.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n if (errObj == null || errObj == undefined) {\r\n errObj = { domaiName: \"NaN\", email: \"NaN\", phoneNumber: \"NaN\" };\r\n }\r\n //500001, 500002, 500003, 500101, 500103, 500202, 500102, 500104\r\n swal.fire({\r\n title: vueThis.$t('common.uploadHvsAlert.failed'),\r\n text: vueThis.$t('apiErrorCode.' + errCode + '.msg', { name: errObj.domainName, email: errObj.email, phoneNumber: errObj.phoneNumber }),\r\n icon: vueThis.$t('apiErrorCode.' + errCode + '.icon'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n },\r\n refresh(force) {\r\n this.loadHvGroups(force);\r\n },\r\n sortEmp2Group() {\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n let loader = this.$loading.show(this.$root.config.getLoadingCfg(this.$refs.groupscontent));\r\n this.axios.post(this.$root.config.entity.hvGroup.sortEmp2GroupsUrl(this.entityHID), null)\r\n .then(response => {\r\n loader.hide();\r\n vueThis.refresh();\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('entityViews.hvGroupList.sortHv2GSuccess'),\r\n confirmButtonClass: 'btn btn-success btn-fill',\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n loader.hide();\r\n });\r\n },\r\n clearEntity() {\r\n let vueThis = this;\r\n let cfg = this.$root.config.getSweetAlertCfg_YesNo;\r\n cfg.title = vueThis.$t('entityViews.hvGroupList.clearGAlert.msg');\r\n cfg.text = vueThis.$t('entityViews.hvGroupList.clearGAlert.text');\r\n swal.fire(cfg).then((result) => {\r\n if (result.value) {\r\n swal.fire(this.$root.config.getSweetAlertCfg_Waiting);\r\n this.axios.post(this.$root.config.entity.hv.allHoaxVictimsDeleteUrl(this.entityHID), null)\r\n .then(response => {\r\n vueThis.$refs.hvTable.refresh();\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('entityViews.hvGroupList.clearGAlert.success'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n if (error.response.status == 400) {\r\n swal.fire({\r\n icon: 'error',\r\n title: vueThis.$t('entityViews.hvGroupList.clearGAlert.failed'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n }\r\n });\r\n },\r\n uploadModeChange(event) {\r\n console.log(event);\r\n },\r\n //-----------------\r\n g_handleSortChange(e) {\r\n this.g_sortObject = { order: e.order, name: e.prop };\r\n },\r\n groupTableRowClassName({ row, rowIndex, }) {\r\n if (row.isSystem == true) {\r\n return \"system-group \" + MaturityLevelTools.getGroupCssClass(row.name);\r\n }\r\n return '';\r\n },\r\n //-----------------\r\n createNewHV() {\r\n this.modals.hvDetailModal = true;\r\n },\r\n hoaxVictimCreate(hvData) {\r\n //console.log(hvData);\r\n let vueThis = this;\r\n this.axios.post(this.$root.config.entity.hv.hoaxVictimCreateUrl(this.entityHID), hvData)\r\n .then(response => {\r\n vueThis.modals.hvDetailModal = false;\r\n vueThis.refresh();\r\n vueThis.$refs.hvTable.refresh();\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('entityViews.hvGroupList.createHvAlert.success'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n if (error.response.status == 400) {\r\n // 500001, 500002, 500003, 500101, 500103, 500104, 500105, 500202, \r\n let respMsg = error.response.data;\r\n let domain = 'NaN';\r\n try {\r\n const parts = hvData.email.split('@');\r\n if (parts.length === 2) {\r\n domain = parts[1];\r\n }\r\n }\r\n catch {}\r\n swal.fire({\r\n title: vueThis.$t('entityViews.hvGroupList.createHvAlert.failed'),\r\n text: vueThis.$t('apiErrorCode.' + respMsg.code + '.msg', { name: domain, email: hvData.email, phoneNumber: hvData.phoneNumber }),\r\n icon: vueThis.$t('apiErrorCode.' + respMsg.code + '.icon'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n },\r\n hvDetailHide() {\r\n this.modals.hvDetailModal = false;\r\n },\r\n },\r\n computed: {\r\n showListGroup() {\r\n return this.view == 'groups';\r\n },\r\n showHvs() {\r\n return this.view == 'hvs';\r\n },\r\n showImport() {\r\n return this.view == 'import';\r\n },\r\n uploadUrl() {\r\n return this.$root.config.entity.uploadHvsUrl(this.entityHID);\r\n },\r\n //--------------------------\r\n g_queriedData() {\r\n let cThis = this;\r\n let systemGroups = this.hvGroups.filter(c => c.isSystem == true).sort(function (a, b) { return g_sortingHandler(a, b, { order: 'ascending', name: 'name' }); });\r\n //systemGroups[0].color = 'red';\r\n let customGroups = this.hvGroups.filter(c => c.isSystem == false);\r\n\r\n if (!this.g_searchQuery) {\r\n this.g_pagination.total = this.hvGroups.length;\r\n return systemGroups.concat(customGroups.sort(function (a, b) { return g_sortingHandler(a, b, cThis.g_sortObject); })).slice(this.g_from, this.g_to);\r\n }\r\n let result = customGroups\r\n .filter((row) => {\r\n let isIncluded = false;\r\n for (let key of this.g_propsToSearch) {\r\n let rowValue = row[key].toString();\r\n if (rowValue.includes && rowValue.toLowerCase().includes(this.g_searchQuery.toLowerCase())) {\r\n isIncluded = true;\r\n }\r\n }\r\n return isIncluded;\r\n })\r\n this.g_pagination.total = systemGroups.length + result.length;\r\n return systemGroups.concat(result.sort(function (a, b) { return g_sortingHandler(a, b, cThis.g_sortObject); })).slice(this.g_from, this.g_to);\r\n },\r\n g_to() {\r\n let highBound = this.g_from + this.g_pagination.perPage;\r\n if (this.g_total < highBound) {\r\n highBound = this.g_total;\r\n }\r\n return highBound;\r\n },\r\n g_from() {\r\n if (this.g_pagination.total == 0) return -1;\r\n return this.g_pagination.perPage * (this.g_pagination.currentPage - 1);\r\n },\r\n g_total() {\r\n return this.g_pagination.total;\r\n },\r\n\r\n tourSteps() {\r\n let viewTour = [];\r\n if (this.view === 'groups') {\r\n viewTour = this.hvgTourSteps;\r\n }\r\n if (this.view === 'hvs') {\r\n viewTour = this.hvsTourSteps;\r\n }\r\n if (this.view === 'import') {\r\n viewTour = this.importTourSteps;\r\n }\r\n return this.generalTourSteps.concat(viewTour);\r\n },\r\n },\r\n mounted: function () {\r\n this.initComponent();\r\n },\r\n watch: {\r\n $route(to, from) {\r\n if (to !== from) {\r\n this.entityHID = this.$route.params.ehid;\r\n let v = this.$route.query.v;\r\n if (v == undefined) v = 'groups';\r\n this.view = v;\r\n this.initComponent(); \r\n }\r\n }\r\n },\r\n created() {\r\n this.entityHID = this.$route.params.ehid;\r\n let v = this.$route.query.v;\r\n if (v == undefined) v = 'groups';\r\n this.view = v;\r\n },\r\n }\r\n\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HVGroupsList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HVGroupsList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HVGroupsList.vue?vue&type=template&id=5116c502&scoped=true\"\nimport script from \"./HVGroupsList.vue?vue&type=script&lang=js\"\nexport * from \"./HVGroupsList.vue?vue&type=script&lang=js\"\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 \"5116c502\",\n null\n \n)\n\nexport default component.exports","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-helper-vue-jsx-merge-props\");\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/progress\");\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&\nvar upload_listvue_type_template_id_173fedf5_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition-group\",\n {\n class: [\n \"el-upload-list\",\n \"el-upload-list--\" + _vm.listType,\n { \"is-disabled\": _vm.disabled }\n ],\n attrs: { tag: \"ul\", name: \"el-list\" }\n },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n {\n key: file.uid,\n class: [\n \"el-upload-list__item\",\n \"is-\" + file.status,\n _vm.focusing ? \"focusing\" : \"\"\n ],\n attrs: { tabindex: \"0\" },\n on: {\n keydown: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"delete\", [8, 46], $event.key, [\n \"Backspace\",\n \"Delete\",\n \"Del\"\n ])\n ) {\n return null\n }\n !_vm.disabled && _vm.$emit(\"remove\", file)\n },\n focus: function($event) {\n _vm.focusing = true\n },\n blur: function($event) {\n _vm.focusing = false\n },\n click: function($event) {\n _vm.focusing = false\n }\n }\n },\n [\n _vm._t(\n \"default\",\n [\n file.status !== \"uploading\" &&\n [\"picture-card\", \"picture\"].indexOf(_vm.listType) > -1\n ? _c(\"img\", {\n staticClass: \"el-upload-list__item-thumbnail\",\n attrs: { src: file.url, alt: \"\" }\n })\n : _vm._e(),\n _c(\n \"a\",\n {\n staticClass: \"el-upload-list__item-name\",\n on: {\n click: function($event) {\n _vm.handleClick(file)\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"el-icon-document\" }),\n _vm._v(_vm._s(file.name) + \"\\n \")\n ]\n ),\n _c(\n \"label\",\n { staticClass: \"el-upload-list__item-status-label\" },\n [\n _c(\"i\", {\n class: {\n \"el-icon-upload-success\": true,\n \"el-icon-circle-check\": _vm.listType === \"text\",\n \"el-icon-check\":\n [\"picture-card\", \"picture\"].indexOf(_vm.listType) > -1\n }\n })\n ]\n ),\n !_vm.disabled\n ? _c(\"i\", {\n staticClass: \"el-icon-close\",\n on: {\n click: function($event) {\n _vm.$emit(\"remove\", file)\n }\n }\n })\n : _vm._e(),\n !_vm.disabled\n ? _c(\"i\", { staticClass: \"el-icon-close-tip\" }, [\n _vm._v(_vm._s(_vm.t(\"el.upload.deleteTip\")))\n ])\n : _vm._e(),\n file.status === \"uploading\"\n ? _c(\"el-progress\", {\n attrs: {\n type: _vm.listType === \"picture-card\" ? \"circle\" : \"line\",\n \"stroke-width\": _vm.listType === \"picture-card\" ? 6 : 2,\n percentage: _vm.parsePercentage(file.percentage)\n }\n })\n : _vm._e(),\n _vm.listType === \"picture-card\"\n ? _c(\"span\", { staticClass: \"el-upload-list__item-actions\" }, [\n _vm.handlePreview && _vm.listType === \"picture-card\"\n ? _c(\n \"span\",\n {\n staticClass: \"el-upload-list__item-preview\",\n on: {\n click: function($event) {\n _vm.handlePreview(file)\n }\n }\n },\n [_c(\"i\", { staticClass: \"el-icon-zoom-in\" })]\n )\n : _vm._e(),\n !_vm.disabled\n ? _c(\n \"span\",\n {\n staticClass: \"el-upload-list__item-delete\",\n on: {\n click: function($event) {\n _vm.$emit(\"remove\", file)\n }\n }\n },\n [_c(\"i\", { staticClass: \"el-icon-delete\" })]\n )\n : _vm._e()\n ])\n : _vm._e()\n ],\n { file: file }\n )\n ],\n 2\n )\n }),\n 0\n )\n}\nvar staticRenderFns = []\nupload_listvue_type_template_id_173fedf5_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/progress\"\nvar progress_ = __webpack_require__(43);\nvar progress_default = /*#__PURE__*/__webpack_require__.n(progress_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var upload_listvue_type_script_lang_js_ = ({\n\n name: 'ElUploadList',\n\n mixins: [locale_default.a],\n\n data: function data() {\n return {\n focusing: false\n };\n },\n\n components: { ElProgress: progress_default.a },\n\n props: {\n files: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n handlePreview: Function,\n listType: String\n },\n methods: {\n parsePercentage: function parsePercentage(val) {\n return parseInt(val, 10);\n },\n handleClick: function handleClick(file) {\n this.handlePreview && this.handlePreview(file);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_upload_listvue_type_script_lang_js_ = (upload_listvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_upload_listvue_type_script_lang_js_,\n upload_listvue_type_template_id_173fedf5_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/upload/src/upload-list.vue\"\n/* harmony default export */ var upload_list = (component.exports);\n// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);\nvar external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);\n\n// CONCATENATED MODULE: ./packages/upload/src/ajax.js\nfunction getError(action, option, xhr) {\n var msg = void 0;\n if (xhr.response) {\n msg = '' + (xhr.response.error || xhr.response);\n } else if (xhr.responseText) {\n msg = '' + xhr.responseText;\n } else {\n msg = 'fail to post ' + action + ' ' + xhr.status;\n }\n\n var err = new Error(msg);\n err.status = xhr.status;\n err.method = 'post';\n err.url = action;\n return err;\n}\n\nfunction getBody(xhr) {\n var text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\nfunction upload(option) {\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var action = option.action;\n\n if (xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n var formData = new FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(function (key) {\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file, option.file.name);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(action, option, xhr));\n }\n\n option.onSuccess(getBody(xhr));\n };\n\n xhr.open('post', action, true);\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n var headers = option.headers || {};\n\n for (var item in headers) {\n if (headers.hasOwnProperty(item) && headers[item] !== null) {\n xhr.setRequestHeader(item, headers[item]);\n }\n }\n xhr.send(formData);\n return xhr;\n}\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&\nvar upload_draggervue_type_template_id_7ebbf219_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-upload-dragger\",\n class: {\n \"is-dragover\": _vm.dragover\n },\n on: {\n drop: function($event) {\n $event.preventDefault()\n return _vm.onDrop($event)\n },\n dragover: function($event) {\n $event.preventDefault()\n return _vm.onDragover($event)\n },\n dragleave: function($event) {\n $event.preventDefault()\n _vm.dragover = false\n }\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar upload_draggervue_type_template_id_7ebbf219_staticRenderFns = []\nupload_draggervue_type_template_id_7ebbf219_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var upload_draggervue_type_script_lang_js_ = ({\n name: 'ElUploadDrag',\n props: {\n disabled: Boolean\n },\n inject: {\n uploader: {\n default: ''\n }\n },\n data: function data() {\n return {\n dragover: false\n };\n },\n\n methods: {\n onDragover: function onDragover() {\n if (!this.disabled) {\n this.dragover = true;\n }\n },\n onDrop: function onDrop(e) {\n if (this.disabled || !this.uploader) return;\n var accept = this.uploader.accept;\n this.dragover = false;\n if (!accept) {\n this.$emit('file', e.dataTransfer.files);\n return;\n }\n this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) {\n var type = file.type,\n name = file.name;\n\n var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : '';\n var baseType = type.replace(/\\/.*$/, '');\n return accept.split(',').map(function (type) {\n return type.trim();\n }).filter(function (type) {\n return type;\n }).some(function (acceptedType) {\n if (/\\..+$/.test(acceptedType)) {\n return extension === acceptedType;\n }\n if (/\\/\\*$/.test(acceptedType)) {\n return baseType === acceptedType.replace(/\\/\\*$/, '');\n }\n if (/^[^\\/]+\\/[^\\/]+$/.test(acceptedType)) {\n return type === acceptedType;\n }\n return false;\n });\n }));\n }\n }\n});\n// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_upload_draggervue_type_script_lang_js_ = (upload_draggervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue\n\n\n\n\n\n/* normalize component */\n\nvar upload_dragger_component = Object(componentNormalizer[\"a\" /* default */])(\n src_upload_draggervue_type_script_lang_js_,\n upload_draggervue_type_template_id_7ebbf219_render,\n upload_draggervue_type_template_id_7ebbf219_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var upload_dragger_api; }\nupload_dragger_component.options.__file = \"packages/upload/src/upload-dragger.vue\"\n/* harmony default export */ var upload_dragger = (upload_dragger_component.exports);\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload.vue?vue&type=script&lang=js&\n\n\n\n\n\n/* harmony default export */ var uploadvue_type_script_lang_js_ = ({\n inject: ['uploader'],\n components: {\n UploadDragger: upload_dragger\n },\n props: {\n type: String,\n action: {\n type: String,\n required: true\n },\n name: {\n type: String,\n default: 'file'\n },\n data: Object,\n headers: Object,\n withCredentials: Boolean,\n multiple: Boolean,\n accept: String,\n onStart: Function,\n onProgress: Function,\n onSuccess: Function,\n onError: Function,\n beforeUpload: Function,\n drag: Boolean,\n onPreview: {\n type: Function,\n default: function _default() {}\n },\n onRemove: {\n type: Function,\n default: function _default() {}\n },\n fileList: Array,\n autoUpload: Boolean,\n listType: String,\n httpRequest: {\n type: Function,\n default: upload\n },\n disabled: Boolean,\n limit: Number,\n onExceed: Function\n },\n\n data: function data() {\n return {\n mouseover: false,\n reqs: {}\n };\n },\n\n\n methods: {\n isImage: function isImage(str) {\n return str.indexOf('image') !== -1;\n },\n handleChange: function handleChange(ev) {\n var files = ev.target.files;\n\n if (!files) return;\n this.uploadFiles(files);\n },\n uploadFiles: function uploadFiles(files) {\n var _this = this;\n\n if (this.limit && this.fileList.length + files.length > this.limit) {\n this.onExceed && this.onExceed(files, this.fileList);\n return;\n }\n\n var postFiles = Array.prototype.slice.call(files);\n if (!this.multiple) {\n postFiles = postFiles.slice(0, 1);\n }\n\n if (postFiles.length === 0) {\n return;\n }\n\n postFiles.forEach(function (rawFile) {\n _this.onStart(rawFile);\n if (_this.autoUpload) _this.upload(rawFile);\n });\n },\n upload: function upload(rawFile) {\n var _this2 = this;\n\n this.$refs.input.value = null;\n\n if (!this.beforeUpload) {\n return this.post(rawFile);\n }\n\n var before = this.beforeUpload(rawFile);\n if (before && before.then) {\n before.then(function (processedFile) {\n var fileType = Object.prototype.toString.call(processedFile);\n\n if (fileType === '[object File]' || fileType === '[object Blob]') {\n if (fileType === '[object Blob]') {\n processedFile = new File([processedFile], rawFile.name, {\n type: rawFile.type\n });\n }\n for (var p in rawFile) {\n if (rawFile.hasOwnProperty(p)) {\n processedFile[p] = rawFile[p];\n }\n }\n _this2.post(processedFile);\n } else {\n _this2.post(rawFile);\n }\n }, function () {\n _this2.onRemove(null, rawFile);\n });\n } else if (before !== false) {\n this.post(rawFile);\n } else {\n this.onRemove(null, rawFile);\n }\n },\n abort: function abort(file) {\n var reqs = this.reqs;\n\n if (file) {\n var uid = file;\n if (file.uid) uid = file.uid;\n if (reqs[uid]) {\n reqs[uid].abort();\n }\n } else {\n Object.keys(reqs).forEach(function (uid) {\n if (reqs[uid]) reqs[uid].abort();\n delete reqs[uid];\n });\n }\n },\n post: function post(rawFile) {\n var _this3 = this;\n\n var uid = rawFile.uid;\n\n var options = {\n headers: this.headers,\n withCredentials: this.withCredentials,\n file: rawFile,\n data: this.data,\n filename: this.name,\n action: this.action,\n onProgress: function onProgress(e) {\n _this3.onProgress(e, rawFile);\n },\n onSuccess: function onSuccess(res) {\n _this3.onSuccess(res, rawFile);\n delete _this3.reqs[uid];\n },\n onError: function onError(err) {\n _this3.onError(err, rawFile);\n delete _this3.reqs[uid];\n }\n };\n var req = this.httpRequest(options);\n this.reqs[uid] = req;\n if (req && req.then) {\n req.then(options.onSuccess, options.onError);\n }\n },\n handleClick: function handleClick() {\n if (!this.disabled) {\n this.$refs.input.value = null;\n this.$refs.input.click();\n }\n },\n handleKeydown: function handleKeydown(e) {\n if (e.target !== e.currentTarget) return;\n if (e.keyCode === 13 || e.keyCode === 32) {\n this.handleClick();\n }\n }\n },\n\n render: function render(h) {\n var handleClick = this.handleClick,\n drag = this.drag,\n name = this.name,\n handleChange = this.handleChange,\n multiple = this.multiple,\n accept = this.accept,\n listType = this.listType,\n uploadFiles = this.uploadFiles,\n disabled = this.disabled,\n handleKeydown = this.handleKeydown;\n\n var data = {\n class: {\n 'el-upload': true\n },\n on: {\n click: handleClick,\n keydown: handleKeydown\n }\n };\n data.class['el-upload--' + listType] = true;\n return h(\n 'div',\n external_babel_helper_vue_jsx_merge_props_default()([data, {\n attrs: { tabindex: '0' }\n }]),\n [drag ? h(\n 'upload-dragger',\n {\n attrs: { disabled: disabled },\n on: {\n 'file': uploadFiles\n }\n },\n [this.$slots.default]\n ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },\n ref: 'input', on: {\n 'change': handleChange\n }\n })]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_uploadvue_type_script_lang_js_ = (uploadvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/upload/src/upload.vue\nvar upload_render, upload_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar upload_component = Object(componentNormalizer[\"a\" /* default */])(\n src_uploadvue_type_script_lang_js_,\n upload_render,\n upload_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var upload_api; }\nupload_component.options.__file = \"packages/upload/src/upload.vue\"\n/* harmony default export */ var src_upload = (upload_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(11);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js&\n\n\n\n\n\n\nfunction noop() {}\n\n/* harmony default export */ var srcvue_type_script_lang_js_ = ({\n name: 'ElUpload',\n\n mixins: [migrating_default.a],\n\n components: {\n ElProgress: progress_default.a,\n UploadList: upload_list,\n Upload: src_upload\n },\n\n provide: function provide() {\n return {\n uploader: this\n };\n },\n\n\n inject: {\n elForm: {\n default: ''\n }\n },\n\n props: {\n action: {\n type: String,\n required: true\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: Object,\n multiple: Boolean,\n name: {\n type: String,\n default: 'file'\n },\n drag: Boolean,\n dragger: Boolean,\n withCredentials: Boolean,\n showFileList: {\n type: Boolean,\n default: true\n },\n accept: String,\n type: {\n type: String,\n default: 'select'\n },\n beforeUpload: Function,\n beforeRemove: Function,\n onRemove: {\n type: Function,\n default: noop\n },\n onChange: {\n type: Function,\n default: noop\n },\n onPreview: {\n type: Function\n },\n onSuccess: {\n type: Function,\n default: noop\n },\n onProgress: {\n type: Function,\n default: noop\n },\n onError: {\n type: Function,\n default: noop\n },\n fileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n autoUpload: {\n type: Boolean,\n default: true\n },\n listType: {\n type: String,\n default: 'text' // text,picture,picture-card\n },\n httpRequest: Function,\n disabled: Boolean,\n limit: Number,\n onExceed: {\n type: Function,\n default: noop\n }\n },\n\n data: function data() {\n return {\n uploadFiles: [],\n dragOver: false,\n draging: false,\n tempIndex: 1\n };\n },\n\n\n computed: {\n uploadDisabled: function uploadDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n }\n },\n\n watch: {\n listType: function listType(type) {\n if (type === 'picture-card' || type === 'picture') {\n this.uploadFiles = this.uploadFiles.map(function (file) {\n if (!file.url && file.raw) {\n try {\n file.url = URL.createObjectURL(file.raw);\n } catch (err) {\n console.error('[Element Error][Upload]', err);\n }\n }\n return file;\n });\n }\n },\n\n fileList: {\n immediate: true,\n handler: function handler(fileList) {\n var _this = this;\n\n this.uploadFiles = fileList.map(function (item) {\n item.uid = item.uid || Date.now() + _this.tempIndex++;\n item.status = item.status || 'success';\n return item;\n });\n }\n }\n },\n\n methods: {\n handleStart: function handleStart(rawFile) {\n rawFile.uid = Date.now() + this.tempIndex++;\n var file = {\n status: 'ready',\n name: rawFile.name,\n size: rawFile.size,\n percentage: 0,\n uid: rawFile.uid,\n raw: rawFile\n };\n\n if (this.listType === 'picture-card' || this.listType === 'picture') {\n try {\n file.url = URL.createObjectURL(rawFile);\n } catch (err) {\n console.error('[Element Error][Upload]', err);\n return;\n }\n }\n\n this.uploadFiles.push(file);\n this.onChange(file, this.uploadFiles);\n },\n handleProgress: function handleProgress(ev, rawFile) {\n var file = this.getFile(rawFile);\n this.onProgress(ev, file, this.uploadFiles);\n file.status = 'uploading';\n file.percentage = ev.percent || 0;\n },\n handleSuccess: function handleSuccess(res, rawFile) {\n var file = this.getFile(rawFile);\n\n if (file) {\n file.status = 'success';\n file.response = res;\n\n this.onSuccess(res, file, this.uploadFiles);\n this.onChange(file, this.uploadFiles);\n }\n },\n handleError: function handleError(err, rawFile) {\n var file = this.getFile(rawFile);\n var fileList = this.uploadFiles;\n\n file.status = 'fail';\n\n fileList.splice(fileList.indexOf(file), 1);\n\n this.onError(err, file, this.uploadFiles);\n this.onChange(file, this.uploadFiles);\n },\n handleRemove: function handleRemove(file, raw) {\n var _this2 = this;\n\n if (raw) {\n file = this.getFile(raw);\n }\n var doRemove = function doRemove() {\n _this2.abort(file);\n var fileList = _this2.uploadFiles;\n fileList.splice(fileList.indexOf(file), 1);\n _this2.onRemove(file, fileList);\n };\n\n if (!this.beforeRemove) {\n doRemove();\n } else if (typeof this.beforeRemove === 'function') {\n var before = this.beforeRemove(file, this.uploadFiles);\n if (before && before.then) {\n before.then(function () {\n doRemove();\n }, noop);\n } else if (before !== false) {\n doRemove();\n }\n }\n },\n getFile: function getFile(rawFile) {\n var fileList = this.uploadFiles;\n var target = void 0;\n fileList.every(function (item) {\n target = rawFile.uid === item.uid ? item : null;\n return !target;\n });\n return target;\n },\n abort: function abort(file) {\n this.$refs['upload-inner'].abort(file);\n },\n clearFiles: function clearFiles() {\n this.uploadFiles = [];\n },\n submit: function submit() {\n var _this3 = this;\n\n this.uploadFiles.filter(function (file) {\n return file.status === 'ready';\n }).forEach(function (file) {\n _this3.$refs['upload-inner'].upload(file.raw);\n });\n },\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'default-file-list': 'default-file-list is renamed to file-list.',\n 'show-upload-list': 'show-upload-list is renamed to show-file-list.',\n 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'\n }\n };\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.uploadFiles.forEach(function (file) {\n if (file.url && file.url.indexOf('blob:') === 0) {\n URL.revokeObjectURL(file.url);\n }\n });\n },\n render: function render(h) {\n var _this4 = this;\n\n var uploadList = void 0;\n\n if (this.showFileList) {\n uploadList = h(\n upload_list,\n {\n attrs: {\n disabled: this.uploadDisabled,\n listType: this.listType,\n files: this.uploadFiles,\n\n handlePreview: this.onPreview },\n on: {\n 'remove': this.handleRemove\n }\n },\n [function (props) {\n if (_this4.$scopedSlots.file) {\n return _this4.$scopedSlots.file({\n file: props.file\n });\n }\n }]\n );\n }\n\n var uploadData = {\n props: {\n type: this.type,\n drag: this.drag,\n action: this.action,\n multiple: this.multiple,\n 'before-upload': this.beforeUpload,\n 'with-credentials': this.withCredentials,\n headers: this.headers,\n name: this.name,\n data: this.data,\n accept: this.accept,\n fileList: this.uploadFiles,\n autoUpload: this.autoUpload,\n listType: this.listType,\n disabled: this.uploadDisabled,\n limit: this.limit,\n 'on-exceed': this.onExceed,\n 'on-start': this.handleStart,\n 'on-progress': this.handleProgress,\n 'on-success': this.handleSuccess,\n 'on-error': this.handleError,\n 'on-preview': this.onPreview,\n 'on-remove': this.handleRemove,\n 'http-request': this.httpRequest\n },\n ref: 'upload-inner'\n };\n\n var trigger = this.$slots.trigger || this.$slots.default;\n var uploadComponent = h(\n 'upload',\n uploadData,\n [trigger]\n );\n\n return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']);\n }\n});\n// CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js&\n /* harmony default export */ var upload_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/upload/src/index.vue\nvar src_render, src_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar src_component = Object(componentNormalizer[\"a\" /* default */])(\n upload_srcvue_type_script_lang_js_,\n src_render,\n src_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var src_api; }\nsrc_component.options.__file = \"packages/upload/src/index.vue\"\n/* harmony default export */ var src = (src_component.exports);\n// CONCATENATED MODULE: ./packages/upload/index.js\n\n\n/* istanbul ignore next */\nsrc.install = function (Vue) {\n Vue.component(src.name, src);\n};\n\n/* harmony default export */ var packages_upload = __webpack_exports__[\"default\"] = (src);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ })\n\n/******/ });","/**\n * Copyright 2004-present Facebook. All Rights Reserved.\n *\n * @providesModule UserAgent_DEPRECATED\n */\n\n/**\n * Provides entirely client-side User Agent and OS detection. You should prefer\n * the non-deprecated UserAgent module when possible, which exposes our\n * authoritative server-side PHP-based detection to the client.\n *\n * Usage is straightforward:\n *\n * if (UserAgent_DEPRECATED.ie()) {\n * // IE\n * }\n *\n * You can also do version checks:\n *\n * if (UserAgent_DEPRECATED.ie() >= 7) {\n * // IE7 or better\n * }\n *\n * The browser functions will return NaN if the browser does not match, so\n * you can also do version compares the other way:\n *\n * if (UserAgent_DEPRECATED.ie() < 7) {\n * // IE6 or worse\n * }\n *\n * Note that the version is a float and may include a minor version number,\n * so you should always use range operators to perform comparisons, not\n * strict equality.\n *\n * **Note:** You should **strongly** prefer capability detection to browser\n * version detection where it's reasonable:\n *\n * http://www.quirksmode.org/js/support.html\n *\n * Further, we have a large number of mature wrapper functions and classes\n * which abstract away many browser irregularities. Check the documentation,\n * grep for things, or ask on javascript@lists.facebook.com before writing yet\n * another copy of \"event || window.event\".\n *\n */\n\nvar _populated = false;\n\n// Browsers\nvar _ie, _firefox, _opera, _webkit, _chrome;\n\n// Actual IE browser for compatibility mode\nvar _ie_real_version;\n\n// Platforms\nvar _osx, _windows, _linux, _android;\n\n// Architectures\nvar _win64;\n\n// Devices\nvar _iphone, _ipad, _native;\n\nvar _mobile;\n\nfunction _populate() {\n if (_populated) {\n return;\n }\n\n _populated = true;\n\n // To work around buggy JS libraries that can't handle multi-digit\n // version numbers, Opera 10's user agent string claims it's Opera\n // 9, then later includes a Version/X.Y field:\n //\n // Opera/9.80 (foo) Presto/2.2.15 Version/10.10\n var uas = navigator.userAgent;\n var agent = /(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(uas);\n var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas);\n\n _iphone = /\\b(iPhone|iP[ao]d)/.exec(uas);\n _ipad = /\\b(iP[ao]d)/.exec(uas);\n _android = /Android/i.exec(uas);\n _native = /FBAN\\/\\w+;/i.exec(uas);\n _mobile = /Mobile/i.exec(uas);\n\n // Note that the IE team blog would have you believe you should be checking\n // for 'Win64; x64'. But MSDN then reveals that you can actually be coming\n // from either x64 or ia64; so ultimately, you should just check for Win64\n // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit\n // Windows will send 'WOW64' instead.\n _win64 = !!(/Win64/.exec(uas));\n\n if (agent) {\n _ie = agent[1] ? parseFloat(agent[1]) : (\n agent[5] ? parseFloat(agent[5]) : NaN);\n // IE compatibility mode\n if (_ie && document && document.documentMode) {\n _ie = document.documentMode;\n }\n // grab the \"true\" ie version from the trident token if available\n var trident = /(?:Trident\\/(\\d+.\\d+))/.exec(uas);\n _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie;\n\n _firefox = agent[2] ? parseFloat(agent[2]) : NaN;\n _opera = agent[3] ? parseFloat(agent[3]) : NaN;\n _webkit = agent[4] ? parseFloat(agent[4]) : NaN;\n if (_webkit) {\n // We do not add the regexp to the above test, because it will always\n // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in\n // the userAgent string.\n agent = /(?:Chrome\\/(\\d+\\.\\d+))/.exec(uas);\n _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN;\n } else {\n _chrome = NaN;\n }\n } else {\n _ie = _firefox = _opera = _chrome = _webkit = NaN;\n }\n\n if (os) {\n if (os[1]) {\n // Detect OS X version. If no version number matches, set _osx to true.\n // Version examples: 10, 10_6_1, 10.7\n // Parses version number as a float, taking only first two sets of\n // digits. If only one set of digits is found, returns just the major\n // version number.\n var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n } else {\n _osx = false;\n }\n _windows = !!os[2];\n _linux = !!os[3];\n } else {\n _osx = _windows = _linux = false;\n }\n}\n\nvar UserAgent_DEPRECATED = {\n\n /**\n * Check if the UA is Internet Explorer.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n ie: function() {\n return _populate() || _ie;\n },\n\n /**\n * Check if we're in Internet Explorer compatibility mode.\n *\n * @return bool true if in compatibility mode, false if\n * not compatibility mode or not ie\n */\n ieCompatibilityMode: function() {\n return _populate() || (_ie_real_version > _ie);\n },\n\n\n /**\n * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we\n * only need this because Skype can't handle 64-bit IE yet. We need to remove\n * this when we don't need it -- tracked by #601957.\n */\n ie64: function() {\n return UserAgent_DEPRECATED.ie() && _win64;\n },\n\n /**\n * Check if the UA is Firefox.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n firefox: function() {\n return _populate() || _firefox;\n },\n\n\n /**\n * Check if the UA is Opera.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n opera: function() {\n return _populate() || _opera;\n },\n\n\n /**\n * Check if the UA is WebKit.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n webkit: function() {\n return _populate() || _webkit;\n },\n\n /**\n * For Push\n * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n */\n safari: function() {\n return UserAgent_DEPRECATED.webkit();\n },\n\n /**\n * Check if the UA is a Chrome browser.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n chrome : function() {\n return _populate() || _chrome;\n },\n\n\n /**\n * Check if the user is running Windows.\n *\n * @return bool `true' if the user's OS is Windows.\n */\n windows: function() {\n return _populate() || _windows;\n },\n\n\n /**\n * Check if the user is running Mac OS X.\n *\n * @return float|bool Returns a float if a version number is detected,\n * otherwise true/false.\n */\n osx: function() {\n return _populate() || _osx;\n },\n\n /**\n * Check if the user is running Linux.\n *\n * @return bool `true' if the user's OS is some flavor of Linux.\n */\n linux: function() {\n return _populate() || _linux;\n },\n\n /**\n * Check if the user is running on an iPhone or iPod platform.\n *\n * @return bool `true' if the user is running some flavor of the\n * iPhone OS.\n */\n iphone: function() {\n return _populate() || _iphone;\n },\n\n mobile: function() {\n return _populate() || (_iphone || _ipad || _android || _mobile);\n },\n\n nativeApp: function() {\n // webviews inside of the native apps\n return _populate() || _native;\n },\n\n android: function() {\n return _populate() || _android;\n },\n\n ipad: function() {\n return _populate() || _ipad;\n }\n};\n\nmodule.exports = UserAgent_DEPRECATED;\n","'use strict';\n\nvar _ = require('../lib/helper');\nvar dom = require('../lib/dom');\nvar instances = require('./instances');\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n\n if (!i) {\n return;\n }\n\n i.event.unbindAll();\n dom.remove(i.scrollbarX);\n dom.remove(i.scrollbarY);\n dom.remove(i.scrollbarXRail);\n dom.remove(i.scrollbarYRail);\n _.removePsClasses(element);\n\n instances.remove(element);\n};\n","/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ExecutionEnvironment\n */\n\n/*jslint evil: true */\n\n'use strict';\n\nvar canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners:\n canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{staticClass:\"benchmark-card\"},[(_vm.mode === 'info')?_c('div',{staticClass:\"row row-cols-2\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"col-8\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"col-4 text-right\",style:({color: _vm.iconColor})},[_vm._t(\"icon\",function(){return [_c('i',{staticClass:\"fa-3x\",class:_vm.icon})]})],2)]):_vm._e(),(_vm.mode === 'diff')?_c('div',{staticClass:\"row row-cols-2\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',{staticClass:\"card-title text-center\"},[_vm._v(_vm._s(_vm.title))])])]):_vm._e(),_c('div',{staticClass:\"row align-items-center\"},[(_vm.mode === 'info')?_c('div',{staticClass:\"col-12 text-reacted\",style:({color: _vm.reactedColor})},[_c('h5',{staticClass:\"text-left\"},[_vm._v(_vm._s(_vm.$t('cards.benchmarkCard.reactedHeader')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto text-left\"},[_c('span',{staticClass:\"value-percent\"},[_vm._v(\" \"+_vm._s(_vm.reacted)+\"% \")])]),_c('div',{staticClass:\"col text-right\"},[_c('i',{staticClass:\"fa-solid fa-hand-point-up fa-3x\"})])]),(_vm.mode === 'diff')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 text-center\"},[_c('span',{staticClass:\"value-percent\"},[_vm._v(\" \"+_vm._s(_vm.reacted)+\"% \")])])]):_vm._e(),_c('el-progress',{attrs:{\"type\":\"line\",\"percentage\":_vm.reacted,\"color\":_vm.reactedColor,\"show-text\":false}})],1):_vm._e(),(_vm.mode === 'diff')?_c('div',{staticClass:\"col-12 text-reacted\"},[_c('h5',{staticClass:\"text-center\",style:({color: _vm.reactedColor})},[_vm._v(_vm._s(_vm.$t('cards.benchmarkCard.reactedHeader')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 text-center\",style:({color: _vm.reactedSemaforColor})},[_c('span',{staticClass:\"value-percent\"},[_vm._v(\" \"+_vm._s(_vm.reacted)+\"% \")])])]),(_vm.mode === 'diff')?_c('el-progress',{attrs:{\"type\":\"line\",\"percentage\":100,\"color\":_vm.reactedSemaforColor,\"show-text\":false}}):_vm._e()],1):_vm._e(),(_vm.mode === 'info')?_c('div',{staticClass:\"col-12 mt-5 text-compromised\",style:({color: _vm.compromisedColor})},[_c('h5',{staticClass:\"text-left\"},[_vm._v(_vm._s(_vm.$t('cards.benchmarkCard.compromisedHeader')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto text-left\"},[_c('span',{staticClass:\"value-percent\"},[_vm._v(_vm._s(_vm.compromised)+\"%\")])]),(_vm.mode === 'info')?_c('div',{staticClass:\"col text-right\"},[_c('i',{staticClass:\"fa fa-bomb fa-3x\"})]):_vm._e()]),_c('el-progress',{attrs:{\"type\":\"line\",\"percentage\":_vm.compromised,\"color\":_vm.compromisedColor,\"show-text\":false}})],1):_vm._e(),(_vm.mode === 'diff')?_c('div',{staticClass:\"col-12 mt-5 text-compromised\"},[_c('h5',{staticClass:\"text-center\",style:({color: _vm.compromisedColor})},[_vm._v(_vm._s(_vm.$t('cards.benchmarkCard.compromisedHeader')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 text-center\",style:({color: _vm.compromisedSemaforColor})},[_c('span',{staticClass:\"value-percent\"},[_vm._v(_vm._s(_vm.compromised)+\"%\")])])]),_c('el-progress',{attrs:{\"type\":\"line\",\"percentage\":100,\"color\":_vm.compromisedSemaforColor,\"show-text\":false}})],1):_vm._e()]),_c('div',{staticClass:\"text-muted text-left\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_vm._v(\" \"+_vm._s(_vm.footerText)+\" \")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <card class=\"benchmark-card\">\r\n <div class=\"row row-cols-2\" slot=\"header\" v-if=\"mode === 'info'\">\r\n <div class=\"col-8\">\r\n <h4 class=\"card-title\">{{title}}</h4>\r\n </div>\r\n <div class=\"col-4 text-right\" :style=\"{color: iconColor}\">\r\n <slot name=\"icon\">\r\n <i class=\"fa-3x\" :class=\"icon\" ></i>\r\n </slot>\r\n </div>\r\n </div>\r\n <div class=\"row row-cols-2\" slot=\"header\" v-if=\"mode === 'diff'\">\r\n <div class=\"col-12\">\r\n <h4 class=\"card-title text-center\">{{title}}</h4>\r\n </div>\r\n </div>\r\n <div class=\"row align-items-center\">\r\n <div class=\"col-12 text-reacted\" :style=\"{color: reactedColor}\" v-if=\"mode === 'info'\">\r\n <h5 class=\"text-left\">{{$t('cards.benchmarkCard.reactedHeader')}}</h5>\r\n <div class=\"row\">\r\n <div class=\"col-auto text-left\">\r\n <span class=\"value-percent\">\r\n {{reacted}}%\r\n </span>\r\n </div>\r\n <div class=\"col text-right\">\r\n <i class=\"fa-solid fa-hand-point-up fa-3x\"></i>\r\n </div>\r\n </div>\r\n <div class=\"row\" v-if=\"mode === 'diff'\">\r\n <div class=\"col-12 text-center\">\r\n <span class=\"value-percent\">\r\n {{reacted}}%\r\n </span>\r\n </div>\r\n </div>\r\n <el-progress type=\"line\" :percentage=\"reacted\" :color=\"reactedColor\" :show-text=\"false\"></el-progress>\r\n </div>\r\n <div class=\"col-12 text-reacted\" v-if=\"mode === 'diff'\">\r\n <h5 class=\"text-center\" :style=\"{color: reactedColor}\">{{$t('cards.benchmarkCard.reactedHeader')}}</h5>\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center\" :style=\"{color: reactedSemaforColor}\">\r\n <span class=\"value-percent\">\r\n {{reacted}}%\r\n </span>\r\n </div>\r\n </div>\r\n <el-progress type=\"line\" :percentage=\"100\" :color=\"reactedSemaforColor\" :show-text=\"false\" v-if=\"mode === 'diff'\"></el-progress>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"col-12 mt-5 text-compromised\" :style=\"{color: compromisedColor}\" v-if=\"mode === 'info'\">\r\n <h5 class=\"text-left\">{{$t('cards.benchmarkCard.compromisedHeader')}}</h5>\r\n <div class=\"row\">\r\n <div class=\"col-auto text-left \">\r\n <span class=\"value-percent\">{{compromised}}%</span>\r\n </div>\r\n <div class=\"col text-right\" v-if=\"mode === 'info'\">\r\n <i class=\"fa fa-bomb fa-3x\"></i>\r\n </div>\r\n </div>\r\n <el-progress type=\"line\" :percentage=\"compromised\" :color=\"compromisedColor\" :show-text=\"false\"></el-progress>\r\n </div>\r\n <div class=\"col-12 mt-5 text-compromised\" v-if=\"mode === 'diff'\">\r\n <h5 class=\"text-center\" :style=\"{color: compromisedColor}\">{{$t('cards.benchmarkCard.compromisedHeader')}}</h5>\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center\" :style=\"{color: compromisedSemaforColor}\">\r\n <span class=\"value-percent\">{{compromised}}%</span>\r\n </div>\r\n </div>\r\n <el-progress type=\"line\" :percentage=\"100\" :color=\"compromisedSemaforColor\" :show-text=\"false\"></el-progress>\r\n </div>\r\n </div>\r\n\r\n <div slot=\"footer\" class=\"text-muted text-left\">\r\n {{footerText}}\r\n </div>\r\n\r\n </card>\r\n</template>\r\n\r\n<script>\r\n import { Progress, Divider } from 'element-ui'\r\n\r\n export default {\r\n name: 'benchmark-card',\r\n components: {\r\n [Progress.name]: Progress,\r\n [Divider.name]: Divider,\r\n },\r\n props: {\r\n color: {\r\n type: String,\r\n default: null,\r\n },\r\n icon: {\r\n type: String,\r\n default: \"fa-solid fa-file-shield\",\r\n },\r\n title: {\r\n type: String,\r\n },\r\n footerText: {\r\n type: String,\r\n },\r\n reacted: {\r\n type: Number,\r\n },\r\n compromised: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: String,\r\n default: \"info\",\r\n description: \"info|diff\"\r\n }\r\n },\r\n methods: {\r\n diffSemaforColor(value) {\r\n if (value > 0) {\r\n return \"#41EC2D\"; // zelena\r\n }\r\n else if (value < 0 && value > -4) {\r\n return \"#FFFF00\"; // zluta\r\n }\r\n else {\r\n return \"#FF0000\"; // cervena\r\n }\r\n }\r\n },\r\n computed: {\r\n iconColor() {\r\n //if(this.color == null)\r\n return \"#6d6d6c\";\r\n //return this.color;\r\n },\r\n reactedColor() {\r\n if (this.mode === 'info') {\r\n if (this.color == null)\r\n return \"#ffa500\";\r\n return this.color;\r\n }\r\n if (this.mode === 'diff') {\r\n return \"#6d6d6c\";\r\n }\r\n },\r\n compromisedColor() {\r\n if (this.mode === 'info') {\r\n if (this.color == null)\r\n return \"#ef8157\";\r\n return this.color;\r\n }\r\n if (this.mode === 'diff') {\r\n return \"#6d6d6c\";\r\n }\r\n },\r\n reactedSemaforColor() {\r\n return this.diffSemaforColor(this.reacted);\r\n\r\n },\r\n compromisedSemaforColor() {\r\n return this.diffSemaforColor(this.compromised);\r\n },\r\n\r\n },\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BenchmarkCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BenchmarkCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BenchmarkCard.vue?vue&type=template&id=5424d1d3&scoped=true\"\nimport script from \"./BenchmarkCard.vue?vue&type=script&lang=js\"\nexport * from \"./BenchmarkCard.vue?vue&type=script&lang=js\"\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 \"5424d1d3\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar DOM = {};\n\nDOM.e = function (tagName, className) {\n var element = document.createElement(tagName);\n element.className = className;\n return element;\n};\n\nDOM.appendTo = function (child, parent) {\n parent.appendChild(child);\n return child;\n};\n\nfunction cssGet(element, styleName) {\n return window.getComputedStyle(element)[styleName];\n}\n\nfunction cssSet(element, styleName, styleValue) {\n if (typeof styleValue === 'number') {\n styleValue = styleValue.toString() + 'px';\n }\n element.style[styleName] = styleValue;\n return element;\n}\n\nfunction cssMultiSet(element, obj) {\n for (var key in obj) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = val.toString() + 'px';\n }\n element.style[key] = val;\n }\n return element;\n}\n\nDOM.css = function (element, styleNameOrObject, styleValue) {\n if (typeof styleNameOrObject === 'object') {\n // multiple set with object\n return cssMultiSet(element, styleNameOrObject);\n } else {\n if (typeof styleValue === 'undefined') {\n return cssGet(element, styleNameOrObject);\n } else {\n return cssSet(element, styleNameOrObject, styleValue);\n }\n }\n};\n\nDOM.matches = function (element, query) {\n if (typeof element.matches !== 'undefined') {\n return element.matches(query);\n } else {\n if (typeof element.matchesSelector !== 'undefined') {\n return element.matchesSelector(query);\n } else if (typeof element.webkitMatchesSelector !== 'undefined') {\n return element.webkitMatchesSelector(query);\n } else if (typeof element.mozMatchesSelector !== 'undefined') {\n return element.mozMatchesSelector(query);\n } else if (typeof element.msMatchesSelector !== 'undefined') {\n return element.msMatchesSelector(query);\n }\n }\n};\n\nDOM.remove = function (element) {\n if (typeof element.remove !== 'undefined') {\n element.remove();\n } else {\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n }\n};\n\nDOM.queryChildren = function (element, selector) {\n return Array.prototype.filter.call(element.childNodes, function (child) {\n return DOM.matches(child, selector);\n });\n};\n\nmodule.exports = DOM;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 58);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */,\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n/* 4 */,\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return getCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return orderBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return getColumnById; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return getColumnByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return getColumnByCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return getRowIdentity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return getKeysMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return mergeOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return parseWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return parseMinWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return parseHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return compose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return toggleRowStatus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return walkTreeNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return objectEquals; });\n/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);\n/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nvar getCell = function getCell(event) {\n var cell = event.target;\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell;\n }\n cell = cell.parentNode;\n }\n\n return null;\n};\n\nvar isObject = function isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n};\n\nvar orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) {\n if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) {\n return array;\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1;\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1;\n }\n var getKey = sortMethod ? null : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy];\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[\"getValueByPath\"])(value, by);\n } else {\n return by(value, index, array);\n }\n });\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value;\n }\n return [isObject(value) ? Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[\"getValueByPath\"])(value, sortKey) : value];\n };\n var compare = function compare(a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value);\n }\n for (var i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1;\n }\n if (a.key[i] > b.key[i]) {\n return 1;\n }\n }\n return 0;\n };\n return array.map(function (value, index) {\n return {\n value: value,\n index: index,\n key: getKey ? getKey(value, index) : null\n };\n }).sort(function (a, b) {\n var order = compare(a, b);\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index;\n }\n return order * reverse;\n }).map(function (item) {\n return item.value;\n });\n};\n\nvar getColumnById = function getColumnById(table, columnId) {\n var column = null;\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item;\n }\n });\n return column;\n};\n\nvar getColumnByKey = function getColumnByKey(table, columnKey) {\n var column = null;\n for (var i = 0; i < table.columns.length; i++) {\n var item = table.columns[i];\n if (item.columnKey === columnKey) {\n column = item;\n break;\n }\n }\n return column;\n};\n\nvar getColumnByCell = function getColumnByCell(table, cell) {\n var matches = (cell.className || '').match(/el-table_[^\\s]+/gm);\n if (matches) {\n return getColumnById(table, matches[0]);\n }\n return null;\n};\n\nvar getRowIdentity = function getRowIdentity(row, rowKey) {\n if (!row) throw new Error('row is required when get row identity');\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return row[rowKey];\n }\n var key = rowKey.split('.');\n var current = row;\n for (var i = 0; i < key.length; i++) {\n current = current[key[i]];\n }\n return current;\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row);\n }\n};\n\nvar getKeysMap = function getKeysMap(array, rowKey) {\n var arrayMap = {};\n (array || []).forEach(function (row, index) {\n arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index };\n });\n return arrayMap;\n};\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction mergeOptions(defaults, config) {\n var options = {};\n var key = void 0;\n for (key in defaults) {\n options[key] = defaults[key];\n }\n for (key in config) {\n if (hasOwn(config, key)) {\n var value = config[key];\n if (typeof value !== 'undefined') {\n options[key] = value;\n }\n }\n }\n return options;\n}\n\nfunction parseWidth(width) {\n if (width !== undefined) {\n width = parseInt(width, 10);\n if (isNaN(width)) {\n width = null;\n }\n }\n return width;\n}\n\nfunction parseMinWidth(minWidth) {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth);\n if (isNaN(minWidth)) {\n minWidth = 80;\n }\n }\n return minWidth;\n};\n\nfunction parseHeight(height) {\n if (typeof height === 'number') {\n return height;\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10);\n } else {\n return height;\n }\n }\n return null;\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nfunction compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\nfunction toggleRowStatus(statusArr, row, newVal) {\n var changed = false;\n var index = statusArr.indexOf(row);\n var included = index !== -1;\n\n var addRow = function addRow() {\n statusArr.push(row);\n changed = true;\n };\n var removeRow = function removeRow() {\n statusArr.splice(index, 1);\n changed = true;\n };\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow();\n } else if (!newVal && included) {\n removeRow();\n }\n } else {\n if (included) {\n removeRow();\n } else {\n addRow();\n }\n }\n return changed;\n}\n\nfunction walkTreeNode(root, cb) {\n var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';\n var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren';\n\n var isNil = function isNil(array) {\n return !(Array.isArray(array) && array.length);\n };\n\n function _walker(parent, children, level) {\n cb(parent, children, level);\n children.forEach(function (item) {\n if (item[lazyKey]) {\n cb(item, null, level + 1);\n return;\n }\n var children = item[childrenKey];\n if (!isNil(children)) {\n _walker(item, children, level + 1);\n }\n });\n }\n\n root.forEach(function (item) {\n if (item[lazyKey]) {\n cb(item, null, 0);\n return;\n }\n var children = item[childrenKey];\n if (!isNil(children)) {\n _walker(item, children, 0);\n }\n });\n}\n\nvar objectEquals = function objectEquals(objectA, objectB) {\n // å–对象aå’Œb的属性å\n var aProps = Object.getOwnPropertyNames(objectA);\n var bProps = Object.getOwnPropertyNames(objectB);\n // 判æ–属性åçš„length是å¦ä¸€è‡´\n if (aProps.length !== bProps.length) {\n return false;\n }\n // 循环å–出属性å,å†åˆ¤æ–属性值是å¦ä¸€è‡´\n for (var i = 0; i < aProps.length; i++) {\n var propName = aProps[i];\n if (objectA[propName] !== objectB[propName]) {\n return false;\n }\n }\n return true;\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ }),\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/popup\");\n\n/***/ }),\n/* 14 */,\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n/* 17 */,\n/* 18 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n/* 20 */,\n/* 21 */,\n/* 22 */,\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tooltip\");\n\n/***/ }),\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */,\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */,\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scrollbar-width\");\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox-group\");\n\n/***/ }),\n/* 41 */,\n/* 42 */,\n/* 43 */,\n/* 44 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce\");\n\n/***/ }),\n/* 45 */,\n/* 46 */,\n/* 47 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"normalize-wheel\");\n\n/***/ }),\n/* 48 */,\n/* 49 */,\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=template&id=493fe34e&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-table\",\n class: [\n {\n \"el-table--fit\": _vm.fit,\n \"el-table--striped\": _vm.stripe,\n \"el-table--border\": _vm.border || _vm.isGroup,\n \"el-table--hidden\": _vm.isHidden,\n \"el-table--group\": _vm.isGroup,\n \"el-table--fluid-height\": _vm.maxHeight,\n \"el-table--scrollable-x\": _vm.layout.scrollX,\n \"el-table--scrollable-y\": _vm.layout.scrollY,\n \"el-table--enable-row-hover\": !_vm.store.states.isComplex,\n \"el-table--enable-row-transition\":\n (_vm.store.states.data || []).length !== 0 &&\n (_vm.store.states.data || []).length < 100\n },\n _vm.tableSize ? \"el-table--\" + _vm.tableSize : \"\"\n ],\n on: {\n mouseleave: function($event) {\n _vm.handleMouseLeave($event)\n }\n }\n },\n [\n _c(\n \"div\",\n { ref: \"hiddenColumns\", staticClass: \"hidden-columns\" },\n [_vm._t(\"default\")],\n 2\n ),\n _vm.showHeader\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"mousewheel\",\n rawName: \"v-mousewheel\",\n value: _vm.handleHeaderFooterMousewheel,\n expression: \"handleHeaderFooterMousewheel\"\n }\n ],\n ref: \"headerWrapper\",\n staticClass: \"el-table__header-wrapper\"\n },\n [\n _c(\"table-header\", {\n ref: \"tableHeader\",\n style: {\n width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + \"px\" : \"\"\n },\n attrs: {\n store: _vm.store,\n border: _vm.border,\n \"default-sort\": _vm.defaultSort\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n ref: \"bodyWrapper\",\n staticClass: \"el-table__body-wrapper\",\n class: [\n _vm.layout.scrollX\n ? \"is-scrolling-\" + _vm.scrollPosition\n : \"is-scrolling-none\"\n ],\n style: [_vm.bodyHeight]\n },\n [\n _c(\"table-body\", {\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n context: _vm.context,\n store: _vm.store,\n stripe: _vm.stripe,\n \"row-class-name\": _vm.rowClassName,\n \"row-style\": _vm.rowStyle,\n highlight: _vm.highlightCurrentRow\n }\n }),\n !_vm.data || _vm.data.length === 0\n ? _c(\n \"div\",\n {\n ref: \"emptyBlock\",\n staticClass: \"el-table__empty-block\",\n style: _vm.emptyBlockStyle\n },\n [\n _c(\n \"span\",\n { staticClass: \"el-table__empty-text\" },\n [\n _vm._t(\"empty\", [\n _vm._v(\n _vm._s(_vm.emptyText || _vm.t(\"el.table.emptyText\"))\n )\n ])\n ],\n 2\n )\n ]\n )\n : _vm._e(),\n _vm.$slots.append\n ? _c(\n \"div\",\n {\n ref: \"appendWrapper\",\n staticClass: \"el-table__append-wrapper\"\n },\n [_vm._t(\"append\")],\n 2\n )\n : _vm._e()\n ],\n 1\n ),\n _vm.showSummary\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.data && _vm.data.length > 0,\n expression: \"data && data.length > 0\"\n },\n {\n name: \"mousewheel\",\n rawName: \"v-mousewheel\",\n value: _vm.handleHeaderFooterMousewheel,\n expression: \"handleHeaderFooterMousewheel\"\n }\n ],\n ref: \"footerWrapper\",\n staticClass: \"el-table__footer-wrapper\"\n },\n [\n _c(\"table-footer\", {\n style: {\n width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + \"px\" : \"\"\n },\n attrs: {\n store: _vm.store,\n border: _vm.border,\n \"sum-text\": _vm.sumText || _vm.t(\"el.table.sumText\"),\n \"summary-method\": _vm.summaryMethod,\n \"default-sort\": _vm.defaultSort\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm.fixedColumns.length > 0\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"mousewheel\",\n rawName: \"v-mousewheel\",\n value: _vm.handleFixedMousewheel,\n expression: \"handleFixedMousewheel\"\n }\n ],\n ref: \"fixedWrapper\",\n staticClass: \"el-table__fixed\",\n style: [\n {\n width: _vm.layout.fixedWidth\n ? _vm.layout.fixedWidth + \"px\"\n : \"\"\n },\n _vm.fixedHeight\n ]\n },\n [\n _vm.showHeader\n ? _c(\n \"div\",\n {\n ref: \"fixedHeaderWrapper\",\n staticClass: \"el-table__fixed-header-wrapper\"\n },\n [\n _c(\"table-header\", {\n ref: \"fixedTableHeader\",\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"left\",\n border: _vm.border,\n store: _vm.store\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n ref: \"fixedBodyWrapper\",\n staticClass: \"el-table__fixed-body-wrapper\",\n style: [\n {\n top: _vm.layout.headerHeight + \"px\"\n },\n _vm.fixedBodyHeight\n ]\n },\n [\n _c(\"table-body\", {\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"left\",\n store: _vm.store,\n stripe: _vm.stripe,\n highlight: _vm.highlightCurrentRow,\n \"row-class-name\": _vm.rowClassName,\n \"row-style\": _vm.rowStyle\n }\n }),\n _vm.$slots.append\n ? _c(\"div\", {\n staticClass: \"el-table__append-gutter\",\n style: { height: _vm.layout.appendHeight + \"px\" }\n })\n : _vm._e()\n ],\n 1\n ),\n _vm.showSummary\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.data && _vm.data.length > 0,\n expression: \"data && data.length > 0\"\n }\n ],\n ref: \"fixedFooterWrapper\",\n staticClass: \"el-table__fixed-footer-wrapper\"\n },\n [\n _c(\"table-footer\", {\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"left\",\n border: _vm.border,\n \"sum-text\": _vm.sumText || _vm.t(\"el.table.sumText\"),\n \"summary-method\": _vm.summaryMethod,\n store: _vm.store\n }\n })\n ],\n 1\n )\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm.rightFixedColumns.length > 0\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"mousewheel\",\n rawName: \"v-mousewheel\",\n value: _vm.handleFixedMousewheel,\n expression: \"handleFixedMousewheel\"\n }\n ],\n ref: \"rightFixedWrapper\",\n staticClass: \"el-table__fixed-right\",\n style: [\n {\n width: _vm.layout.rightFixedWidth\n ? _vm.layout.rightFixedWidth + \"px\"\n : \"\",\n right: _vm.layout.scrollY\n ? (_vm.border\n ? _vm.layout.gutterWidth\n : _vm.layout.gutterWidth || 0) + \"px\"\n : \"\"\n },\n _vm.fixedHeight\n ]\n },\n [\n _vm.showHeader\n ? _c(\n \"div\",\n {\n ref: \"rightFixedHeaderWrapper\",\n staticClass: \"el-table__fixed-header-wrapper\"\n },\n [\n _c(\"table-header\", {\n ref: \"rightFixedTableHeader\",\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"right\",\n border: _vm.border,\n store: _vm.store\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n ref: \"rightFixedBodyWrapper\",\n staticClass: \"el-table__fixed-body-wrapper\",\n style: [\n {\n top: _vm.layout.headerHeight + \"px\"\n },\n _vm.fixedBodyHeight\n ]\n },\n [\n _c(\"table-body\", {\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"right\",\n store: _vm.store,\n stripe: _vm.stripe,\n \"row-class-name\": _vm.rowClassName,\n \"row-style\": _vm.rowStyle,\n highlight: _vm.highlightCurrentRow\n }\n }),\n _vm.$slots.append\n ? _c(\"div\", {\n staticClass: \"el-table__append-gutter\",\n style: { height: _vm.layout.appendHeight + \"px\" }\n })\n : _vm._e()\n ],\n 1\n ),\n _vm.showSummary\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.data && _vm.data.length > 0,\n expression: \"data && data.length > 0\"\n }\n ],\n ref: \"rightFixedFooterWrapper\",\n staticClass: \"el-table__fixed-footer-wrapper\"\n },\n [\n _c(\"table-footer\", {\n style: {\n width: _vm.bodyWidth\n },\n attrs: {\n fixed: \"right\",\n border: _vm.border,\n \"sum-text\": _vm.sumText || _vm.t(\"el.table.sumText\"),\n \"summary-method\": _vm.summaryMethod,\n store: _vm.store\n }\n })\n ],\n 1\n )\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm.rightFixedColumns.length > 0\n ? _c(\"div\", {\n ref: \"rightFixedPatch\",\n staticClass: \"el-table__fixed-right-patch\",\n style: {\n width: _vm.layout.scrollY ? _vm.layout.gutterWidth + \"px\" : \"0\",\n height: _vm.layout.headerHeight + \"px\"\n }\n })\n : _vm._e(),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.resizeProxyVisible,\n expression: \"resizeProxyVisible\"\n }\n ],\n ref: \"resizeProxy\",\n staticClass: \"el-table__column-resize-proxy\"\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=template&id=493fe34e&\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(18);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// EXTERNAL MODULE: external \"throttle-debounce\"\nvar external_throttle_debounce_ = __webpack_require__(44);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"normalize-wheel\"\nvar external_normalize_wheel_ = __webpack_require__(47);\nvar external_normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(external_normalize_wheel_);\n\n// CONCATENATED MODULE: ./src/directives/mousewheel.js\n\n\nvar isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\nvar mousewheel_mousewheel = function mousewheel(element, callback) {\n if (element && element.addEventListener) {\n element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) {\n var normalized = external_normalize_wheel_default()(event);\n callback && callback.apply(this, [event, normalized]);\n });\n }\n};\n\n/* harmony default export */ var directives_mousewheel = ({\n bind: function bind(el, binding) {\n mousewheel_mousewheel(el, binding.value);\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(11);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: ./packages/table/src/util.js\nvar util = __webpack_require__(8);\n\n// CONCATENATED MODULE: ./packages/table/src/store/expand.js\n\n\n/* harmony default export */ var expand = ({\n data: function data() {\n return {\n states: {\n defaultExpandAll: false,\n expandRows: []\n }\n };\n },\n\n\n methods: {\n updateExpandRows: function updateExpandRows() {\n var _states = this.states,\n _states$data = _states.data,\n data = _states$data === undefined ? [] : _states$data,\n rowKey = _states.rowKey,\n defaultExpandAll = _states.defaultExpandAll,\n expandRows = _states.expandRows;\n\n if (defaultExpandAll) {\n this.states.expandRows = data.slice();\n } else if (rowKey) {\n // TODO:这里的代ç å¯ä»¥ä¼˜åŒ–\n var expandRowsMap = Object(util[\"f\" /* getKeysMap */])(expandRows, rowKey);\n this.states.expandRows = data.reduce(function (prev, row) {\n var rowId = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n var rowInfo = expandRowsMap[rowId];\n if (rowInfo) {\n prev.push(row);\n }\n return prev;\n }, []);\n } else {\n this.states.expandRows = [];\n }\n },\n toggleRowExpansion: function toggleRowExpansion(row, expanded) {\n var changed = Object(util[\"n\" /* toggleRowStatus */])(this.states.expandRows, row, expanded);\n if (changed) {\n this.table.$emit('expand-change', row, this.states.expandRows.slice());\n this.scheduleLayout();\n }\n },\n setExpandRowKeys: function setExpandRowKeys(rowKeys) {\n this.assertRowKey();\n // TODO:这里的代ç å¯ä»¥ä¼˜åŒ–\n var _states2 = this.states,\n data = _states2.data,\n rowKey = _states2.rowKey;\n\n var keysMap = Object(util[\"f\" /* getKeysMap */])(data, rowKey);\n this.states.expandRows = rowKeys.reduce(function (prev, cur) {\n var info = keysMap[cur];\n if (info) {\n prev.push(info.row);\n }\n return prev;\n }, []);\n },\n isRowExpanded: function isRowExpanded(row) {\n var _states3 = this.states,\n _states3$expandRows = _states3.expandRows,\n expandRows = _states3$expandRows === undefined ? [] : _states3$expandRows,\n rowKey = _states3.rowKey;\n\n if (rowKey) {\n var expandMap = Object(util[\"f\" /* getKeysMap */])(expandRows, rowKey);\n return !!expandMap[Object(util[\"g\" /* getRowIdentity */])(row, rowKey)];\n }\n return expandRows.indexOf(row) !== -1;\n }\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/table/src/store/current.js\n\n\n\n/* harmony default export */ var current = ({\n data: function data() {\n return {\n states: {\n // ä¸å¯å“应的,设置 currentRowKey 时,data ä¸ä¸€å®šå˜åœ¨ï¼Œä¹Ÿè®¸æ— 法算出æ£ç¡®çš„ currentRow\n // 把该值缓å˜ä¸€ä¸‹ï¼Œå½“用户点击修改 currentRow 时,把该值é‡ç½®ä¸º null\n _currentRowKey: null,\n currentRow: null\n }\n };\n },\n\n\n methods: {\n setCurrentRowKey: function setCurrentRowKey(key) {\n this.assertRowKey();\n this.states._currentRowKey = key;\n this.setCurrentRowByKey(key);\n },\n restoreCurrentRowKey: function restoreCurrentRowKey() {\n this.states._currentRowKey = null;\n },\n setCurrentRowByKey: function setCurrentRowByKey(key) {\n var states = this.states;\n var _states$data = states.data,\n data = _states$data === undefined ? [] : _states$data,\n rowKey = states.rowKey;\n\n var currentRow = null;\n if (rowKey) {\n currentRow = Object(util_[\"arrayFind\"])(data, function (item) {\n return Object(util[\"g\" /* getRowIdentity */])(item, rowKey) === key;\n });\n }\n states.currentRow = currentRow;\n },\n updateCurrentRow: function updateCurrentRow(currentRow) {\n var states = this.states,\n table = this.table;\n\n var oldCurrentRow = states.currentRow;\n if (currentRow && currentRow !== oldCurrentRow) {\n states.currentRow = currentRow;\n table.$emit('current-change', currentRow, oldCurrentRow);\n return;\n }\n if (!currentRow && oldCurrentRow) {\n states.currentRow = null;\n table.$emit('current-change', null, oldCurrentRow);\n }\n },\n updateCurrentRowData: function updateCurrentRowData() {\n var states = this.states,\n table = this.table;\n var rowKey = states.rowKey,\n _currentRowKey = states._currentRowKey;\n // data 为 null 时,解构时的默认值会被忽略\n\n var data = states.data || [];\n var oldCurrentRow = states.currentRow;\n\n // 当 currentRow ä¸åœ¨ data 䏿—¶å°è¯•æ›´æ–°æ•°æ®\n if (data.indexOf(oldCurrentRow) === -1 && oldCurrentRow) {\n if (rowKey) {\n var currentRowKey = Object(util[\"g\" /* getRowIdentity */])(oldCurrentRow, rowKey);\n this.setCurrentRowByKey(currentRowKey);\n } else {\n states.currentRow = null;\n }\n if (states.currentRow === null) {\n table.$emit('current-change', null, oldCurrentRow);\n }\n } else if (_currentRowKey) {\n // 把åˆå§‹æ—¶ä¸‹è®¾ç½®çš„ rowKey è½¬åŒ–æˆ rowData\n this.setCurrentRowByKey(_currentRowKey);\n this.restoreCurrentRowKey();\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/store/tree.js\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n/* harmony default export */ var tree = ({\n data: function data() {\n return {\n states: {\n // defaultExpandAll å˜åœ¨äºŽ expand.js ä¸ï¼Œè¿™é‡Œä¸é‡å¤æ·»åŠ \n // 在展开行ä¸ï¼ŒexpandRowKeys ä¼šè¢«è½¬åŒ–æˆ expandRows,expandRowKeys è¿™ä¸ªå±žæ€§åªæ˜¯è®°å½•了 TreeTable 行的展开\n // TODO: 拆分为独立的 TreeTable,统一用法\n expandRowKeys: [],\n treeData: {},\n indent: 16,\n lazy: false,\n lazyTreeNodeMap: {},\n lazyColumnIdentifier: 'hasChildren',\n childrenColumnName: 'children'\n }\n };\n },\n\n\n computed: {\n // 嵌入型的数æ®ï¼Œwatch æ— æ³•æ˜¯æ£€æµ‹åˆ°å˜åŒ– https://github.com/ElemeFE/element/issues/14998\n // TODO: 使用 computed 解决该问题,是å¦ä¼šé€ æˆæ€§èƒ½é—®é¢˜ï¼Ÿ\n // @return { id: { level, children } }\n normalizedData: function normalizedData() {\n if (!this.states.rowKey) return {};\n var data = this.states.data || [];\n return this.normalize(data);\n },\n\n // @return { id: { children } }\n // é’ˆå¯¹æ‡’åŠ è½½çš„æƒ…å½¢ï¼Œä¸å¤„ç†åµŒå¥—æ•°æ®\n normalizedLazyNode: function normalizedLazyNode() {\n var _states = this.states,\n rowKey = _states.rowKey,\n lazyTreeNodeMap = _states.lazyTreeNodeMap,\n lazyColumnIdentifier = _states.lazyColumnIdentifier;\n\n var keys = Object.keys(lazyTreeNodeMap);\n var res = {};\n if (!keys.length) return res;\n keys.forEach(function (key) {\n if (lazyTreeNodeMap[key].length) {\n var item = { children: [] };\n lazyTreeNodeMap[key].forEach(function (row) {\n var currentRowKey = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n item.children.push(currentRowKey);\n if (row[lazyColumnIdentifier] && !res[currentRowKey]) {\n res[currentRowKey] = { children: [] };\n }\n });\n res[key] = item;\n }\n });\n return res;\n }\n },\n\n watch: {\n normalizedData: 'updateTreeData',\n normalizedLazyNode: 'updateTreeData'\n },\n\n methods: {\n normalize: function normalize(data) {\n var _states2 = this.states,\n childrenColumnName = _states2.childrenColumnName,\n lazyColumnIdentifier = _states2.lazyColumnIdentifier,\n rowKey = _states2.rowKey,\n lazy = _states2.lazy;\n\n var res = {};\n Object(util[\"o\" /* walkTreeNode */])(data, function (parent, children, level) {\n var parentId = Object(util[\"g\" /* getRowIdentity */])(parent, rowKey);\n if (Array.isArray(children)) {\n res[parentId] = {\n children: children.map(function (row) {\n return Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n }),\n level: level\n };\n } else if (lazy) {\n // 当 children ä¸å˜åœ¨ä¸” lazy 为 true,该节点å³ä¸ºæ‡’åŠ è½½çš„èŠ‚ç‚¹\n res[parentId] = {\n children: [],\n lazy: true,\n level: level\n };\n }\n }, childrenColumnName, lazyColumnIdentifier);\n return res;\n },\n updateTreeData: function updateTreeData() {\n var nested = this.normalizedData;\n var normalizedLazyNode = this.normalizedLazyNode;\n var keys = Object.keys(nested);\n var newTreeData = {};\n if (keys.length) {\n var _states3 = this.states,\n oldTreeData = _states3.treeData,\n defaultExpandAll = _states3.defaultExpandAll,\n expandRowKeys = _states3.expandRowKeys,\n lazy = _states3.lazy;\n\n var rootLazyRowKeys = [];\n var getExpanded = function getExpanded(oldValue, key) {\n var included = defaultExpandAll || expandRowKeys && expandRowKeys.indexOf(key) !== -1;\n return !!(oldValue && oldValue.expanded || included);\n };\n // åˆå¹¶ expanded 与 displayï¼Œç¡®ä¿æ•°æ®åˆ·æ–°åŽï¼Œçжæ€ä¸å˜\n keys.forEach(function (key) {\n var oldValue = oldTreeData[key];\n var newValue = _extends({}, nested[key]);\n newValue.expanded = getExpanded(oldValue, key);\n if (newValue.lazy) {\n var _ref = oldValue || {},\n _ref$loaded = _ref.loaded,\n loaded = _ref$loaded === undefined ? false : _ref$loaded,\n _ref$loading = _ref.loading,\n loading = _ref$loading === undefined ? false : _ref$loading;\n\n newValue.loaded = !!loaded;\n newValue.loading = !!loading;\n rootLazyRowKeys.push(key);\n }\n newTreeData[key] = newValue;\n });\n // æ ¹æ®æ‡’åŠ è½½æ•°æ®æ›´æ–° treeData\n var lazyKeys = Object.keys(normalizedLazyNode);\n if (lazy && lazyKeys.length && rootLazyRowKeys.length) {\n lazyKeys.forEach(function (key) {\n var oldValue = oldTreeData[key];\n var lazyNodeChildren = normalizedLazyNode[key].children;\n if (rootLazyRowKeys.indexOf(key) !== -1) {\n // æ‡’åŠ è½½çš„ root 节点,更新一下原有的数æ®ï¼ŒåŽŸæ¥çš„ children 一定是空数组\n if (newTreeData[key].children.length !== 0) {\n throw new Error('[ElTable]children must be an empty array.');\n }\n newTreeData[key].children = lazyNodeChildren;\n } else {\n var _ref2 = oldValue || {},\n _ref2$loaded = _ref2.loaded,\n loaded = _ref2$loaded === undefined ? false : _ref2$loaded,\n _ref2$loading = _ref2.loading,\n loading = _ref2$loading === undefined ? false : _ref2$loading;\n\n newTreeData[key] = {\n lazy: true,\n loaded: !!loaded,\n loading: !!loading,\n expanded: getExpanded(oldValue, key),\n children: lazyNodeChildren,\n level: ''\n };\n }\n });\n }\n }\n this.states.treeData = newTreeData;\n this.updateTableScrollY();\n },\n updateTreeExpandKeys: function updateTreeExpandKeys(value) {\n this.states.expandRowKeys = value;\n this.updateTreeData();\n },\n toggleTreeExpansion: function toggleTreeExpansion(row, expanded) {\n this.assertRowKey();\n\n var _states4 = this.states,\n rowKey = _states4.rowKey,\n treeData = _states4.treeData;\n\n var id = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n var data = id && treeData[id];\n if (id && data && 'expanded' in data) {\n var oldExpanded = data.expanded;\n expanded = typeof expanded === 'undefined' ? !data.expanded : expanded;\n treeData[id].expanded = expanded;\n if (oldExpanded !== expanded) {\n this.table.$emit('expand-change', row, expanded);\n }\n this.updateTableScrollY();\n }\n },\n loadOrToggle: function loadOrToggle(row) {\n this.assertRowKey();\n var _states5 = this.states,\n lazy = _states5.lazy,\n treeData = _states5.treeData,\n rowKey = _states5.rowKey;\n\n var id = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n var data = treeData[id];\n if (lazy && data && 'loaded' in data && !data.loaded) {\n this.loadData(row, id, data);\n } else {\n this.toggleTreeExpansion(row);\n }\n },\n loadData: function loadData(row, key, treeNode) {\n var _this = this;\n\n var load = this.table.load;\n var rawTreeData = this.states.treeData;\n\n if (load && !rawTreeData[key].loaded) {\n rawTreeData[key].loading = true;\n load(row, treeNode, function (data) {\n if (!Array.isArray(data)) {\n throw new Error('[ElTable] data must be an array');\n }\n var _states6 = _this.states,\n lazyTreeNodeMap = _states6.lazyTreeNodeMap,\n treeData = _states6.treeData;\n\n treeData[key].loading = false;\n treeData[key].loaded = true;\n treeData[key].expanded = true;\n if (data.length) {\n _this.$set(lazyTreeNodeMap, key, data);\n }\n _this.table.$emit('expand-change', row, true);\n });\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/store/watcher.js\n\n\n\n\n\n\n\nvar watcher_sortData = function sortData(data, states) {\n var sortingColumn = states.sortingColumn;\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data;\n }\n return Object(util[\"j\" /* orderBy */])(data, states.sortProp, states.sortOrder, sortingColumn.sortMethod, sortingColumn.sortBy);\n};\n\nvar doFlattenColumns = function doFlattenColumns(columns) {\n var result = [];\n columns.forEach(function (column) {\n if (column.children) {\n result.push.apply(result, doFlattenColumns(column.children));\n } else {\n result.push(column);\n }\n });\n return result;\n};\n\n/* harmony default export */ var watcher = (external_vue_default.a.extend({\n data: function data() {\n return {\n states: {\n // 3.0 版本åŽè¦æ±‚必须设置该属性\n rowKey: null,\n\n // æ¸²æŸ“çš„æ•°æ®æ¥æºï¼Œæ˜¯å¯¹ table ä¸çš„ data 过滤排åºåŽçš„结果\n data: [],\n\n // 是å¦åŒ…å«å›ºå®šåˆ—\n isComplex: false,\n\n // 列\n _columns: [], // ä¸å¯å“应的\n originColumns: [],\n columns: [],\n fixedColumns: [],\n rightFixedColumns: [],\n leafColumns: [],\n fixedLeafColumns: [],\n rightFixedLeafColumns: [],\n leafColumnsLength: 0,\n fixedLeafColumnsLength: 0,\n rightFixedLeafColumnsLength: 0,\n\n // 选择\n isAllSelected: false,\n selection: [],\n reserveSelection: false,\n selectOnIndeterminate: false,\n selectable: null,\n\n // 过滤\n filters: {}, // ä¸å¯å“应的\n filteredData: null,\n\n // 排åº\n sortingColumn: null,\n sortProp: null,\n sortOrder: null,\n\n hoverRow: null\n }\n };\n },\n\n\n mixins: [expand, current, tree],\n\n methods: {\n // 检查 rowKey 是å¦å˜åœ¨\n assertRowKey: function assertRowKey() {\n var rowKey = this.states.rowKey;\n if (!rowKey) throw new Error('[ElTable] prop row-key is required');\n },\n\n\n // 更新列\n updateColumns: function updateColumns() {\n var states = this.states;\n var _columns = states._columns || [];\n states.fixedColumns = _columns.filter(function (column) {\n return column.fixed === true || column.fixed === 'left';\n });\n states.rightFixedColumns = _columns.filter(function (column) {\n return column.fixed === 'right';\n });\n\n if (states.fixedColumns.length > 0 && _columns[0] && _columns[0].type === 'selection' && !_columns[0].fixed) {\n _columns[0].fixed = true;\n states.fixedColumns.unshift(_columns[0]);\n }\n\n var notFixedColumns = _columns.filter(function (column) {\n return !column.fixed;\n });\n states.originColumns = [].concat(states.fixedColumns).concat(notFixedColumns).concat(states.rightFixedColumns);\n\n var leafColumns = doFlattenColumns(notFixedColumns);\n var fixedLeafColumns = doFlattenColumns(states.fixedColumns);\n var rightFixedLeafColumns = doFlattenColumns(states.rightFixedColumns);\n\n states.leafColumnsLength = leafColumns.length;\n states.fixedLeafColumnsLength = fixedLeafColumns.length;\n states.rightFixedLeafColumnsLength = rightFixedLeafColumns.length;\n\n states.columns = [].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns);\n states.isComplex = states.fixedColumns.length > 0 || states.rightFixedColumns.length > 0;\n },\n\n\n // æ›´æ–° DOM\n scheduleLayout: function scheduleLayout(needUpdateColumns) {\n if (needUpdateColumns) {\n this.updateColumns();\n }\n this.table.debouncedUpdateLayout();\n },\n\n\n // 选择\n isSelected: function isSelected(row) {\n var _states$selection = this.states.selection,\n selection = _states$selection === undefined ? [] : _states$selection;\n\n return selection.indexOf(row) > -1;\n },\n clearSelection: function clearSelection() {\n var states = this.states;\n states.isAllSelected = false;\n var oldSelection = states.selection;\n if (oldSelection.length) {\n states.selection = [];\n this.table.$emit('selection-change', []);\n }\n },\n cleanSelection: function cleanSelection() {\n var states = this.states;\n var data = states.data,\n rowKey = states.rowKey,\n selection = states.selection;\n\n var deleted = void 0;\n if (rowKey) {\n deleted = [];\n var selectedMap = Object(util[\"f\" /* getKeysMap */])(selection, rowKey);\n var dataMap = Object(util[\"f\" /* getKeysMap */])(data, rowKey);\n for (var key in selectedMap) {\n if (selectedMap.hasOwnProperty(key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row);\n }\n }\n } else {\n deleted = selection.filter(function (item) {\n return data.indexOf(item) === -1;\n });\n }\n if (deleted.length) {\n var newSelection = selection.filter(function (item) {\n return deleted.indexOf(item) === -1;\n });\n states.selection = newSelection;\n this.table.$emit('selection-change', newSelection.slice());\n }\n },\n toggleRowSelection: function toggleRowSelection(row, selected) {\n var emitChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var changed = Object(util[\"n\" /* toggleRowStatus */])(this.states.selection, row, selected);\n if (changed) {\n var newSelection = (this.states.selection || []).slice();\n // 调用 API 修改选ä¸å€¼ï¼Œä¸è§¦å‘ select 事件\n if (emitChange) {\n this.table.$emit('select', newSelection, row);\n }\n this.table.$emit('selection-change', newSelection);\n }\n },\n _toggleAllSelection: function _toggleAllSelection() {\n var states = this.states;\n var _states$data = states.data,\n data = _states$data === undefined ? [] : _states$data,\n selection = states.selection;\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n\n var value = states.selectOnIndeterminate ? !states.isAllSelected : !(states.isAllSelected || selection.length);\n states.isAllSelected = value;\n\n var selectionChanged = false;\n data.forEach(function (row, index) {\n if (states.selectable) {\n if (states.selectable.call(null, row, index) && Object(util[\"n\" /* toggleRowStatus */])(selection, row, value)) {\n selectionChanged = true;\n }\n } else {\n if (Object(util[\"n\" /* toggleRowStatus */])(selection, row, value)) {\n selectionChanged = true;\n }\n }\n });\n\n if (selectionChanged) {\n this.table.$emit('selection-change', selection ? selection.slice() : []);\n }\n this.table.$emit('select-all', selection);\n },\n updateSelectionByRowKey: function updateSelectionByRowKey() {\n var states = this.states;\n var selection = states.selection,\n rowKey = states.rowKey,\n data = states.data;\n\n var selectedMap = Object(util[\"f\" /* getKeysMap */])(selection, rowKey);\n data.forEach(function (row) {\n var rowId = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n var rowInfo = selectedMap[rowId];\n if (rowInfo) {\n selection[rowInfo.index] = row;\n }\n });\n },\n updateAllSelected: function updateAllSelected() {\n var states = this.states;\n var selection = states.selection,\n rowKey = states.rowKey,\n selectable = states.selectable;\n // data 为 null 时,解构时的默认值会被忽略\n\n var data = states.data || [];\n if (data.length === 0) {\n states.isAllSelected = false;\n return;\n }\n\n var selectedMap = void 0;\n if (rowKey) {\n selectedMap = Object(util[\"f\" /* getKeysMap */])(selection, rowKey);\n }\n var isSelected = function isSelected(row) {\n if (selectedMap) {\n return !!selectedMap[Object(util[\"g\" /* getRowIdentity */])(row, rowKey)];\n } else {\n return selection.indexOf(row) !== -1;\n }\n };\n var isAllSelected = true;\n var selectedCount = 0;\n for (var i = 0, j = data.length; i < j; i++) {\n var item = data[i];\n var isRowSelectable = selectable && selectable.call(null, item, i);\n if (!isSelected(item)) {\n if (!selectable || isRowSelectable) {\n isAllSelected = false;\n break;\n }\n } else {\n selectedCount++;\n }\n }\n\n if (selectedCount === 0) isAllSelected = false;\n states.isAllSelected = isAllSelected;\n },\n\n\n // 过滤与排åº\n updateFilters: function updateFilters(columns, values) {\n if (!Array.isArray(columns)) {\n columns = [columns];\n }\n var states = this.states;\n var filters = {};\n columns.forEach(function (col) {\n states.filters[col.id] = values;\n filters[col.columnKey || col.id] = values;\n });\n\n return filters;\n },\n updateSort: function updateSort(column, prop, order) {\n if (this.states.sortingColumn && this.states.sortingColumn !== column) {\n this.states.sortingColumn.order = null;\n }\n this.states.sortingColumn = column;\n this.states.sortProp = prop;\n this.states.sortOrder = order;\n },\n execFilter: function execFilter() {\n var _this = this;\n\n var states = this.states;\n var _data = states._data,\n filters = states.filters;\n\n var data = _data;\n\n Object.keys(filters).forEach(function (columnId) {\n var values = states.filters[columnId];\n if (!values || values.length === 0) return;\n var column = Object(util[\"d\" /* getColumnById */])(_this.states, columnId);\n if (column && column.filterMethod) {\n data = data.filter(function (row) {\n return values.some(function (value) {\n return column.filterMethod.call(null, value, row, column);\n });\n });\n }\n });\n\n states.filteredData = data;\n },\n execSort: function execSort() {\n var states = this.states;\n states.data = watcher_sortData(states.filteredData, states);\n },\n\n\n // æ ¹æ® filters 与 sort 去过滤 data\n execQuery: function execQuery(ignore) {\n if (!(ignore && ignore.filter)) {\n this.execFilter();\n }\n this.execSort();\n },\n clearFilter: function clearFilter(columnKeys) {\n var states = this.states;\n var _table$$refs = this.table.$refs,\n tableHeader = _table$$refs.tableHeader,\n fixedTableHeader = _table$$refs.fixedTableHeader,\n rightFixedTableHeader = _table$$refs.rightFixedTableHeader;\n\n\n var panels = {};\n if (tableHeader) panels = merge_default()(panels, tableHeader.filterPanels);\n if (fixedTableHeader) panels = merge_default()(panels, fixedTableHeader.filterPanels);\n if (rightFixedTableHeader) panels = merge_default()(panels, rightFixedTableHeader.filterPanels);\n\n var keys = Object.keys(panels);\n if (!keys.length) return;\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys];\n }\n\n if (Array.isArray(columnKeys)) {\n var columns = columnKeys.map(function (key) {\n return Object(util[\"e\" /* getColumnByKey */])(states, key);\n });\n keys.forEach(function (key) {\n var column = columns.find(function (col) {\n return col.id === key;\n });\n if (column) {\n // TODO: 优化这里的代ç \n panels[key].filteredValue = [];\n }\n });\n this.commit('filterChange', {\n column: columns,\n values: [],\n silent: true,\n multi: true\n });\n } else {\n keys.forEach(function (key) {\n // TODO: 优化这里的代ç \n panels[key].filteredValue = [];\n });\n\n states.filters = {};\n this.commit('filterChange', {\n column: {},\n values: [],\n silent: true\n });\n }\n },\n clearSort: function clearSort() {\n var states = this.states;\n if (!states.sortingColumn) return;\n\n this.updateSort(null, null, null);\n this.commit('changeSortCondition', {\n silent: true\n });\n },\n\n\n // 适é…层,expand-row-keys 在 Expand 与 TreeTable ä¸éƒ½æœ‰ä½¿ç”¨\n setExpandRowKeysAdapter: function setExpandRowKeysAdapter(val) {\n // 这里会触å‘é¢å¤–的计算,但为了兼容性,暂时这么åš\n this.setExpandRowKeys(val);\n this.updateTreeExpandKeys(val);\n },\n\n\n // 展开行与 TreeTable 都è¦ä½¿ç”¨\n toggleRowExpansionAdapter: function toggleRowExpansionAdapter(row, expanded) {\n var hasExpandColumn = this.states.columns.some(function (_ref) {\n var type = _ref.type;\n return type === 'expand';\n });\n if (hasExpandColumn) {\n this.toggleRowExpansion(row, expanded);\n } else {\n this.toggleTreeExpansion(row, expanded);\n }\n }\n }\n}));\n// CONCATENATED MODULE: ./packages/table/src/store/index.js\n\n\n\n\nwatcher.prototype.mutations = {\n setData: function setData(states, data) {\n var dataInstanceChanged = states._data !== data;\n states._data = data;\n\n this.execQuery();\n // æ•°æ®å˜åŒ–,更新部分数æ®ã€‚\n // 没有使用 computedï¼Œè€Œæ˜¯æ‰‹åŠ¨æ›´æ–°éƒ¨åˆ†æ•°æ® https://github.com/vuejs/vue/issues/6660#issuecomment-331417140\n this.updateCurrentRowData();\n this.updateExpandRows();\n if (states.reserveSelection) {\n this.assertRowKey();\n this.updateSelectionByRowKey();\n } else {\n if (dataInstanceChanged) {\n this.clearSelection();\n } else {\n this.cleanSelection();\n }\n }\n this.updateAllSelected();\n\n this.updateTableScrollY();\n },\n insertColumn: function insertColumn(states, column, index, parent) {\n var array = states._columns;\n if (parent) {\n array = parent.children;\n if (!array) array = parent.children = [];\n }\n\n if (typeof index !== 'undefined') {\n array.splice(index, 0, column);\n } else {\n array.push(column);\n }\n\n if (column.type === 'selection') {\n states.selectable = column.selectable;\n states.reserveSelection = column.reserveSelection;\n }\n\n if (this.table.$ready) {\n this.updateColumns(); // hack for dynamics insert column\n this.scheduleLayout();\n }\n },\n removeColumn: function removeColumn(states, column, parent) {\n var array = states._columns;\n if (parent) {\n array = parent.children;\n if (!array) array = parent.children = [];\n }\n if (array) {\n array.splice(array.indexOf(column), 1);\n }\n\n if (this.table.$ready) {\n this.updateColumns(); // hack for dynamics remove column\n this.scheduleLayout();\n }\n },\n sort: function sort(states, options) {\n var prop = options.prop,\n order = options.order,\n init = options.init;\n\n if (prop) {\n var column = Object(util_[\"arrayFind\"])(states.columns, function (column) {\n return column.property === prop;\n });\n if (column) {\n column.order = order;\n this.updateSort(column, prop, order);\n this.commit('changeSortCondition', { init: init });\n }\n }\n },\n changeSortCondition: function changeSortCondition(states, options) {\n // ä¿®å¤ pr https://github.com/ElemeFE/element/pull/15012 导致的 bug\n var column = states.sortingColumn,\n prop = states.sortProp,\n order = states.sortOrder;\n\n if (order === null) {\n states.sortingColumn = null;\n states.sortProp = null;\n }\n var ingore = { filter: true };\n this.execQuery(ingore);\n\n if (!options || !(options.silent || options.init)) {\n this.table.$emit('sort-change', {\n column: column,\n prop: prop,\n order: order\n });\n }\n\n this.updateTableScrollY();\n },\n filterChange: function filterChange(states, options) {\n var column = options.column,\n values = options.values,\n silent = options.silent;\n\n var newFilters = this.updateFilters(column, values);\n\n this.execQuery();\n\n if (!silent) {\n this.table.$emit('filter-change', newFilters);\n }\n\n this.updateTableScrollY();\n },\n toggleAllSelection: function toggleAllSelection() {\n this.toggleAllSelection();\n },\n rowSelectedChanged: function rowSelectedChanged(states, row) {\n this.toggleRowSelection(row);\n this.updateAllSelected();\n },\n setHoverRow: function setHoverRow(states, row) {\n states.hoverRow = row;\n },\n setCurrentRow: function setCurrentRow(states, row) {\n this.updateCurrentRow(row);\n }\n};\n\nwatcher.prototype.commit = function (name) {\n var mutations = this.mutations;\n if (mutations[name]) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n mutations[name].apply(this, [this.states].concat(args));\n } else {\n throw new Error('Action not found: ' + name);\n }\n};\n\nwatcher.prototype.updateTableScrollY = function () {\n external_vue_default.a.nextTick(this.table.updateScrollY);\n};\n\n/* harmony default export */ var src_store = (watcher);\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(19);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// CONCATENATED MODULE: ./packages/table/src/store/helper.js\n\n\n\nfunction createStore(table) {\n var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!table) {\n throw new Error('Table is required.');\n }\n\n var store = new src_store();\n store.table = table;\n // fix https://github.com/ElemeFE/element/issues/14075\n // related pr https://github.com/ElemeFE/element/pull/14146\n store.toggleAllSelection = debounce_default()(10, store._toggleAllSelection);\n Object.keys(initialState).forEach(function (key) {\n store.states[key] = initialState[key];\n });\n return store;\n}\n\nfunction mapStates(mapper) {\n var res = {};\n Object.keys(mapper).forEach(function (key) {\n var value = mapper[key];\n var fn = void 0;\n if (typeof value === 'string') {\n fn = function fn() {\n return this.store.states[value];\n };\n } else if (typeof value === 'function') {\n fn = function fn() {\n return value.call(this, this.store.states);\n };\n } else {\n console.error('invalid value type');\n }\n if (fn) {\n res[key] = fn;\n }\n });\n return res;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\nvar scrollbar_width_ = __webpack_require__(39);\nvar scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_);\n\n// CONCATENATED MODULE: ./packages/table/src/table-layout.js\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n\nvar table_layout_TableLayout = function () {\n function TableLayout(options) {\n _classCallCheck(this, TableLayout);\n\n this.observers = [];\n this.table = null;\n this.store = null;\n this.columns = null;\n this.fit = true;\n this.showHeader = true;\n\n this.height = null;\n this.scrollX = false;\n this.scrollY = false;\n this.bodyWidth = null;\n this.fixedWidth = null;\n this.rightFixedWidth = null;\n this.tableHeight = null;\n this.headerHeight = 44; // Table Header Height\n this.appendHeight = 0; // Append Slot Height\n this.footerHeight = 44; // Table Footer Height\n this.viewportHeight = null; // Table Height - Scroll Bar Height\n this.bodyHeight = null; // Table Height - Table Header Height\n this.fixedBodyHeight = null; // Table Height - Table Header Height - Scroll Bar Height\n this.gutterWidth = scrollbar_width_default()();\n\n for (var name in options) {\n if (options.hasOwnProperty(name)) {\n this[name] = options[name];\n }\n }\n\n if (!this.table) {\n throw new Error('table is required for Table Layout');\n }\n if (!this.store) {\n throw new Error('store is required for Table Layout');\n }\n }\n\n TableLayout.prototype.updateScrollY = function updateScrollY() {\n var height = this.height;\n if (height === null) return false;\n var bodyWrapper = this.table.bodyWrapper;\n if (this.table.$el && bodyWrapper) {\n var body = bodyWrapper.querySelector('.el-table__body');\n var prevScrollY = this.scrollY;\n var scrollY = body.offsetHeight > this.bodyHeight;\n this.scrollY = scrollY;\n return prevScrollY !== scrollY;\n }\n return false;\n };\n\n TableLayout.prototype.setHeight = function setHeight(value) {\n var _this = this;\n\n var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'height';\n\n if (external_vue_default.a.prototype.$isServer) return;\n var el = this.table.$el;\n value = Object(util[\"k\" /* parseHeight */])(value);\n this.height = value;\n\n if (!el && (value || value === 0)) return external_vue_default.a.nextTick(function () {\n return _this.setHeight(value, prop);\n });\n\n if (typeof value === 'number') {\n el.style[prop] = value + 'px';\n this.updateElsHeight();\n } else if (typeof value === 'string') {\n el.style[prop] = value;\n this.updateElsHeight();\n }\n };\n\n TableLayout.prototype.setMaxHeight = function setMaxHeight(value) {\n this.setHeight(value, 'max-height');\n };\n\n TableLayout.prototype.getFlattenColumns = function getFlattenColumns() {\n var flattenColumns = [];\n var columns = this.table.columns;\n columns.forEach(function (column) {\n if (column.isColumnGroup) {\n flattenColumns.push.apply(flattenColumns, column.columns);\n } else {\n flattenColumns.push(column);\n }\n });\n\n return flattenColumns;\n };\n\n TableLayout.prototype.updateElsHeight = function updateElsHeight() {\n var _this2 = this;\n\n if (!this.table.$ready) return external_vue_default.a.nextTick(function () {\n return _this2.updateElsHeight();\n });\n var _table$$refs = this.table.$refs,\n headerWrapper = _table$$refs.headerWrapper,\n appendWrapper = _table$$refs.appendWrapper,\n footerWrapper = _table$$refs.footerWrapper;\n\n this.appendHeight = appendWrapper ? appendWrapper.offsetHeight : 0;\n\n if (this.showHeader && !headerWrapper) return;\n\n // fix issue (https://github.com/ElemeFE/element/pull/16956)\n var headerTrElm = headerWrapper ? headerWrapper.querySelector('.el-table__header tr') : null;\n var noneHeader = this.headerDisplayNone(headerTrElm);\n\n var headerHeight = this.headerHeight = !this.showHeader ? 0 : headerWrapper.offsetHeight;\n if (this.showHeader && !noneHeader && headerWrapper.offsetWidth > 0 && (this.table.columns || []).length > 0 && headerHeight < 2) {\n return external_vue_default.a.nextTick(function () {\n return _this2.updateElsHeight();\n });\n }\n var tableHeight = this.tableHeight = this.table.$el.clientHeight;\n var footerHeight = this.footerHeight = footerWrapper ? footerWrapper.offsetHeight : 0;\n if (this.height !== null) {\n this.bodyHeight = tableHeight - headerHeight - footerHeight + (footerWrapper ? 1 : 0);\n }\n this.fixedBodyHeight = this.scrollX ? this.bodyHeight - this.gutterWidth : this.bodyHeight;\n\n var noData = !(this.store.states.data && this.store.states.data.length);\n this.viewportHeight = this.scrollX ? tableHeight - (noData ? 0 : this.gutterWidth) : tableHeight;\n this.updateScrollY();\n this.notifyObservers('scrollable');\n };\n\n TableLayout.prototype.headerDisplayNone = function headerDisplayNone(elm) {\n if (!elm) return true;\n var headerChild = elm;\n while (headerChild.tagName !== 'DIV') {\n if (getComputedStyle(headerChild).display === 'none') {\n return true;\n }\n headerChild = headerChild.parentElement;\n }\n return false;\n };\n\n TableLayout.prototype.updateColumnsWidth = function updateColumnsWidth() {\n if (external_vue_default.a.prototype.$isServer) return;\n var fit = this.fit;\n var bodyWidth = this.table.$el.clientWidth;\n var bodyMinWidth = 0;\n\n var flattenColumns = this.getFlattenColumns();\n var flexColumns = flattenColumns.filter(function (column) {\n return typeof column.width !== 'number';\n });\n\n flattenColumns.forEach(function (column) {\n // Clean those columns whose width changed from flex to unflex\n if (typeof column.width === 'number' && column.realWidth) column.realWidth = null;\n });\n\n if (flexColumns.length > 0 && fit) {\n flattenColumns.forEach(function (column) {\n bodyMinWidth += column.width || column.minWidth || 80;\n });\n\n var scrollYWidth = this.scrollY ? this.gutterWidth : 0;\n\n if (bodyMinWidth <= bodyWidth - scrollYWidth) {\n // DON'T HAVE SCROLL BAR\n this.scrollX = false;\n\n var totalFlexWidth = bodyWidth - scrollYWidth - bodyMinWidth;\n\n if (flexColumns.length === 1) {\n flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth;\n } else {\n var allColumnsWidth = flexColumns.reduce(function (prev, column) {\n return prev + (column.minWidth || 80);\n }, 0);\n var flexWidthPerPixel = totalFlexWidth / allColumnsWidth;\n var noneFirstWidth = 0;\n\n flexColumns.forEach(function (column, index) {\n if (index === 0) return;\n var flexWidth = Math.floor((column.minWidth || 80) * flexWidthPerPixel);\n noneFirstWidth += flexWidth;\n column.realWidth = (column.minWidth || 80) + flexWidth;\n });\n\n flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth;\n }\n } else {\n // HAVE HORIZONTAL SCROLL BAR\n this.scrollX = true;\n flexColumns.forEach(function (column) {\n column.realWidth = column.minWidth;\n });\n }\n\n this.bodyWidth = Math.max(bodyMinWidth, bodyWidth);\n this.table.resizeState.width = this.bodyWidth;\n } else {\n flattenColumns.forEach(function (column) {\n if (!column.width && !column.minWidth) {\n column.realWidth = 80;\n } else {\n column.realWidth = column.width || column.minWidth;\n }\n\n bodyMinWidth += column.realWidth;\n });\n this.scrollX = bodyMinWidth > bodyWidth;\n\n this.bodyWidth = bodyMinWidth;\n }\n\n var fixedColumns = this.store.states.fixedColumns;\n\n if (fixedColumns.length > 0) {\n var fixedWidth = 0;\n fixedColumns.forEach(function (column) {\n fixedWidth += column.realWidth || column.width;\n });\n\n this.fixedWidth = fixedWidth;\n }\n\n var rightFixedColumns = this.store.states.rightFixedColumns;\n if (rightFixedColumns.length > 0) {\n var rightFixedWidth = 0;\n rightFixedColumns.forEach(function (column) {\n rightFixedWidth += column.realWidth || column.width;\n });\n\n this.rightFixedWidth = rightFixedWidth;\n }\n\n this.notifyObservers('columns');\n };\n\n TableLayout.prototype.addObserver = function addObserver(observer) {\n this.observers.push(observer);\n };\n\n TableLayout.prototype.removeObserver = function removeObserver(observer) {\n var index = this.observers.indexOf(observer);\n if (index !== -1) {\n this.observers.splice(index, 1);\n }\n };\n\n TableLayout.prototype.notifyObservers = function notifyObservers(event) {\n var _this3 = this;\n\n var observers = this.observers;\n observers.forEach(function (observer) {\n switch (event) {\n case 'columns':\n observer.onColumnsChange(_this3);\n break;\n case 'scrollable':\n observer.onScrollableChange(_this3);\n break;\n default:\n throw new Error('Table Layout don\\'t have event ' + event + '.');\n }\n });\n };\n\n return TableLayout;\n}();\n\n/* harmony default export */ var table_layout = (table_layout_TableLayout);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/tooltip\"\nvar tooltip_ = __webpack_require__(29);\nvar tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_);\n\n// CONCATENATED MODULE: ./packages/table/src/layout-observer.js\n/* harmony default export */ var layout_observer = ({\n created: function created() {\n this.tableLayout.addObserver(this);\n },\n destroyed: function destroyed() {\n this.tableLayout.removeObserver(this);\n },\n\n\n computed: {\n tableLayout: function tableLayout() {\n var layout = this.layout;\n if (!layout && this.table) {\n layout = this.table.layout;\n }\n if (!layout) {\n throw new Error('Can not find table layout.');\n }\n return layout;\n }\n },\n\n mounted: function mounted() {\n this.onColumnsChange(this.tableLayout);\n this.onScrollableChange(this.tableLayout);\n },\n updated: function updated() {\n if (this.__updated__) return;\n this.onColumnsChange(this.tableLayout);\n this.onScrollableChange(this.tableLayout);\n this.__updated__ = true;\n },\n\n\n methods: {\n onColumnsChange: function onColumnsChange(layout) {\n var cols = this.$el.querySelectorAll('colgroup > col');\n if (!cols.length) return;\n var flattenColumns = layout.getFlattenColumns();\n var columnsMap = {};\n flattenColumns.forEach(function (column) {\n columnsMap[column.id] = column;\n });\n for (var i = 0, j = cols.length; i < j; i++) {\n var col = cols[i];\n var name = col.getAttribute('name');\n var column = columnsMap[name];\n if (column) {\n col.setAttribute('width', column.realWidth || column.width);\n }\n }\n },\n onScrollableChange: function onScrollableChange(layout) {\n var cols = this.$el.querySelectorAll('colgroup > col[name=gutter]');\n for (var i = 0, j = cols.length; i < j; i++) {\n var col = cols[i];\n col.setAttribute('width', layout.scrollY ? layout.gutterWidth : '0');\n }\n var ths = this.$el.querySelectorAll('th.gutter');\n for (var _i = 0, _j = ths.length; _i < _j; _i++) {\n var th = ths[_i];\n th.style.width = layout.scrollY ? layout.gutterWidth + 'px' : '0';\n th.style.display = layout.scrollY ? '' : 'none';\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/table-row.js\nvar table_row_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n/* harmony default export */ var table_row = ({\n name: 'ElTableRow',\n props: ['columns', 'row', 'index', 'isSelected', 'isExpanded', 'store', 'context', 'firstDefaultColumnIndex', 'treeRowData', 'treeIndent', 'columnsHidden', 'getSpan', 'getColspanRealWidth', 'getCellStyle', 'getCellClass', 'handleCellMouseLeave', 'handleCellMouseEnter', 'fixed'],\n components: {\n ElCheckbox: checkbox_default.a\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n var columns = this.columns,\n row = this.row,\n $index = this.index,\n store = this.store,\n context = this.context,\n firstDefaultColumnIndex = this.firstDefaultColumnIndex,\n treeRowData = this.treeRowData,\n treeIndent = this.treeIndent,\n _columnsHidden = this.columnsHidden,\n columnsHidden = _columnsHidden === undefined ? [] : _columnsHidden,\n isSelected = this.isSelected,\n isExpanded = this.isExpanded;\n\n\n return h('tr', [columns.map(function (column, cellIndex) {\n var _getSpan = _this.getSpan(row, column, $index, cellIndex),\n rowspan = _getSpan.rowspan,\n colspan = _getSpan.colspan;\n\n if (!rowspan || !colspan) {\n return null;\n }\n var columnData = table_row_extends({}, column);\n columnData.realWidth = _this.getColspanRealWidth(columns, colspan, cellIndex);\n var data = {\n store: store,\n isSelected: isSelected,\n isExpanded: isExpanded,\n _self: context,\n column: columnData,\n row: row,\n $index: $index\n };\n if (cellIndex === firstDefaultColumnIndex && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * treeIndent,\n level: treeRowData.level\n };\n if (typeof treeRowData.expanded === 'boolean') {\n data.treeNode.expanded = treeRowData.expanded;\n // è¡¨æ˜Žæ˜¯æ‡’åŠ è½½\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading;\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren;\n }\n }\n }\n return h(\n 'td',\n {\n style: _this.getCellStyle($index, cellIndex, row, column),\n 'class': _this.getCellClass($index, cellIndex, row, column),\n attrs: { rowspan: rowspan,\n colspan: colspan\n },\n on: {\n 'mouseenter': function mouseenter($event) {\n return _this.handleCellMouseEnter($event, row);\n },\n 'mouseleave': _this.handleCellMouseLeave\n }\n },\n [column.renderCell.call(_this._renderProxy, _this.$createElement, data, columnsHidden[cellIndex])]\n );\n })]);\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/table-body.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar table_body_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var table_body = ({\n name: 'ElTableBody',\n\n mixins: [layout_observer],\n\n components: {\n ElCheckbox: checkbox_default.a,\n ElTooltip: tooltip_default.a,\n TableRow: table_row\n },\n\n props: {\n store: {\n required: true\n },\n stripe: Boolean,\n context: {},\n rowClassName: [String, Function],\n rowStyle: [Object, Function],\n fixed: String,\n highlight: Boolean\n },\n\n render: function render(h) {\n var _this = this;\n\n var data = this.data || [];\n return h(\n 'table',\n {\n 'class': 'el-table__body',\n attrs: { cellspacing: '0',\n cellpadding: '0',\n border: '0' }\n },\n [h('colgroup', [this.columns.map(function (column) {\n return h('col', {\n attrs: { name: column.id },\n key: column.id });\n })]), h('tbody', [data.reduce(function (acc, row) {\n return acc.concat(_this.wrappedRowRender(row, acc.length));\n }, []), h('el-tooltip', {\n attrs: { effect: this.table.tooltipEffect, placement: 'top', content: this.tooltipContent },\n ref: 'tooltip' })])]\n );\n },\n\n\n computed: table_body_extends({\n table: function table() {\n return this.$parent;\n }\n }, mapStates({\n data: 'data',\n columns: 'columns',\n treeIndent: 'indent',\n leftFixedLeafCount: 'fixedLeafColumnsLength',\n rightFixedLeafCount: 'rightFixedLeafColumnsLength',\n columnsCount: function columnsCount(states) {\n return states.columns.length;\n },\n leftFixedCount: function leftFixedCount(states) {\n return states.fixedColumns.length;\n },\n rightFixedCount: function rightFixedCount(states) {\n return states.rightFixedColumns.length;\n },\n hasExpandColumn: function hasExpandColumn(states) {\n return states.columns.some(function (_ref) {\n var type = _ref.type;\n return type === 'expand';\n });\n }\n }), {\n columnsHidden: function columnsHidden() {\n var _this2 = this;\n\n return this.columns.map(function (column, index) {\n return _this2.isColumnHidden(index);\n });\n },\n firstDefaultColumnIndex: function firstDefaultColumnIndex() {\n return Object(util_[\"arrayFindIndex\"])(this.columns, function (_ref2) {\n var type = _ref2.type;\n return type === 'default';\n });\n }\n }),\n\n watch: {\n // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/\n // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40\n 'store.states.hoverRow': function storeStatesHoverRow(newVal, oldVal) {\n var _this3 = this;\n\n if (!this.store.states.isComplex || this.$isServer) return;\n var raf = window.requestAnimationFrame;\n if (!raf) {\n raf = function raf(fn) {\n return setTimeout(fn, 16);\n };\n }\n raf(function () {\n var rows = _this3.$el.querySelectorAll('.el-table__row');\n var oldRow = rows[oldVal];\n var newRow = rows[newVal];\n if (oldRow) {\n Object(dom_[\"removeClass\"])(oldRow, 'hover-row');\n }\n if (newRow) {\n Object(dom_[\"addClass\"])(newRow, 'hover-row');\n }\n });\n }\n },\n\n data: function data() {\n return {\n tooltipContent: ''\n };\n },\n created: function created() {\n this.activateTooltip = debounce_default()(50, function (tooltip) {\n return tooltip.handleShowPopper();\n });\n },\n\n\n methods: {\n getKeyOfRow: function getKeyOfRow(row, index) {\n var rowKey = this.table.rowKey;\n if (rowKey) {\n return Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n }\n return index;\n },\n isColumnHidden: function isColumnHidden(index) {\n if (this.fixed === true || this.fixed === 'left') {\n return index >= this.leftFixedLeafCount;\n } else if (this.fixed === 'right') {\n return index < this.columnsCount - this.rightFixedLeafCount;\n } else {\n return index < this.leftFixedLeafCount || index >= this.columnsCount - this.rightFixedLeafCount;\n }\n },\n getSpan: function getSpan(row, column, rowIndex, columnIndex) {\n var rowspan = 1;\n var colspan = 1;\n var fn = this.table.spanMethod;\n if (typeof fn === 'function') {\n var result = fn({\n row: row,\n column: column,\n rowIndex: rowIndex,\n columnIndex: columnIndex\n });\n if (Array.isArray(result)) {\n rowspan = result[0];\n colspan = result[1];\n } else if ((typeof result === 'undefined' ? 'undefined' : _typeof(result)) === 'object') {\n rowspan = result.rowspan;\n colspan = result.colspan;\n }\n }\n return { rowspan: rowspan, colspan: colspan };\n },\n getRowStyle: function getRowStyle(row, rowIndex) {\n var rowStyle = this.table.rowStyle;\n if (typeof rowStyle === 'function') {\n return rowStyle.call(null, {\n row: row,\n rowIndex: rowIndex\n });\n }\n return rowStyle || null;\n },\n getRowClass: function getRowClass(row, rowIndex) {\n var selection = this.store.states.selection;\n var classes = ['el-table__row'];\n if (this.table.highlightCurrentRow && row === this.store.states.currentRow) {\n classes.push('current-row');\n }\n\n if (this.table.highlightSelectionRow) {\n for (var i = 0; i < selection.length; i++) {\n if (Object(util[\"i\" /* objectEquals */])(row, selection[i])) {\n classes.push('selection-row');\n }\n };\n }\n\n if (this.stripe && rowIndex % 2 === 1) {\n classes.push('el-table__row--striped');\n }\n var rowClassName = this.table.rowClassName;\n if (typeof rowClassName === 'string') {\n classes.push(rowClassName);\n } else if (typeof rowClassName === 'function') {\n classes.push(rowClassName.call(null, {\n row: row,\n rowIndex: rowIndex\n }));\n }\n\n if (this.store.states.expandRows.indexOf(row) > -1) {\n classes.push('expanded');\n }\n\n return classes;\n },\n getCellStyle: function getCellStyle(rowIndex, columnIndex, row, column) {\n var cellStyle = this.table.cellStyle;\n if (typeof cellStyle === 'function') {\n return cellStyle.call(null, {\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n row: row,\n column: column\n });\n }\n return cellStyle;\n },\n getCellClass: function getCellClass(rowIndex, columnIndex, row, column) {\n var classes = [column.id, column.align, column.className];\n\n if (this.isColumnHidden(columnIndex)) {\n classes.push('is-hidden');\n }\n\n var cellClassName = this.table.cellClassName;\n if (typeof cellClassName === 'string') {\n classes.push(cellClassName);\n } else if (typeof cellClassName === 'function') {\n classes.push(cellClassName.call(null, {\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n row: row,\n column: column\n }));\n }\n\n classes.push('el-table__cell');\n\n return classes.join(' ');\n },\n getColspanRealWidth: function getColspanRealWidth(columns, colspan, index) {\n if (colspan < 1) {\n return columns[index].realWidth;\n }\n var widthArr = columns.map(function (_ref3) {\n var realWidth = _ref3.realWidth;\n return realWidth;\n }).slice(index, index + colspan);\n return widthArr.reduce(function (acc, width) {\n return acc + width;\n }, -1);\n },\n handleCellMouseEnter: function handleCellMouseEnter(event, row) {\n var table = this.table;\n var cell = Object(util[\"b\" /* getCell */])(event);\n\n if (cell) {\n var column = Object(util[\"c\" /* getColumnByCell */])(table, cell);\n var hoverState = table.hoverState = { cell: cell, column: column, row: row };\n table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event);\n }\n\n // åˆ¤æ–æ˜¯å¦text-overflow, 如果是就显示tooltip\n var cellChild = event.target.querySelector('.cell');\n if (!(Object(dom_[\"hasClass\"])(cellChild, 'el-tooltip') && cellChild.childNodes.length)) {\n return;\n }\n // use range width instead of scrollWidth to determine whether the text is overflowing\n // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3\n var range = document.createRange();\n range.setStart(cellChild, 0);\n range.setEnd(cellChild, cellChild.childNodes.length);\n var rangeWidth = range.getBoundingClientRect().width;\n var padding = (parseInt(Object(dom_[\"getStyle\"])(cellChild, 'paddingLeft'), 10) || 0) + (parseInt(Object(dom_[\"getStyle\"])(cellChild, 'paddingRight'), 10) || 0);\n if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) {\n var tooltip = this.$refs.tooltip;\n // TODO 会引起整个 Table çš„é‡æ–°æ¸²æŸ“,需è¦ä¼˜åŒ–\n this.tooltipContent = cell.innerText || cell.textContent;\n tooltip.referenceElm = cell;\n tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none');\n tooltip.doDestroy();\n tooltip.setExpectedState(true);\n this.activateTooltip(tooltip);\n }\n },\n handleCellMouseLeave: function handleCellMouseLeave(event) {\n var tooltip = this.$refs.tooltip;\n if (tooltip) {\n tooltip.setExpectedState(false);\n tooltip.handleClosePopper();\n }\n var cell = Object(util[\"b\" /* getCell */])(event);\n if (!cell) return;\n\n var oldHoverState = this.table.hoverState || {};\n this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event);\n },\n\n\n handleMouseEnter: debounce_default()(30, function (index) {\n this.store.commit('setHoverRow', index);\n }),\n\n handleMouseLeave: debounce_default()(30, function () {\n this.store.commit('setHoverRow', null);\n }),\n\n handleContextMenu: function handleContextMenu(event, row) {\n this.handleEvent(event, row, 'contextmenu');\n },\n handleDoubleClick: function handleDoubleClick(event, row) {\n this.handleEvent(event, row, 'dblclick');\n },\n handleClick: function handleClick(event, row) {\n this.store.commit('setCurrentRow', row);\n this.handleEvent(event, row, 'click');\n },\n handleEvent: function handleEvent(event, row, name) {\n var table = this.table;\n var cell = Object(util[\"b\" /* getCell */])(event);\n var column = void 0;\n if (cell) {\n column = Object(util[\"c\" /* getColumnByCell */])(table, cell);\n if (column) {\n table.$emit('cell-' + name, row, column, cell, event);\n }\n }\n table.$emit('row-' + name, row, column, event);\n },\n rowRender: function rowRender(row, $index, treeRowData) {\n var _this4 = this;\n\n var h = this.$createElement;\n var treeIndent = this.treeIndent,\n columns = this.columns,\n firstDefaultColumnIndex = this.firstDefaultColumnIndex;\n\n var rowClasses = this.getRowClass(row, $index);\n var display = true;\n if (treeRowData) {\n rowClasses.push('el-table__row--level-' + treeRowData.level);\n display = treeRowData.display;\n }\n // 指令 v-show 会覆盖 row-style ä¸ display\n // 使用 :style 代替 v-show https://github.com/ElemeFE/element/issues/16995\n var displayStyle = display ? null : {\n display: 'none'\n };\n return h(table_row, {\n style: [displayStyle, this.getRowStyle(row, $index)],\n 'class': rowClasses,\n key: this.getKeyOfRow(row, $index),\n nativeOn: {\n 'dblclick': function dblclick($event) {\n return _this4.handleDoubleClick($event, row);\n },\n 'click': function click($event) {\n return _this4.handleClick($event, row);\n },\n 'contextmenu': function contextmenu($event) {\n return _this4.handleContextMenu($event, row);\n },\n 'mouseenter': function mouseenter(_) {\n return _this4.handleMouseEnter($index);\n },\n 'mouseleave': this.handleMouseLeave\n },\n attrs: {\n columns: columns,\n row: row,\n index: $index,\n store: this.store,\n context: this.context || this.table.$vnode.context,\n firstDefaultColumnIndex: firstDefaultColumnIndex,\n treeRowData: treeRowData,\n treeIndent: treeIndent,\n columnsHidden: this.columnsHidden,\n getSpan: this.getSpan,\n getColspanRealWidth: this.getColspanRealWidth,\n getCellStyle: this.getCellStyle,\n getCellClass: this.getCellClass,\n handleCellMouseEnter: this.handleCellMouseEnter,\n handleCellMouseLeave: this.handleCellMouseLeave,\n isSelected: this.store.isSelected(row),\n isExpanded: this.store.states.expandRows.indexOf(row) > -1,\n fixed: this.fixed\n }\n });\n },\n wrappedRowRender: function wrappedRowRender(row, $index) {\n var _this5 = this;\n\n var h = this.$createElement;\n\n var store = this.store;\n var isRowExpanded = store.isRowExpanded,\n assertRowKey = store.assertRowKey;\n var _store$states = store.states,\n treeData = _store$states.treeData,\n lazyTreeNodeMap = _store$states.lazyTreeNodeMap,\n childrenColumnName = _store$states.childrenColumnName,\n rowKey = _store$states.rowKey;\n\n if (this.hasExpandColumn && isRowExpanded(row)) {\n var renderExpanded = this.table.renderExpanded;\n var tr = this.rowRender(row, $index);\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.');\n return tr;\n }\n // 使用二维数组,é¿å…修改 $index\n return [[tr, h(\n 'tr',\n { key: 'expanded-row__' + tr.key },\n [h(\n 'td',\n {\n attrs: { colspan: this.columnsCount },\n 'class': 'el-table__cell el-table__expanded-cell' },\n [renderExpanded(this.$createElement, { row: row, $index: $index, store: this.store })]\n )]\n )]];\n } else if (Object.keys(treeData).length) {\n assertRowKey();\n // TreeTable 时,rowKey 必须由用户设定,ä¸ä½¿ç”¨ getKeyOfRow 计算\n // 在调用 rowRender 函数时,ä»ç„¶ä¼šè®¡ç®— rowKey,ä¸å¤ªå¥½çš„æ“ä½œ\n var key = Object(util[\"g\" /* getRowIdentity */])(row, rowKey);\n var cur = treeData[key];\n var treeRowData = null;\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true\n };\n if (typeof cur.lazy === 'boolean') {\n if (typeof cur.loaded === 'boolean' && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n treeRowData.loading = cur.loading;\n }\n }\n var tmp = [this.rowRender(row, $index, treeRowData)];\n // 渲染嵌套数æ®\n if (cur) {\n // currentRow 记录的是 indexï¼Œæ‰€ä»¥è¿˜éœ€ä¸»åŠ¨å¢žåŠ TreeTable çš„ index\n var i = 0;\n var traverse = function traverse(children, parent) {\n if (!(children && children.length && parent)) return;\n children.forEach(function (node) {\n // 父节点的 display 状æ€å½±å“å节点的显示状æ€\n var innerTreeRowData = {\n display: parent.display && parent.expanded,\n level: parent.level + 1\n };\n var childKey = Object(util[\"g\" /* getRowIdentity */])(node, rowKey);\n if (childKey === undefined || childKey === null) {\n throw new Error('for nested data item, row-key is required.');\n }\n cur = table_body_extends({}, treeData[childKey]);\n // 对于当å‰èŠ‚ç‚¹ï¼Œåˆ†æˆæœ‰æ— åèŠ‚ç‚¹ä¸¤ç§æƒ…况。\n // 如果包å«å节点的,设置 expanded 属性。\n // 对于它å节点的 display 属性由它本身的 expanded 与 display å…±åŒå†³å®šã€‚\n if (cur) {\n innerTreeRowData.expanded = cur.expanded;\n // æ‡’åŠ è½½çš„æŸäº›èŠ‚ç‚¹ï¼Œlevel 未知\n cur.level = cur.level || innerTreeRowData.level;\n cur.display = !!(cur.expanded && innerTreeRowData.display);\n if (typeof cur.lazy === 'boolean') {\n if (typeof cur.loaded === 'boolean' && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n innerTreeRowData.loading = cur.loading;\n }\n }\n i++;\n tmp.push(_this5.rowRender(node, $index + i, innerTreeRowData));\n if (cur) {\n var _nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName];\n traverse(_nodes, cur);\n }\n });\n };\n // 对于 root 节点,display 一定为 true\n cur.display = true;\n var nodes = lazyTreeNodeMap[key] || row[childrenColumnName];\n traverse(nodes, cur);\n }\n return tmp;\n } else {\n return this.rowRender(row, $index);\n }\n }\n }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f&\nvar filter_panelvue_type_template_id_7f2c919f_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"transition\", { attrs: { name: \"el-zoom-in-top\" } }, [\n _vm.multiple\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleOutsideClick,\n expression: \"handleOutsideClick\"\n },\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-table-filter\"\n },\n [\n _c(\n \"div\",\n { staticClass: \"el-table-filter__content\" },\n [\n _c(\n \"el-scrollbar\",\n { attrs: { \"wrap-class\": \"el-table-filter__wrap\" } },\n [\n _c(\n \"el-checkbox-group\",\n {\n staticClass: \"el-table-filter__checkbox-group\",\n model: {\n value: _vm.filteredValue,\n callback: function($$v) {\n _vm.filteredValue = $$v\n },\n expression: \"filteredValue\"\n }\n },\n _vm._l(_vm.filters, function(filter) {\n return _c(\n \"el-checkbox\",\n { key: filter.value, attrs: { label: filter.value } },\n [_vm._v(_vm._s(filter.text))]\n )\n }),\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"div\", { staticClass: \"el-table-filter__bottom\" }, [\n _c(\n \"button\",\n {\n class: { \"is-disabled\": _vm.filteredValue.length === 0 },\n attrs: { disabled: _vm.filteredValue.length === 0 },\n on: { click: _vm.handleConfirm }\n },\n [_vm._v(_vm._s(_vm.t(\"el.table.confirmFilter\")))]\n ),\n _c(\"button\", { on: { click: _vm.handleReset } }, [\n _vm._v(_vm._s(_vm.t(\"el.table.resetFilter\")))\n ])\n ])\n ]\n )\n : _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleOutsideClick,\n expression: \"handleOutsideClick\"\n },\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-table-filter\"\n },\n [\n _c(\n \"ul\",\n { staticClass: \"el-table-filter__list\" },\n [\n _c(\n \"li\",\n {\n staticClass: \"el-table-filter__list-item\",\n class: {\n \"is-active\":\n _vm.filterValue === undefined ||\n _vm.filterValue === null\n },\n on: {\n click: function($event) {\n _vm.handleSelect(null)\n }\n }\n },\n [_vm._v(_vm._s(_vm.t(\"el.table.clearFilter\")))]\n ),\n _vm._l(_vm.filters, function(filter) {\n return _c(\n \"li\",\n {\n key: filter.value,\n staticClass: \"el-table-filter__list-item\",\n class: { \"is-active\": _vm.isActive(filter) },\n attrs: { label: filter.value },\n on: {\n click: function($event) {\n _vm.handleSelect(filter.value)\n }\n }\n },\n [_vm._v(_vm._s(filter.text))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n}\nvar filter_panelvue_type_template_id_7f2c919f_staticRenderFns = []\nfilter_panelvue_type_template_id_7f2c919f_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/popup\"\nvar popup_ = __webpack_require__(13);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// CONCATENATED MODULE: ./packages/table/src/dropdown.js\n\nvar dropdowns = [];\n\n!external_vue_default.a.prototype.$isServer && document.addEventListener('click', function (event) {\n dropdowns.forEach(function (dropdown) {\n var target = event.target;\n if (!dropdown || !dropdown.$el) return;\n if (target === dropdown.$el || dropdown.$el.contains(target)) {\n return;\n }\n dropdown.handleOutsideClick && dropdown.handleOutsideClick(event);\n });\n});\n\n/* harmony default export */ var dropdown = ({\n open: function open(instance) {\n if (instance) {\n dropdowns.push(instance);\n }\n },\n close: function close(instance) {\n var index = dropdowns.indexOf(instance);\n if (index !== -1) {\n dropdowns.splice(instance, 1);\n }\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox-group\"\nvar checkbox_group_ = __webpack_require__(40);\nvar checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(15);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var filter_panelvue_type_script_lang_js_ = ({\n name: 'ElTableFilterPanel',\n\n mixins: [vue_popper_default.a, locale_default.a],\n\n directives: {\n Clickoutside: clickoutside_default.a\n },\n\n components: {\n ElCheckbox: checkbox_default.a,\n ElCheckboxGroup: checkbox_group_default.a,\n ElScrollbar: scrollbar_default.a\n },\n\n props: {\n placement: {\n type: String,\n default: 'bottom-end'\n }\n },\n\n methods: {\n isActive: function isActive(filter) {\n return filter.value === this.filterValue;\n },\n handleOutsideClick: function handleOutsideClick() {\n var _this = this;\n\n setTimeout(function () {\n _this.showPopper = false;\n }, 16);\n },\n handleConfirm: function handleConfirm() {\n this.confirmFilter(this.filteredValue);\n this.handleOutsideClick();\n },\n handleReset: function handleReset() {\n this.filteredValue = [];\n this.confirmFilter(this.filteredValue);\n this.handleOutsideClick();\n },\n handleSelect: function handleSelect(filterValue) {\n this.filterValue = filterValue;\n\n if (typeof filterValue !== 'undefined' && filterValue !== null) {\n this.confirmFilter(this.filteredValue);\n } else {\n this.confirmFilter([]);\n }\n\n this.handleOutsideClick();\n },\n confirmFilter: function confirmFilter(filteredValue) {\n this.table.store.commit('filterChange', {\n column: this.column,\n values: filteredValue\n });\n this.table.store.updateAllSelected();\n }\n },\n\n data: function data() {\n return {\n table: null,\n cell: null,\n column: null\n };\n },\n\n\n computed: {\n filters: function filters() {\n return this.column && this.column.filters;\n },\n\n\n filterValue: {\n get: function get() {\n return (this.column.filteredValue || [])[0];\n },\n set: function set(value) {\n if (this.filteredValue) {\n if (typeof value !== 'undefined' && value !== null) {\n this.filteredValue.splice(0, 1, value);\n } else {\n this.filteredValue.splice(0, 1);\n }\n }\n }\n },\n\n filteredValue: {\n get: function get() {\n if (this.column) {\n return this.column.filteredValue || [];\n }\n return [];\n },\n set: function set(value) {\n if (this.column) {\n this.column.filteredValue = value;\n }\n }\n },\n\n multiple: function multiple() {\n if (this.column) {\n return this.column.filterMultiple;\n }\n return true;\n }\n },\n\n mounted: function mounted() {\n var _this2 = this;\n\n this.popperElm = this.$el;\n this.referenceElm = this.cell;\n this.table.bodyWrapper.addEventListener('scroll', function () {\n _this2.updatePopper();\n });\n\n this.$watch('showPopper', function (value) {\n if (_this2.column) _this2.column.filterOpened = value;\n if (value) {\n dropdown.open(_this2);\n } else {\n dropdown.close(_this2);\n }\n });\n },\n\n watch: {\n showPopper: function showPopper(val) {\n if (val === true && parseInt(this.popperJS._popper.style.zIndex, 10) < popup_[\"PopupManager\"].zIndex) {\n this.popperJS._popper.style.zIndex = popup_[\"PopupManager\"].nextZIndex();\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_filter_panelvue_type_script_lang_js_ = (filter_panelvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_filter_panelvue_type_script_lang_js_,\n filter_panelvue_type_template_id_7f2c919f_render,\n filter_panelvue_type_template_id_7f2c919f_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/table/src/filter-panel.vue\"\n/* harmony default export */ var filter_panel = (component.exports);\n// CONCATENATED MODULE: ./packages/table/src/table-header.js\nvar table_header_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar getAllColumns = function getAllColumns(columns) {\n var result = [];\n columns.forEach(function (column) {\n if (column.children) {\n result.push(column);\n result.push.apply(result, getAllColumns(column.children));\n } else {\n result.push(column);\n }\n });\n return result;\n};\n\nvar convertToRows = function convertToRows(originColumns) {\n var maxLevel = 1;\n var traverse = function traverse(column, parent) {\n if (parent) {\n column.level = parent.level + 1;\n if (maxLevel < column.level) {\n maxLevel = column.level;\n }\n }\n if (column.children) {\n var colSpan = 0;\n column.children.forEach(function (subColumn) {\n traverse(subColumn, column);\n colSpan += subColumn.colSpan;\n });\n column.colSpan = colSpan;\n } else {\n column.colSpan = 1;\n }\n };\n\n originColumns.forEach(function (column) {\n column.level = 1;\n traverse(column);\n });\n\n var rows = [];\n for (var i = 0; i < maxLevel; i++) {\n rows.push([]);\n }\n\n var allColumns = getAllColumns(originColumns);\n\n allColumns.forEach(function (column) {\n if (!column.children) {\n column.rowSpan = maxLevel - column.level + 1;\n } else {\n column.rowSpan = 1;\n }\n rows[column.level - 1].push(column);\n });\n\n return rows;\n};\n\n/* harmony default export */ var table_header = ({\n name: 'ElTableHeader',\n\n mixins: [layout_observer],\n\n render: function render(h) {\n var _this = this;\n\n var originColumns = this.store.states.originColumns;\n var columnRows = convertToRows(originColumns, this.columns);\n // æ˜¯å¦æ‹¥æœ‰å¤šçº§è¡¨å¤´\n var isGroup = columnRows.length > 1;\n if (isGroup) this.$parent.isGroup = true;\n return h(\n 'table',\n {\n 'class': 'el-table__header',\n attrs: { cellspacing: '0',\n cellpadding: '0',\n border: '0' }\n },\n [h('colgroup', [this.columns.map(function (column) {\n return h('col', {\n attrs: { name: column.id },\n key: column.id });\n }), this.hasGutter ? h('col', {\n attrs: { name: 'gutter' }\n }) : '']), h(\n 'thead',\n { 'class': [{ 'is-group': isGroup, 'has-gutter': this.hasGutter }] },\n [this._l(columnRows, function (columns, rowIndex) {\n return h(\n 'tr',\n {\n style: _this.getHeaderRowStyle(rowIndex),\n 'class': _this.getHeaderRowClass(rowIndex)\n },\n [columns.map(function (column, cellIndex) {\n return h(\n 'th',\n {\n attrs: {\n colspan: column.colSpan,\n rowspan: column.rowSpan\n },\n on: {\n 'mousemove': function mousemove($event) {\n return _this.handleMouseMove($event, column);\n },\n 'mouseout': _this.handleMouseOut,\n 'mousedown': function mousedown($event) {\n return _this.handleMouseDown($event, column);\n },\n 'click': function click($event) {\n return _this.handleHeaderClick($event, column);\n },\n 'contextmenu': function contextmenu($event) {\n return _this.handleHeaderContextMenu($event, column);\n }\n },\n\n style: _this.getHeaderCellStyle(rowIndex, cellIndex, columns, column),\n 'class': _this.getHeaderCellClass(rowIndex, cellIndex, columns, column),\n key: column.id },\n [h(\n 'div',\n { 'class': ['cell', column.filteredValue && column.filteredValue.length > 0 ? 'highlight' : '', column.labelClassName] },\n [column.renderHeader ? column.renderHeader.call(_this._renderProxy, h, { column: column, $index: cellIndex, store: _this.store, _self: _this.$parent.$vnode.context }) : column.label, column.sortable ? h(\n 'span',\n {\n 'class': 'caret-wrapper',\n on: {\n 'click': function click($event) {\n return _this.handleSortClick($event, column);\n }\n }\n },\n [h('i', { 'class': 'sort-caret ascending',\n on: {\n 'click': function click($event) {\n return _this.handleSortClick($event, column, 'ascending');\n }\n }\n }), h('i', { 'class': 'sort-caret descending',\n on: {\n 'click': function click($event) {\n return _this.handleSortClick($event, column, 'descending');\n }\n }\n })]\n ) : '', column.filterable ? h(\n 'span',\n {\n 'class': 'el-table__column-filter-trigger',\n on: {\n 'click': function click($event) {\n return _this.handleFilterClick($event, column);\n }\n }\n },\n [h('i', { 'class': ['el-icon-arrow-down', column.filterOpened ? 'el-icon-arrow-up' : ''] })]\n ) : '']\n )]\n );\n }), _this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : '']\n );\n })]\n )]\n );\n },\n\n\n props: {\n fixed: String,\n store: {\n required: true\n },\n border: Boolean,\n defaultSort: {\n type: Object,\n default: function _default() {\n return {\n prop: '',\n order: ''\n };\n }\n }\n },\n\n components: {\n ElCheckbox: checkbox_default.a\n },\n\n computed: table_header_extends({\n table: function table() {\n return this.$parent;\n },\n hasGutter: function hasGutter() {\n return !this.fixed && this.tableLayout.gutterWidth;\n }\n }, mapStates({\n columns: 'columns',\n isAllSelected: 'isAllSelected',\n leftFixedLeafCount: 'fixedLeafColumnsLength',\n rightFixedLeafCount: 'rightFixedLeafColumnsLength',\n columnsCount: function columnsCount(states) {\n return states.columns.length;\n },\n leftFixedCount: function leftFixedCount(states) {\n return states.fixedColumns.length;\n },\n rightFixedCount: function rightFixedCount(states) {\n return states.rightFixedColumns.length;\n }\n })),\n\n created: function created() {\n this.filterPanels = {};\n },\n mounted: function mounted() {\n var _this2 = this;\n\n // nextTick 是有必è¦çš„ https://github.com/ElemeFE/element/pull/11311\n this.$nextTick(function () {\n var _defaultSort = _this2.defaultSort,\n prop = _defaultSort.prop,\n order = _defaultSort.order;\n\n var init = true;\n _this2.store.commit('sort', { prop: prop, order: order, init: init });\n });\n },\n beforeDestroy: function beforeDestroy() {\n var panels = this.filterPanels;\n for (var prop in panels) {\n if (panels.hasOwnProperty(prop) && panels[prop]) {\n panels[prop].$destroy(true);\n }\n }\n },\n\n\n methods: {\n isCellHidden: function isCellHidden(index, columns) {\n var start = 0;\n for (var i = 0; i < index; i++) {\n start += columns[i].colSpan;\n }\n var after = start + columns[index].colSpan - 1;\n if (this.fixed === true || this.fixed === 'left') {\n return after >= this.leftFixedLeafCount;\n } else if (this.fixed === 'right') {\n return start < this.columnsCount - this.rightFixedLeafCount;\n } else {\n return after < this.leftFixedLeafCount || start >= this.columnsCount - this.rightFixedLeafCount;\n }\n },\n getHeaderRowStyle: function getHeaderRowStyle(rowIndex) {\n var headerRowStyle = this.table.headerRowStyle;\n if (typeof headerRowStyle === 'function') {\n return headerRowStyle.call(null, { rowIndex: rowIndex });\n }\n return headerRowStyle;\n },\n getHeaderRowClass: function getHeaderRowClass(rowIndex) {\n var classes = [];\n\n var headerRowClassName = this.table.headerRowClassName;\n if (typeof headerRowClassName === 'string') {\n classes.push(headerRowClassName);\n } else if (typeof headerRowClassName === 'function') {\n classes.push(headerRowClassName.call(null, { rowIndex: rowIndex }));\n }\n\n return classes.join(' ');\n },\n getHeaderCellStyle: function getHeaderCellStyle(rowIndex, columnIndex, row, column) {\n var headerCellStyle = this.table.headerCellStyle;\n if (typeof headerCellStyle === 'function') {\n return headerCellStyle.call(null, {\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n row: row,\n column: column\n });\n }\n return headerCellStyle;\n },\n getHeaderCellClass: function getHeaderCellClass(rowIndex, columnIndex, row, column) {\n var classes = [column.id, column.order, column.headerAlign, column.className, column.labelClassName];\n\n if (rowIndex === 0 && this.isCellHidden(columnIndex, row)) {\n classes.push('is-hidden');\n }\n\n if (!column.children) {\n classes.push('is-leaf');\n }\n\n if (column.sortable) {\n classes.push('is-sortable');\n }\n\n var headerCellClassName = this.table.headerCellClassName;\n if (typeof headerCellClassName === 'string') {\n classes.push(headerCellClassName);\n } else if (typeof headerCellClassName === 'function') {\n classes.push(headerCellClassName.call(null, {\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n row: row,\n column: column\n }));\n }\n\n classes.push('el-table__cell');\n\n return classes.join(' ');\n },\n toggleAllSelection: function toggleAllSelection() {\n this.store.commit('toggleAllSelection');\n },\n handleFilterClick: function handleFilterClick(event, column) {\n event.stopPropagation();\n var target = event.target;\n var cell = target.tagName === 'TH' ? target : target.parentNode;\n if (Object(dom_[\"hasClass\"])(cell, 'noclick')) return;\n cell = cell.querySelector('.el-table__column-filter-trigger') || cell;\n var table = this.$parent;\n\n var filterPanel = this.filterPanels[column.id];\n\n if (filterPanel && column.filterOpened) {\n filterPanel.showPopper = false;\n return;\n }\n\n if (!filterPanel) {\n filterPanel = new external_vue_default.a(filter_panel);\n this.filterPanels[column.id] = filterPanel;\n if (column.filterPlacement) {\n filterPanel.placement = column.filterPlacement;\n }\n filterPanel.table = table;\n filterPanel.cell = cell;\n filterPanel.column = column;\n !this.$isServer && filterPanel.$mount(document.createElement('div'));\n }\n\n setTimeout(function () {\n filterPanel.showPopper = true;\n }, 16);\n },\n handleHeaderClick: function handleHeaderClick(event, column) {\n if (!column.filters && column.sortable) {\n this.handleSortClick(event, column);\n } else if (column.filterable && !column.sortable) {\n this.handleFilterClick(event, column);\n }\n\n this.$parent.$emit('header-click', column, event);\n },\n handleHeaderContextMenu: function handleHeaderContextMenu(event, column) {\n this.$parent.$emit('header-contextmenu', column, event);\n },\n handleMouseDown: function handleMouseDown(event, column) {\n var _this3 = this;\n\n if (this.$isServer) return;\n if (column.children && column.children.length > 0) return;\n /* istanbul ignore if */\n if (this.draggingColumn && this.border) {\n this.dragging = true;\n\n this.$parent.resizeProxyVisible = true;\n\n var table = this.$parent;\n var tableEl = table.$el;\n var tableLeft = tableEl.getBoundingClientRect().left;\n var columnEl = this.$el.querySelector('th.' + column.id);\n var columnRect = columnEl.getBoundingClientRect();\n var minLeft = columnRect.left - tableLeft + 30;\n\n Object(dom_[\"addClass\"])(columnEl, 'noclick');\n\n this.dragState = {\n startMouseLeft: event.clientX,\n startLeft: columnRect.right - tableLeft,\n startColumnLeft: columnRect.left - tableLeft,\n tableLeft: tableLeft\n };\n\n var resizeProxy = table.$refs.resizeProxy;\n resizeProxy.style.left = this.dragState.startLeft + 'px';\n\n document.onselectstart = function () {\n return false;\n };\n document.ondragstart = function () {\n return false;\n };\n\n var handleMouseMove = function handleMouseMove(event) {\n var deltaLeft = event.clientX - _this3.dragState.startMouseLeft;\n var proxyLeft = _this3.dragState.startLeft + deltaLeft;\n\n resizeProxy.style.left = Math.max(minLeft, proxyLeft) + 'px';\n };\n\n var handleMouseUp = function handleMouseUp() {\n if (_this3.dragging) {\n var _dragState = _this3.dragState,\n startColumnLeft = _dragState.startColumnLeft,\n startLeft = _dragState.startLeft;\n\n var finalLeft = parseInt(resizeProxy.style.left, 10);\n var columnWidth = finalLeft - startColumnLeft;\n column.width = column.realWidth = columnWidth;\n table.$emit('header-dragend', column.width, startLeft - startColumnLeft, column, event);\n\n _this3.store.scheduleLayout();\n\n document.body.style.cursor = '';\n _this3.dragging = false;\n _this3.draggingColumn = null;\n _this3.dragState = {};\n\n table.resizeProxyVisible = false;\n }\n\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n document.onselectstart = null;\n document.ondragstart = null;\n\n setTimeout(function () {\n Object(dom_[\"removeClass\"])(columnEl, 'noclick');\n }, 0);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n },\n handleMouseMove: function handleMouseMove(event, column) {\n if (column.children && column.children.length > 0) return;\n var target = event.target;\n while (target && target.tagName !== 'TH') {\n target = target.parentNode;\n }\n\n if (!column || !column.resizable) return;\n\n if (!this.dragging && this.border) {\n var rect = target.getBoundingClientRect();\n\n var bodyStyle = document.body.style;\n if (rect.width > 12 && rect.right - event.pageX < 8) {\n bodyStyle.cursor = 'col-resize';\n if (Object(dom_[\"hasClass\"])(target, 'is-sortable')) {\n target.style.cursor = 'col-resize';\n }\n this.draggingColumn = column;\n } else if (!this.dragging) {\n bodyStyle.cursor = '';\n if (Object(dom_[\"hasClass\"])(target, 'is-sortable')) {\n target.style.cursor = 'pointer';\n }\n this.draggingColumn = null;\n }\n }\n },\n handleMouseOut: function handleMouseOut() {\n if (this.$isServer) return;\n document.body.style.cursor = '';\n },\n toggleOrder: function toggleOrder(_ref) {\n var order = _ref.order,\n sortOrders = _ref.sortOrders;\n\n if (order === '') return sortOrders[0];\n var index = sortOrders.indexOf(order || null);\n return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1];\n },\n handleSortClick: function handleSortClick(event, column, givenOrder) {\n event.stopPropagation();\n var order = column.order === givenOrder ? null : givenOrder || this.toggleOrder(column);\n\n var target = event.target;\n while (target && target.tagName !== 'TH') {\n target = target.parentNode;\n }\n\n if (target && target.tagName === 'TH') {\n if (Object(dom_[\"hasClass\"])(target, 'noclick')) {\n Object(dom_[\"removeClass\"])(target, 'noclick');\n return;\n }\n }\n\n if (!column.sortable) return;\n\n var states = this.store.states;\n var sortProp = states.sortProp;\n var sortOrder = void 0;\n var sortingColumn = states.sortingColumn;\n\n if (sortingColumn !== column || sortingColumn === column && sortingColumn.order === null) {\n if (sortingColumn) {\n sortingColumn.order = null;\n }\n states.sortingColumn = column;\n sortProp = column.property;\n }\n\n if (!order) {\n sortOrder = column.order = null;\n } else {\n sortOrder = column.order = order;\n }\n\n states.sortProp = sortProp;\n states.sortOrder = sortOrder;\n\n this.store.commit('changeSortCondition');\n }\n },\n\n data: function data() {\n return {\n draggingColumn: null,\n dragging: false,\n dragState: {}\n };\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/table-footer.js\nvar table_footer_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n/* harmony default export */ var table_footer = ({\n name: 'ElTableFooter',\n\n mixins: [layout_observer],\n\n render: function render(h) {\n var _this = this;\n\n var sums = [];\n if (this.summaryMethod) {\n sums = this.summaryMethod({ columns: this.columns, data: this.store.states.data });\n } else {\n this.columns.forEach(function (column, index) {\n if (index === 0) {\n sums[index] = _this.sumText;\n return;\n }\n var values = _this.store.states.data.map(function (item) {\n return Number(item[column.property]);\n });\n var precisions = [];\n var notNumber = true;\n values.forEach(function (value) {\n if (!isNaN(value)) {\n notNumber = false;\n var decimal = ('' + value).split('.')[1];\n precisions.push(decimal ? decimal.length : 0);\n }\n });\n var precision = Math.max.apply(null, precisions);\n if (!notNumber) {\n sums[index] = values.reduce(function (prev, curr) {\n var value = Number(curr);\n if (!isNaN(value)) {\n return parseFloat((prev + curr).toFixed(Math.min(precision, 20)));\n } else {\n return prev;\n }\n }, 0);\n } else {\n sums[index] = '';\n }\n });\n }\n\n return h(\n 'table',\n {\n 'class': 'el-table__footer',\n attrs: { cellspacing: '0',\n cellpadding: '0',\n border: '0' }\n },\n [h('colgroup', [this.columns.map(function (column) {\n return h('col', {\n attrs: { name: column.id },\n key: column.id });\n }), this.hasGutter ? h('col', {\n attrs: { name: 'gutter' }\n }) : '']), h(\n 'tbody',\n { 'class': [{ 'has-gutter': this.hasGutter }] },\n [h('tr', [this.columns.map(function (column, cellIndex) {\n return h(\n 'td',\n {\n key: cellIndex,\n attrs: { colspan: column.colSpan,\n rowspan: column.rowSpan\n },\n 'class': [].concat(_this.getRowClasses(column, cellIndex), ['el-table__cell']) },\n [h(\n 'div',\n { 'class': ['cell', column.labelClassName] },\n [sums[cellIndex]]\n )]\n );\n }), this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : ''])]\n )]\n );\n },\n\n\n props: {\n fixed: String,\n store: {\n required: true\n },\n summaryMethod: Function,\n sumText: String,\n border: Boolean,\n defaultSort: {\n type: Object,\n default: function _default() {\n return {\n prop: '',\n order: ''\n };\n }\n }\n },\n\n computed: table_footer_extends({\n table: function table() {\n return this.$parent;\n },\n hasGutter: function hasGutter() {\n return !this.fixed && this.tableLayout.gutterWidth;\n }\n }, mapStates({\n columns: 'columns',\n isAllSelected: 'isAllSelected',\n leftFixedLeafCount: 'fixedLeafColumnsLength',\n rightFixedLeafCount: 'rightFixedLeafColumnsLength',\n columnsCount: function columnsCount(states) {\n return states.columns.length;\n },\n leftFixedCount: function leftFixedCount(states) {\n return states.fixedColumns.length;\n },\n rightFixedCount: function rightFixedCount(states) {\n return states.rightFixedColumns.length;\n }\n })),\n\n methods: {\n isCellHidden: function isCellHidden(index, columns, column) {\n if (this.fixed === true || this.fixed === 'left') {\n return index >= this.leftFixedLeafCount;\n } else if (this.fixed === 'right') {\n var before = 0;\n for (var i = 0; i < index; i++) {\n before += columns[i].colSpan;\n }\n return before < this.columnsCount - this.rightFixedLeafCount;\n } else if (!this.fixed && column.fixed) {\n // hide cell when footer instance is not fixed and column is fixed\n return true;\n } else {\n return index < this.leftFixedCount || index >= this.columnsCount - this.rightFixedCount;\n }\n },\n getRowClasses: function getRowClasses(column, cellIndex) {\n var classes = [column.id, column.align, column.labelClassName];\n if (column.className) {\n classes.push(column.className);\n }\n if (this.isCellHidden(cellIndex, this.columns, column)) {\n classes.push('is-hidden');\n }\n if (!column.children) {\n classes.push('is-leaf');\n }\n return classes;\n }\n }\n});\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=script&lang=js&\nvar tablevue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar tableIdSeed = 1;\n\n/* harmony default export */ var tablevue_type_script_lang_js_ = ({\n name: 'ElTable',\n\n mixins: [locale_default.a, migrating_default.a],\n\n directives: {\n Mousewheel: directives_mousewheel\n },\n\n props: {\n data: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n\n size: String,\n\n width: [String, Number],\n\n height: [String, Number],\n\n maxHeight: [String, Number],\n\n fit: {\n type: Boolean,\n default: true\n },\n\n stripe: Boolean,\n\n border: Boolean,\n\n rowKey: [String, Function],\n\n context: {},\n\n showHeader: {\n type: Boolean,\n default: true\n },\n\n showSummary: Boolean,\n\n sumText: String,\n\n summaryMethod: Function,\n\n rowClassName: [String, Function],\n\n rowStyle: [Object, Function],\n\n cellClassName: [String, Function],\n\n cellStyle: [Object, Function],\n\n headerRowClassName: [String, Function],\n\n headerRowStyle: [Object, Function],\n\n headerCellClassName: [String, Function],\n\n headerCellStyle: [Object, Function],\n\n highlightCurrentRow: Boolean,\n\n highlightSelectionRow: {\n type: Boolean,\n default: false\n },\n\n currentRowKey: [String, Number],\n\n emptyText: String,\n\n expandRowKeys: Array,\n\n defaultExpandAll: Boolean,\n\n defaultSort: Object,\n\n tooltipEffect: String,\n\n spanMethod: Function,\n\n selectOnIndeterminate: {\n type: Boolean,\n default: true\n },\n\n indent: {\n type: Number,\n default: 16\n },\n\n treeProps: {\n type: Object,\n default: function _default() {\n return {\n hasChildren: 'hasChildren',\n children: 'children'\n };\n }\n },\n\n lazy: Boolean,\n\n load: Function\n },\n\n components: {\n TableHeader: table_header,\n TableFooter: table_footer,\n TableBody: table_body,\n ElCheckbox: checkbox_default.a\n },\n\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n events: {\n expand: 'expand is renamed to expand-change'\n }\n };\n },\n setCurrentRow: function setCurrentRow(row) {\n this.store.commit('setCurrentRow', row);\n },\n toggleRowSelection: function toggleRowSelection(row, selected) {\n this.store.toggleRowSelection(row, selected, false);\n this.store.updateAllSelected();\n },\n toggleRowExpansion: function toggleRowExpansion(row, expanded) {\n this.store.toggleRowExpansionAdapter(row, expanded);\n },\n clearSelection: function clearSelection() {\n this.store.clearSelection();\n },\n clearFilter: function clearFilter(columnKeys) {\n this.store.clearFilter(columnKeys);\n },\n clearSort: function clearSort() {\n this.store.clearSort();\n },\n handleMouseLeave: function handleMouseLeave() {\n this.store.commit('setHoverRow', null);\n if (this.hoverState) this.hoverState = null;\n },\n updateScrollY: function updateScrollY() {\n var changed = this.layout.updateScrollY();\n if (changed) {\n this.layout.notifyObservers('scrollable');\n this.layout.updateColumnsWidth();\n }\n },\n handleFixedMousewheel: function handleFixedMousewheel(event, data) {\n var bodyWrapper = this.bodyWrapper;\n if (Math.abs(data.spinY) > 0) {\n var currentScrollTop = bodyWrapper.scrollTop;\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault();\n }\n if (data.pixelY > 0 && bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop) {\n event.preventDefault();\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5);\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5);\n }\n },\n handleHeaderFooterMousewheel: function handleHeaderFooterMousewheel(event, data) {\n var pixelX = data.pixelX,\n pixelY = data.pixelY;\n\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n this.bodyWrapper.scrollLeft += data.pixelX / 5;\n }\n },\n\n\n // TODO 使用 CSS transform\n syncPostion: function syncPostion() {\n var _bodyWrapper = this.bodyWrapper,\n scrollLeft = _bodyWrapper.scrollLeft,\n scrollTop = _bodyWrapper.scrollTop,\n offsetWidth = _bodyWrapper.offsetWidth,\n scrollWidth = _bodyWrapper.scrollWidth;\n var _$refs = this.$refs,\n headerWrapper = _$refs.headerWrapper,\n footerWrapper = _$refs.footerWrapper,\n fixedBodyWrapper = _$refs.fixedBodyWrapper,\n rightFixedBodyWrapper = _$refs.rightFixedBodyWrapper;\n\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft;\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft;\n if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop;\n if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop;\n var maxScrollLeftPosition = scrollWidth - offsetWidth - 1;\n if (scrollLeft >= maxScrollLeftPosition) {\n this.scrollPosition = 'right';\n } else if (scrollLeft === 0) {\n this.scrollPosition = 'left';\n } else {\n this.scrollPosition = 'middle';\n }\n },\n\n\n throttleSyncPostion: Object(external_throttle_debounce_[\"throttle\"])(16, function () {\n this.syncPostion();\n }),\n\n onScroll: function onScroll(evt) {\n var raf = window.requestAnimationFrame;\n if (!raf) {\n this.throttleSyncPostion();\n } else {\n raf(this.syncPostion);\n }\n },\n bindEvents: function bindEvents() {\n this.bodyWrapper.addEventListener('scroll', this.onScroll, { passive: true });\n if (this.fit) {\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.resizeListener);\n }\n },\n unbindEvents: function unbindEvents() {\n this.bodyWrapper.removeEventListener('scroll', this.onScroll, { passive: true });\n if (this.fit) {\n Object(resize_event_[\"removeResizeListener\"])(this.$el, this.resizeListener);\n }\n },\n resizeListener: function resizeListener() {\n if (!this.$ready) return;\n var shouldUpdateLayout = false;\n var el = this.$el;\n var _resizeState = this.resizeState,\n oldWidth = _resizeState.width,\n oldHeight = _resizeState.height;\n\n\n var width = el.offsetWidth;\n if (oldWidth !== width) {\n shouldUpdateLayout = true;\n }\n\n var height = el.offsetHeight;\n if ((this.height || this.shouldUpdateHeight) && oldHeight !== height) {\n shouldUpdateLayout = true;\n }\n\n if (shouldUpdateLayout) {\n this.resizeState.width = width;\n this.resizeState.height = height;\n this.doLayout();\n }\n },\n doLayout: function doLayout() {\n if (this.shouldUpdateHeight) {\n this.layout.updateElsHeight();\n }\n this.layout.updateColumnsWidth();\n },\n sort: function sort(prop, order) {\n this.store.commit('sort', { prop: prop, order: order });\n },\n toggleAllSelection: function toggleAllSelection() {\n this.store.commit('toggleAllSelection');\n }\n },\n\n computed: tablevue_type_script_lang_js_extends({\n tableSize: function tableSize() {\n return this.size || (this.$ELEMENT || {}).size;\n },\n bodyWrapper: function bodyWrapper() {\n return this.$refs.bodyWrapper;\n },\n shouldUpdateHeight: function shouldUpdateHeight() {\n return this.height || this.maxHeight || this.fixedColumns.length > 0 || this.rightFixedColumns.length > 0;\n },\n bodyWidth: function bodyWidth() {\n var _layout = this.layout,\n bodyWidth = _layout.bodyWidth,\n scrollY = _layout.scrollY,\n gutterWidth = _layout.gutterWidth;\n\n return bodyWidth ? bodyWidth - (scrollY ? gutterWidth : 0) + 'px' : '';\n },\n bodyHeight: function bodyHeight() {\n var _layout2 = this.layout,\n _layout2$headerHeight = _layout2.headerHeight,\n headerHeight = _layout2$headerHeight === undefined ? 0 : _layout2$headerHeight,\n bodyHeight = _layout2.bodyHeight,\n _layout2$footerHeight = _layout2.footerHeight,\n footerHeight = _layout2$footerHeight === undefined ? 0 : _layout2$footerHeight;\n\n if (this.height) {\n return {\n height: bodyHeight ? bodyHeight + 'px' : ''\n };\n } else if (this.maxHeight) {\n var maxHeight = Object(util[\"k\" /* parseHeight */])(this.maxHeight);\n if (typeof maxHeight === 'number') {\n return {\n 'max-height': maxHeight - footerHeight - (this.showHeader ? headerHeight : 0) + 'px'\n };\n }\n }\n return {};\n },\n fixedBodyHeight: function fixedBodyHeight() {\n if (this.height) {\n return {\n height: this.layout.fixedBodyHeight ? this.layout.fixedBodyHeight + 'px' : ''\n };\n } else if (this.maxHeight) {\n var maxHeight = Object(util[\"k\" /* parseHeight */])(this.maxHeight);\n if (typeof maxHeight === 'number') {\n maxHeight = this.layout.scrollX ? maxHeight - this.layout.gutterWidth : maxHeight;\n if (this.showHeader) {\n maxHeight -= this.layout.headerHeight;\n }\n maxHeight -= this.layout.footerHeight;\n return {\n 'max-height': maxHeight + 'px'\n };\n }\n }\n return {};\n },\n fixedHeight: function fixedHeight() {\n if (this.maxHeight) {\n if (this.showSummary) {\n return {\n bottom: 0\n };\n }\n return {\n bottom: this.layout.scrollX && this.data.length ? this.layout.gutterWidth + 'px' : ''\n };\n } else {\n if (this.showSummary) {\n return {\n height: this.layout.tableHeight ? this.layout.tableHeight + 'px' : ''\n };\n }\n return {\n height: this.layout.viewportHeight ? this.layout.viewportHeight + 'px' : ''\n };\n }\n },\n emptyBlockStyle: function emptyBlockStyle() {\n if (this.data && this.data.length) return null;\n var height = '100%';\n if (this.layout.appendHeight) {\n height = 'calc(100% - ' + this.layout.appendHeight + 'px)';\n }\n return {\n width: this.bodyWidth,\n height: height\n };\n }\n }, mapStates({\n selection: 'selection',\n columns: 'columns',\n tableData: 'data',\n fixedColumns: 'fixedColumns',\n rightFixedColumns: 'rightFixedColumns'\n })),\n\n watch: {\n height: {\n immediate: true,\n handler: function handler(value) {\n this.layout.setHeight(value);\n }\n },\n\n maxHeight: {\n immediate: true,\n handler: function handler(value) {\n this.layout.setMaxHeight(value);\n }\n },\n\n currentRowKey: {\n immediate: true,\n handler: function handler(value) {\n if (!this.rowKey) return;\n this.store.setCurrentRowKey(value);\n }\n },\n\n data: {\n immediate: true,\n handler: function handler(value) {\n this.store.commit('setData', value);\n }\n },\n\n expandRowKeys: {\n immediate: true,\n handler: function handler(newVal) {\n if (newVal) {\n this.store.setExpandRowKeysAdapter(newVal);\n }\n }\n }\n },\n\n created: function created() {\n var _this = this;\n\n this.tableId = 'el-table_' + tableIdSeed++;\n this.debouncedUpdateLayout = Object(external_throttle_debounce_[\"debounce\"])(50, function () {\n return _this.doLayout();\n });\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.bindEvents();\n this.store.updateColumns();\n this.doLayout();\n\n this.resizeState = {\n width: this.$el.offsetWidth,\n height: this.$el.offsetHeight\n };\n\n // init filters\n this.store.states.columns.forEach(function (column) {\n if (column.filteredValue && column.filteredValue.length) {\n _this2.store.commit('filterChange', {\n column: column,\n values: column.filteredValue,\n silent: true\n });\n }\n });\n\n this.$ready = true;\n },\n destroyed: function destroyed() {\n this.unbindEvents();\n },\n data: function data() {\n var _treeProps = this.treeProps,\n _treeProps$hasChildre = _treeProps.hasChildren,\n hasChildren = _treeProps$hasChildre === undefined ? 'hasChildren' : _treeProps$hasChildre,\n _treeProps$children = _treeProps.children,\n children = _treeProps$children === undefined ? 'children' : _treeProps$children;\n\n this.store = createStore(this, {\n rowKey: this.rowKey,\n defaultExpandAll: this.defaultExpandAll,\n selectOnIndeterminate: this.selectOnIndeterminate,\n // TreeTable 的相关é…ç½®\n indent: this.indent,\n lazy: this.lazy,\n lazyColumnIdentifier: hasChildren,\n childrenColumnName: children\n });\n var layout = new table_layout({\n store: this.store,\n table: this,\n fit: this.fit,\n showHeader: this.showHeader\n });\n return {\n layout: layout,\n isHidden: false,\n renderExpanded: null,\n resizeProxyVisible: false,\n resizeState: {\n width: null,\n height: null\n },\n // æ˜¯å¦æ‹¥æœ‰å¤šçº§è¡¨å¤´\n isGroup: false,\n scrollPosition: 'left'\n };\n }\n});\n// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tablevue_type_script_lang_js_ = (tablevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/table/src/table.vue\n\n\n\n\n\n/* normalize component */\n\nvar table_component = Object(componentNormalizer[\"a\" /* default */])(\n src_tablevue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var table_api; }\ntable_component.options.__file = \"packages/table/src/table.vue\"\n/* harmony default export */ var src_table = (table_component.exports);\n// CONCATENATED MODULE: ./packages/table/index.js\n\n\n/* istanbul ignore next */\nsrc_table.install = function (Vue) {\n Vue.component(src_table.name, src_table);\n};\n\n/* harmony default export */ var packages_table = __webpack_exports__[\"default\"] = (src_table);\n\n/***/ })\n/******/ ]);","'use strict';\n\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindClickRailHandler(element, i) {\n function pageOffset(el) {\n return el.getBoundingClientRect();\n }\n var stopPropagation = function (e) { e.stopPropagation(); };\n\n i.event.bind(i.scrollbarY, 'click', stopPropagation);\n i.event.bind(i.scrollbarYRail, 'click', function (e) {\n var positionTop = e.pageY - window.pageYOffset - pageOffset(i.scrollbarYRail).top;\n var direction = positionTop > i.scrollbarYTop ? 1 : -1;\n\n updateScroll(element, 'top', element.scrollTop + direction * i.containerHeight);\n updateGeometry(element);\n\n e.stopPropagation();\n });\n\n i.event.bind(i.scrollbarX, 'click', stopPropagation);\n i.event.bind(i.scrollbarXRail, 'click', function (e) {\n var positionLeft = e.pageX - window.pageXOffset - pageOffset(i.scrollbarXRail).left;\n var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;\n\n updateScroll(element, 'left', element.scrollLeft + direction * i.containerWidth);\n updateGeometry(element);\n\n e.stopPropagation();\n });\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindClickRailHandler(element, i);\n};\n","module.exports = require('./src/normalizeWheel.js');\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 104);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 104:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-progress\",\n class: [\n \"el-progress--\" + _vm.type,\n _vm.status ? \"is-\" + _vm.status : \"\",\n {\n \"el-progress--without-text\": !_vm.showText,\n \"el-progress--text-inside\": _vm.textInside\n }\n ],\n attrs: {\n role: \"progressbar\",\n \"aria-valuenow\": _vm.percentage,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\"\n }\n },\n [\n _vm.type === \"line\"\n ? _c(\"div\", { staticClass: \"el-progress-bar\" }, [\n _c(\n \"div\",\n {\n staticClass: \"el-progress-bar__outer\",\n style: {\n height: _vm.strokeWidth + \"px\",\n backgroundColor: _vm.defineBackColor\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"el-progress-bar__inner\",\n style: _vm.barStyle\n },\n [\n _vm.showText && _vm.textInside\n ? _c(\n \"div\",\n {\n staticClass: \"el-progress-bar__innerText\",\n style: { color: _vm.textColor }\n },\n [_vm._v(_vm._s(_vm.content))]\n )\n : _vm._e()\n ]\n )\n ]\n )\n ])\n : _c(\n \"div\",\n {\n staticClass: \"el-progress-circle\",\n style: { height: _vm.width + \"px\", width: _vm.width + \"px\" }\n },\n [\n _c(\"svg\", { attrs: { viewBox: \"0 0 100 100\" } }, [\n _c(\"path\", {\n staticClass: \"el-progress-circle__track\",\n style: _vm.trailPathStyle,\n attrs: {\n d: _vm.trackPath,\n stroke: _vm.defineBackColor,\n \"stroke-width\": _vm.relativeStrokeWidth,\n fill: \"none\"\n }\n }),\n _c(\"path\", {\n staticClass: \"el-progress-circle__path\",\n style: _vm.circlePathStyle,\n attrs: {\n d: _vm.trackPath,\n stroke: _vm.stroke,\n fill: \"none\",\n \"stroke-linecap\": _vm.strokeLinecap,\n \"stroke-width\": _vm.percentage ? _vm.relativeStrokeWidth : 0\n }\n })\n ])\n ]\n ),\n _vm.showText && !_vm.textInside\n ? _c(\n \"div\",\n {\n staticClass: \"el-progress__text\",\n style: {\n fontSize: _vm.progressTextSize + \"px\",\n color: _vm.textColor\n }\n },\n [\n !_vm.status\n ? [_vm._v(_vm._s(_vm.content))]\n : _c(\"i\", { class: _vm.iconClass })\n ],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var progressvue_type_script_lang_js_ = ({\n name: 'ElProgress',\n props: {\n type: {\n type: String,\n default: 'line',\n validator: function validator(val) {\n return ['line', 'circle', 'dashboard'].indexOf(val) > -1;\n }\n },\n percentage: {\n type: Number,\n default: 0,\n required: true,\n validator: function validator(val) {\n return val >= 0 && val <= 100;\n }\n },\n status: {\n type: String,\n validator: function validator(val) {\n return ['success', 'exception', 'warning'].indexOf(val) > -1;\n }\n },\n strokeWidth: {\n type: Number,\n default: 6\n },\n strokeLinecap: {\n type: String,\n default: 'round'\n },\n textInside: {\n type: Boolean,\n default: false\n },\n width: {\n type: Number,\n default: 126\n },\n showText: {\n type: Boolean,\n default: true\n },\n color: {\n type: [String, Array, Function],\n default: ''\n },\n defineBackColor: {\n type: [String, Array, Function],\n default: '#ebeef5'\n },\n textColor: {\n type: [String, Array, Function],\n default: '#606266'\n },\n format: Function\n },\n computed: {\n barStyle: function barStyle() {\n var style = {};\n style.width = this.percentage + '%';\n style.backgroundColor = this.getCurrentColor(this.percentage);\n return style;\n },\n relativeStrokeWidth: function relativeStrokeWidth() {\n return (this.strokeWidth / this.width * 100).toFixed(1);\n },\n radius: function radius() {\n if (this.type === 'circle' || this.type === 'dashboard') {\n return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10);\n } else {\n return 0;\n }\n },\n trackPath: function trackPath() {\n var radius = this.radius;\n var isDashboard = this.type === 'dashboard';\n return '\\n M 50 50\\n m 0 ' + (isDashboard ? '' : '-') + radius + '\\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '-' : '') + radius * 2 + '\\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '' : '-') + radius * 2 + '\\n ';\n },\n perimeter: function perimeter() {\n return 2 * Math.PI * this.radius;\n },\n rate: function rate() {\n return this.type === 'dashboard' ? 0.75 : 1;\n },\n strokeDashoffset: function strokeDashoffset() {\n var offset = -1 * this.perimeter * (1 - this.rate) / 2;\n return offset + 'px';\n },\n trailPathStyle: function trailPathStyle() {\n return {\n strokeDasharray: this.perimeter * this.rate + 'px, ' + this.perimeter + 'px',\n strokeDashoffset: this.strokeDashoffset\n };\n },\n circlePathStyle: function circlePathStyle() {\n return {\n strokeDasharray: this.perimeter * this.rate * (this.percentage / 100) + 'px, ' + this.perimeter + 'px',\n strokeDashoffset: this.strokeDashoffset,\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease'\n };\n },\n stroke: function stroke() {\n var ret = void 0;\n if (this.color) {\n ret = this.getCurrentColor(this.percentage);\n } else {\n switch (this.status) {\n case 'success':\n ret = '#13ce66';\n break;\n case 'exception':\n ret = '#ff4949';\n break;\n case 'warning':\n ret = '#e6a23c';\n break;\n default:\n ret = '#20a0ff';\n }\n }\n return ret;\n },\n iconClass: function iconClass() {\n if (this.status === 'warning') {\n return 'el-icon-warning';\n }\n if (this.type === 'line') {\n return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close';\n } else {\n return this.status === 'success' ? 'el-icon-check' : 'el-icon-close';\n }\n },\n progressTextSize: function progressTextSize() {\n return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2;\n },\n content: function content() {\n if (typeof this.format === 'function') {\n return this.format(this.percentage) || '';\n } else {\n return this.percentage + '%';\n }\n }\n },\n methods: {\n getCurrentColor: function getCurrentColor(percentage) {\n if (typeof this.color === 'function') {\n return this.color(percentage);\n } else if (typeof this.color === 'string') {\n return this.color;\n } else {\n return this.getLevelColor(percentage);\n }\n },\n getLevelColor: function getLevelColor(percentage) {\n var colorArray = this.getColorArray().sort(function (a, b) {\n return a.percentage - b.percentage;\n });\n\n for (var i = 0; i < colorArray.length; i++) {\n if (colorArray[i].percentage > percentage) {\n return colorArray[i].color;\n }\n }\n return colorArray[colorArray.length - 1].color;\n },\n getColorArray: function getColorArray() {\n var color = this.color;\n var span = 100 / color.length;\n return color.map(function (seriesColor, index) {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span\n };\n }\n return seriesColor;\n });\n }\n }\n});\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_progressvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/progress/src/progress.vue\"\n/* harmony default export */ var progress = (component.exports);\n// CONCATENATED MODULE: ./packages/progress/index.js\n\n\n/* istanbul ignore next */\nprogress.install = function (Vue) {\n Vue.component(progress.name, progress);\n};\n\n/* harmony default export */ var packages_progress = __webpack_exports__[\"default\"] = (progress);\n\n/***/ })\n\n/******/ });","'use strict';\n\nfunction oldAdd(element, className) {\n var classes = element.className.split(' ');\n if (classes.indexOf(className) < 0) {\n classes.push(className);\n }\n element.className = classes.join(' ');\n}\n\nfunction oldRemove(element, className) {\n var classes = element.className.split(' ');\n var idx = classes.indexOf(className);\n if (idx >= 0) {\n classes.splice(idx, 1);\n }\n element.className = classes.join(' ');\n}\n\nexports.add = function (element, className) {\n if (element.classList) {\n element.classList.add(className);\n } else {\n oldAdd(element, className);\n }\n};\n\nexports.remove = function (element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else {\n oldRemove(element, className);\n }\n};\n\nexports.list = function (element) {\n if (element.classList) {\n return Array.prototype.slice.apply(element.classList);\n } else {\n return element.className.split(' ');\n }\n};\n","/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule normalizeWheel\n * @typechecks\n */\n\n'use strict';\n\nvar UserAgent_DEPRECATED = require('./UserAgent_DEPRECATED');\n\nvar isEventSupported = require('./isEventSupported');\n\n\n// Reasonable defaults\nvar PIXEL_STEP = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\n/**\n * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is\n * complicated, thus this doc is long and (hopefully) detailed enough to answer\n * your questions.\n *\n * If you need to react to the mouse wheel in a predictable way, this code is\n * like your bestest friend. * hugs *\n *\n * As of today, there are 4 DOM event types you can listen to:\n *\n * 'wheel' -- Chrome(31+), FF(17+), IE(9+)\n * 'mousewheel' -- Chrome, IE(6+), Opera, Safari\n * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother!\n * 'DOMMouseScroll' -- FF(0.9.7+) since 2003\n *\n * So what to do? The is the best:\n *\n * normalizeWheel.getEventType();\n *\n * In your event callback, use this code to get sane interpretation of the\n * deltas. This code will return an object with properties:\n *\n * spinX -- normalized spin speed (use for zoom) - x plane\n * spinY -- \" - y plane\n * pixelX -- normalized distance (to pixels) - x plane\n * pixelY -- \" - y plane\n *\n * Wheel values are provided by the browser assuming you are using the wheel to\n * scroll a web page by a number of lines or pixels (or pages). Values can vary\n * significantly on different platforms and browsers, forgetting that you can\n * scroll at different speeds. Some devices (like trackpads) emit more events\n * at smaller increments with fine granularity, and some emit massive jumps with\n * linear speed or acceleration.\n *\n * This code does its best to normalize the deltas for you:\n *\n * - spin is trying to normalize how far the wheel was spun (or trackpad\n * dragged). This is super useful for zoom support where you want to\n * throw away the chunky scroll steps on the PC and make those equal to\n * the slow and smooth tiny steps on the Mac. Key data: This code tries to\n * resolve a single slow step on a wheel to 1.\n *\n * - pixel is normalizing the desired scroll delta in pixel units. You'll\n * get the crazy differences between browsers, but at least it'll be in\n * pixels!\n *\n * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This\n * should translate to positive value zooming IN, negative zooming OUT.\n * This matches the newer 'wheel' event.\n *\n * Why are there spinX, spinY (or pixels)?\n *\n * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn\n * with a mouse. It results in side-scrolling in the browser by default.\n *\n * - spinY is what you expect -- it's the classic axis of a mouse wheel.\n *\n * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and\n * probably is by browsers in conjunction with fancy 3D controllers .. but\n * you know.\n *\n * Implementation info:\n *\n * Examples of 'wheel' event if you scroll slowly (down) by one step with an\n * average mouse:\n *\n * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120)\n * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12)\n * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A)\n * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120)\n * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120)\n *\n * On the trackpad:\n *\n * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6)\n * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A)\n *\n * On other/older browsers.. it's more complicated as there can be multiple and\n * also missing delta values.\n *\n * The 'wheel' event is more standard:\n *\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents\n *\n * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and\n * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain\n * backward compatibility with older events. Those other values help us\n * better normalize spin speed. Example of what the browsers provide:\n *\n * | event.wheelDelta | event.detail\n * ------------------+------------------+--------------\n * Safari v5/OS X | -120 | 0\n * Safari v5/Win7 | -120 | 0\n * Chrome v17/OS X | -120 | 0\n * Chrome v17/Win7 | -120 | 0\n * IE9/Win7 | -120 | undefined\n * Firefox v4/OS X | undefined | 1\n * Firefox v4/Win7 | undefined | 3\n *\n */\nfunction normalizeWheel(/*object*/ event) /*object*/ {\n var sX = 0, sY = 0, // spinX, spinY\n pX = 0, pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in event) { sY = event.detail; }\n if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; }\n if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; }\n if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; }\n\n // side scrolling on FF with DOMMouseScroll\n if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in event) { pY = event.deltaY; }\n if ('deltaX' in event) { pX = event.deltaX; }\n\n if ((pX || pY) && event.deltaMode) {\n if (event.deltaMode == 1) { // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else { // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }\n if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }\n\n return { spinX : sX,\n spinY : sY,\n pixelX : pX,\n pixelY : pY };\n}\n\n\n/**\n * The best combination if you prefer spinX + spinY normalization. It favors\n * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with\n * 'wheel' event, making spin speed determination impossible.\n */\nnormalizeWheel.getEventType = function() /*string*/ {\n return (UserAgent_DEPRECATED.firefox())\n ? 'DOMMouseScroll'\n : (isEventSupported('wheel'))\n ? 'wheel'\n : 'mousewheel';\n};\n\nmodule.exports = normalizeWheel;\n","'use strict';\n\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\n\nfunction bindNativeScrollHandler(element, i) {\n i.event.bind(element, 'scroll', function () {\n updateGeometry(element);\n });\n}\n\nmodule.exports = function (element) {\n var i = instances.get(element);\n bindNativeScrollHandler(element, i);\n};\n","'use strict';\n\nvar _ = require('../../lib/helper');\nvar instances = require('../instances');\nvar updateGeometry = require('../update-geometry');\nvar updateScroll = require('../update-scroll');\n\nfunction bindTouchHandler(element, i, supportsTouch, supportsIePointer) {\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n var scrollLeft = element.scrollLeft;\n var magnitudeX = Math.abs(deltaX);\n var magnitudeY = Math.abs(deltaY);\n\n if (magnitudeY > magnitudeX) {\n // user is perhaps trying to swipe up/down the page\n\n if (((deltaY < 0) && (scrollTop === i.contentHeight - i.containerHeight)) ||\n ((deltaY > 0) && (scrollTop === 0))) {\n return !i.settings.swipePropagation;\n }\n } else if (magnitudeX > magnitudeY) {\n // user is perhaps trying to swipe left/right across the page\n\n if (((deltaX < 0) && (scrollLeft === i.contentWidth - i.containerWidth)) ||\n ((deltaX > 0) && (scrollLeft === 0))) {\n return !i.settings.swipePropagation;\n }\n }\n\n return true;\n }\n\n function applyTouchMove(differenceX, differenceY) {\n updateScroll(element, 'top', element.scrollTop - differenceY);\n updateScroll(element, 'left', element.scrollLeft - differenceX);\n\n updateGeometry(element);\n }\n\n var startOffset = {};\n var startTime = 0;\n var speed = {};\n var easingLoop = null;\n var inGlobalTouch = false;\n var inLocalTouch = false;\n\n function globalTouchStart() {\n inGlobalTouch = true;\n }\n function globalTouchEnd() {\n inGlobalTouch = false;\n }\n\n function getTouch(e) {\n if (e.targetTouches) {\n return e.targetTouches[0];\n } else {\n // Maybe IE pointer\n return e;\n }\n }\n function shouldHandle(e) {\n if (e.targetTouches && e.targetTouches.length === 1) {\n return true;\n }\n if (e.pointerType && e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) {\n return true;\n }\n return false;\n }\n function touchStart(e) {\n if (shouldHandle(e)) {\n inLocalTouch = true;\n\n var touch = getTouch(e);\n\n startOffset.pageX = touch.pageX;\n startOffset.pageY = touch.pageY;\n\n startTime = (new Date()).getTime();\n\n if (easingLoop !== null) {\n clearInterval(easingLoop);\n }\n\n e.stopPropagation();\n }\n }\n function touchMove(e) {\n if (!inLocalTouch && i.settings.swipePropagation) {\n touchStart(e);\n }\n if (!inGlobalTouch && inLocalTouch && shouldHandle(e)) {\n var touch = getTouch(e);\n\n var currentOffset = {pageX: touch.pageX, pageY: touch.pageY};\n\n var differenceX = currentOffset.pageX - startOffset.pageX;\n var differenceY = currentOffset.pageY - startOffset.pageY;\n\n applyTouchMove(differenceX, differenceY);\n startOffset = currentOffset;\n\n var currentTime = (new Date()).getTime();\n\n var timeGap = currentTime - startTime;\n if (timeGap > 0) {\n speed.x = differenceX / timeGap;\n speed.y = differenceY / timeGap;\n startTime = currentTime;\n }\n\n if (shouldPreventDefault(differenceX, differenceY)) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n }\n function touchEnd() {\n if (!inGlobalTouch && inLocalTouch) {\n inLocalTouch = false;\n\n if (i.settings.swipeEasing) {\n clearInterval(easingLoop);\n easingLoop = setInterval(function () {\n if (!instances.get(element)) {\n clearInterval(easingLoop);\n return;\n }\n\n if (!speed.x && !speed.y) {\n clearInterval(easingLoop);\n return;\n }\n\n if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {\n clearInterval(easingLoop);\n return;\n }\n\n applyTouchMove(speed.x * 30, speed.y * 30);\n\n speed.x *= 0.8;\n speed.y *= 0.8;\n }, 10);\n }\n }\n }\n\n if (supportsTouch) {\n i.event.bind(window, 'touchstart', globalTouchStart);\n i.event.bind(window, 'touchend', globalTouchEnd);\n i.event.bind(element, 'touchstart', touchStart);\n i.event.bind(element, 'touchmove', touchMove);\n i.event.bind(element, 'touchend', touchEnd);\n } else if (supportsIePointer) {\n if (window.PointerEvent) {\n i.event.bind(window, 'pointerdown', globalTouchStart);\n i.event.bind(window, 'pointerup', globalTouchEnd);\n i.event.bind(element, 'pointerdown', touchStart);\n i.event.bind(element, 'pointermove', touchMove);\n i.event.bind(element, 'pointerup', touchEnd);\n } else if (window.MSPointerEvent) {\n i.event.bind(window, 'MSPointerDown', globalTouchStart);\n i.event.bind(window, 'MSPointerUp', globalTouchEnd);\n i.event.bind(element, 'MSPointerDown', touchStart);\n i.event.bind(element, 'MSPointerMove', touchMove);\n i.event.bind(element, 'MSPointerUp', touchEnd);\n }\n }\n}\n\nmodule.exports = function (element) {\n if (!_.env.supportsTouch && !_.env.supportsIePointer) {\n return;\n }\n\n var i = instances.get(element);\n bindTouchHandler(element, i, _.env.supportsTouch, _.env.supportsIePointer);\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"content\",staticClass:\"cb-list\"},[_c('div',{staticClass:\"mb-3\",attrs:{\"data-v-step\":\"step-cbfilter\"}},[_c('div',{staticClass:\"btn-group cb-btn-group d-none d-md-block\"},[_c('p-button',{class:{active: _vm.cbFilter.status === 'cb-all' },attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-all')}}},[_c('i',{staticClass:\"fa fa-list\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnAll')))]),_c('p-button',{class:{active: _vm.cbFilter.status === 'cb-standard' },attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-standard')}}},[_c('i',{staticClass:\"fa fa-globe\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnStandard')))]),_c('p-button',{class:{active: _vm.cbFilter.status === 'cb-customizable' },attrs:{\"type\":\"primary\",\"round\":\"\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-customizable')}}},[_c('i',{staticClass:\"fa fa-sliders\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnCustom')))])],1),_c('div',{staticClass:\"row d-md-none\"},[_c('div',{staticClass:\"col-12\"},[_c('p-button',{staticClass:\"w-100\",class:{active: _vm.cbFilter.status === 'cb-all' },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-all')}}},[_c('i',{staticClass:\"fa fa-list\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnAll')))])],1),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('p-button',{staticClass:\"w-100\",class:{active: _vm.cbFilter.status === 'cb-standard' },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-standard')}}},[_c('i',{staticClass:\"fa fa-globe\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnStandard')))])],1),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('p-button',{staticClass:\"w-100\",class:{active: _vm.cbFilter.status === 'cb-customizable' },attrs:{\"type\":\"primary\",\"outline\":\"\",\"nativeLabel\":\"\"},on:{\"click\":function($event){return _vm.cbFilterStatus('cb-customizable')}}},[_c('i',{staticClass:\"fa fa-sliders\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbViews.cbList.filter.btnCustom')))])],1)])]),_c('campaign-blocks',{attrs:{\"campaignBlocks\":_vm.preFilteredCampBlocks,\"entityHID\":_vm.entityHID},scopedSlots:_vm._u([{key:\"cardheader\",fn:function(){return [_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col d-flex justify-content-start\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('cbViews.cbList.header')))])]),_c('div',{staticClass:\"col text-right\"},[_c('el-tooltip',{attrs:{\"content\":_vm.$t('cbViews.cbList.btnRefreshTooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('p-button',{staticClass:\"mr-2\",attrs:{\"type\":\"neutral\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.refresh(true)}}},[_c('i',{staticClass:\"fa-solid fa-arrows-rotate\"})])],1)],1)])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"cb-list\" ref=\"content\">\r\n <div class=\"mb-3\" data-v-step=\"step-cbfilter\">\r\n <div class=\"btn-group cb-btn-group d-none d-md-block\">\r\n <p-button type=\"primary\" round outline nativeLabel @click=\"cbFilterStatus('cb-all')\" :class=\"{active: cbFilter.status === 'cb-all' }\"> <i class=\"fa fa-list\"></i> {{$t('cbViews.cbList.filter.btnAll')}}</p-button>\r\n <p-button type=\"primary\" round outline nativeLabel @click=\"cbFilterStatus('cb-standard')\" :class=\"{active: cbFilter.status === 'cb-standard' }\"> <i class=\"fa fa-globe\"></i> {{$t('cbViews.cbList.filter.btnStandard')}}</p-button>\r\n <p-button type=\"primary\" round outline nativeLabel @click=\"cbFilterStatus('cb-customizable')\" :class=\"{active: cbFilter.status === 'cb-customizable' }\"> <i class=\"fa fa-sliders\"></i> {{$t('cbViews.cbList.filter.btnCustom')}}</p-button>\r\n </div>\r\n <div class=\"row d-md-none\">\r\n <div class=\"col-12\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"cbFilterStatus('cb-all')\" :class=\"{active: cbFilter.status === 'cb-all' }\"> <i class=\"fa fa-list\"></i> {{$t('cbViews.cbList.filter.btnAll')}}</p-button>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"cbFilterStatus('cb-standard')\" :class=\"{active: cbFilter.status === 'cb-standard' }\"> <i class=\"fa fa-globe\"></i> {{$t('cbViews.cbList.filter.btnStandard')}}</p-button>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p-button type=\"primary\" class=\"w-100\" outline nativeLabel @click=\"cbFilterStatus('cb-customizable')\" :class=\"{active: cbFilter.status === 'cb-customizable' }\"> <i class=\"fa fa-sliders\"></i> {{$t('cbViews.cbList.filter.btnCustom')}}</p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <campaign-blocks :campaignBlocks=\"preFilteredCampBlocks\" :entityHID=\"entityHID\">\r\n <template v-slot:cardheader>\r\n <div class=\"row\" >\r\n <div class=\"col d-flex justify-content-start\">\r\n <h4 class=\"card-title\">{{$t('cbViews.cbList.header')}}</h4>\r\n </div>\r\n <div class=\"col text-right\">\r\n <el-tooltip :content=\"$t('cbViews.cbList.btnRefreshTooltip')\" :open-delay=\"300\" placement=\"top\">\r\n <p-button type=\"neutral\" class=\"mr-2\" icon @click=\"refresh(true)\">\r\n <i class=\"fa-solid fa-arrows-rotate\"></i>\r\n </p-button>\r\n </el-tooltip>\r\n </div>\r\n </div>\r\n </template>\r\n </campaign-blocks>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import { Input, Select, Option, Upload, ColorPicker } from 'element-ui'\r\n import { Card, } from 'src/components/UIComponents'\r\n import swal from 'sweetalert2'\r\n import CampaignBlocks from 'src/components/UIComponents/CampaignBlock/CampaignBlocks.vue'\r\n\r\n\r\n export default {\r\n components: {\r\n [Input.name]: Input,\r\n [Option.name]: Option,\r\n [Select.name]: Select,\r\n Card,\r\n [Upload.name]: Upload,\r\n [ColorPicker.name]: ColorPicker,\r\n CampaignBlocks,\r\n },\r\n data() {\r\n let vueThis = this;\r\n return {\r\n entityHID: null,\r\n campBlocks:[],\r\n cbFilter: {\r\n status: 'sc-all'\r\n },\r\n }\r\n },\r\n methods: {\r\n initComponent: function () {\r\n this.loadCampBlocks();\r\n },\r\n loadCampBlocks(force) {\r\n if (force == undefined) force = false;\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n swal.fire(this.$root.config.getSweetAlertCfg_Waiting);\r\n this.axios.post(this.$root.config.entity.campBlock.getCampaignBlocksUrl(this.entityHID), null, { params: { force: force } })\r\n .then(response => { \r\n this.campBlocks = response.data;\r\n swal.close();\r\n }).catch(function (error) {\r\n swal.close();\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n });\r\n },\r\n cbFilterStatus(status) {\r\n //this.cbFilter.status = status;\r\n if (this.cbFilter.status != status) {\r\n this.$router.push({ name: 'eCampaignBlockList', query: { s: status } });\r\n }\r\n else {\r\n this.cbFilter.status = status;\r\n }\r\n },\r\n refresh(force) {\r\n this.loadCampBlocks(force);\r\n },\r\n },\r\n computed: {\r\n //--------------------------\r\n preFilteredCampBlocks() {\r\n switch (this.cbFilter.status) {\r\n case 'cb-standard':\r\n return this.campBlocks.filter(c => !c.customizable);\r\n case 'cb-customizable':\r\n return this.campBlocks.filter(c => c.customizable);\r\n default:\r\n return this.campBlocks;\r\n }\r\n },\r\n },\r\n mounted: function () {\r\n this.initComponent();\r\n },\r\n watch: {\r\n $route(to, from) {\r\n if (to !== from) {\r\n this.entityHID = this.$route.params.ehid;\r\n\r\n let s = this.$route.query.s;\r\n if (s == undefined) s = 'cb-all';\r\n this.cbFilter.status = s;\r\n\r\n this.initComponent();\r\n }\r\n },\r\n },\r\n created() {\r\n this.entityHID = this.$route.params.ehid;\r\n\r\n let s = this.$route.query.s;\r\n if (s == undefined) s = 'cb-all';\r\n this.cbFilter.status = s;\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignBlockList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignBlockList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CampaignBlockList.vue?vue&type=template&id=57f44061&scoped=true\"\nimport script from \"./CampaignBlockList.vue?vue&type=script&lang=js\"\nexport * from \"./CampaignBlockList.vue?vue&type=script&lang=js\"\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 \"57f44061\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"content\",staticClass:\"newCBG\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col d-flex justify-content-start\"},[_c('router-link',{staticClass:\"btn btn-info btn-icon btn-round btn-lg\",attrs:{\"to\":{ name: 'eCampaignBlockGroupList'}}},[_c('i',{staticClass:\"fa fa-arrow-left\"})]),_c('div',{staticClass:\"view-title ml-2\"},[_c('p',{staticClass:\"title\",attrs:{\"data-v-step\":\"step-title\"}},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.header'))+\" \")])])],1)]),_c('wizard',{attrs:{\"showHeader\":false,\"showFinishButton\":false,\"prevButtonText\":_vm.$t('cbgViews.newCbg.wizard.btnBack'),\"nextButtonText\":_vm.$t('cbgViews.newCbg.wizard.btnNext')}},[_c('wizard-tab',{attrs:{\"before-change\":_vm.tabInfoComplete}},[_c('template',{slot:\"label\"},[_c('i',{staticClass:\"now-ui-icons users_circle-08\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.title'))+\" \")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.header')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.text'))+\" \")])]),_c('div',{staticClass:\"col-12 col-md-8\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{},[_vm._v(_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.label')))]),_c('fg-input',{attrs:{\"placeholder\":_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.placeholder'),\"error\":_vm.modelValidations.cbgName.msg},model:{value:(_vm.cbgName),callback:function ($$v) {_vm.cbgName=$$v},expression:\"cbgName\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-4\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-cc\"}},[_c('label',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.label'))+\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.toolTip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])],1),_c('fg-input',{attrs:{\"error\":_vm.modelValidations.cbgCC.msg}},[_c('el-select',{staticClass:\"select-primary\",attrs:{\"placeholder\":_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.placeholder')},model:{value:(_vm.cbgCC),callback:function ($$v) {_vm.cbgCC=$$v},expression:\"cbgCC\"}},_vm._l((_vm.formatedCCs),function(cc){return _c('el-option',{key:cc.key,staticClass:\"select-primary\",attrs:{\"value\":cc.key,\"label\":cc.label}})}),1)],1)],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\",attrs:{\"data-v-step\":\"step-desc\"}},[_c('label',{},[_vm._v(_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.label')))]),_c('el-input',{class:{ 'is-novalid': (_vm.modelValidations.cbgDesc.msg.length > 0) },attrs:{\"type\":\"textarea\",\"rows\":2,\"placeholder\":_vm.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.placeholder')},model:{value:(_vm.cbgDesc),callback:function ($$v) {_vm.cbgDesc=$$v},expression:\"cbgDesc\"}}),(_vm.modelValidations.cbgDesc.msg.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col text-left\"},[_c('span',{staticClass:\"validation-summary\"},[_vm._v(\" \"+_vm._s(_vm.modelValidations.cbgDesc.msg)+\" \")])])]):_vm._e()],1)])])],2),_c('wizard-tab',{attrs:{\"before-change\":_vm.tabCbComplete}},[_c('template',{slot:\"label\"},[_c('i',{staticClass:\"now-ui-icons users_circle-08\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabCB.title'))+\" \")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabCB.header')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabCB.text'))+\" \")])])]),_c('selected-campaign-block-table',{ref:\"selTable\",attrs:{\"campaignBlocks\":_vm.cbgBlocks,\"entityHID\":_vm.entityHID},on:{\"selectedChanged\":_vm.selectChangeCBG}}),(_vm.modelValidations.cbgBlocks.msg.length > 0)?_c('div',{staticClass:\"row mt-5\"},[_c('div',{staticClass:\"col text-center\"},[_c('span',{staticClass:\"validation-summary validation-cbgBlocks\"},[_vm._v(\" \"+_vm._s(_vm.modelValidations.cbgBlocks.msg)+\" \")])])]):_vm._e(),_c('div',{staticClass:\"row mt-3 justify-content-center\"},[_c('div',{staticClass:\"col-12 col-md-auto text-center text-md-right\"},[_c('p-button',{staticClass:\"w-100\",attrs:{\"type\":\"success\",\"disabled\":_vm.disableAddingCb},on:{\"click\":_vm.openCbModal}},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.btnAddCB'))+\" \")])],1)])],2),_c('wizard-tab',[_c('template',{slot:\"label\"},[_c('i',{staticClass:\"now-ui-icons users_circle-08\"}),_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.title'))+\" \")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.header')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.text'))+\" \")])])]),_c('div',{staticClass:\"row align-items-center mt-3\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('h6',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.total.header'))+\" \")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.total.text1'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.total.text2'))+\" \")])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('p-progress',{staticClass:\"cbg-progress\",attrs:{\"values\":_vm.cbgProgress}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 text-center\"},[_c('h4',{staticStyle:{\"margin-bottom\":\"0px\",\"margin-top\":\"0px\"}},[_vm._v(_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.total.label', [this.cbgSending + this.cbgWaiting])))])])])])]),_c('el-divider'),_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('h6',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.sending.header'))+\" \")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.sending.text1'))+\" \")])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"block\"},[_c('el-slider',{staticClass:\"slider-success\",attrs:{\"min\":_vm.cbgSendingMin,\"max\":_vm.cbgSendingMax,\"show-input\":\"\",\"data-v-step\":\"step-sendphase\"},model:{value:(_vm.cbgSending),callback:function ($$v) {_vm.cbgSending=$$v},expression:\"cbgSending\"}})],1)])]),_c('el-divider'),_c('div',{staticClass:\"row align-items-center mt-3\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('h6',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.waiting.header'))+\" \")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.wizard.tabTiming.waiting.text1'))+\" \")])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"block\"},[_c('el-slider',{staticClass:\"slider-warning\",attrs:{\"min\":_vm.cbgWaitingMin,\"max\":_vm.cbgWaitingMax,\"show-input\":\"\",\"data-v-step\":\"step-waitphase\"},model:{value:(_vm.cbgWaiting),callback:function ($$v) {_vm.cbgWaiting=$$v},expression:\"cbgWaiting\"}})],1)])]),(_vm.modelValidations.summary.msg.length > 0)?_c('div',{staticClass:\"row mt-3\"},[_c('div',{staticClass:\"col text-center\"},[_c('span',{staticClass:\"validation-summary\"},[_vm._v(\" \"+_vm._s(_vm.modelValidations.summary.msg)+\" \")])])]):_vm._e(),_c('div',{staticClass:\"row mt-5 justify-content-center\"},[_c('div',{staticClass:\"col-12 col-md-auto text-center text-md-right\"},[_c('p-button',{staticClass:\"w-100\",attrs:{\"type\":\"success\"},on:{\"click\":_vm.createTemplate}},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.btnCreate'))+\" \")])],1)])],2)],1),_c('modal',{staticClass:\"modal-cbs\",attrs:{\"show\":_vm.modal.show},on:{\"update:show\":function($event){return _vm.$set(_vm.modal, \"show\", $event)}}},[_c('h5',{staticClass:\"modal-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('cbgViews.newCbg.modal.title')))]),_c('div',{ref:\"cbcontainer\",staticClass:\"cb-container\"},[_c('campaign-blocks',{ref:\"allList\",attrs:{\"campaignBlocks\":_vm.campaignBlocks,\"enableSelect\":true,\"disableAddBtn\":_vm.disableAddingCb,\"entityHID\":_vm.entityHID},on:{\"selectedChanged\":_vm.selectChangeCBG},scopedSlots:_vm._u([{key:\"cardheader\",fn:function(){return [_c('h4',{staticClass:\"card-title\",attrs:{\"data-v-step\":\"step-cbt-title\"}},[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.modal.header'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('cbgViews.newCbg.modal.text'))+\" \")])]},proxy:true}])})],1),_c('p-button',{staticClass:\"btn-go-top\",attrs:{\"type\":\"info\",\"round\":\"\"},on:{\"click\":_vm.goCbModalTop}},[_c('i',{staticClass:\"fa-solid fa-angles-up\"})]),_c('div',{staticClass:\"d-flex justify-content-center w-100\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('p-button',{attrs:{\"type\":\"info\",\"wide\":\"\"},nativeOn:{\"click\":function($event){_vm.modal.show = false}}},[_vm._v(_vm._s(_vm.$t('cbgViews.newCbg.modal.btnClose')))])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"selectecd-cb-table\"},[_c('div',{staticClass:\"row\"},[_c('div',{ref:\"table\",staticClass:\"col-12\"},[_c('el-table',{ref:\"eltable\",attrs:{\"data\":_vm.queriedData,\"empty-text\":_vm.$t('campaignBlock.selectedCbTable.table.noData'),\"default-sort\":{ prop: 'name', order: 'ascending'}},on:{\"sort-change\":_vm.handleSortChange}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticClass:\"mb-1 px-5 py-3 select-cb-detail\"},[_c('campaign-block-detail',{attrs:{\"campaignBlock\":props.row,\"diffs\":[props.row.difficulty],\"CCs\":[props.row.cultureCode],\"entityHID\":_vm.entityHID}})],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"sortable\":\"custom\",\"label\":_vm.$t('campaignBlock.selectedCbTable.table.colName.header')},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.channels.includes('sms'))?_c('el-tooltip',{attrs:{\"content\":_vm.$t('campaignBlock.selectedCbTable.table.colName.smsTooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa-regular fa-comment-dots\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(props.row.channels.includes('email'))?_c('el-tooltip',{attrs:{\"content\":_vm.$t('campaignBlock.selectedCbTable.table.colName.emailTooltip'),\"open-delay\":300,\"placement\":\"top\"}},[_c('i',{staticClass:\"fa-regular fa-envelope\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(props.row.name))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"description\",\"label\":_vm.$t('campaignBlock.selectedCbTable.table.colDesc')}}),_c('el-table-column',{attrs:{\"prop\":\"cultureCode\",\"width\":160,\"sortable\":\"custom\",\"label\":_vm.$t('campaignBlock.selectedCbTable.table.colCC'),\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.cultureCode.toUpperCase())+\" \")]}}])}),_c('el-table-column',{attrs:{\"prop\":\"difficulty\",\"sortable\":\"custom\",\"label\":_vm.$t('campaignBlock.selectedCbTable.table.colDiff'),\"width\":150,\"align\":\"center\"}}),_c('el-table-column',{attrs:{\"width\":120,\"align\":\"center\",\"class-name\":\"td-actions\"},scopedSlots:_vm._u([{key:\"header\",fn:function(scope){return [_c('span',{attrs:{\"data-v-step\":\"step-actions\"}},[_vm._v(_vm._s(_vm.$t('campaignBlock.selectedCbTable.table.colActions.header')))])]}},{key:\"default\",fn:function(props){return [(props.row.selected)?_c('el-tooltip',{attrs:{\"content\":_vm.$t('campaignBlock.selectedCbTable.table.colActions.btnRemove'),\"open-delay\":300,\"placement\":\"top\"}},[_c('p-button',{attrs:{\"type\":\"danger\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectCBG(props.row, false)}}},[_c('i',{staticClass:\"fa fa-times\"})])],1):_vm._e()]}}])})],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"selectecd-cb-table\">\r\n <div class=\"row\">\r\n <div class=\"col-12\" ref=\"table\">\r\n <el-table v-bind:data=\"queriedData\" ref=\"eltable\" :empty-text=\"$t('campaignBlock.selectedCbTable.table.noData')\"\r\n :default-sort=\"{ prop: 'name', order: 'ascending'}\"\r\n @sort-change=\"handleSortChange\">\r\n <el-table-column type=\"expand\">\r\n <template slot-scope=\"props\">\r\n <div class=\"mb-1 px-5 py-3 select-cb-detail\">\r\n <campaign-block-detail :campaignBlock=\"props.row\" :diffs=\"[props.row.difficulty]\" :CCs=\"[props.row.cultureCode]\" :entityHID=\"entityHID\"></campaign-block-detail>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"name\" sortable=\"custom\" :label=\"$t('campaignBlock.selectedCbTable.table.colName.header')\">\r\n <template slot-scope=\"props\">\r\n <el-tooltip :content=\"$t('campaignBlock.selectedCbTable.table.colName.smsTooltip')\" :open-delay=\"300\" placement=\"top\" v-if=\"props.row.channels.includes('sms')\">\r\n <i class=\"fa-regular fa-comment-dots\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n <el-tooltip :content=\"$t('campaignBlock.selectedCbTable.table.colName.emailTooltip')\" :open-delay=\"300\" placement=\"top\" v-if=\"props.row.channels.includes('email')\">\r\n <i class=\"fa-regular fa-envelope\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n <span class=\"ml-2\">{{props.row.name}}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"description\" :label=\"$t('campaignBlock.selectedCbTable.table.colDesc')\">\r\n </el-table-column>\r\n <el-table-column prop=\"cultureCode\" :width=\"160\" sortable=\"custom\" :label=\"$t('campaignBlock.selectedCbTable.table.colCC')\" align=\"center\">\r\n <template slot-scope=\"props\">\r\n {{props.row.cultureCode.toUpperCase()}}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"difficulty\" sortable=\"custom\" :label=\"$t('campaignBlock.selectedCbTable.table.colDiff')\" :width=\"150\" align=\"center\">\r\n </el-table-column>\r\n <el-table-column :width=\"120\" align=\"center\" class-name=\"td-actions\">\r\n <template slot=\"header\" slot-scope=\"scope\">\r\n <span data-v-step=\"step-actions\">{{$t('campaignBlock.selectedCbTable.table.colActions.header')}}</span>\r\n </template>\r\n <template slot-scope=\"props\">\r\n <el-tooltip :content=\"$t('campaignBlock.selectedCbTable.table.colActions.btnRemove')\" :open-delay=\"300\" placement=\"top\" v-if=\"props.row.selected\">\r\n <p-button type=\"danger\" icon @click=\"selectCBG(props.row, false)\">\r\n <i class=\"fa fa-times\"></i>\r\n </p-button>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import { Card, Pagination } from 'src/components/UIComponents'\r\n import { Select, Option, Table, TableColumn, Button } from 'element-ui'\r\n import CampaignBlockDetail from 'src/components/UIComponents/CampaignBlock/CampaignBlockDetail.vue'\r\n import DropdownCheck from 'src/components/UIComponents/DropdownCheck.vue'\r\n\r\n\r\n function sortingHandler(a, b, sortObject) {\r\n let comparison = 0;\r\n let sign = sortObject.order == \"descending\" ? -1 : 1;\r\n if (a[sortObject.name] > b[sortObject.name]) {\r\n comparison = 1 * sign;\r\n } else if (a[sortObject.name] < b[sortObject.name]) {\r\n comparison = -1 * sign;\r\n }\r\n return comparison;\r\n }\r\n\r\n export default {\r\n name: 'selected-campaign-block-table',\r\n components: {\r\n [Select.name]: Select,\r\n [Option.name]: Option,\r\n [Button.name]: Button,\r\n Card,\r\n [Table.name]: Table,\r\n [TableColumn.name]: TableColumn,\r\n CampaignBlockDetail,\r\n DropdownCheck,\r\n },\r\n props: {\r\n campaignBlocks: {\r\n type: Array,\r\n required: true\r\n },\r\n entityHID: {\r\n type: String,\r\n required: true\r\n },\r\n },\r\n data() {\r\n return {\r\n sortObject: { order: 'ascending', name: 'name' },\r\n }\r\n },\r\n methods: {\r\n handleSortChange(e) {\r\n this.sortObject = { order: e.order, name: e.prop };\r\n },\r\n selectCBG(row, value) {\r\n this.$emit('selectedChanged', row, value);\r\n }, \r\n refresh() {\r\n const name = this.sortObject.name;\r\n const order = this.sortObject.order;\r\n this.$refs.eltable.clearSort();\r\n this.$refs.eltable.sort(name, order);\r\n },\r\n },\r\n computed: {\r\n //--------------------\r\n queriedData() {\r\n var cThis = this;\r\n let result = this.campaignBlocks;\r\n return result.sort(function (a, b) { return sortingHandler(a, b, cThis.sortObject); });\r\n },\r\n },\r\n watch: {\r\n\r\n },\r\n created(){\r\n\r\n },\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectedCampaignBlockTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectedCampaignBlockTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectedCampaignBlockTable.vue?vue&type=template&id=92a1a36e&scoped=true\"\nimport script from \"./SelectedCampaignBlockTable.vue?vue&type=script&lang=js\"\nexport * from \"./SelectedCampaignBlockTable.vue?vue&type=script&lang=js\"\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 \"92a1a36e\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div ref=\"content\" class=\"newCBG\">\r\n <div class=\"row\">\r\n <div class=\"col d-flex justify-content-start\">\r\n <router-link class=\"btn btn-info btn-icon btn-round btn-lg\" :to=\"{ name: 'eCampaignBlockGroupList'}\">\r\n <i class=\"fa fa-arrow-left \"></i>\r\n </router-link>\r\n <div class=\"view-title ml-2\">\r\n <p class=\"title\" data-v-step=\"step-title\">\r\n {{ $t('cbgViews.newCbg.header')}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <wizard :showHeader=\"false\" :showFinishButton=\"false\" \r\n :prevButtonText=\"$t('cbgViews.newCbg.wizard.btnBack')\" \r\n :nextButtonText=\"$t('cbgViews.newCbg.wizard.btnNext')\">\r\n\r\n <!-- Info -->\r\n <wizard-tab :before-change=\"tabInfoComplete\">\r\n <template slot=\"label\">\r\n <i class=\"now-ui-icons users_circle-08\"></i>\r\n {{ $t('cbgViews.newCbg.wizard.tabInfo.title')}}\r\n </template>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3> {{ $t('cbgViews.newCbg.wizard.tabInfo.header')}}</h3>\r\n <p>\r\n {{ $t('cbgViews.newCbg.wizard.tabInfo.text')}}\r\n </p>\r\n </div>\r\n\r\n <div class=\"col-12 col-md-8\">\r\n <div class=\"form-group\">\r\n <label class=\"\">{{ $t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.label')}}</label>\r\n <fg-input :placeholder=\"$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.placeholder')\" v-model=\"cbgName\" :error=\"modelValidations.cbgName.msg\"></fg-input>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-4\">\r\n <div class=\"form-group\" data-v-step=\"step-cc\">\r\n <label>\r\n {{ $t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.label')}}\r\n <el-tooltip :content=\"$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.toolTip')\" :open-delay=\"300\" placement=\"top\">\r\n <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\r\n </el-tooltip>\r\n </label>\r\n <fg-input :error=\"modelValidations.cbgCC.msg\">\r\n <el-select class=\"select-primary\" v-model=\"cbgCC\" :placeholder=\"$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.placeholder')\">\r\n <el-option v-for=\"cc in formatedCCs\"\r\n class=\"select-primary\"\r\n :value=\"cc.key\"\r\n :label=\"cc.label\"\r\n :key=\"cc.key\">\r\n </el-option>\r\n </el-select>\r\n </fg-input>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"form-group\" data-v-step=\"step-desc\">\r\n <label class=\"\">{{ $t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.label')}}</label>\r\n <el-input type=\"textarea\" v-bind:class=\"{ 'is-novalid': (modelValidations.cbgDesc.msg.length > 0) }\"\r\n :rows=\"2\"\r\n :placeholder=\"$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.placeholder')\"\r\n v-model=\"cbgDesc\">\r\n </el-input>\r\n <div class=\"row\" v-if=\"modelValidations.cbgDesc.msg.length > 0\">\r\n <div class=\"col text-left\">\r\n <span class=\"validation-summary\">\r\n {{modelValidations.cbgDesc.msg}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </wizard-tab>\r\n\r\n <!-- CB -->\r\n <wizard-tab :before-change=\"tabCbComplete\">\r\n <template slot=\"label\">\r\n <i class=\"now-ui-icons users_circle-08\"></i>\r\n {{ $t('cbgViews.newCbg.wizard.tabCB.title')}}\r\n </template>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3> {{ $t('cbgViews.newCbg.wizard.tabCB.header')}}</h3>\r\n <p>\r\n {{ $t('cbgViews.newCbg.wizard.tabCB.text')}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <selected-campaign-block-table v-bind:campaignBlocks=\"cbgBlocks\" ref=\"selTable\" @selectedChanged=\"selectChangeCBG\" :entityHID=\"entityHID\">\r\n </selected-campaign-block-table>\r\n\r\n <div class=\"row mt-5\" v-if=\"modelValidations.cbgBlocks.msg.length > 0\">\r\n <div class=\"col text-center\">\r\n <span class=\"validation-summary validation-cbgBlocks\">\r\n {{modelValidations.cbgBlocks.msg}}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3 justify-content-center\">\r\n <div class=\"col-12 col-md-auto text-center text-md-right\">\r\n <p-button type=\"success\" @click=\"openCbModal\" class=\"w-100\" :disabled=\"disableAddingCb\">\r\n {{ $t('cbgViews.newCbg.btnAddCB')}}\r\n </p-button>\r\n </div>\r\n </div>\r\n\r\n </wizard-tab>\r\n\r\n <!-- Timing -->\r\n <wizard-tab>\r\n <template slot=\"label\">\r\n <i class=\"now-ui-icons users_circle-08\"></i>\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.title')}}\r\n </template>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h3> {{ $t('cbgViews.newCbg.wizard.tabTiming.header')}}</h3>\r\n <p>\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.text')}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row align-items-center mt-3\">\r\n <div class=\"col-12 col-md-6\">\r\n <h6>\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.total.header')}}\r\n </h6>\r\n <p class=\"text-muted\">\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.total.text1')}}\r\n <br />\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.total.text2')}}\r\n </p>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <p-progress :values=\"cbgProgress\" class=\"cbg-progress\">\r\n </p-progress>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center\">\r\n <h4 style=\"margin-bottom: 0px; margin-top: 0px;\">{{ $t('cbgViews.newCbg.wizard.tabTiming.total.label', [this.cbgSending + this.cbgWaiting])}}</h4>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <el-divider></el-divider>\r\n\r\n <div class=\"row align-items-center\">\r\n <div class=\"col-12 col-md-6\">\r\n <h6>\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.sending.header')}}\r\n </h6>\r\n <p class=\"text-muted\">\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.sending.text1')}}\r\n </p>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"block\">\r\n <el-slider v-model=\"cbgSending\" :min=\"cbgSendingMin\" :max=\"cbgSendingMax\" show-input class=\"slider-success\" data-v-step=\"step-sendphase\">\r\n </el-slider>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <el-divider></el-divider>\r\n\r\n <div class=\"row align-items-center mt-3\">\r\n <div class=\"col-12 col-md-6\">\r\n <h6>\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.waiting.header')}}\r\n </h6>\r\n <p class=\"text-muted\">\r\n {{ $t('cbgViews.newCbg.wizard.tabTiming.waiting.text1')}}\r\n </p>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <div class=\"block\">\r\n <el-slider v-model=\"cbgWaiting\" :min=\"cbgWaitingMin\" :max=\"cbgWaitingMax\" show-input class=\"slider-warning\" data-v-step=\"step-waitphase\">\r\n </el-slider>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" v-if=\"modelValidations.summary.msg.length > 0\">\r\n <div class=\"col text-center\">\r\n <span class=\"validation-summary\">\r\n {{modelValidations.summary.msg}}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-5 justify-content-center\">\r\n <div class=\"col-12 col-md-auto text-center text-md-right\">\r\n <p-button type=\"success\" @click=\"createTemplate\" class=\"w-100\">\r\n {{ $t('cbgViews.newCbg.btnCreate')}}\r\n </p-button>\r\n </div>\r\n </div>\r\n </wizard-tab>\r\n\r\n </wizard>\r\n\r\n\r\n <!-- Modal dialog for select CBs -->\r\n <modal :show.sync=\"modal.show\" class=\"modal-cbs\">\r\n <h5 slot=\"header\" class=\"modal-title\">{{ $t('cbgViews.newCbg.modal.title')}}</h5>\r\n <div class=\"cb-container\" ref=\"cbcontainer\">\r\n <campaign-blocks v-bind:campaignBlocks=\"campaignBlocks\" :enableSelect=\"true\" ref=\"allList\" :disableAddBtn=\"disableAddingCb\"\r\n @selectedChanged=\"selectChangeCBG\" :entityHID=\"entityHID\">\r\n <template v-slot:cardheader>\r\n <h4 class=\"card-title\" data-v-step=\"step-cbt-title\">\r\n {{ $t('cbgViews.newCbg.modal.header')}}\r\n </h4>\r\n <p>\r\n {{ $t('cbgViews.newCbg.modal.text')}}\r\n </p>\r\n </template>\r\n </campaign-blocks>\r\n </div>\r\n\r\n <p-button type=\"info\" class=\"btn-go-top\" round @click=\"goCbModalTop\">\r\n <i class=\"fa-solid fa-angles-up\"></i>\r\n </p-button>\r\n\r\n <div slot=\"footer\" class=\"d-flex justify-content-center w-100\">\r\n <p-button type=\"info\" wide @click.native=\"modal.show = false\">{{ $t('cbgViews.newCbg.modal.btnClose')}}</p-button>\r\n </div>\r\n </modal>\r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import { Modal, Collapse, CollapseItem, Card, Checkbox, Wizard, WizardTab } from 'src/components/UIComponents'\r\n import { Select, Option, Input, Slider, Divider } from 'element-ui'\r\n import swal from 'sweetalert2'\r\n import PProgress from 'src/components/UIComponents/Progress.vue'\r\n import SelectedCampaignBlockTable from 'src/components/UIComponents/CampaignBlock/SelectedCampaignBlockTable.vue'\r\n import CampaignBlocks from 'src/components/UIComponents/CampaignBlock/CampaignBlocks.vue'\r\n\r\n export default {\r\n components: {\r\n [Select.name]: Select,\r\n [Option.name]: Option,\r\n CollapseItem,\r\n Collapse,\r\n [Checkbox.name]: Checkbox,\r\n Card,\r\n [Input.name]: Input,\r\n [Slider.name]: Slider,\r\n [Divider.name]: Divider,\r\n PProgress,\r\n SelectedCampaignBlockTable,\r\n CampaignBlocks,\r\n Wizard,\r\n WizardTab,\r\n Modal,\r\n },\r\n data() {\r\n return {\r\n entityHID: null,\r\n campaignBlocks: [],\r\n cbgName: null,\r\n cbgDesc: null,\r\n cbgCC: null,\r\n cbgSending: 0,\r\n cbgWaiting: 0,\r\n modelValidations: {\r\n cbgName: {\r\n msg: '',\r\n },\r\n cbgDesc: {\r\n msg: '',\r\n },\r\n cbgCC: {\r\n msg: '',\r\n },\r\n cbgBlocks: {\r\n msg: '',\r\n },\r\n summary: {\r\n msg: '',\r\n },\r\n },\r\n refreshCbgBlocks: 0,\r\n modal: {\r\n show: false,\r\n }\r\n }\r\n },\r\n methods: {\r\n initComponent: function () {\r\n this.loadCampBlocks();\r\n this.cbgWaiting = Math.trunc((this.cbgWaitingMax - this.cbgWaitingMin) / 2);\r\n },\r\n loadCampBlocks() {\r\n if (!this.entityHID) return;\r\n let vueThis = this;\r\n let loader = this.$loading.show(this.$root.config.getLoadingCfg(this.$refs.content));\r\n this.axios.post(this.$root.config.entity.campBlock.getCampaignBlocksUrl(this.entityHID), null)\r\n .then(response => {\r\n vueThis.campaignBlocks = response.data;\r\n vueThis.campaignBlocks.forEach((item) => {\r\n item.selected = false;\r\n }); \r\n loader.hide();\r\n }).catch(function (error) {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n loader.hide();\r\n });\r\n },\r\n clearValidation: function () {\r\n this.clearValidationTabInto();\r\n this.clearValidationTabCb();\r\n\r\n this.modelValidations.summary.msg = \"\";\r\n },\r\n validate: function () {\r\n var result = true;\r\n this.clearValidation();\r\n\r\n //------- tab Info\r\n result = this.validateTabInto();\r\n\r\n //--- tabCB\r\n result = this.validateTabCb();\r\n\r\n // summary\r\n if (result) {\r\n this.modelValidations.summary.msg = \"\";\r\n }\r\n else {\r\n this.modelValidations.summary.msg = this.$t('cbgViews.newCbg.errSummary');\r\n }\r\n\r\n return result;\r\n },\r\n createTemplate: function () {\r\n if (this.validate()) {\r\n var cModel = {\r\n name: this.cbgName.trim(),\r\n description: this.cbgDesc.trim(),\r\n cultureCode: this.cbgCC,\r\n blockHIDs: this.cbgBlocks.map(x => x.hid),\r\n sending: this.cbgSending,\r\n waiting: this.cbgWaiting,\r\n };\r\n swal.fire(this.$root.config.getSweetAlertCfg_Waiting);\r\n let vueThis = this;\r\n this.axios.post(this.$root.config.entity.campBlockGroup.createCampaignBlockGroupUrl(this.entityHID), cModel)\r\n .then(response => {\r\n swal.close();\r\n vueThis.$router.push({ name: 'eCampaignBlockGroupList' });\r\n swal.fire({\r\n icon: 'success',\r\n title: vueThis.$t('cbgViews.newCbg.createAlert.success'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }).catch(function (error) {\r\n swal.close();\r\n if (error.response.status == 400) {\r\n let respMsg = error.response.data;\r\n swal.fire({\r\n title: vueThis.$t('cbgViews.newCbg.createAlert.failed'),\r\n text: vueThis.$t('apiErrorCode.' + respMsg.code + '.msg', { name: cModel.name }),\r\n icon: vueThis.$t('apiErrorCode.' + respMsg.code + '.icon'),\r\n showConfirmButton: true,\r\n timer: vueThis.$root.config.alertTimer15,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n vueThis.writeEx2Log(error);\r\n vueThis.genericErrorAlert();\r\n }\r\n });\r\n }\r\n },\r\n selectChangeCBG(gcb, value) {\r\n //console.log(\"selectChangeCBG\", gcb, value);\r\n this.campaignBlocks.find(c => c.hid === gcb.hid).selected = value;\r\n this.refreshCbgBlocks++;\r\n this.$refs.selTable.refresh();\r\n this.$refs.allList.refresh();\r\n },\r\n //-----------\r\n tabInfoComplete() { \r\n return this.validateTabInto();\r\n },\r\n validateTabInto() {\r\n var result = true;\r\n this.clearValidationTabInto();\r\n if (this.cbgName == null) {\r\n this.modelValidations.cbgName.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.errReq');\r\n result = false;\r\n }\r\n else {\r\n if (this.cbgName.trim().length == 0) {\r\n this.modelValidations.cbgName.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.errReq');\r\n result = false;\r\n }\r\n if (this.cbgName.trim().length > this.$root.config.maxCampainBlockGroupNameLength) {\r\n this.modelValidations.cbgName.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgName.errMaxLen', [this.$root.config.maxCampainBlockGroupNameLength]);\r\n result = false;\r\n }\r\n }\r\n if (this.cbgDesc == null) {\r\n this.modelValidations.cbgDesc.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.errReq');\r\n result = false;\r\n }\r\n else {\r\n if (this.cbgDesc.trim().length == 0) {\r\n this.modelValidations.cbgDesc.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.errReq');\r\n result = false;\r\n }\r\n if (this.cbgDesc.trim().length > this.$root.config.maxCampainBlockGroupDescLength) {\r\n this.modelValidations.cbgDesc.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgDesc.errLen', [this.$root.config.maxCampainBlockGroupDescLength]);\r\n result = false;\r\n }\r\n }\r\n if (this.cbgCC == null) {\r\n this.modelValidations.cbgCC.msg = this.$t('cbgViews.newCbg.wizard.tabInfo.form.cbgCC.errReq');\r\n result = false;\r\n }\r\n\r\n return result;\r\n },\r\n clearValidationTabInto: function () {\r\n this.modelValidations.cbgName.msg = \"\";\r\n this.modelValidations.cbgDesc.msg = \"\";\r\n this.modelValidations.cbgCC.msg = \"\";\r\n },\r\n tabCbComplete() {\r\n return this.validateTabCb();\r\n },\r\n validateTabCb() {\r\n var result = true;\r\n this.clearValidationTabCb();\r\n if (this.cbgBlocks.length == 0) {\r\n this.modelValidations.cbgBlocks.msg = this.$t('cbgViews.newCbg.wizard.tabCB.errReq');\r\n result = false;\r\n }\r\n if (this.cbgBlocks.length > this.$root.config.maxBlocksInCampainBlockGroup) {\r\n this.modelValidations.cbgBlocks.msg = this.$t('cbgViews.newCbg.wizard.tabCB.errMax', [this.$root.config.maxBlocksInCampainBlockGroup]);\r\n result = false;\r\n }\r\n return result;\r\n },\r\n clearValidationTabCb: function () {\r\n this.modelValidations.cbgBlocks.msg = \"\";\r\n },\r\n //-----------\r\n openCbModal() {\r\n this.modal.show = true;\r\n //setTimeout(() => { this.goCbModalTop(); }, 500);\r\n },\r\n goCbModalTop() {\r\n this.$refs.cbcontainer.scrollTop = 0;\r\n },\r\n },\r\n computed: {\r\n cultureCodes() {\r\n if (this.campaignBlocks == null || this.campaignBlocks.length == 0)\r\n return [];\r\n\r\n let res = [];\r\n res.push(\"multi\");\r\n this.campaignBlocks.forEach((item) =>\r\n {\r\n if (!res.includes(item.cultureCode)) {\r\n res.push(item.cultureCode);\r\n }\r\n });\r\n return res;\r\n },\r\n cbgSendingMin() {\r\n if (this.cbgBlocks == null || this.cbgBlocks.length == 0)\r\n return 0;\r\n\r\n return this.cbgBlocks.length * this.$root.config.minCampainBlockSendingDay;\r\n },\r\n cbgSendingMax() {\r\n if (this.cbgBlocks == null || this.cbgBlocks.length == 0)\r\n return 0;\r\n\r\n return this.cbgBlocks.length * this.$root.config.maxCampainBlockSendingDay;\r\n },\r\n cbgWaitingMin() {\r\n return this.$root.config.minCampainBlockGroupWaitingDay;\r\n },\r\n cbgWaitingMax() {\r\n return this.$root.config.maxCampainBlockGroupWaitingDay;\r\n },\r\n cbgProgress() {\r\n let all = this.cbgSending + this.cbgWaiting;\r\n return [\r\n { type: 'success', value: (this.cbgSending / all)*100 },\r\n { type: 'warning', value: (this.cbgWaiting / all)*100 },\r\n ];\r\n },\r\n cbgBlocks() {\r\n this.refreshCbgBlocks;\r\n return this.campaignBlocks.filter(c => c.selected == true);\r\n },\r\n disableAddingCb() {\r\n return this.cbgBlocks.length >= this.$root.config.maxBlocksInCampainBlockGroup;\r\n },\r\n formatedCCs() {\r\n return this.cultureCodes.map(c => { return { key: c, label: c.toUpperCase() } })\r\n },\r\n },\r\n watch: {\r\n cbgName: function (value) {\r\n this.validateTabInto();\r\n },\r\n cbgDesc: function (value) {\r\n this.validateTabInto();\r\n },\r\n cbgCC: function (value) {\r\n this.validateTabInto();\r\n },\r\n cbgBlocks: function (value) {\r\n this.validateTabCb();\r\n this.$refs.selTable.refresh();\r\n this.cbgSending = this.cbgSendingMin + Math.trunc((this.cbgSendingMax - this.cbgSendingMin) / 2);\r\n },\r\n $route(to, from) {\r\n if (to !== from) {\r\n this.entityHID = parseInt(this.$route.params.eid);\r\n if (!this.$store.getters.appState.entity.manualControl) {\r\n this.$router.push({ name: \"aDashboard\" });\r\n }\r\n else {\r\n this.initComponent();\r\n }\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initComponent();\r\n },\r\n created() {\r\n this.entityHID = this.$route.params.ehid;\r\n }\r\n }\r\n\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCampaignBlockGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewCampaignBlockGroup.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewCampaignBlockGroup.vue?vue&type=template&id=79e14594&scoped=true\"\nimport script from \"./NewCampaignBlockGroup.vue?vue&type=script&lang=js\"\nexport * from \"./NewCampaignBlockGroup.vue?vue&type=script&lang=js\"\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 \"79e14594\",\n null\n \n)\n\nexport default component.exports","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 91);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 91:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"el-checkbox\",\n class: [\n _vm.border && _vm.checkboxSize\n ? \"el-checkbox--\" + _vm.checkboxSize\n : \"\",\n { \"is-disabled\": _vm.isDisabled },\n { \"is-bordered\": _vm.border },\n { \"is-checked\": _vm.isChecked }\n ],\n attrs: { id: _vm.id }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"el-checkbox__input\",\n class: {\n \"is-disabled\": _vm.isDisabled,\n \"is-checked\": _vm.isChecked,\n \"is-indeterminate\": _vm.indeterminate,\n \"is-focus\": _vm.focus\n },\n attrs: {\n tabindex: _vm.indeterminate ? 0 : false,\n role: _vm.indeterminate ? \"checkbox\" : false,\n \"aria-checked\": _vm.indeterminate ? \"mixed\" : false\n }\n },\n [\n _c(\"span\", { staticClass: \"el-checkbox__inner\" }),\n _vm.trueLabel || _vm.falseLabel\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n name: _vm.name,\n disabled: _vm.isDisabled,\n \"true-value\": _vm.trueLabel,\n \"false-value\": _vm.falseLabel\n },\n domProps: {\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, null) > -1\n : _vm._q(_vm.model, _vm.trueLabel)\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n disabled: _vm.isDisabled,\n name: _vm.name\n },\n domProps: {\n value: _vm.label,\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, _vm.label) > -1\n : _vm.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.label,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n ]\n ),\n _vm.$slots.default || _vm.label\n ? _c(\n \"span\",\n { staticClass: \"el-checkbox__label\" },\n [\n _vm._t(\"default\"),\n !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e()\n ],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({\n name: 'ElCheckbox',\n\n mixins: [emitter_default.a],\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n componentName: 'ElCheckbox',\n\n data: function data() {\n return {\n selfModel: false,\n focus: false,\n isLimitExceeded: false\n };\n },\n\n\n computed: {\n model: {\n get: function get() {\n return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel;\n },\n set: function set(val) {\n if (this.isGroup) {\n this.isLimitExceeded = false;\n this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true);\n\n this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true);\n\n this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]);\n } else {\n this.$emit('input', val);\n this.selfModel = val;\n }\n }\n },\n\n isChecked: function isChecked() {\n if ({}.toString.call(this.model) === '[object Boolean]') {\n return this.model;\n } else if (Array.isArray(this.model)) {\n return this.model.indexOf(this.label) > -1;\n } else if (this.model !== null && this.model !== undefined) {\n return this.model === this.trueLabel;\n }\n },\n isGroup: function isGroup() {\n var parent = this.$parent;\n while (parent) {\n if (parent.$options.componentName !== 'ElCheckboxGroup') {\n parent = parent.$parent;\n } else {\n this._checkboxGroup = parent;\n return true;\n }\n }\n return false;\n },\n store: function store() {\n return this._checkboxGroup ? this._checkboxGroup.value : this.value;\n },\n\n\n /* used to make the isDisabled judgment under max/min props */\n isLimitDisabled: function isLimitDisabled() {\n var _checkboxGroup = this._checkboxGroup,\n max = _checkboxGroup.max,\n min = _checkboxGroup.min;\n\n return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked;\n },\n isDisabled: function isDisabled() {\n return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled;\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxSize: function checkboxSize() {\n var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize;\n }\n },\n\n props: {\n value: {},\n label: {},\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: String,\n trueLabel: [String, Number],\n falseLabel: [String, Number],\n id: String, /* 当indeterminate为真时,为controlsæä¾›ç›¸å…³è¿žçš„checkboxçš„idï¼Œè¡¨æ˜Žå…ƒç´ é—´çš„æŽ§åˆ¶å…³ç³»*/\n controls: String, /* 当indeterminate为真时,为controlsæä¾›ç›¸å…³è¿žçš„checkboxçš„idï¼Œè¡¨æ˜Žå…ƒç´ é—´çš„æŽ§åˆ¶å…³ç³»*/\n border: Boolean,\n size: String\n },\n\n methods: {\n addToStore: function addToStore() {\n if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) {\n this.model.push(this.label);\n } else {\n this.model = this.trueLabel || true;\n }\n },\n handleChange: function handleChange(ev) {\n var _this = this;\n\n if (this.isLimitExceeded) return;\n var value = void 0;\n if (ev.target.checked) {\n value = this.trueLabel === undefined ? true : this.trueLabel;\n } else {\n value = this.falseLabel === undefined ? false : this.falseLabel;\n }\n this.$emit('change', value, ev);\n this.$nextTick(function () {\n if (_this.isGroup) {\n _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]);\n }\n });\n }\n },\n\n created: function created() {\n this.checked && this.addToStore();\n },\n mounted: function mounted() {\n // 为indeterminateå…ƒç´ æ·»åŠ aria-controls 属性\n if (this.indeterminate) {\n this.$el.setAttribute('aria-controls', this.controls);\n }\n },\n\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', _value);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkboxvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox.vue\"\n/* harmony default export */ var src_checkbox = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox/index.js\n\n\n/* istanbul ignore next */\nsrc_checkbox.install = function (Vue) {\n Vue.component(src_checkbox.name, src_checkbox);\n};\n\n/* harmony default export */ var packages_checkbox = __webpack_exports__[\"default\"] = (src_checkbox);\n\n/***/ })\n\n/******/ });","'use strict';\n\nvar EventElement = function (element) {\n this.element = element;\n this.events = {};\n};\n\nEventElement.prototype.bind = function (eventName, handler) {\n if (typeof this.events[eventName] === 'undefined') {\n this.events[eventName] = [];\n }\n this.events[eventName].push(handler);\n this.element.addEventListener(eventName, handler, false);\n};\n\nEventElement.prototype.unbind = function (eventName, handler) {\n var isHandlerProvided = (typeof handler !== 'undefined');\n this.events[eventName] = this.events[eventName].filter(function (hdlr) {\n if (isHandlerProvided && hdlr !== handler) {\n return true;\n }\n this.element.removeEventListener(eventName, hdlr, false);\n return false;\n }, this);\n};\n\nEventElement.prototype.unbindAll = function () {\n for (var name in this.events) {\n this.unbind(name);\n }\n};\n\nvar EventManager = function () {\n this.eventElements = [];\n};\n\nEventManager.prototype.eventElement = function (element) {\n var ee = this.eventElements.filter(function (eventElement) {\n return eventElement.element === element;\n })[0];\n if (typeof ee === 'undefined') {\n ee = new EventElement(element);\n this.eventElements.push(ee);\n }\n return ee;\n};\n\nEventManager.prototype.bind = function (element, eventName, handler) {\n this.eventElement(element).bind(eventName, handler);\n};\n\nEventManager.prototype.unbind = function (element, eventName, handler) {\n this.eventElement(element).unbind(eventName, handler);\n};\n\nEventManager.prototype.unbindAll = function () {\n for (var i = 0; i < this.eventElements.length; i++) {\n this.eventElements[i].unbindAll();\n }\n};\n\nEventManager.prototype.once = function (element, eventName, handler) {\n var ee = this.eventElement(element);\n var onceHandler = function (e) {\n ee.unbind(eventName, onceHandler);\n handler(e);\n };\n ee.bind(eventName, onceHandler);\n};\n\nmodule.exports = EventManager;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 136);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 136:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/table/src/config.js\n\n\nvar cellStarts = {\n default: {\n order: ''\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n className: 'el-table-column--selection'\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: ''\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: ''\n }\n};\n\n// 这些选项ä¸åº”该被覆盖\nvar cellForced = {\n selection: {\n renderHeader: function renderHeader(h, _ref) {\n var store = _ref.store;\n\n return h('el-checkbox', {\n attrs: {\n disabled: store.states.data && store.states.data.length === 0,\n indeterminate: store.states.selection.length > 0 && !this.isAllSelected,\n\n value: this.isAllSelected },\n on: {\n 'input': this.toggleAllSelection\n }\n });\n },\n renderCell: function renderCell(h, _ref2) {\n var row = _ref2.row,\n column = _ref2.column,\n isSelected = _ref2.isSelected,\n store = _ref2.store,\n $index = _ref2.$index;\n\n return h('el-checkbox', {\n nativeOn: {\n 'click': function click(event) {\n return event.stopPropagation();\n }\n },\n attrs: {\n value: isSelected,\n disabled: column.selectable ? !column.selectable.call(null, row, $index) : false\n },\n on: {\n 'input': function input() {\n store.commit('rowSelectedChanged', row);\n }\n }\n });\n },\n sortable: false,\n resizable: false\n },\n index: {\n renderHeader: function renderHeader(h, _ref3) {\n var column = _ref3.column;\n\n return column.label || '#';\n },\n renderCell: function renderCell(h, _ref4) {\n var $index = _ref4.$index,\n column = _ref4.column;\n\n var i = $index + 1;\n var index = column.index;\n\n if (typeof index === 'number') {\n i = $index + index;\n } else if (typeof index === 'function') {\n i = index($index);\n }\n\n return h('div', [i]);\n },\n sortable: false\n },\n expand: {\n renderHeader: function renderHeader(h, _ref5) {\n var column = _ref5.column;\n\n return column.label || '';\n },\n renderCell: function renderCell(h, _ref6) {\n var row = _ref6.row,\n store = _ref6.store,\n isExpanded = _ref6.isExpanded;\n\n var classes = ['el-table__expand-icon'];\n if (isExpanded) {\n classes.push('el-table__expand-icon--expanded');\n }\n var callback = function callback(e) {\n e.stopPropagation();\n store.toggleRowExpansion(row);\n };\n return h(\n 'div',\n { 'class': classes,\n on: {\n 'click': callback\n }\n },\n [h('i', { 'class': 'el-icon el-icon-arrow-right' })]\n );\n },\n sortable: false,\n resizable: false,\n className: 'el-table__expand-column'\n }\n};\n\nfunction defaultRenderCell(h, _ref7) {\n var row = _ref7.row,\n column = _ref7.column,\n $index = _ref7.$index;\n\n var property = column.property;\n var value = property && Object(util_[\"getPropByPath\"])(row, property).v;\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index);\n }\n return value;\n}\n\nfunction treeCellPrefix(h, _ref8) {\n var row = _ref8.row,\n treeNode = _ref8.treeNode,\n store = _ref8.store;\n\n if (!treeNode) return null;\n var ele = [];\n var callback = function callback(e) {\n e.stopPropagation();\n store.loadOrToggle(row);\n };\n if (treeNode.indent) {\n ele.push(h('span', { 'class': 'el-table__indent', style: { 'padding-left': treeNode.indent + 'px' } }));\n }\n if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) {\n var expandClasses = ['el-table__expand-icon', treeNode.expanded ? 'el-table__expand-icon--expanded' : ''];\n var iconClasses = ['el-icon-arrow-right'];\n if (treeNode.loading) {\n iconClasses = ['el-icon-loading'];\n }\n ele.push(h(\n 'div',\n { 'class': expandClasses,\n on: {\n 'click': callback\n }\n },\n [h('i', { 'class': iconClasses })]\n ));\n } else {\n ele.push(h('span', { 'class': 'el-table__placeholder' }));\n }\n return ele;\n}\n// EXTERNAL MODULE: ./packages/table/src/util.js\nvar util = __webpack_require__(8);\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(18);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// CONCATENATED MODULE: ./packages/table/src/table-column.js\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\nvar columnIdSeed = 1;\n\n/* harmony default export */ var table_column = ({\n name: 'ElTableColumn',\n\n props: {\n type: {\n type: String,\n default: 'default'\n },\n label: String,\n className: String,\n labelClassName: String,\n property: String,\n prop: String,\n width: {},\n minWidth: {},\n renderHeader: Function,\n sortable: {\n type: [Boolean, String],\n default: false\n },\n sortMethod: Function,\n sortBy: [String, Function, Array],\n resizable: {\n type: Boolean,\n default: true\n },\n columnKey: String,\n align: String,\n headerAlign: String,\n showTooltipWhenOverflow: Boolean,\n showOverflowTooltip: Boolean,\n fixed: [Boolean, String],\n formatter: Function,\n selectable: Function,\n reserveSelection: Boolean,\n filterMethod: Function,\n filteredValue: Array,\n filters: Array,\n filterPlacement: String,\n filterMultiple: {\n type: Boolean,\n default: true\n },\n index: [Number, Function],\n sortOrders: {\n type: Array,\n default: function _default() {\n return ['ascending', 'descending', null];\n },\n validator: function validator(val) {\n return val.every(function (order) {\n return ['ascending', 'descending', null].indexOf(order) > -1;\n });\n }\n }\n },\n\n data: function data() {\n return {\n isSubColumn: false,\n columns: []\n };\n },\n\n\n computed: {\n owner: function owner() {\n var parent = this.$parent;\n while (parent && !parent.tableId) {\n parent = parent.$parent;\n }\n return parent;\n },\n columnOrTableParent: function columnOrTableParent() {\n var parent = this.$parent;\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.$parent;\n }\n return parent;\n },\n realWidth: function realWidth() {\n return Object(util[\"m\" /* parseWidth */])(this.width);\n },\n realMinWidth: function realMinWidth() {\n return Object(util[\"l\" /* parseMinWidth */])(this.minWidth);\n },\n realAlign: function realAlign() {\n return this.align ? 'is-' + this.align : null;\n },\n realHeaderAlign: function realHeaderAlign() {\n return this.headerAlign ? 'is-' + this.headerAlign : this.realAlign;\n }\n },\n\n methods: {\n getPropsData: function getPropsData() {\n var _this = this;\n\n for (var _len = arguments.length, props = Array(_len), _key = 0; _key < _len; _key++) {\n props[_key] = arguments[_key];\n }\n\n return props.reduce(function (prev, cur) {\n if (Array.isArray(cur)) {\n cur.forEach(function (key) {\n prev[key] = _this[key];\n });\n }\n return prev;\n }, {});\n },\n getColumnElIndex: function getColumnElIndex(children, child) {\n return [].indexOf.call(children, child);\n },\n setColumnWidth: function setColumnWidth(column) {\n if (this.realWidth) {\n column.width = this.realWidth;\n }\n if (this.realMinWidth) {\n column.minWidth = this.realMinWidth;\n }\n if (!column.minWidth) {\n column.minWidth = 80;\n }\n column.realWidth = column.width === undefined ? column.minWidth : column.width;\n return column;\n },\n setColumnForcedProps: function setColumnForcedProps(column) {\n // 对于特定类型的 column,æŸäº›å±žæ€§ä¸å…许设置\n var type = column.type;\n var source = cellForced[type] || {};\n Object.keys(source).forEach(function (prop) {\n var value = source[prop];\n if (value !== undefined) {\n column[prop] = prop === 'className' ? column[prop] + ' ' + value : value;\n }\n });\n return column;\n },\n setColumnRenders: function setColumnRenders(column) {\n var _this2 = this;\n\n var h = this.$createElement;\n\n // renderHeader å±žæ€§ä¸æŽ¨è使用。\n if (this.renderHeader) {\n console.warn('[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.');\n } else if (column.type !== 'selection') {\n column.renderHeader = function (h, scope) {\n var renderHeader = _this2.$scopedSlots.header;\n return renderHeader ? renderHeader(scope) : column.label;\n };\n }\n\n var originRenderCell = column.renderCell;\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell ä¸å…许é…置的。在上一æ¥ä¸å·²ç»è®¾ç½®è¿‡ï¼Œè¿™é‡Œéœ€è¦ç®€å•å°è£…一下。\n column.renderCell = function (h, data) {\n return h(\n 'div',\n { 'class': 'cell' },\n [originRenderCell(h, data)]\n );\n };\n this.owner.renderExpanded = function (h, data) {\n return _this2.$scopedSlots.default ? _this2.$scopedSlots.default(data) : _this2.$slots.default;\n };\n } else {\n originRenderCell = originRenderCell || defaultRenderCell;\n // 对 renderCell 进行包装\n column.renderCell = function (h, data) {\n var children = null;\n if (_this2.$scopedSlots.default) {\n children = _this2.$scopedSlots.default(data);\n } else {\n children = originRenderCell(h, data);\n }\n var prefix = treeCellPrefix(h, data);\n var props = {\n class: 'cell',\n style: {}\n };\n if (column.showOverflowTooltip) {\n props.class += ' el-tooltip';\n props.style = { width: (data.column.realWidth || data.column.width) - 1 + 'px' };\n }\n return h(\n 'div',\n props,\n [prefix, children]\n );\n };\n }\n return column;\n },\n registerNormalWatchers: function registerNormalWatchers() {\n var _this3 = this;\n\n var props = ['label', 'property', 'filters', 'filterMultiple', 'sortable', 'index', 'formatter', 'className', 'labelClassName', 'showOverflowTooltip'];\n // 一些属性具有别å\n var aliases = {\n prop: 'property',\n realAlign: 'align',\n realHeaderAlign: 'headerAlign',\n realWidth: 'width'\n };\n var allAliases = props.reduce(function (prev, cur) {\n prev[cur] = cur;\n return prev;\n }, aliases);\n\n Object.keys(allAliases).forEach(function (key) {\n var columnKey = aliases[key];\n\n _this3.$watch(key, function (newVal) {\n _this3.columnConfig[columnKey] = newVal;\n });\n });\n },\n registerComplexWatchers: function registerComplexWatchers() {\n var _this4 = this;\n\n var props = ['fixed'];\n var aliases = {\n realWidth: 'width',\n realMinWidth: 'minWidth'\n };\n var allAliases = props.reduce(function (prev, cur) {\n prev[cur] = cur;\n return prev;\n }, aliases);\n\n Object.keys(allAliases).forEach(function (key) {\n var columnKey = aliases[key];\n\n _this4.$watch(key, function (newVal) {\n _this4.columnConfig[columnKey] = newVal;\n var updateColumns = columnKey === 'fixed';\n _this4.owner.store.scheduleLayout(updateColumns);\n });\n });\n }\n },\n\n components: {\n ElCheckbox: checkbox_default.a\n },\n\n beforeCreate: function beforeCreate() {\n this.row = {};\n this.column = {};\n this.$index = 0;\n this.columnId = '';\n },\n created: function created() {\n var parent = this.columnOrTableParent;\n this.isSubColumn = this.owner !== parent;\n this.columnId = (parent.tableId || parent.columnId) + '_column_' + columnIdSeed++;\n\n var type = this.type || 'default';\n var sortable = this.sortable === '' ? true : this.sortable;\n var defaults = _extends({}, cellStarts[type], {\n id: this.columnId,\n type: type,\n property: this.prop || this.property,\n align: this.realAlign,\n headerAlign: this.realHeaderAlign,\n showOverflowTooltip: this.showOverflowTooltip || this.showTooltipWhenOverflow,\n // filter 相关属性\n filterable: this.filters || this.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n isColumnGroup: false,\n filterOpened: false,\n // sort 相关属性\n sortable: sortable,\n // index 列\n index: this.index\n });\n\n var basicProps = ['columnKey', 'label', 'className', 'labelClassName', 'type', 'renderHeader', 'formatter', 'fixed', 'resizable'];\n var sortProps = ['sortMethod', 'sortBy', 'sortOrders'];\n var selectProps = ['selectable', 'reserveSelection'];\n var filterProps = ['filterMethod', 'filters', 'filterMultiple', 'filterOpened', 'filteredValue', 'filterPlacement'];\n\n var column = this.getPropsData(basicProps, sortProps, selectProps, filterProps);\n column = Object(util[\"h\" /* mergeOptions */])(defaults, column);\n\n // æ³¨æ„ compose ä¸å‡½æ•°æ‰§è¡Œçš„é¡ºåºæ˜¯ä»Žå³åˆ°å·¦\n var chains = Object(util[\"a\" /* compose */])(this.setColumnRenders, this.setColumnWidth, this.setColumnForcedProps);\n column = chains(column);\n\n this.columnConfig = column;\n\n // 注册 watcher\n this.registerNormalWatchers();\n this.registerComplexWatchers();\n },\n mounted: function mounted() {\n var owner = this.owner;\n var parent = this.columnOrTableParent;\n var children = this.isSubColumn ? parent.$el.children : parent.$refs.hiddenColumns.children;\n var columnIndex = this.getColumnElIndex(children, this.$el);\n\n owner.store.commit('insertColumn', this.columnConfig, columnIndex, this.isSubColumn ? parent.columnConfig : null);\n },\n destroyed: function destroyed() {\n if (!this.$parent) return;\n var parent = this.$parent;\n this.owner.store.commit('removeColumn', this.columnConfig, this.isSubColumn ? parent.columnConfig : null);\n },\n render: function render(h) {\n // slots ä¹Ÿè¦æ¸²æŸ“,需è¦è®¡ç®—åˆå¹¶è¡¨å¤´\n return h('div', this.$slots.default);\n }\n});\n// CONCATENATED MODULE: ./packages/table-column/index.js\n\n\n/* istanbul ignore next */\ntable_column.install = function (Vue) {\n Vue.component(table_column.name, table_column);\n};\n\n/* harmony default export */ var packages_table_column = __webpack_exports__[\"default\"] = (table_column);\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return getCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return orderBy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return getColumnById; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return getColumnByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return getColumnByCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return getRowIdentity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return getKeysMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return mergeOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return parseWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return parseMinWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return parseHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return compose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return toggleRowStatus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return walkTreeNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return objectEquals; });\n/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);\n/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nvar getCell = function getCell(event) {\n var cell = event.target;\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell;\n }\n cell = cell.parentNode;\n }\n\n return null;\n};\n\nvar isObject = function isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n};\n\nvar orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) {\n if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) {\n return array;\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1;\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1;\n }\n var getKey = sortMethod ? null : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy];\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[\"getValueByPath\"])(value, by);\n } else {\n return by(value, index, array);\n }\n });\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value;\n }\n return [isObject(value) ? Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[\"getValueByPath\"])(value, sortKey) : value];\n };\n var compare = function compare(a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value);\n }\n for (var i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1;\n }\n if (a.key[i] > b.key[i]) {\n return 1;\n }\n }\n return 0;\n };\n return array.map(function (value, index) {\n return {\n value: value,\n index: index,\n key: getKey ? getKey(value, index) : null\n };\n }).sort(function (a, b) {\n var order = compare(a, b);\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index;\n }\n return order * reverse;\n }).map(function (item) {\n return item.value;\n });\n};\n\nvar getColumnById = function getColumnById(table, columnId) {\n var column = null;\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item;\n }\n });\n return column;\n};\n\nvar getColumnByKey = function getColumnByKey(table, columnKey) {\n var column = null;\n for (var i = 0; i < table.columns.length; i++) {\n var item = table.columns[i];\n if (item.columnKey === columnKey) {\n column = item;\n break;\n }\n }\n return column;\n};\n\nvar getColumnByCell = function getColumnByCell(table, cell) {\n var matches = (cell.className || '').match(/el-table_[^\\s]+/gm);\n if (matches) {\n return getColumnById(table, matches[0]);\n }\n return null;\n};\n\nvar getRowIdentity = function getRowIdentity(row, rowKey) {\n if (!row) throw new Error('row is required when get row identity');\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return row[rowKey];\n }\n var key = rowKey.split('.');\n var current = row;\n for (var i = 0; i < key.length; i++) {\n current = current[key[i]];\n }\n return current;\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row);\n }\n};\n\nvar getKeysMap = function getKeysMap(array, rowKey) {\n var arrayMap = {};\n (array || []).forEach(function (row, index) {\n arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index };\n });\n return arrayMap;\n};\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction mergeOptions(defaults, config) {\n var options = {};\n var key = void 0;\n for (key in defaults) {\n options[key] = defaults[key];\n }\n for (key in config) {\n if (hasOwn(config, key)) {\n var value = config[key];\n if (typeof value !== 'undefined') {\n options[key] = value;\n }\n }\n }\n return options;\n}\n\nfunction parseWidth(width) {\n if (width !== undefined) {\n width = parseInt(width, 10);\n if (isNaN(width)) {\n width = null;\n }\n }\n return width;\n}\n\nfunction parseMinWidth(minWidth) {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth);\n if (isNaN(minWidth)) {\n minWidth = 80;\n }\n }\n return minWidth;\n};\n\nfunction parseHeight(height) {\n if (typeof height === 'number') {\n return height;\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10);\n } else {\n return height;\n }\n }\n return null;\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nfunction compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\nfunction toggleRowStatus(statusArr, row, newVal) {\n var changed = false;\n var index = statusArr.indexOf(row);\n var included = index !== -1;\n\n var addRow = function addRow() {\n statusArr.push(row);\n changed = true;\n };\n var removeRow = function removeRow() {\n statusArr.splice(index, 1);\n changed = true;\n };\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow();\n } else if (!newVal && included) {\n removeRow();\n }\n } else {\n if (included) {\n removeRow();\n } else {\n addRow();\n }\n }\n return changed;\n}\n\nfunction walkTreeNode(root, cb) {\n var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';\n var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren';\n\n var isNil = function isNil(array) {\n return !(Array.isArray(array) && array.length);\n };\n\n function _walker(parent, children, level) {\n cb(parent, children, level);\n children.forEach(function (item) {\n if (item[lazyKey]) {\n cb(item, null, level + 1);\n return;\n }\n var children = item[childrenKey];\n if (!isNil(children)) {\n _walker(item, children, level + 1);\n }\n });\n }\n\n root.forEach(function (item) {\n if (item[lazyKey]) {\n cb(item, null, 0);\n return;\n }\n var children = item[childrenKey];\n if (!isNil(children)) {\n _walker(item, children, 0);\n }\n });\n}\n\nvar objectEquals = function objectEquals(objectA, objectB) {\n // å–对象aå’Œb的属性å\n var aProps = Object.getOwnPropertyNames(objectA);\n var bProps = Object.getOwnPropertyNames(objectB);\n // 判æ–属性åçš„length是å¦ä¸€è‡´\n if (aProps.length !== bProps.length) {\n return false;\n }\n // 循环å–出属性å,å†åˆ¤æ–属性值是å¦ä¸€è‡´\n for (var i = 0; i < aProps.length; i++) {\n var propName = aProps[i];\n if (objectA[propName] !== objectB[propName]) {\n return false;\n }\n }\n return true;\n};\n\n/***/ })\n\n/******/ });"],"sourceRoot":""}