{"version":3,"sources":["webpack:///./due_date_select.js","webpack:///./pages/groups/boards/index.js","webpack:///./vue_shared/directives/tooltip.js","webpack:///./right_sidebar.js","webpack:///./vue_shared/components/toggle_button.vue?87d2","webpack:///vue_shared/components/toggle_button.vue","webpack:///./vue_shared/components/toggle_button.vue?b780","webpack:///./vue_shared/components/toggle_button.vue","webpack:///./vue_shared/components/icon.vue?c951","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?25af","webpack:///./vue_shared/components/icon.vue","webpack:///./filtered_search/event_hub.js","webpack:///./filtered_search/components/recent_searches_dropdown_content.vue?53f7","webpack:///filtered_search/components/recent_searches_dropdown_content.vue","webpack:///./filtered_search/components/recent_searches_dropdown_content.vue","webpack:///./filtered_search/components/recent_searches_dropdown_content.vue?dc03","webpack:///./filtered_search/recent_searches_root.js","webpack:///./filtered_search/stores/recent_searches_store.js","webpack:///./filtered_search/services/recent_searches_service_error.js","webpack:///./filtered_search/services/recent_searches_service.js","webpack:///./filtered_search/filtered_search_manager.js","webpack:///./sidebar/components/assignees/assignees.vue?794f","webpack:///./sidebar/components/assignees/assignees.vue?9264","webpack:///sidebar/components/assignees/assignees.vue","webpack:///./sidebar/components/assignees/assignees.vue","webpack:///./sidebar/components/assignees/assignee_title.vue?924d","webpack:///./sidebar/components/assignees/assignee_title.vue?a53a","webpack:///sidebar/components/assignees/assignee_title.vue","webpack:///./sidebar/components/assignees/assignee_title.vue","webpack:///./sidebar/components/subscriptions/subscriptions.vue?a00d","webpack:///sidebar/components/subscriptions/subscriptions.vue","webpack:///./sidebar/components/subscriptions/subscriptions.vue?4259","webpack:///./sidebar/components/subscriptions/subscriptions.vue","webpack:///./issuable_context.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/sortablejs/Sortable.js","webpack:///./vue_shared/models/label.js","webpack:///./vue_shared/models/assignee.js","webpack:///./boards/filtered_search_boards.js","webpack:///./boards/eventhub.js","webpack:///./boards/models/project.js","webpack:///./boards/models/issue.js","webpack:///./boards/utils/query_data.js","webpack:///./boards/models/list.js","webpack:///./boards/stores/boards_store.js","webpack:///./boards/services/board_service.js","webpack:///./boards/mixins/modal_mixins.js","webpack:///./sortable/sortable_config.js","webpack:///./boards/mixins/sortable_default_options.js","webpack:///./boards/filters/due_date_filters.js","webpack:///./boards/components/project_select.vue?fe15","webpack:///boards/components/project_select.vue","webpack:///./boards/components/project_select.vue","webpack:///./boards/components/project_select.vue?b56f","webpack:///boards/components/board_new_issue.vue","webpack:///./boards/components/board_new_issue.vue?ee52","webpack:///./boards/components/board_new_issue.vue","webpack:///./boards/components/board_new_issue.vue?70cf","webpack:///boards/components/issue_card_inner.vue","webpack:///./boards/components/issue_card_inner.vue?2c05","webpack:///./boards/components/issue_card_inner.vue","webpack:///./boards/components/issue_card_inner.vue?eeb3","webpack:///boards/components/board_card.vue","webpack:///./boards/components/board_card.vue?bb06","webpack:///./boards/components/board_card.vue","webpack:///./boards/components/board_card.vue?10a1","webpack:///boards/components/board_list.vue","webpack:///./boards/components/board_list.vue?6067","webpack:///./boards/components/board_list.vue","webpack:///./boards/components/board_list.vue?c21a","webpack:///boards/components/board_blank_state.vue","webpack:///./boards/components/board_blank_state.vue?ca38","webpack:///./boards/components/board_blank_state.vue","webpack:///./boards/components/board_blank_state.vue?45c8","webpack:///./boards/components/board_delete.js","webpack:///./boards/components/board.js","webpack:///boards/components/sidebar/remove_issue.vue","webpack:///./boards/components/sidebar/remove_issue.vue?fe03","webpack:///./boards/components/sidebar/remove_issue.vue","webpack:///./boards/components/sidebar/remove_issue.vue?1357","webpack:///./boards/components/board_sidebar.js","webpack:///./boards/components/new_list_dropdown.js","webpack:///./boards/components/modal/index.vue?a272","webpack:///./boards/components/modal/filters.js","webpack:///./boards/components/modal/tabs.vue?3ed0","webpack:///boards/components/modal/tabs.vue","webpack:///./boards/components/modal/header.vue?7c7a","webpack:///boards/components/modal/header.vue","webpack:///./boards/components/modal/tabs.vue","webpack:///./boards/components/modal/tabs.vue?6162","webpack:///./boards/components/modal/header.vue","webpack:///./boards/components/modal/header.vue?8399","webpack:///./boards/components/modal/list.vue?0c2e","webpack:///boards/components/modal/list.vue","webpack:///./boards/components/modal/list.vue","webpack:///./boards/components/modal/list.vue?116b","webpack:///./boards/components/modal/lists_dropdown.vue?fe17","webpack:///boards/components/modal/lists_dropdown.vue","webpack:///./boards/components/modal/lists_dropdown.vue","webpack:///./boards/components/modal/lists_dropdown.vue?291d","webpack:///./boards/components/modal/footer.vue?3d61","webpack:///boards/components/modal/footer.vue","webpack:///./boards/components/modal/footer.vue","webpack:///./boards/components/modal/footer.vue?2efe","webpack:///./boards/components/modal/empty_state.vue?fb97","webpack:///boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/index.vue?1a86","webpack:///boards/components/modal/index.vue","webpack:///./boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/empty_state.vue?85ad","webpack:///./boards/components/modal/index.vue","webpack:///./boards/index.js","webpack:///./sidebar/event_hub.js","webpack:///./boards/models/milestone.js","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?bf53","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?c209","webpack:///vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./shortcuts_navigation.js","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?2fc6","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?9c2f","webpack:///vue_shared/components/user_avatar/user_avatar_link.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue","webpack:///../images/no_avatar.png"],"names":["DueDateSelect","_ref","arguments","length","undefined","$dropdown","$loading","_classCallCheck","this","$dropdownParent","closest","$block","$datePicker","find","$sidebarCollapsedValue","$selectbox","$value","$valueContent","$sidebarValue","jquery__WEBPACK_IMPORTED_MODULE_0___default","fieldName","data","abilityName","issueUpdateURL","rawSelectedDate","displayedDate","datePayload","initGlDropdown","initRemoveDueDate","initDatePicker","_this","glDropdown","opened","show","hidden","hide","css","_this2","$dueDateInput","$","calendar","pikaday__WEBPACK_IMPORTED_MODULE_1___default","a","field","get","theme","format","parse","dateString","Object","_lib_utils_datefix__WEBPACK_IMPORTED_MODULE_6__","toString","date","onSelect","dateText","val","hasClass","gl","issueBoards","BoardsStore","detail","issue","dueDate","updateIssueBoardIssue","saveDueDate","setDate","append","el","_this3","on","e","preventDefault","isDropdown","parseSelectedDate","prepSelectedDate","submitSelectedDate","dateArray","split","map","v","parseInt","dateObj","Date","dateformat__WEBPACK_IMPORTED_MODULE_2___default","due_date","_this4","fadeIn","trigger","fadeOutLoader","fadeOut","update","attr","then","catch","_this5","selectedDateValue","hasDueDate","displayedDateStyle","removeClass","html","toggleClass","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_4__","put","tooltipText","_locale__WEBPACK_IMPORTED_MODULE_3__","_lib_utils_datetime_utility__WEBPACK_IMPORTED_MODULE_5__","dropdown","DueDateSelectors","initMilestoneDatePicker","initIssuableSelect","each","container","parent","target","siblings","i","document","addEventListener","_users_select__WEBPACK_IMPORTED_MODULE_0__","_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","_boards__WEBPACK_IMPORTED_MODULE_2__","__webpack_exports__","bind","tooltip","componentUpdated","unbind","_locale__WEBPACK_IMPORTED_MODULE_5__","__webpack_require__","Sidebar","currentUser","toggleTodo","sidebar","removeListeners","addEventListeners","initialize","instance","prototype","off","$document","sidebarCollapseClicked","onSidebarDropdownHidden","sidebarDropdownLoading","sidebarDropdownLoaded","sidebarToggleClicked","triggered","$allGutterToggleIcons","$this","isExpanded","tooltipLabel","addClass","lazyLoader","loadCheck","js_cookie__WEBPACK_IMPORTED_MODULE_2___default","set","ajaxType","url","currentTarget","disable","issuable_id","issuable_type","todoUpdateDone","_flash__WEBPACK_IMPORTED_MODULE_3__","flash","deletePath","delete_path","attrPrefix","$todoBtns","count","$el","$elText","enable","text","$sidebarCollapsedIcon","img","before","remove","openDropdown","blockOrName","underscore__WEBPACK_IMPORTED_MODULE_1___default","isString","getBlock","isOpen","setCollapseAfterUpdate","toggleSidebar","setTimeout","sidebarDropdownHidden","triggerOpenSidebar","action","is","name","LABEL_ON","locale","LABEL_OFF","components_toggle_buttonvue_type_script_lang_js","components","icon","loadingIcon","loading_icon","model","prop","event","props","type","String","required","default","value","Boolean","disabledInput","isLoading","computed","toggleIcon","ariaLabel","methods","toggleFeature","$emit","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","domProps","_e","_v","class","is-checked","is-disabled","is-loading","aria-label","click","css-classes","validSizes","components_iconvue_type_script_lang_js","size","Number","validator","includes","cssClasses","width","height","y","x","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","_b","xlink:href","event_hub","vue_esm","components_recent_searches_dropdown_contentvue_type_script_lang_js","items","Array","isLocalStorageAvailable","allowedKeys","processedItems","item","_FilteredSearchTokeni","filtered_search_tokenizer","processTokens","tokens","searchToken","token","prefix","key","suffix","symbol","hasItems","onItemActivated","onRequestClearRecentSearches","stopPropagation","recent_searches_dropdown_content","_l","index","$event","_s","recent_searches_root","RecentSearchesRoot","recentSearchesStore","recentSearchesService","wrapperElement","store","service","bindEvents","render","onRequestClearRecentSearchesWrapper","$on","$off","state","vm","RecentSearchesDropdownContent","template","resultantSearches","setRecentSearches","save","unbindEvents","$destroy","recent_searches_store","RecentSearchesStore","initialState","recent_searches_store_classCallCheck","assign","recentSearches","newSearch","concat","trimmedSearches","search","trim","underscore_default","uniq","slice","RecentSearchesServiceError","message","recent_searches_service_error_classCallCheck","Error","recent_searches_service_error","recent_searches_service","RecentSearchesService","localStorageKey","recent_searches_service_classCallCheck","isAvailable","error","Promise","reject","input","window","localStorage","getItem","searches","JSON","err","resolve","setItem","stringify","accessor","isLocalStorageAccessSafe","filtered_search_manager_FilteredSearchManager","FilteredSearchManager","page","_ref$isGroup","isGroup","_ref$isGroupAncestor","isGroupAncestor","_ref$isGroupDecendent","isGroupDecendent","_ref$filteredSearchTo","filteredSearchTokenKeys","filtered_search_token_keys","_ref$stateFiltersSele","stateFiltersSelector","filtered_search_manager_classCallCheck","states","filteredSearchInput","querySelector","filteredSearchInputForm","form","clearSearchButton","tokensContainer","recentsStorageKeyNames","issues","merge_requests","getKeys","searchHistoryDropdownElement","recentSearchesKey","dataset","fullPath","fetchingRecentSearchesPromise","fetch","tokenizer","dropdownManager","filtered_search_dropdown_manager","baseEndpoint","getAttribute","recentSearchesRoot","init","loadSearchParamsFromURL","setDropdown","cleanupWrapper","cleanup","removeEventListener","destroy","stateFilters","searchStateWrapper","searchState","applyToStateFilters","filterEl","callback","querySelectorAll","forEach","indexOf","handleFormSubmit","setDropdownWrapper","toggleClearSearchButtonWrapper","toggleClearSearchButton","handleInputPlaceholderWrapper","handleInputPlaceholder","handleInputVisualTokenWrapper","handleInputVisualToken","checkForEnterWrapper","checkForEnter","onClearSearchWrapper","onClearSearch","checkForBackspaceWrapper","checkForBackspace","call","removeSelectedTokenKeydownWrapper","removeSelectedTokenKeydown","unselectEditTokensWrapper","unselectEditTokens","editTokenWrapper","editToken","tokenChange","addInputContainerFocusWrapper","addInputContainerFocus","removeInputContainerFocusWrapper","removeInputContainerFocus","onrecentSearchesItemSelectedWrapper","onrecentSearchesItemSelected","removeTokenWrapper","removeToken","bindStateEvents","unbindStateEvents","backspaceCount","keyCode","lastVisualToken","filtered_search_visual_tokens","getLastVisualTokenBeforeInput","_DropdownUtils$getVis","dropdown_utils","getVisualTokenValues","tokenName","tokenValue","canEdit","getLastTokenPartial","removeLastTokenPartial","updateCurrentDropdownOffset","selectionStart","setSelectionRange","activeElements","mapping","currentDropdown","element","isHandledAsync","stopImmediatePropagation","blur","resetDropdowns","destroyDroplab","dom_utils","inputContainer","isElementInFilteredSearch","contains","isElementInDynamicFilterDropdown","isElementInStaticFilterDropdown","classList","button","selectToken","removeSelectedToken","isElementInFilterDropdown","isElementTokensContainer","moveInputToTheRight","sanitizedTokenName","textContent","query","getSearchQuery","hasHidden","add","currentPlaceholder","placeholder","clearSearch","_this6","removeElements","children","t","canClearToken","_DropdownUtils$getVis2","push","parentElement","removeChild","_tokenizer$processTok","isLastVisualTokenValid","replace","addFilterVisualToken","fragments","inputValues","tokenKey","last","pop","searchTerms","join","addSearchVisualToken","match","_this7","searchQuery","addRecentSearch","urlParams","modifyUrlParams","_this8","common_utils","params","getAllParams","usernameParams","getUsernameParams","hasFilteredSearch","p","keyParam","decodeURIComponent","condition","searchByConditionUrl","sanitizedValue","searchByKeyParam","lastIndexOf","sanitizedKey","quotationsToUse","id","saveCurrentSearchQuery","_this9","paths","_tokenizer$processTok2","currentState","searchByConditionKeyValue","toLowerCase","param","searchByKey","underscoredKey","tokenPath","encodeURIComponent","sanitized","parameterizedUrl","updateObject","url_utility","usernamesById","attribute","user","username","currentDropdownRef","reference","dispatchInputEvent","dispatchEvent","CustomEvent","assignees_assigneesvue_type_script_lang_js","directives","rootPath","users","editable","issuableType","require","defaultRenderCount","defaultMaxCounter","showLess","firstUser","hasMoreThanTwoAssignees","hasMoreThanOneAssignee","hasAssignees","hasNoUsers","hasOneUser","renderShowMoreSection","numberOfHiddenAssignees","isHiddenAssignees","hiddenAssigneesLabel","collapsedTooltipTitle","maxRender","Math","min","names","u","emptyTooltipLabel","sidebarAvatarCounter","counter","assignSelf","toggleShowLess","renderAssignee","avatarUrl","avatar","avatar_url","default_avatar_url","assigneeUrl","assigneeAlt","assigneeUsername","shouldRenderCollapsedAssignee","firstTwo","rawName","multiple-users","title","data-container","data-placement","data-boundary","alt","src","href","data-title","assignees_assignee_titlevue_type_script_lang_js","loading","numberOfAssignees","showToggle","assigneeTitle","assignees","aria-hidden","__","role","data-hidden","subscriptions_subscriptionsvue_type_script_lang_js","toggleButton","toggle_button","subscribed","showLoadingState","notificationIcon","notificationTooltip","toggleSubscription","onClickCollapsedIcon","ref","change","IssuableContext","userSelect","_users_select__WEBPACK_IMPORTED_MODULE_3__","select2","dropdownAutoWidth","submit","parents","bpBreakpoint","_breakpoints__WEBPACK_IMPORTED_MODULE_2__","getBreakpointSize","js_cookie__WEBPACK_IMPORTED_MODULE_1___default","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","exports","module","dragEl","parentEl","ghostEl","cloneEl","rootEl","nextEl","lastDownEl","scrollEl","scrollParentEl","scrollCustomFn","lastEl","lastCSS","lastParentCSS","oldIndex","newIndex","activeGroup","putSortable","tapEvt","touchEvt","moved","autoScroll","R_SPACE","R_FLOAT","expando","getTime","win","jQuery","Zepto","Polymer","captureMode","supportDraggable","createElement","supportCssPointerEvents","navigator","userAgent","style","cssText","pointerEvents","_silent","abs","savedInputChecked","touchDragOverListeners","_autoScroll","_throttle","evt","options","scroll","rect","vx","vy","scrollOffsetX","scrollOffsetY","sens","scrollSensitivity","speed","scrollSpeed","clientX","clientY","winWidth","innerWidth","winHeight","innerHeight","scrollFn","offsetWidth","scrollWidth","offsetHeight","scrollHeight","parentNode","getBoundingClientRect","right","left","bottom","top","clearInterval","pid","setInterval","scrollTo","pageXOffset","pageYOffset","scrollTop","scrollLeft","_prepareGroup","toFn","pull","group","to","from","fromGroup","originalGroup","checkPull","checkPut","revertClone","defineProperty","capture","passive","Sortable","nodeType","_extend","defaults","random","sort","disabled","handle","draggable","test","nodeName","ghostClass","chosenClass","dragClass","ignore","filter","preventOnFilter","animation","setData","dataTransfer","dropBubble","dragoverBubble","dataIdAttr","delay","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","fn","charAt","nativeDraggable","_on","_onTapStart","_onDragOver","_cloneHide","sortable","lastPullMode","_css","insertBefore","_animate","_closest","selector","ctx","_matches","_getParentOrHost","host","_off","_toggleClass","className","defaultView","getComputedStyle","currentStyle","_find","tagName","iterator","list","getElementsByTagName","n","_dispatchEvent","targetEl","toEl","fromEl","startIndex","createEvent","onName","toUpperCase","substr","initEvent","clone","_onMove","dragRect","targetRect","originalEvt","willInsertAfter","retVal","onMoveFn","onMove","dragged","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_generateId","str","sum","charCodeAt","_index","previousElementSibling","tag","shift","re","RegExp","ms","args","apply","dst","hasOwnProperty","_clone","dom","cloneNode","_nextTick","_cancelNextTick","clearTimeout","constructor","touch","touches","originalTarget","shadowRoot","path","root","inputs","idx","checked","_saveInputCheckedState","isContentEditable","some","criteria","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_disableDelayedDrag","_triggerDragStart","_onDrop","_dragStartTimer","pointerType","_onDragStart","selection","empty","getSelection","removeAllRanges","_dragStarted","active","_nulling","_emulateDragOver","elementFromPoint","_onTouchMove","dx","dy","translate3d","_appendGhost","ghostRect","marginTop","marginLeft","body","appendChild","useFallback","_offUpEvents","_cloneId","_loopId","effectAllowed","_dragStartId","revert","activeSortable","isOwner","isMovingBetweenSortable","canSort","animated","lastElementChild","floating","cssFloat","display","isWide","isLong","halfway","nextElementSibling","after","elTop","offsetTop","tgTop","moveVector","prevRect","currentRect","handleEvent","dropEffect","_globalDragOver","toArray","order","option","removeAttribute","splice","utils","extend","throttle","nextTick","cancelNextTick","create","version","label_ListLabel","ListLabel","obj","color","textColor","text_color","description","priority","Infinity","assignee_ListAssignee","ListAssignee","defaultAvatar","assignee_classCallCheck","webUrl","web_url","FilteredSearchBoards","updateUrl","cantEdit","filtered_search_boards_classCallCheck","_possibleConstructorReturn","__proto__","getPrototypeOf","cantEditWithValue","_typeof","filtered_search_manager","updateFiltersUrl","removeTokens","Event","findIndex","eventhub","IssueProject","project_classCallCheck","issue_ListIssue","ListIssue","issue_classCallCheck","iid","confidential","labels","selected","position","relative_position","isFetching","subscriptions","sidebarInfoEndpoint","issue_sidebar_endpoint","referencePath","reference_path","real_path","toggleSubscriptionEndpoint","toggle_subscription_endpoint","milestone_id","project_id","project","models_project","milestone","ListMilestone","label","findLabel","removeLabel","assignee","findAssignee","removeAssignee","lists","findIssue","newData","assignee_ids","label_ids","http","patch","models_issue","query_data","extraData","reduce","dataParam","filterParam","paramSplit","paramKeyNormalized","isArray","TYPES","backlog","isPreset","isExpandable","isBlank","closed","blank","list_List","List","list_classCallCheck","_uid","guid","list_type","typeInfo","getTypeInfo","preset","loadingMore","issuesSize","models_label","getIssues","s4","floor","substring","entity","entityType","boardService","createList","res","updateNewListDropdown","destroyList","updateList","emptyIssues","label_name","getIssuesForList","createIssues","addIssue","newIssue","onNewIssueResponse","issueObj","listFrom","moveBeforeId","moveAfterId","addLabel","addAssignee","updateIssueLabel","moveIssue","removeIssue","matchesRemove","moving","addList","listObj","new","backlogList","findList","sortBy","removeBlankState","listId","jquery_default","shouldAddBlankState","addBlankState","welcomeIsHidden","removeList","js_cookie_default","expires","moveList","orderLists","moveIssueToList","listTo","issueTo","issueLists","getLists","listLabels","listIssue","removeLabels","moveIssueInList","idArray","beforeId","afterId","byType","history","pushState","board_service_BoardService","BoardService","boardsEndpoint","listsEndpoint","bulkUpdatePath","boardId","board_service_classCallCheck","listsEndpointGenerate","axios_utils","post","entityId","delete","keys","generateIssuesPath","fromListId","toListId","generateIssuePath","from_list_id","to_list_id","move_before_id","move_after_id","relative_url_root","issueIds","issuable_ids","endpoint","modal_mixins","toggleModal","toggle","modal_store","showAddIssuesModal","changeTab","tab","activeTab","sortable_config","onStart","onEnd","touchEnabled","DocumentTouch","getBoardSortableDefaultOptions","defaultSortOptions","dateformat_default","components_project_selectvue_type_script_lang_js","groupId","selectedProject","selectedProjectName","mounted","$refs","projectsDropdown","filterable","filterRemote","fields","clicked","selectable","term","api","groupProjects","projects","renderRow","escape","project_select","data-toggle","aria-expanded","_m","board_new_issuevue_type_script_lang_js_Store","components_board_new_issuevue_type_script_lang_js","ProjectSelect","focus","setSelectedProject","cancel","submitButton","board_new_issue","for","expression","autocomplete","composing","group-id","issue_card_innervue_type_script_lang_js_Store","components_issue_card_innervue_type_script_lang_js","UserAvatarLink","user_avatar_link","issueLinkBase","updateFilters","limitBeforeCounter","maxCounter","numberOverLimit","assigneeCounterTooltip","assigneeCounterLabel","shouldRenderCounter","issueId","showLabelFooter","l","showLabel","isIndexLessThanlimit","shouldRenderAssignee","assigneeUrlTitle","avatarUrlTitle","filterByLabel","filterPath","labelIndex","labelStyle","backgroundColor","issue_card_inner","link-href","img-alt","img-src","tooltip-text","tooltip-placement","board_cardvue_type_script_lang_js_Store","components_board_cardvue_type_script_lang_js","IssueCardInner","showDetail","detailIssue","issueDetailVisible","mouseDown","mouseMove","showIssue","board_card","user-can-drag","is-active","data-issue-id","mousedown","mousemove","mouseup","issue-link-base","root-path","update-filters","board_listvue_type_script_lang_js_Store","components_board_listvue_type_script_lang_js","boardCard","boardNewIssue","scrollOffset","filters","showCount","showIssueForm","watch","handler","deep","$nextTick","listHeight","ceil","created","toggleForm","scrollToTop","toBoardType","boardType","fromBoardType","card","onAdd","onUpdate","sortedArray","Sortable_default","onScroll","beforeDestroy","loadNextPage","nextPage","loadingDone","board_list","is-smaller","data-board","data-board-type","refInFor","board_blank_statevue_type_script_lang_js_Store","components_board_blank_statevue_type_script_lang_js","predefinedLabels","addDefaultLists","clearBlankState","generateDefaultLists","board_blank_state","BoardDelete","deleteBoard","confirm","board_Store","Board","boardList","board-delete","BoardBlankState","sortableOptions","isCollapsed","showNewIssueForm","toggleExpanded","remove_issuevue_type_script_lang_js_Store","sidebar_remove_issuevue_type_script_lang_js","req","buildPatchRequest","seedPatchRequest","listLabelIds","remove_issue","board_sidebar_Store","BoardSidebar","AssigneeTitle","assignee_title","Assignees","assignees_assignees","RemoveBtn","Subscriptions","loadingAssignees","showSidebar","milestoneTitle","canRemove","clearMenu","removeAllAssignees","saveAssignees","issuable_context","milestone_select","due_date_select","labels_select","right_sidebar","closeSidebar","assigneeBlock","new_list_dropdown_Store","newListDropdownInit","create_label","$li","$a","$labelColor","prepend","multiSelect","containerSelector","selectedObj","filteredSearch","filtered_search_boards","setup","destroyed","modal_tabsvue_type_script_lang_js","mixins","selectedCount","modal_headervue_type_script_lang_js","ModalTabs","issuesCount","ModalFilters","projectId","milestonePath","labelPath","selectAllText","showSearch","toggleAll","selectAllBtn","header","data-dismiss","modal_listvue_type_script_lang_js","emptyStateSvg","loopIssues","selectedIssues","groupedIssues","groups","columns","purgeUnselectedIssues","scrollHandlerWrapper","scrollHandler","setColumnCountWrapper","setColumnCount","currentPage","perPage","loadingNewPage","toggleIssue","selectedIssueIndex","breakpoint","breakpoints","modal_list","aria-checked","modal_lists_dropdownvue_type_script_lang_js","modal","selectedList","lists_dropdown","modal_footervue_type_script_lang_js","ListsDropdown","submitDisabled","submitText","text_utility","buildUpdateRequest","add_label_ids","addIssues","getSelectedIssues","bulkUpdate","footer","modal_empty_statevue_type_script_lang_js","newIssuePath","contents","content","components_modalvue_type_script_lang_js","EmptyState","innerHTML","ModalHeader","ModalList","ModalFooter","showList","showEmptyState","loadIssues","filterLoading","clearIssues","getBacklog","per","foundSelectedIssue","findSelectedIssue","project-id","milestone-path","label-path","empty-state-svg","new-issue-path","$boardApp","getElementById","Store","IssueBoardsApp","boardStoreIssueSet","_len","_key","boardStoreIssueDelete","_len2","_key2","board","board-sidebar","BoardAddIssuesModal","detailIssueVisible","board_service","updateTokens","updateDetailIssue","clearDetailIssue","filterManager","all","setFetchingState","getIssueInfo","updateData","toggleIssueSubscription","IssueBoardsSearch","IssueBoardsModalAddBtn","canAdminList","$options","hasAttribute","tooltipTitle","updateTooltip","$tooltip","addIssuesButton","openModal","eventHub","emitSidebarEvent","user_avatar_user_avatar_imagevue_type_script_lang_js","lazy","imgSrc","no_avatar_default","imgAlt","tooltipPlacement","sanitizedSource","resultantSrcAttribute","lazy_loader","tooltipContainer","avatarSizeClass","_obj","data-src","ShortcutsNavigation","mousetrap__WEBPACK_IMPORTED_MODULE_0___default","_shortcuts_dashboard_navigation__WEBPACK_IMPORTED_MODULE_1__","enabledHelp","_shortcuts__WEBPACK_IMPORTED_MODULE_2__","user_avatar_user_avatar_linkvue_type_script_lang_js","userAvatarImage","user_avatar_image","linkHref","imgCssClasses","imgSize","shouldShowUsername","avatarTooltipText"],"mappings":"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","file":"pages.groups.boards.d6f58391.chunk.js","sourcesContent":["import $ from 'jquery';\nimport Pikaday from 'pikaday';\nimport dateFormat from 'dateformat';\nimport { __ } from '~/locale';\nimport axios from './lib/utils/axios_utils';\nimport { timeFor } from './lib/utils/datetime_utility';\nimport { parsePikadayDate, pikadayToString } from './lib/utils/datefix';\n\nclass DueDateSelect {\n constructor({ $dropdown, $loading } = {}) {\n const $dropdownParent = $dropdown.closest('.dropdown');\n const $block = $dropdown.closest('.block');\n this.$loading = $loading;\n this.$dropdown = $dropdown;\n this.$dropdownParent = $dropdownParent;\n this.$datePicker = $dropdownParent.find('.js-due-date-calendar');\n this.$block = $block;\n this.$sidebarCollapsedValue = $block.find('.sidebar-collapsed-icon');\n this.$selectbox = $dropdown.closest('.selectbox');\n this.$value = $block.find('.value');\n this.$valueContent = $block.find('.value-content');\n this.$sidebarValue = $('.js-due-date-sidebar-value', $block);\n this.fieldName = $dropdown.data('fieldName');\n this.abilityName = $dropdown.data('abilityName');\n this.issueUpdateURL = $dropdown.data('issueUpdate');\n\n this.rawSelectedDate = null;\n this.displayedDate = null;\n this.datePayload = null;\n\n this.initGlDropdown();\n this.initRemoveDueDate();\n this.initDatePicker();\n }\n\n initGlDropdown() {\n this.$dropdown.glDropdown({\n opened: () => {\n const calendar = this.$datePicker.data('pikaday');\n calendar.show();\n },\n hidden: () => {\n this.$selectbox.hide();\n this.$value.css('display', '');\n },\n });\n }\n\n initDatePicker() {\n const $dueDateInput = $(`input[name='${this.fieldName}']`);\n const calendar = new Pikaday({\n field: $dueDateInput.get(0),\n theme: 'gitlab-theme',\n format: 'yyyy-mm-dd',\n parse: dateString => parsePikadayDate(dateString),\n toString: date => pikadayToString(date),\n onSelect: dateText => {\n $dueDateInput.val(calendar.toString(dateText));\n\n if (this.$dropdown.hasClass('js-issue-boards-due-date')) {\n gl.issueBoards.BoardsStore.detail.issue.dueDate = $dueDateInput.val();\n this.updateIssueBoardIssue();\n } else {\n this.saveDueDate(true);\n }\n },\n });\n\n calendar.setDate(parsePikadayDate($dueDateInput.val()));\n this.$datePicker.append(calendar.el);\n this.$datePicker.data('pikaday', calendar);\n }\n\n initRemoveDueDate() {\n this.$block.on('click', '.js-remove-due-date', e => {\n const calendar = this.$datePicker.data('pikaday');\n e.preventDefault();\n\n calendar.setDate(null);\n\n if (this.$dropdown.hasClass('js-issue-boards-due-date')) {\n gl.issueBoards.BoardsStore.detail.issue.dueDate = '';\n this.updateIssueBoardIssue();\n } else {\n $(`input[name='${this.fieldName}']`).val('');\n this.saveDueDate(false);\n }\n });\n }\n\n saveDueDate(isDropdown) {\n this.parseSelectedDate();\n this.prepSelectedDate();\n this.submitSelectedDate(isDropdown);\n }\n\n parseSelectedDate() {\n this.rawSelectedDate = $(`input[name='${this.fieldName}']`).val();\n\n if (this.rawSelectedDate.length) {\n // Construct Date object manually to avoid buggy dateString support within Date constructor\n const dateArray = this.rawSelectedDate.split('-').map(v => parseInt(v, 10));\n const dateObj = new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);\n this.displayedDate = dateFormat(dateObj, 'mmm d, yyyy');\n } else {\n this.displayedDate = 'No due date';\n }\n }\n\n prepSelectedDate() {\n const datePayload = {};\n datePayload[this.abilityName] = {};\n datePayload[this.abilityName].due_date = this.rawSelectedDate;\n this.datePayload = datePayload;\n }\n\n updateIssueBoardIssue() {\n this.$loading.fadeIn();\n this.$dropdown.trigger('loading.gl.dropdown');\n this.$selectbox.hide();\n this.$value.css('display', '');\n const fadeOutLoader = () => {\n this.$loading.fadeOut();\n };\n\n gl.issueBoards.BoardsStore.detail.issue\n .update(this.$dropdown.attr('data-issue-update'))\n .then(fadeOutLoader)\n .catch(fadeOutLoader);\n }\n\n submitSelectedDate(isDropdown) {\n const selectedDateValue = this.datePayload[this.abilityName].due_date;\n const hasDueDate = this.displayedDate !== 'No due date';\n const displayedDateStyle = hasDueDate ? 'bold' : 'no-value';\n\n this.$loading.removeClass('hidden').fadeIn();\n\n if (isDropdown) {\n this.$dropdown.trigger('loading.gl.dropdown');\n this.$selectbox.hide();\n }\n\n this.$value.css('display', '');\n this.$valueContent.html(`${this.displayedDate}`);\n this.$sidebarValue.html(this.displayedDate);\n\n $('.js-remove-due-date-holder').toggleClass('hidden', selectedDateValue.length);\n\n return axios.put(this.issueUpdateURL, this.datePayload).then(() => {\n const tooltipText = hasDueDate\n ? `${__('Due date')}
${selectedDateValue} (${timeFor(selectedDateValue)})`\n : __('Due date');\n if (isDropdown) {\n this.$dropdown.trigger('loaded.gl.dropdown');\n this.$dropdown.dropdown('toggle');\n }\n this.$sidebarCollapsedValue.attr('data-original-title', tooltipText);\n\n return this.$loading.fadeOut();\n });\n }\n}\n\nexport default class DueDateSelectors {\n constructor() {\n this.initMilestoneDatePicker();\n this.initIssuableSelect();\n }\n // eslint-disable-next-line class-methods-use-this\n initMilestoneDatePicker() {\n $('.datepicker').each(function initPikadayMilestone() {\n const $datePicker = $(this);\n const calendar = new Pikaday({\n field: $datePicker.get(0),\n theme: 'gitlab-theme animate-picker',\n format: 'yyyy-mm-dd',\n container: $datePicker.parent().get(0),\n parse: dateString => parsePikadayDate(dateString),\n toString: date => pikadayToString(date),\n onSelect(dateText) {\n $datePicker.val(calendar.toString(dateText));\n },\n });\n\n calendar.setDate(parsePikadayDate($datePicker.val()));\n\n $datePicker.data('pikaday', calendar);\n });\n\n $('.js-clear-due-date,.js-clear-start-date').on('click', e => {\n e.preventDefault();\n const calendar = $(e.target)\n .siblings('.datepicker')\n .data('pikaday');\n calendar.setDate(null);\n });\n }\n // eslint-disable-next-line class-methods-use-this\n initIssuableSelect() {\n const $loading = $('.js-issuable-update .due_date')\n .find('.block-loading')\n .hide();\n\n $('.js-due-date-select').each((i, dropdown) => {\n const $dropdown = $(dropdown);\n // eslint-disable-next-line no-new\n new DueDateSelect({\n $dropdown,\n $loading,\n });\n });\n }\n}\n","import UsersSelect from '~/users_select';\nimport ShortcutsNavigation from '~/shortcuts_navigation';\nimport initBoards from '~/boards';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new UsersSelect(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n initBoards();\n});\n","import $ from 'jquery';\n\nexport default {\n bind(el) {\n $(el).tooltip({\n trigger: 'hover',\n });\n },\n\n componentUpdated(el) {\n $(el).tooltip('_fixTitle');\n },\n\n unbind(el) {\n $(el).tooltip('dispose');\n },\n};\n","/* eslint-disable func-names, no-var, no-unused-vars, consistent-return, one-var, one-var-declaration-per-line, quotes, prefer-template, no-else-return, no-param-reassign, max-len */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport Cookies from 'js-cookie';\nimport flash from './flash';\nimport axios from './lib/utils/axios_utils';\nimport { __ } from './locale';\n\nfunction Sidebar(currentUser) {\n this.toggleTodo = this.toggleTodo.bind(this);\n this.sidebar = $('aside');\n\n this.removeListeners();\n this.addEventListeners();\n}\n\nSidebar.initialize = function(currentUser) {\n if (!this.instance) {\n this.instance = new Sidebar(currentUser);\n }\n};\n\nSidebar.prototype.removeListeners = function () {\n this.sidebar.off('click', '.sidebar-collapsed-icon');\n this.sidebar.off('hidden.gl.dropdown');\n $('.dropdown').off('loading.gl.dropdown');\n $('.dropdown').off('loaded.gl.dropdown');\n $(document).off('click', '.js-sidebar-toggle');\n};\n\nSidebar.prototype.addEventListeners = function() {\n const $document = $(document);\n\n this.sidebar.on('click', '.sidebar-collapsed-icon', this, this.sidebarCollapseClicked);\n this.sidebar.on('hidden.gl.dropdown', this, this.onSidebarDropdownHidden);\n $('.dropdown').on('loading.gl.dropdown', this.sidebarDropdownLoading);\n $('.dropdown').on('loaded.gl.dropdown', this.sidebarDropdownLoaded);\n\n $document.on('click', '.js-sidebar-toggle', this.sidebarToggleClicked);\n return $(document).off('click', '.js-issuable-todo').on('click', '.js-issuable-todo', this.toggleTodo);\n};\n\nSidebar.prototype.sidebarToggleClicked = function (e, triggered) {\n var $allGutterToggleIcons, $this, isExpanded, tooltipLabel;\n e.preventDefault();\n $this = $(this);\n isExpanded = $this.find('i').hasClass('fa-angle-double-right');\n tooltipLabel = isExpanded ? __('Expand sidebar') : __('Collapse sidebar');\n $allGutterToggleIcons = $('.js-sidebar-toggle i');\n\n if (isExpanded) {\n $allGutterToggleIcons.removeClass('fa-angle-double-right').addClass('fa-angle-double-left');\n $('aside.right-sidebar').removeClass('right-sidebar-expanded').addClass('right-sidebar-collapsed');\n $('.layout-page').removeClass('right-sidebar-expanded').addClass('right-sidebar-collapsed');\n } else {\n $allGutterToggleIcons.removeClass('fa-angle-double-left').addClass('fa-angle-double-right');\n $('aside.right-sidebar').removeClass('right-sidebar-collapsed').addClass('right-sidebar-expanded');\n $('.layout-page').removeClass('right-sidebar-collapsed').addClass('right-sidebar-expanded');\n\n if (gl.lazyLoader) gl.lazyLoader.loadCheck();\n }\n\n $this.attr('data-original-title', tooltipLabel);\n\n if (!triggered) {\n Cookies.set(\"collapsed_gutter\", $('.right-sidebar').hasClass('right-sidebar-collapsed'));\n }\n};\n\nSidebar.prototype.toggleTodo = function(e) {\n var $btnText, $this, $todoLoading, ajaxType, url;\n $this = $(e.currentTarget);\n ajaxType = $this.attr('data-delete-path') ? 'delete' : 'post';\n if ($this.attr('data-delete-path')) {\n url = \"\" + ($this.attr('data-delete-path'));\n } else {\n url = \"\" + ($this.data('url'));\n }\n\n $this.tooltip('hide');\n\n $('.js-issuable-todo').disable().addClass('is-loading');\n\n axios[ajaxType](url, {\n issuable_id: $this.data('issuableId'),\n issuable_type: $this.data('issuableType'),\n }).then(({ data }) => {\n this.todoUpdateDone(data);\n }).catch(() => flash(`There was an error ${ajaxType === 'post' ? 'adding a' : 'deleting the'} todo.`));\n};\n\nSidebar.prototype.todoUpdateDone = function(data) {\n const deletePath = data.delete_path ? data.delete_path : null;\n const attrPrefix = deletePath ? 'mark' : 'todo';\n const $todoBtns = $('.js-issuable-todo');\n\n $(document).trigger('todo:toggle', data.count);\n\n $todoBtns.each((i, el) => {\n const $el = $(el);\n const $elText = $el.find('.js-issuable-todo-inner');\n\n $el.removeClass('is-loading')\n .enable()\n .attr('aria-label', $el.data(`${attrPrefix}Text`))\n .attr('data-delete-path', deletePath)\n .attr('title', $el.data(`${attrPrefix}Text`));\n\n if ($el.hasClass('has-tooltip')) {\n $el.tooltip('_fixTitle');\n }\n\n if ($el.data(`${attrPrefix}Icon`)) {\n $elText.html($el.data(`${attrPrefix}Icon`));\n } else {\n $elText.text($el.data(`${attrPrefix}Text`));\n }\n });\n};\n\nSidebar.prototype.sidebarDropdownLoading = function(e) {\n var $loading, $sidebarCollapsedIcon, i, img;\n $sidebarCollapsedIcon = $(this).closest('.block').find('.sidebar-collapsed-icon');\n img = $sidebarCollapsedIcon.find('img');\n i = $sidebarCollapsedIcon.find('i');\n $loading = $('');\n if (img.length) {\n img.before($loading);\n return img.hide();\n } else if (i.length) {\n i.before($loading);\n return i.hide();\n }\n};\n\nSidebar.prototype.sidebarDropdownLoaded = function(e) {\n var $sidebarCollapsedIcon, i, img;\n $sidebarCollapsedIcon = $(this).closest('.block').find('.sidebar-collapsed-icon');\n img = $sidebarCollapsedIcon.find('img');\n $sidebarCollapsedIcon.find('i.fa-spin').remove();\n i = $sidebarCollapsedIcon.find('i');\n if (img.length) {\n return img.show();\n } else {\n return i.show();\n }\n};\n\nSidebar.prototype.sidebarCollapseClicked = function(e) {\n var $block, sidebar;\n if ($(e.currentTarget).hasClass('dont-change-state')) {\n return;\n }\n sidebar = e.data;\n e.preventDefault();\n $block = $(this).closest('.block');\n return sidebar.openDropdown($block);\n};\n\nSidebar.prototype.openDropdown = function(blockOrName) {\n var $block;\n $block = _.isString(blockOrName) ? this.getBlock(blockOrName) : blockOrName;\n if (!this.isOpen()) {\n this.setCollapseAfterUpdate($block);\n this.toggleSidebar('open');\n }\n\n // Wait for the sidebar to trigger('click') open\n // so it doesn't cause our dropdown to close preemptively\n setTimeout(() => {\n $block.find('.js-sidebar-dropdown-toggle').trigger('click');\n });\n};\n\nSidebar.prototype.setCollapseAfterUpdate = function($block) {\n $block.addClass('collapse-after-update');\n return $('.layout-page').addClass('with-overlay');\n};\n\nSidebar.prototype.onSidebarDropdownHidden = function(e) {\n var $block, sidebar;\n sidebar = e.data;\n e.preventDefault();\n $block = $(e.target).closest('.block');\n return sidebar.sidebarDropdownHidden($block);\n};\n\nSidebar.prototype.sidebarDropdownHidden = function($block) {\n if ($block.hasClass('collapse-after-update')) {\n $block.removeClass('collapse-after-update');\n $('.layout-page').removeClass('with-overlay');\n return this.toggleSidebar('hide');\n }\n};\n\nSidebar.prototype.triggerOpenSidebar = function() {\n return this.sidebar.find('.js-sidebar-toggle').trigger('click');\n};\n\nSidebar.prototype.toggleSidebar = function(action) {\n if (action == null) {\n action = 'toggle';\n }\n if (action === 'toggle') {\n this.triggerOpenSidebar();\n }\n if (action === 'open') {\n if (!this.isOpen()) {\n this.triggerOpenSidebar();\n }\n }\n if (action === 'hide') {\n if (this.isOpen()) {\n return this.triggerOpenSidebar();\n }\n }\n};\n\nSidebar.prototype.isOpen = function() {\n return this.sidebar.is('.right-sidebar-expanded');\n};\n\nSidebar.prototype.getBlock = function(name) {\n return this.sidebar.find(\".block.\" + name);\n};\n\nexport default Sidebar;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"toggle-wrapper\"},[(_vm.name)?_c('input',{attrs:{\"name\":_vm.name,\"type\":\"hidden\"},domProps:{\"value\":_vm.value}}):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"project-feature-toggle\",class:{\n 'is-checked': _vm.value,\n 'is-disabled': _vm.disabledInput,\n 'is-loading': _vm.isLoading\n },attrs:{\"aria-label\":_vm.ariaLabel,\"type\":\"button\"},on:{\"click\":_vm.toggleFeature}},[_c('loadingIcon',{staticClass:\"loading-icon\"}),_vm._v(\" \"),_c('span',{staticClass:\"toggle-icon\"},[_c('icon',{attrs:{\"name\":_vm.toggleIcon,\"css-classes\":\"toggle-icon-svg\"}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle_button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./toggle_button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./toggle_button.vue?vue&type=template&id=4f6fc2f4\"\nimport script from \"./toggle_button.vue?vue&type=script&lang=js\"\nexport * from \"./toggle_button.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:[_vm.iconSizeClass, _vm.iconTestClass, _vm.cssClasses],attrs:{\"width\":_vm.width,\"height\":_vm.height,\"x\":_vm.x,\"y\":_vm.y}},[_c('use',_vm._b({},'use',{ 'xlink:href':_vm.spriteHref },false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./icon.vue?vue&type=template&id=4bd8f44c\"\nimport script from \"./icon.vue?vue&type=script&lang=js\"\nexport * from \"./icon.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","import Vue from 'vue';\n\nexport default new Vue();\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recent_searches_dropdown_content.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recent_searches_dropdown_content.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./recent_searches_dropdown_content.vue?vue&type=template&id=4d4ee114\"\nimport script from \"./recent_searches_dropdown_content.vue?vue&type=script&lang=js\"\nexport * from \"./recent_searches_dropdown_content.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isLocalStorageAvailable)?_c('div',{staticClass:\"dropdown-info-note\"},[_vm._v(\"\\n This feature requires local storage to be enabled\\n \")]):(_vm.hasItems)?_c('ul',[_vm._l((_vm.processedItems),function(item,index){return _c('li',{key:(\"processed-items-\" + index)},[_c('button',{staticClass:\"filtered-search-history-dropdown-item\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.onItemActivated(item.text)}}},[_c('span',_vm._l((item.tokens),function(token,index){return _c('span',{key:(\"dropdown-token-\" + index),staticClass:\"filtered-search-history-dropdown-token\"},[_c('span',{staticClass:\"name\"},[_vm._v(_vm._s(token.prefix))]),_vm._v(\" \"),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(token.suffix))])])})),_vm._v(\" \"),_c('span',{staticClass:\"filtered-search-history-dropdown-search-token\"},[_vm._v(\"\\n \"+_vm._s(item.searchToken)+\"\\n \")])])])}),_vm._v(\" \"),_c('li',{staticClass:\"divider\"}),_vm._v(\" \"),_c('li',[_c('button',{staticClass:\"filtered-search-history-clear-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.onRequestClearRecentSearches($event)}}},[_vm._v(\"\\n Clear recent searches\\n \")])])],2):_c('div',{staticClass:\"dropdown-info-note\"},[_vm._v(\"\\n You don't have any recent searches\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport RecentSearchesDropdownContent from './components/recent_searches_dropdown_content.vue';\nimport eventHub from './event_hub';\n\nclass RecentSearchesRoot {\n constructor(\n recentSearchesStore,\n recentSearchesService,\n wrapperElement,\n ) {\n this.store = recentSearchesStore;\n this.service = recentSearchesService;\n this.wrapperElement = wrapperElement;\n }\n\n init() {\n this.bindEvents();\n this.render();\n }\n\n bindEvents() {\n this.onRequestClearRecentSearchesWrapper = this.onRequestClearRecentSearches.bind(this);\n\n eventHub.$on('requestClearRecentSearches', this.onRequestClearRecentSearchesWrapper);\n }\n\n unbindEvents() {\n eventHub.$off('requestClearRecentSearches', this.onRequestClearRecentSearchesWrapper);\n }\n\n render() {\n const { state } = this.store;\n this.vm = new Vue({\n el: this.wrapperElement,\n components: {\n RecentSearchesDropdownContent,\n },\n data() { return state; },\n template: `\n \n `,\n });\n }\n\n onRequestClearRecentSearches() {\n const resultantSearches = this.store.setRecentSearches([]);\n this.service.save(resultantSearches);\n }\n\n destroy() {\n this.unbindEvents();\n if (this.vm) {\n this.vm.$destroy();\n }\n }\n\n}\n\nexport default RecentSearchesRoot;\n","import _ from 'underscore';\n\nclass RecentSearchesStore {\n constructor(initialState = {}, allowedKeys) {\n this.state = Object.assign({\n isLocalStorageAvailable: true,\n recentSearches: [],\n allowedKeys,\n }, initialState);\n }\n\n addRecentSearch(newSearch) {\n this.setRecentSearches([newSearch].concat(this.state.recentSearches));\n\n return this.state.recentSearches;\n }\n\n setRecentSearches(searches = []) {\n const trimmedSearches = searches.map(search => search.trim());\n this.state.recentSearches = _.uniq(trimmedSearches).slice(0, 5);\n return this.state.recentSearches;\n }\n}\n\nexport default RecentSearchesStore;\n","class RecentSearchesServiceError {\n constructor(message) {\n this.name = 'RecentSearchesServiceError';\n this.message = message || 'Recent Searches Service is unavailable';\n }\n}\n\n// Can't use `extends` for builtin prototypes and get true inheritance yet\nRecentSearchesServiceError.prototype = Error.prototype;\n\nexport default RecentSearchesServiceError;\n","import RecentSearchesServiceError from './recent_searches_service_error';\nimport AccessorUtilities from '../../lib/utils/accessor';\n\nclass RecentSearchesService {\n constructor(localStorageKey = 'issuable-recent-searches') {\n this.localStorageKey = localStorageKey;\n }\n\n fetch() {\n if (!RecentSearchesService.isAvailable()) {\n const error = new RecentSearchesServiceError();\n return Promise.reject(error);\n }\n\n const input = window.localStorage.getItem(this.localStorageKey);\n\n let searches = [];\n if (input && input.length > 0) {\n try {\n searches = JSON.parse(input);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n\n return Promise.resolve(searches);\n }\n\n save(searches = []) {\n if (!RecentSearchesService.isAvailable()) return;\n\n window.localStorage.setItem(this.localStorageKey, JSON.stringify(searches));\n }\n\n static isAvailable() {\n return AccessorUtilities.isLocalStorageAccessSafe();\n }\n}\n\nexport default RecentSearchesService;\n","import _ from 'underscore';\nimport {\n getParameterByName,\n getUrlParamsArray,\n} from '~/lib/utils/common_utils';\nimport { visitUrl } from '../lib/utils/url_utility';\nimport Flash from '../flash';\nimport FilteredSearchContainer from './container';\nimport FilteredSearchTokenKeys from './filtered_search_token_keys';\nimport RecentSearchesRoot from './recent_searches_root';\nimport RecentSearchesStore from './stores/recent_searches_store';\nimport RecentSearchesService from './services/recent_searches_service';\nimport eventHub from './event_hub';\nimport { addClassIfElementExists } from '../lib/utils/dom_utils';\nimport FilteredSearchTokenizer from './filtered_search_tokenizer';\nimport FilteredSearchDropdownManager from './filtered_search_dropdown_manager';\nimport FilteredSearchVisualTokens from './filtered_search_visual_tokens';\nimport DropdownUtils from './dropdown_utils';\n\nexport default class FilteredSearchManager {\n constructor({\n page,\n isGroup = false,\n isGroupAncestor = true,\n isGroupDecendent = false,\n filteredSearchTokenKeys = FilteredSearchTokenKeys,\n stateFiltersSelector = '.issues-state-filters',\n }) {\n this.isGroup = isGroup;\n this.isGroupAncestor = isGroupAncestor;\n this.isGroupDecendent = isGroupDecendent;\n this.states = ['opened', 'closed', 'merged', 'all'];\n\n this.page = page;\n this.container = FilteredSearchContainer.container;\n this.filteredSearchInput = this.container.querySelector('.filtered-search');\n this.filteredSearchInputForm = this.filteredSearchInput.form;\n this.clearSearchButton = this.container.querySelector('.clear-search');\n this.tokensContainer = this.container.querySelector('.tokens-container');\n this.filteredSearchTokenKeys = filteredSearchTokenKeys;\n this.stateFiltersSelector = stateFiltersSelector;\n this.recentsStorageKeyNames = {\n issues: 'issue-recent-searches',\n merge_requests: 'merge-request-recent-searches',\n };\n\n this.recentSearchesStore = new RecentSearchesStore({\n isLocalStorageAvailable: RecentSearchesService.isAvailable(),\n allowedKeys: this.filteredSearchTokenKeys.getKeys(),\n });\n this.searchHistoryDropdownElement = document.querySelector('.js-filtered-search-history-dropdown');\n const fullPath = this.searchHistoryDropdownElement ?\n this.searchHistoryDropdownElement.dataset.fullPath : 'project';\n const recentSearchesKey = `${fullPath}-${this.recentsStorageKeyNames[this.page]}`;\n this.recentSearchesService = new RecentSearchesService(recentSearchesKey);\n }\n\n setup() {\n // Fetch recent searches from localStorage\n this.fetchingRecentSearchesPromise = this.recentSearchesService.fetch()\n .catch((error) => {\n if (error.name === 'RecentSearchesServiceError') return undefined;\n // eslint-disable-next-line no-new\n new Flash('An error occurred while parsing recent searches');\n // Gracefully fail to empty array\n return [];\n })\n .then((searches) => {\n if (!searches) {\n return;\n }\n\n // Put any searches that may have come in before\n // we fetched the saved searches ahead of the already saved ones\n const resultantSearches = this.recentSearchesStore.setRecentSearches(\n this.recentSearchesStore.state.recentSearches.concat(searches),\n );\n this.recentSearchesService.save(resultantSearches);\n });\n\n if (this.filteredSearchInput) {\n this.tokenizer = FilteredSearchTokenizer;\n this.dropdownManager = new FilteredSearchDropdownManager({\n baseEndpoint: this.filteredSearchInput.getAttribute('data-base-endpoint') || '',\n tokenizer: this.tokenizer,\n page: this.page,\n isGroup: this.isGroup,\n isGroupAncestor: this.isGroupAncestor,\n isGroupDecendent: this.isGroupDecendent,\n filteredSearchTokenKeys: this.filteredSearchTokenKeys,\n });\n\n this.recentSearchesRoot = new RecentSearchesRoot(\n this.recentSearchesStore,\n this.recentSearchesService,\n this.searchHistoryDropdownElement,\n );\n this.recentSearchesRoot.init();\n\n this.bindEvents();\n this.loadSearchParamsFromURL();\n this.dropdownManager.setDropdown();\n this.cleanupWrapper = this.cleanup.bind(this);\n document.addEventListener('beforeunload', this.cleanupWrapper);\n }\n }\n\n cleanup() {\n this.unbindEvents();\n document.removeEventListener('beforeunload', this.cleanupWrapper);\n\n if (this.recentSearchesRoot) {\n this.recentSearchesRoot.destroy();\n }\n }\n\n bindStateEvents() {\n this.stateFilters = document.querySelector(`.container-fluid ${this.stateFiltersSelector}`);\n\n if (this.stateFilters) {\n this.searchStateWrapper = this.searchState.bind(this);\n\n this.applyToStateFilters((filterEl) => {\n filterEl.addEventListener('click', this.searchStateWrapper);\n });\n }\n }\n\n unbindStateEvents() {\n if (this.stateFilters) {\n this.applyToStateFilters((filterEl) => {\n filterEl.removeEventListener('click', this.searchStateWrapper);\n });\n }\n }\n\n applyToStateFilters(callback) {\n this.stateFilters.querySelectorAll('a[data-state]').forEach((filterEl) => {\n if (this.states.indexOf(filterEl.dataset.state) > -1) {\n callback(filterEl);\n }\n });\n }\n\n bindEvents() {\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.setDropdownWrapper = this.dropdownManager.setDropdown.bind(this.dropdownManager);\n this.toggleClearSearchButtonWrapper = this.toggleClearSearchButton.bind(this);\n this.handleInputPlaceholderWrapper = this.handleInputPlaceholder.bind(this);\n this.handleInputVisualTokenWrapper = this.handleInputVisualToken.bind(this);\n this.checkForEnterWrapper = this.checkForEnter.bind(this);\n this.onClearSearchWrapper = this.onClearSearch.bind(this);\n this.checkForBackspaceWrapper = this.checkForBackspace.call(this);\n this.removeSelectedTokenKeydownWrapper = this.removeSelectedTokenKeydown.bind(this);\n this.unselectEditTokensWrapper = this.unselectEditTokens.bind(this);\n this.editTokenWrapper = this.editToken.bind(this);\n this.tokenChange = this.tokenChange.bind(this);\n this.addInputContainerFocusWrapper = this.addInputContainerFocus.bind(this);\n this.removeInputContainerFocusWrapper = this.removeInputContainerFocus.bind(this);\n this.onrecentSearchesItemSelectedWrapper = this.onrecentSearchesItemSelected.bind(this);\n this.removeTokenWrapper = this.removeToken.bind(this);\n\n this.filteredSearchInputForm.addEventListener('submit', this.handleFormSubmit);\n this.filteredSearchInput.addEventListener('input', this.setDropdownWrapper);\n this.filteredSearchInput.addEventListener('input', this.toggleClearSearchButtonWrapper);\n this.filteredSearchInput.addEventListener('input', this.handleInputPlaceholderWrapper);\n this.filteredSearchInput.addEventListener('input', this.handleInputVisualTokenWrapper);\n this.filteredSearchInput.addEventListener('keydown', this.checkForEnterWrapper);\n this.filteredSearchInput.addEventListener('keyup', this.checkForBackspaceWrapper);\n this.filteredSearchInput.addEventListener('click', this.tokenChange);\n this.filteredSearchInput.addEventListener('keyup', this.tokenChange);\n this.filteredSearchInput.addEventListener('focus', this.addInputContainerFocusWrapper);\n this.tokensContainer.addEventListener('click', this.removeTokenWrapper);\n this.tokensContainer.addEventListener('click', this.editTokenWrapper);\n this.clearSearchButton.addEventListener('click', this.onClearSearchWrapper);\n document.addEventListener('click', this.unselectEditTokensWrapper);\n document.addEventListener('click', this.removeInputContainerFocusWrapper);\n document.addEventListener('keydown', this.removeSelectedTokenKeydownWrapper);\n eventHub.$on('recentSearchesItemSelected', this.onrecentSearchesItemSelectedWrapper);\n\n this.bindStateEvents();\n }\n\n unbindEvents() {\n this.filteredSearchInputForm.removeEventListener('submit', this.handleFormSubmit);\n this.filteredSearchInput.removeEventListener('input', this.setDropdownWrapper);\n this.filteredSearchInput.removeEventListener('input', this.toggleClearSearchButtonWrapper);\n this.filteredSearchInput.removeEventListener('input', this.handleInputPlaceholderWrapper);\n this.filteredSearchInput.removeEventListener('input', this.handleInputVisualTokenWrapper);\n this.filteredSearchInput.removeEventListener('keydown', this.checkForEnterWrapper);\n this.filteredSearchInput.removeEventListener('keyup', this.checkForBackspaceWrapper);\n this.filteredSearchInput.removeEventListener('click', this.tokenChange);\n this.filteredSearchInput.removeEventListener('keyup', this.tokenChange);\n this.filteredSearchInput.removeEventListener('focus', this.addInputContainerFocusWrapper);\n this.tokensContainer.removeEventListener('click', this.removeTokenWrapper);\n this.tokensContainer.removeEventListener('click', this.editTokenWrapper);\n this.clearSearchButton.removeEventListener('click', this.onClearSearchWrapper);\n document.removeEventListener('click', this.unselectEditTokensWrapper);\n document.removeEventListener('click', this.removeInputContainerFocusWrapper);\n document.removeEventListener('keydown', this.removeSelectedTokenKeydownWrapper);\n eventHub.$off('recentSearchesItemSelected', this.onrecentSearchesItemSelectedWrapper);\n\n this.unbindStateEvents();\n }\n\n checkForBackspace() {\n let backspaceCount = 0;\n\n // closure for keeping track of the number of backspace keystrokes\n return (e) => {\n // 8 = Backspace Key\n // 46 = Delete Key\n if (e.keyCode === 8 || e.keyCode === 46) {\n const { lastVisualToken } = FilteredSearchVisualTokens.getLastVisualTokenBeforeInput();\n const { tokenName, tokenValue } = DropdownUtils.getVisualTokenValues(lastVisualToken);\n const canEdit = tokenName && this.canEdit && this.canEdit(tokenName, tokenValue);\n\n if (this.filteredSearchInput.value === '' && lastVisualToken && canEdit) {\n backspaceCount += 1;\n\n if (backspaceCount === 2) {\n backspaceCount = 0;\n this.filteredSearchInput.value = FilteredSearchVisualTokens.getLastTokenPartial();\n FilteredSearchVisualTokens.removeLastTokenPartial();\n }\n }\n\n // Reposition dropdown so that it is aligned with cursor\n this.dropdownManager.updateCurrentDropdownOffset();\n } else {\n backspaceCount = 0;\n }\n };\n }\n\n checkForEnter(e) {\n if (e.keyCode === 38 || e.keyCode === 40) {\n const { selectionStart } = this.filteredSearchInput;\n\n e.preventDefault();\n this.filteredSearchInput.setSelectionRange(selectionStart, selectionStart);\n }\n\n if (e.keyCode === 13) {\n const dropdown = this.dropdownManager.mapping[this.dropdownManager.currentDropdown];\n const dropdownEl = dropdown.element;\n const activeElements = dropdownEl.querySelectorAll('.droplab-item-active');\n\n e.preventDefault();\n\n if (!activeElements.length) {\n if (this.isHandledAsync) {\n e.stopImmediatePropagation();\n\n this.filteredSearchInput.blur();\n this.dropdownManager.resetDropdowns();\n } else {\n // Prevent droplab from opening dropdown\n this.dropdownManager.destroyDroplab();\n }\n\n this.search();\n }\n }\n }\n\n addInputContainerFocus() {\n addClassIfElementExists(this.filteredSearchInput.closest('.filtered-search-box'), 'focus');\n }\n\n removeInputContainerFocus(e) {\n const inputContainer = this.filteredSearchInput.closest('.filtered-search-box');\n const isElementInFilteredSearch = inputContainer && inputContainer.contains(e.target);\n const isElementInDynamicFilterDropdown = e.target.closest('.filter-dropdown') !== null;\n const isElementInStaticFilterDropdown = e.target.closest('ul[data-dropdown]') !== null;\n\n if (!isElementInFilteredSearch && !isElementInDynamicFilterDropdown &&\n !isElementInStaticFilterDropdown && inputContainer) {\n inputContainer.classList.remove('focus');\n }\n }\n\n removeToken(e) {\n const removeButtonSelected = e.target.closest('.remove-token');\n\n if (removeButtonSelected) {\n e.preventDefault();\n // Prevent editToken from being triggered after token is removed\n e.stopImmediatePropagation();\n\n const button = e.target.closest('.selectable');\n FilteredSearchVisualTokens.selectToken(button, true);\n this.removeSelectedToken();\n }\n }\n\n unselectEditTokens(e) {\n const inputContainer = this.container.querySelector('.filtered-search-box');\n const isElementInFilteredSearch = inputContainer && inputContainer.contains(e.target);\n const isElementInFilterDropdown = e.target.closest('.filter-dropdown') !== null;\n const isElementTokensContainer = e.target.classList.contains('tokens-container');\n\n if ((!isElementInFilteredSearch && !isElementInFilterDropdown) || isElementTokensContainer) {\n FilteredSearchVisualTokens.moveInputToTheRight();\n this.dropdownManager.resetDropdowns();\n }\n }\n\n editToken(e) {\n const token = e.target.closest('.js-visual-token');\n const sanitizedTokenName = token && token.querySelector('.name').textContent.trim();\n const canEdit = this.canEdit && this.canEdit(sanitizedTokenName);\n\n if (token && canEdit) {\n e.preventDefault();\n e.stopPropagation();\n FilteredSearchVisualTokens.editToken(token);\n this.tokenChange();\n }\n }\n\n toggleClearSearchButton() {\n const query = DropdownUtils.getSearchQuery();\n const hidden = 'hidden';\n const hasHidden = this.clearSearchButton.classList.contains(hidden);\n\n if (query.length === 0 && !hasHidden) {\n this.clearSearchButton.classList.add(hidden);\n } else if (query.length && hasHidden) {\n this.clearSearchButton.classList.remove(hidden);\n }\n }\n\n handleInputPlaceholder() {\n const query = DropdownUtils.getSearchQuery();\n const placeholder = 'Search or filter results...';\n const currentPlaceholder = this.filteredSearchInput.placeholder;\n\n if (query.length === 0 && currentPlaceholder !== placeholder) {\n this.filteredSearchInput.placeholder = placeholder;\n } else if (query.length > 0 && currentPlaceholder !== '') {\n this.filteredSearchInput.placeholder = '';\n }\n }\n\n removeSelectedTokenKeydown(e) {\n // 8 = Backspace Key\n // 46 = Delete Key\n if (e.keyCode === 8 || e.keyCode === 46) {\n this.removeSelectedToken();\n }\n }\n\n removeSelectedToken() {\n FilteredSearchVisualTokens.removeSelectedToken();\n this.handleInputPlaceholder();\n this.toggleClearSearchButton();\n this.dropdownManager.updateCurrentDropdownOffset();\n }\n\n onClearSearch(e) {\n e.preventDefault();\n this.clearSearch();\n }\n\n clearSearch() {\n this.filteredSearchInput.value = '';\n\n const removeElements = [];\n\n [].forEach.call(this.tokensContainer.children, (t) => {\n let canClearToken = t.classList.contains('js-visual-token');\n\n if (canClearToken) {\n const { tokenName, tokenValue } = DropdownUtils.getVisualTokenValues(t);\n canClearToken = this.canEdit && this.canEdit(tokenName, tokenValue);\n }\n\n if (canClearToken) {\n removeElements.push(t);\n }\n });\n\n removeElements.forEach((el) => {\n el.parentElement.removeChild(el);\n });\n\n this.clearSearchButton.classList.add('hidden');\n this.handleInputPlaceholder();\n\n this.dropdownManager.resetDropdowns();\n\n if (this.isHandledAsync) {\n this.search();\n }\n }\n\n handleInputVisualToken() {\n const input = this.filteredSearchInput;\n const { tokens, searchToken }\n = this.tokenizer.processTokens(input.value, this.filteredSearchTokenKeys.getKeys());\n const { isLastVisualTokenValid }\n = FilteredSearchVisualTokens.getLastVisualTokenBeforeInput();\n\n if (isLastVisualTokenValid) {\n tokens.forEach((t) => {\n input.value = input.value.replace(`${t.key}:${t.symbol}${t.value}`, '');\n FilteredSearchVisualTokens.addFilterVisualToken(t.key, `${t.symbol}${t.value}`);\n });\n\n const fragments = searchToken.split(':');\n if (fragments.length > 1) {\n const inputValues = fragments[0].split(' ');\n const tokenKey = _.last(inputValues);\n\n if (inputValues.length > 1) {\n inputValues.pop();\n const searchTerms = inputValues.join(' ');\n\n input.value = input.value.replace(searchTerms, '');\n FilteredSearchVisualTokens.addSearchVisualToken(searchTerms);\n }\n\n FilteredSearchVisualTokens.addFilterVisualToken(tokenKey);\n input.value = input.value.replace(`${tokenKey}:`, '');\n }\n } else {\n // Keep listening to token until we determine that the user is done typing the token value\n const valueCompletedRegex = /([~%@]{0,1}\".+\")|([~%@]{0,1}'.+')|^((?![~%@]')(?![~%@]\")(?!')(?!\")).*/g;\n\n if (searchToken.match(valueCompletedRegex) && input.value[input.value.length - 1] === ' ') {\n FilteredSearchVisualTokens.addFilterVisualToken(searchToken);\n\n // Trim the last space as seen in the if statement above\n input.value = input.value.replace(searchToken, '').trim();\n }\n }\n }\n\n handleFormSubmit(e) {\n e.preventDefault();\n this.search();\n }\n\n saveCurrentSearchQuery() {\n // Don't save before we have fetched the already saved searches\n this.fetchingRecentSearchesPromise.then(() => {\n const searchQuery = DropdownUtils.getSearchQuery();\n if (searchQuery.length > 0) {\n const resultantSearches = this.recentSearchesStore.addRecentSearch(searchQuery);\n this.recentSearchesService.save(resultantSearches);\n }\n }).catch(() => {\n // https://gitlab.com/gitlab-org/gitlab-ce/issues/30821\n });\n }\n\n // allows for modifying params array when a param can't be included in the URL (e.g. Service Desk)\n getAllParams(urlParams) {\n return this.modifyUrlParams ? this.modifyUrlParams(urlParams) : urlParams;\n }\n\n loadSearchParamsFromURL() {\n const urlParams = getUrlParamsArray();\n const params = this.getAllParams(urlParams);\n const usernameParams = this.getUsernameParams();\n let hasFilteredSearch = false;\n\n params.forEach((p) => {\n const split = p.split('=');\n const keyParam = decodeURIComponent(split[0]);\n const value = split[1];\n\n // Check if it matches edge conditions listed in this.filteredSearchTokenKeys\n const condition = this.filteredSearchTokenKeys.searchByConditionUrl(p);\n\n if (condition) {\n hasFilteredSearch = true;\n const canEdit = this.canEdit && this.canEdit(condition.tokenKey);\n FilteredSearchVisualTokens.addFilterVisualToken(\n condition.tokenKey,\n condition.value,\n canEdit,\n );\n } else {\n // Sanitize value since URL converts spaces into +\n // Replace before decode so that we know what was originally + versus the encoded +\n const sanitizedValue = value ? decodeURIComponent(value.replace(/\\+/g, ' ')) : value;\n const match = this.filteredSearchTokenKeys.searchByKeyParam(keyParam);\n\n if (match) {\n // Use lastIndexOf because the token key is allowed to contain underscore\n // e.g. 'my_reaction' is the token key of 'my_reaction_emoji'\n const lastIndexOf = keyParam.lastIndexOf('_');\n let sanitizedKey = lastIndexOf !== -1 ? keyParam.slice(0, lastIndexOf) : keyParam;\n // Replace underscore with hyphen in the sanitizedkey.\n // e.g. 'my_reaction' => 'my-reaction'\n sanitizedKey = sanitizedKey.replace('_', '-');\n const { symbol } = match;\n let quotationsToUse = '';\n\n if (sanitizedValue.indexOf(' ') !== -1) {\n // Prefer \", but use ' if required\n quotationsToUse = sanitizedValue.indexOf('\"') === -1 ? '\"' : '\\'';\n }\n\n hasFilteredSearch = true;\n const canEdit = this.canEdit && this.canEdit(sanitizedKey, sanitizedValue);\n FilteredSearchVisualTokens.addFilterVisualToken(\n sanitizedKey,\n `${symbol}${quotationsToUse}${sanitizedValue}${quotationsToUse}`,\n canEdit,\n );\n } else if (!match && keyParam === 'assignee_id') {\n const id = parseInt(value, 10);\n if (usernameParams[id]) {\n hasFilteredSearch = true;\n const tokenName = 'assignee';\n const canEdit = this.canEdit && this.canEdit(tokenName);\n FilteredSearchVisualTokens.addFilterVisualToken(tokenName, `@${usernameParams[id]}`, canEdit);\n }\n } else if (!match && keyParam === 'author_id') {\n const id = parseInt(value, 10);\n if (usernameParams[id]) {\n hasFilteredSearch = true;\n const tokenName = 'author';\n const canEdit = this.canEdit && this.canEdit(tokenName);\n FilteredSearchVisualTokens.addFilterVisualToken(tokenName, `@${usernameParams[id]}`, canEdit);\n }\n } else if (!match && keyParam === 'search') {\n hasFilteredSearch = true;\n this.filteredSearchInput.value = sanitizedValue;\n }\n }\n });\n\n this.saveCurrentSearchQuery();\n\n if (hasFilteredSearch) {\n this.clearSearchButton.classList.remove('hidden');\n this.handleInputPlaceholder();\n }\n }\n\n searchState(e) {\n e.preventDefault();\n const target = e.currentTarget;\n // remove focus outline after click\n target.blur();\n\n const state = target.dataset && target.dataset.state;\n\n if (state) {\n this.search(state);\n }\n }\n\n search(state = null) {\n const paths = [];\n const searchQuery = DropdownUtils.getSearchQuery();\n\n this.saveCurrentSearchQuery();\n\n const { tokens, searchToken }\n = this.tokenizer.processTokens(searchQuery, this.filteredSearchTokenKeys.getKeys());\n const currentState = state || getParameterByName('state') || 'opened';\n paths.push(`state=${currentState}`);\n\n tokens.forEach((token) => {\n const condition = this.filteredSearchTokenKeys\n .searchByConditionKeyValue(token.key, token.value.toLowerCase());\n const { param } = this.filteredSearchTokenKeys.searchByKey(token.key) || {};\n // Replace hyphen with underscore to use as request parameter\n // e.g. 'my-reaction' => 'my_reaction'\n const underscoredKey = token.key.replace('-', '_');\n const keyParam = param ? `${underscoredKey}_${param}` : underscoredKey;\n let tokenPath = '';\n\n if (condition) {\n tokenPath = condition.url;\n } else {\n let tokenValue = token.value;\n\n if ((tokenValue[0] === '\\'' && tokenValue[tokenValue.length - 1] === '\\'') ||\n (tokenValue[0] === '\"' && tokenValue[tokenValue.length - 1] === '\"')) {\n tokenValue = tokenValue.slice(1, tokenValue.length - 1);\n }\n\n tokenPath = `${keyParam}=${encodeURIComponent(tokenValue)}`;\n }\n\n paths.push(tokenPath);\n });\n\n if (searchToken) {\n const sanitized = searchToken.split(' ').map(t => encodeURIComponent(t)).join('+');\n paths.push(`search=${sanitized}`);\n }\n\n const parameterizedUrl = `?scope=all&utf8=%E2%9C%93&${paths.join('&')}`;\n\n if (this.updateObject) {\n this.updateObject(parameterizedUrl);\n } else {\n visitUrl(parameterizedUrl);\n }\n }\n\n getUsernameParams() {\n const usernamesById = {};\n try {\n const attribute = this.filteredSearchInput.getAttribute('data-username-params');\n JSON.parse(attribute).forEach((user) => {\n usernamesById[user.id] = user.username;\n });\n } catch (e) {\n // do nothing\n }\n return usernamesById;\n }\n\n tokenChange() {\n const dropdown = this.dropdownManager.mapping[this.dropdownManager.currentDropdown];\n\n if (dropdown) {\n const currentDropdownRef = dropdown.reference;\n\n this.setDropdownWrapper();\n currentDropdownRef.dispatchInputEvent();\n }\n }\n\n onrecentSearchesItemSelected(text) {\n this.clearSearch();\n this.filteredSearchInput.value = text;\n this.filteredSearchInput.dispatchEvent(new CustomEvent('input'));\n this.search();\n }\n\n // eslint-disable-next-line class-methods-use-this\n canEdit() {\n return true;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"sidebar-collapsed-icon sidebar-collapsed-user\",class:{ 'multiple-users': _vm.hasMoreThanOneAssignee },attrs:{\"title\":_vm.collapsedTooltipTitle,\"data-container\":\"body\",\"data-placement\":\"left\",\"data-boundary\":\"viewport\"}},[(_vm.hasNoUsers)?_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-label\":\"No Assignee\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.users),function(user,index){return (_vm.shouldRenderCollapsedAssignee(index))?_c('button',{key:user.id,staticClass:\"btn-link\",attrs:{\"type\":\"button\"}},[_c('img',{staticClass:\"avatar avatar-inline s24\",attrs:{\"alt\":_vm.assigneeAlt(user),\"src\":_vm.avatarUrl(user),\"width\":\"24\"}}),_vm._v(\" \"),_c('span',{staticClass:\"author\"},[_vm._v(\"\\n \"+_vm._s(user.name)+\"\\n \")])]):_vm._e()}),_vm._v(\" \"),(_vm.hasMoreThanTwoAssignees)?_c('button',{staticClass:\"btn-link\",attrs:{\"type\":\"button\"}},[_c('span',{staticClass:\"avatar-counter sidebar-avatar-counter\"},[_vm._v(\"\\n \"+_vm._s(_vm.sidebarAvatarCounter)+\"\\n \")])]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"value hide-collapsed\"},[(_vm.hasNoUsers)?[_c('span',{staticClass:\"assign-yourself no-value\"},[_vm._v(\"\\n No assignee\\n \"),(_vm.editable)?[_vm._v(\"\\n -\\n \"),_c('button',{staticClass:\"btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.assignSelf}},[_vm._v(\"\\n assign yourself\\n \")])]:_vm._e()],2)]:(_vm.hasOneUser)?[_c('a',{staticClass:\"author_link bold\",attrs:{\"href\":_vm.assigneeUrl(_vm.firstUser)}},[_c('img',{staticClass:\"avatar avatar-inline s32\",attrs:{\"alt\":_vm.assigneeAlt(_vm.firstUser),\"src\":_vm.avatarUrl(_vm.firstUser),\"width\":\"32\"}}),_vm._v(\" \"),_c('span',{staticClass:\"author\"},[_vm._v(\"\\n \"+_vm._s(_vm.firstUser.name)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"username\"},[_vm._v(\"\\n \"+_vm._s(_vm.assigneeUsername(_vm.firstUser))+\"\\n \")])])]:[_c('div',{staticClass:\"user-list\"},_vm._l((_vm.users),function(user,index){return (_vm.renderAssignee(index))?_c('div',{key:user.id,staticClass:\"user-item\"},[_c('a',{staticClass:\"user-link has-tooltip\",attrs:{\"href\":_vm.assigneeUrl(user),\"data-title\":user.name,\"data-container\":\"body\",\"data-placement\":\"bottom\"}},[_c('img',{staticClass:\"avatar avatar-inline s32\",attrs:{\"alt\":_vm.assigneeAlt(user),\"src\":_vm.avatarUrl(user),\"width\":\"32\"}})])]):_vm._e()})),_vm._v(\" \"),(_vm.renderShowMoreSection)?_c('div',{staticClass:\"user-list-more\"},[_c('button',{staticClass:\"btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleShowLess}},[(_vm.showLess)?[_vm._v(\"\\n \"+_vm._s(_vm.hiddenAssigneesLabel)+\"\\n \")]:[_vm._v(\"\\n - show less\\n \")]],2)]):_vm._e()]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignees.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignees.vue?vue&type=script&lang=js\"","\n\n\n\n","import { render, staticRenderFns } from \"./assignees.vue?vue&type=template&id=1bf6b47c\"\nimport script from \"./assignees.vue?vue&type=script&lang=js\"\nexport * from \"./assignees.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title hide-collapsed\"},[_vm._v(\"\\n \"+_vm._s(_vm.assigneeTitle)+\"\\n \"),(_vm.loading)?_c('i',{staticClass:\"fa fa-spinner fa-spin block-loading\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),(_vm.editable)?_c('a',{staticClass:\"js-sidebar-dropdown-toggle edit-link float-right\",attrs:{\"href\":\"#\"}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showToggle)?_c('a',{staticClass:\"gutter-toggle float-right js-sidebar-toggle\",attrs:{\"aria-label\":\"Toggle sidebar\",\"href\":\"#\",\"role\":\"button\"}},[_c('i',{staticClass:\"fa fa-angle-double-right\",attrs:{\"aria-hidden\":\"true\",\"data-hidden\":\"true\"}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_title.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_title.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./assignee_title.vue?vue&type=template&id=d52d3b32\"\nimport script from \"./assignee_title.vue?vue&type=script&lang=js\"\nexport * from \"./assignee_title.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"sidebar-collapsed-icon\",on:{\"click\":_vm.onClickCollapsedIcon}},[_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],attrs:{\"title\":_vm.notificationTooltip,\"data-container\":\"body\",\"data-placement\":\"left\",\"data-boundary\":\"viewport\"}},[_c('icon',{staticClass:\"sidebar-item-icon is-active\",attrs:{\"name\":_vm.notificationIcon,\"size\":16,\"aria-hidden\":\"true\"}})],1)]),_vm._v(\" \"),_c('span',{staticClass:\"issuable-header-text hide-collapsed float-left\"},[_vm._v(\"\\n \"+_vm._s(_vm.__('Notifications'))+\"\\n \")]),_vm._v(\" \"),_c('toggle-button',{ref:\"toggleButton\",staticClass:\"float-right hide-collapsed js-issuable-subscribe-button\",attrs:{\"is-loading\":_vm.showLoadingState,\"value\":_vm.subscribed},on:{\"change\":_vm.toggleSubscription}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subscriptions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subscriptions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./subscriptions.vue?vue&type=template&id=cf34ba62\"\nimport script from \"./subscriptions.vue?vue&type=script&lang=js\"\nexport * from \"./subscriptions.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","import $ from 'jquery';\nimport Cookies from 'js-cookie';\nimport bp from './breakpoints';\nimport UsersSelect from './users_select';\n\nexport default class IssuableContext {\n constructor(currentUser) {\n this.userSelect = new UsersSelect(currentUser);\n\n $('select.select2').select2({\n width: 'resolve',\n dropdownAutoWidth: true,\n });\n\n $('.issuable-sidebar .inline-update').on('change', 'select', function onClickSelect() {\n return $(this).submit();\n });\n $('.issuable-sidebar .inline-update').on('change', '.js-assignee', function onClickAssignee() {\n return $(this).submit();\n });\n $(document)\n .off('click', '.issuable-sidebar .dropdown-content a')\n .on('click', '.issuable-sidebar .dropdown-content a', e => e.preventDefault());\n\n $(document)\n .off('click', '.edit-link')\n .on('click', '.edit-link', function onClickEdit(e) {\n e.preventDefault();\n const $block = $(this).parents('.block');\n const $selectbox = $block.find('.selectbox');\n if ($selectbox.is(':visible')) {\n $selectbox.hide();\n $block.find('.value:not(.dont-hide)').show();\n } else {\n $selectbox.show();\n $block.find('.value:not(.dont-hide)').hide();\n }\n\n if ($selectbox.is(':visible')) {\n setTimeout(() => $block.find('.dropdown-menu-toggle').trigger('click'), 0);\n }\n });\n\n window.addEventListener('beforeunload', () => {\n // collapsed_gutter cookie hides the sidebar\n const bpBreakpoint = bp.getBreakpointSize();\n if (bpBreakpoint === 'xs' || bpBreakpoint === 'sm') {\n Cookies.set('collapsed_gutter', true);\n }\n });\n }\n}\n","/**!\n * Sortable\n * @author\tRubaXa \n * @license MIT\n */\n\n(function sortableModule(factory) {\n\t\"use strict\";\n\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(factory);\n\t}\n\telse if (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t\tmodule.exports = factory();\n\t}\n\telse {\n\t\t/* jshint sub:true */\n\t\twindow[\"Sortable\"] = factory();\n\t}\n})(function sortableFactory() {\n\t\"use strict\";\n\n\tif (typeof window === \"undefined\" || !window.document) {\n\t\treturn function sortableError() {\n\t\t\tthrow new Error(\"Sortable.js requires a window with a document\");\n\t\t};\n\t}\n\n\tvar dragEl,\n\t\tparentEl,\n\t\tghostEl,\n\t\tcloneEl,\n\t\trootEl,\n\t\tnextEl,\n\t\tlastDownEl,\n\n\t\tscrollEl,\n\t\tscrollParentEl,\n\t\tscrollCustomFn,\n\n\t\tlastEl,\n\t\tlastCSS,\n\t\tlastParentCSS,\n\n\t\toldIndex,\n\t\tnewIndex,\n\n\t\tactiveGroup,\n\t\tputSortable,\n\n\t\tautoScroll = {},\n\n\t\ttapEvt,\n\t\ttouchEvt,\n\n\t\tmoved,\n\n\t\t/** @const */\n\t\tR_SPACE = /\\s+/g,\n\t\tR_FLOAT = /left|right|inline/,\n\n\t\texpando = 'Sortable' + (new Date).getTime(),\n\n\t\twin = window,\n\t\tdocument = win.document,\n\t\tparseInt = win.parseInt,\n\t\tsetTimeout = win.setTimeout,\n\n\t\t$ = win.jQuery || win.Zepto,\n\t\tPolymer = win.Polymer,\n\n\t\tcaptureMode = false,\n\t\tpassiveMode = false,\n\n\t\tsupportDraggable = ('draggable' in document.createElement('div')),\n\t\tsupportCssPointerEvents = (function (el) {\n\t\t\t// false when IE11\n\t\t\tif (!!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\\.|msie)/i)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tel = document.createElement('x');\n\t\t\tel.style.cssText = 'pointer-events:auto';\n\t\t\treturn el.style.pointerEvents === 'auto';\n\t\t})(),\n\n\t\t_silent = false,\n\n\t\tabs = Math.abs,\n\t\tmin = Math.min,\n\n\t\tsavedInputChecked = [],\n\t\ttouchDragOverListeners = [],\n\n\t\t_autoScroll = _throttle(function (/**Event*/evt, /**Object*/options, /**HTMLElement*/rootEl) {\n\t\t\t// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tif (rootEl && options.scroll) {\n\t\t\t\tvar _this = rootEl[expando],\n\t\t\t\t\tel,\n\t\t\t\t\trect,\n\t\t\t\t\tsens = options.scrollSensitivity,\n\t\t\t\t\tspeed = options.scrollSpeed,\n\n\t\t\t\t\tx = evt.clientX,\n\t\t\t\t\ty = evt.clientY,\n\n\t\t\t\t\twinWidth = window.innerWidth,\n\t\t\t\t\twinHeight = window.innerHeight,\n\n\t\t\t\t\tvx,\n\t\t\t\t\tvy,\n\n\t\t\t\t\tscrollOffsetX,\n\t\t\t\t\tscrollOffsetY\n\t\t\t\t;\n\n\t\t\t\t// Delect scrollEl\n\t\t\t\tif (scrollParentEl !== rootEl) {\n\t\t\t\t\tscrollEl = options.scroll;\n\t\t\t\t\tscrollParentEl = rootEl;\n\t\t\t\t\tscrollCustomFn = options.scrollFn;\n\n\t\t\t\t\tif (scrollEl === true) {\n\t\t\t\t\t\tscrollEl = rootEl;\n\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif ((scrollEl.offsetWidth < scrollEl.scrollWidth) ||\n\t\t\t\t\t\t\t\t(scrollEl.offsetHeight < scrollEl.scrollHeight)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\t} while (scrollEl = scrollEl.parentNode);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (scrollEl) {\n\t\t\t\t\tel = scrollEl;\n\t\t\t\t\trect = scrollEl.getBoundingClientRect();\n\t\t\t\t\tvx = (abs(rect.right - x) <= sens) - (abs(rect.left - x) <= sens);\n\t\t\t\t\tvy = (abs(rect.bottom - y) <= sens) - (abs(rect.top - y) <= sens);\n\t\t\t\t}\n\n\n\t\t\t\tif (!(vx || vy)) {\n\t\t\t\t\tvx = (winWidth - x <= sens) - (x <= sens);\n\t\t\t\t\tvy = (winHeight - y <= sens) - (y <= sens);\n\n\t\t\t\t\t/* jshint expr:true */\n\t\t\t\t\t(vx || vy) && (el = win);\n\t\t\t\t}\n\n\n\t\t\t\tif (autoScroll.vx !== vx || autoScroll.vy !== vy || autoScroll.el !== el) {\n\t\t\t\t\tautoScroll.el = el;\n\t\t\t\t\tautoScroll.vx = vx;\n\t\t\t\t\tautoScroll.vy = vy;\n\n\t\t\t\t\tclearInterval(autoScroll.pid);\n\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tautoScroll.pid = setInterval(function () {\n\t\t\t\t\t\t\tscrollOffsetY = vy ? vy * speed : 0;\n\t\t\t\t\t\t\tscrollOffsetX = vx ? vx * speed : 0;\n\n\t\t\t\t\t\t\tif ('function' === typeof(scrollCustomFn)) {\n\t\t\t\t\t\t\t\treturn scrollCustomFn.call(_this, scrollOffsetX, scrollOffsetY, evt);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (el === win) {\n\t\t\t\t\t\t\t\twin.scrollTo(win.pageXOffset + scrollOffsetX, win.pageYOffset + scrollOffsetY);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tel.scrollTop += scrollOffsetY;\n\t\t\t\t\t\t\t\tel.scrollLeft += scrollOffsetX;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 24);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 30),\n\n\t\t_prepareGroup = function (options) {\n\t\t\tfunction toFn(value, pull) {\n\t\t\t\tif (value === void 0 || value === true) {\n\t\t\t\t\tvalue = group.name;\n\t\t\t\t}\n\n\t\t\t\tif (typeof value === 'function') {\n\t\t\t\t\treturn value;\n\t\t\t\t} else {\n\t\t\t\t\treturn function (to, from) {\n\t\t\t\t\t\tvar fromGroup = from.options.group.name;\n\n\t\t\t\t\t\treturn pull\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: value && (value.join\n\t\t\t\t\t\t\t\t? value.indexOf(fromGroup) > -1\n\t\t\t\t\t\t\t\t: (fromGroup == value)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar group = {};\n\t\t\tvar originalGroup = options.group;\n\n\t\t\tif (!originalGroup || typeof originalGroup != 'object') {\n\t\t\t\toriginalGroup = {name: originalGroup};\n\t\t\t}\n\n\t\t\tgroup.name = originalGroup.name;\n\t\t\tgroup.checkPull = toFn(originalGroup.pull, true);\n\t\t\tgroup.checkPut = toFn(originalGroup.put);\n\t\t\tgroup.revertClone = originalGroup.revertClone;\n\n\t\t\toptions.group = group;\n\t\t}\n\t;\n\n\t// Detect support a passive mode\n\ttry {\n\t\twindow.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n\t\t\tget: function () {\n\t\t\t\t// `false`, because everything starts to work incorrectly and instead of d'n'd,\n\t\t\t\t// begins the page has scrolled.\n\t\t\t\tpassiveMode = false;\n\t\t\t\tcaptureMode = {\n\t\t\t\t\tcapture: false,\n\t\t\t\t\tpassive: passiveMode\n\t\t\t\t};\n\t\t\t}\n\t\t}));\n\t} catch (err) {}\n\n\t/**\n\t * @class Sortable\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tfunction Sortable(el, options) {\n\t\tif (!(el && el.nodeType && el.nodeType === 1)) {\n\t\t\tthrow 'Sortable: `el` must be HTMLElement, and not ' + {}.toString.call(el);\n\t\t}\n\n\t\tthis.el = el; // root element\n\t\tthis.options = options = _extend({}, options);\n\n\n\t\t// Export instance\n\t\tel[expando] = this;\n\n\t\t// Default options\n\t\tvar defaults = {\n\t\t\tgroup: Math.random(),\n\t\t\tsort: true,\n\t\t\tdisabled: false,\n\t\t\tstore: null,\n\t\t\thandle: null,\n\t\t\tscroll: true,\n\t\t\tscrollSensitivity: 30,\n\t\t\tscrollSpeed: 10,\n\t\t\tdraggable: /[uo]l/i.test(el.nodeName) ? 'li' : '>*',\n\t\t\tghostClass: 'sortable-ghost',\n\t\t\tchosenClass: 'sortable-chosen',\n\t\t\tdragClass: 'sortable-drag',\n\t\t\tignore: 'a, img',\n\t\t\tfilter: null,\n\t\t\tpreventOnFilter: true,\n\t\t\tanimation: 0,\n\t\t\tsetData: function (dataTransfer, dragEl) {\n\t\t\t\tdataTransfer.setData('Text', dragEl.textContent);\n\t\t\t},\n\t\t\tdropBubble: false,\n\t\t\tdragoverBubble: false,\n\t\t\tdataIdAttr: 'data-id',\n\t\t\tdelay: 0,\n\t\t\tforceFallback: false,\n\t\t\tfallbackClass: 'sortable-fallback',\n\t\t\tfallbackOnBody: false,\n\t\t\tfallbackTolerance: 0,\n\t\t\tfallbackOffset: {x: 0, y: 0},\n\t\t\tsupportPointer: Sortable.supportPointer !== false\n\t\t};\n\n\n\t\t// Set default options\n\t\tfor (var name in defaults) {\n\t\t\t!(name in options) && (options[name] = defaults[name]);\n\t\t}\n\n\t\t_prepareGroup(options);\n\n\t\t// Bind all private methods\n\t\tfor (var fn in this) {\n\t\t\tif (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n\t\t\t\tthis[fn] = this[fn].bind(this);\n\t\t\t}\n\t\t}\n\n\t\t// Setup drag mode\n\t\tthis.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n\t\t// Bind events\n\t\t_on(el, 'mousedown', this._onTapStart);\n\t\t_on(el, 'touchstart', this._onTapStart);\n\t\toptions.supportPointer && _on(el, 'pointerdown', this._onTapStart);\n\n\t\tif (this.nativeDraggable) {\n\t\t\t_on(el, 'dragover', this);\n\t\t\t_on(el, 'dragenter', this);\n\t\t}\n\n\t\ttouchDragOverListeners.push(this._onDragOver);\n\n\t\t// Restore sorting\n\t\toptions.store && this.sort(options.store.get(this));\n\t}\n\n\n\tSortable.prototype = /** @lends Sortable.prototype */ {\n\t\tconstructor: Sortable,\n\n\t\t_onTapStart: function (/** Event|TouchEvent */evt) {\n\t\t\tvar _this = this,\n\t\t\t\tel = this.el,\n\t\t\t\toptions = this.options,\n\t\t\t\tpreventOnFilter = options.preventOnFilter,\n\t\t\t\ttype = evt.type,\n\t\t\t\ttouch = evt.touches && evt.touches[0],\n\t\t\t\ttarget = (touch || evt).target,\n\t\t\t\toriginalTarget = evt.target.shadowRoot && (evt.path && evt.path[0]) || target,\n\t\t\t\tfilter = options.filter,\n\t\t\t\tstartIndex;\n\n\t\t\t_saveInputCheckedState(el);\n\n\n\t\t\t// Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\t\t\tif (dragEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n\t\t\t\treturn; // only left button or enabled\n\t\t\t}\n\n\t\t\t// cancel dnd if original target is content editable\n\t\t\tif (originalTarget.isContentEditable) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttarget = _closest(target, options.draggable, el);\n\n\t\t\tif (!target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (lastDownEl === target) {\n\t\t\t\t// Ignoring duplicate `down`\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the index of the dragged element within its parent\n\t\t\tstartIndex = _index(target, options.draggable);\n\n\t\t\t// Check filter\n\t\t\tif (typeof filter === 'function') {\n\t\t\t\tif (filter.call(this, evt, target, this)) {\n\t\t\t\t\t_dispatchEvent(_this, originalTarget, 'filter', target, el, el, startIndex);\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (filter) {\n\t\t\t\tfilter = filter.split(',').some(function (criteria) {\n\t\t\t\t\tcriteria = _closest(originalTarget, criteria.trim(), el);\n\n\t\t\t\t\tif (criteria) {\n\t\t\t\t\t\t_dispatchEvent(_this, criteria, 'filter', target, el, el, startIndex);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filter) {\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.handle && !_closest(originalTarget, options.handle, el)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Prepare `dragstart`\n\t\t\tthis._prepareDragStart(evt, touch, target, startIndex);\n\t\t},\n\n\t\t_prepareDragStart: function (/** Event */evt, /** Touch */touch, /** HTMLElement */target, /** Number */startIndex) {\n\t\t\tvar _this = this,\n\t\t\t\tel = _this.el,\n\t\t\t\toptions = _this.options,\n\t\t\t\townerDocument = el.ownerDocument,\n\t\t\t\tdragStartFn;\n\n\t\t\tif (target && !dragEl && (target.parentNode === el)) {\n\t\t\t\ttapEvt = evt;\n\n\t\t\t\trootEl = el;\n\t\t\t\tdragEl = target;\n\t\t\t\tparentEl = dragEl.parentNode;\n\t\t\t\tnextEl = dragEl.nextSibling;\n\t\t\t\tlastDownEl = target;\n\t\t\t\tactiveGroup = options.group;\n\t\t\t\toldIndex = startIndex;\n\n\t\t\t\tthis._lastX = (touch || evt).clientX;\n\t\t\t\tthis._lastY = (touch || evt).clientY;\n\n\t\t\t\tdragEl.style['will-change'] = 'all';\n\n\t\t\t\tdragStartFn = function () {\n\t\t\t\t\t// Delayed drag has been triggered\n\t\t\t\t\t// we can re-enable the events: touchmove/mousemove\n\t\t\t\t\t_this._disableDelayedDrag();\n\n\t\t\t\t\t// Make the element draggable\n\t\t\t\t\tdragEl.draggable = _this.nativeDraggable;\n\n\t\t\t\t\t// Chosen item\n\t\t\t\t\t_toggleClass(dragEl, options.chosenClass, true);\n\n\t\t\t\t\t// Bind the events: dragstart/dragend\n\t\t\t\t\t_this._triggerDragStart(evt, touch);\n\n\t\t\t\t\t// Drag start event\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'choose', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t\t};\n\n\t\t\t\t// Disable \"draggable\"\n\t\t\t\toptions.ignore.split(',').forEach(function (criteria) {\n\t\t\t\t\t_find(dragEl, criteria.trim(), _disableDraggable);\n\t\t\t\t});\n\n\t\t\t\t_on(ownerDocument, 'mouseup', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchend', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchcancel', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'selectstart', _this);\n\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointercancel', _this._onDrop);\n\n\t\t\t\tif (options.delay) {\n\t\t\t\t\t// If the user moves the pointer or let go the click or touch\n\t\t\t\t\t// before the delay has been reached:\n\t\t\t\t\t// disable the delayed drag\n\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'mousemove', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchmove', _this._disableDelayedDrag);\n\t\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointermove', _this._disableDelayedDrag);\n\n\t\t\t\t\t_this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n\t\t\t\t} else {\n\t\t\t\t\tdragStartFn();\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t},\n\n\t\t_disableDelayedDrag: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\tclearTimeout(this._dragStartTimer);\n\t\t\t_off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchend', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'mousemove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchmove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'pointermove', this._disableDelayedDrag);\n\t\t},\n\n\t\t_triggerDragStart: function (/** Event */evt, /** Touch */touch) {\n\t\t\ttouch = touch || (evt.pointerType == 'touch' ? evt : null);\n\n\t\t\tif (touch) {\n\t\t\t\t// Touch device support\n\t\t\t\ttapEvt = {\n\t\t\t\t\ttarget: dragEl,\n\t\t\t\t\tclientX: touch.clientX,\n\t\t\t\t\tclientY: touch.clientY\n\t\t\t\t};\n\n\t\t\t\tthis._onDragStart(tapEvt, 'touch');\n\t\t\t}\n\t\t\telse if (!this.nativeDraggable) {\n\t\t\t\tthis._onDragStart(tapEvt, true);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_on(dragEl, 'dragend', this);\n\t\t\t\t_on(rootEl, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tif (document.selection) {\n\t\t\t\t\t// Timeout neccessary for IE9\n\t\t\t\t\t_nextTick(function () {\n\t\t\t\t\t\tdocument.selection.empty();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t}\n\t\t},\n\n\t\t_dragStarted: function () {\n\t\t\tif (rootEl && dragEl) {\n\t\t\t\tvar options = this.options;\n\n\t\t\t\t// Apply effect\n\t\t\t\t_toggleClass(dragEl, options.ghostClass, true);\n\t\t\t\t_toggleClass(dragEl, options.dragClass, false);\n\n\t\t\t\tSortable.active = this;\n\n\t\t\t\t// Drag start event\n\t\t\t\t_dispatchEvent(this, rootEl, 'start', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t} else {\n\t\t\t\tthis._nulling();\n\t\t\t}\n\t\t},\n\n\t\t_emulateDragOver: function () {\n\t\t\tif (touchEvt) {\n\t\t\t\tif (this._lastX === touchEvt.clientX && this._lastY === touchEvt.clientY) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._lastX = touchEvt.clientX;\n\t\t\t\tthis._lastY = touchEvt.clientY;\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', 'none');\n\t\t\t\t}\n\n\t\t\t\tvar target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\tvar parent = target;\n\t\t\t\tvar i = touchDragOverListeners.length;\n\n\t\t\t\tif (target && target.shadowRoot) {\n\t\t\t\t\ttarget = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\t\tparent = target;\n\t\t\t\t}\n\n\t\t\t\tif (parent) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (parent[expando]) {\n\t\t\t\t\t\t\twhile (i--) {\n\t\t\t\t\t\t\t\ttouchDragOverListeners[i]({\n\t\t\t\t\t\t\t\t\tclientX: touchEvt.clientX,\n\t\t\t\t\t\t\t\t\tclientY: touchEvt.clientY,\n\t\t\t\t\t\t\t\t\ttarget: target,\n\t\t\t\t\t\t\t\t\trootEl: parent\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget = parent; // store last element\n\t\t\t\t\t}\n\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\twhile (parent = parent.parentNode);\n\t\t\t\t}\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', '');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t_onTouchMove: function (/**TouchEvent*/evt) {\n\t\t\tif (tapEvt) {\n\t\t\t\tvar\toptions = this.options,\n\t\t\t\t\tfallbackTolerance = options.fallbackTolerance,\n\t\t\t\t\tfallbackOffset = options.fallbackOffset,\n\t\t\t\t\ttouch = evt.touches ? evt.touches[0] : evt,\n\t\t\t\t\tdx = (touch.clientX - tapEvt.clientX) + fallbackOffset.x,\n\t\t\t\t\tdy = (touch.clientY - tapEvt.clientY) + fallbackOffset.y,\n\t\t\t\t\ttranslate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)';\n\n\t\t\t\t// only set the status to dragging, when we are actually dragging\n\t\t\t\tif (!Sortable.active) {\n\t\t\t\t\tif (fallbackTolerance &&\n\t\t\t\t\t\tmin(abs(touch.clientX - this._lastX), abs(touch.clientY - this._lastY)) < fallbackTolerance\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._dragStarted();\n\t\t\t\t}\n\n\t\t\t\t// as well as creating the ghost element on the document body\n\t\t\t\tthis._appendGhost();\n\n\t\t\t\tmoved = true;\n\t\t\t\ttouchEvt = touch;\n\n\t\t\t\t_css(ghostEl, 'webkitTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'mozTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'msTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'transform', translate3d);\n\n\t\t\t\tevt.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t_appendGhost: function () {\n\t\t\tif (!ghostEl) {\n\t\t\t\tvar rect = dragEl.getBoundingClientRect(),\n\t\t\t\t\tcss = _css(dragEl),\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\tghostRect;\n\n\t\t\t\tghostEl = dragEl.cloneNode(true);\n\n\t\t\t\t_toggleClass(ghostEl, options.ghostClass, false);\n\t\t\t\t_toggleClass(ghostEl, options.fallbackClass, true);\n\t\t\t\t_toggleClass(ghostEl, options.dragClass, true);\n\n\t\t\t\t_css(ghostEl, 'top', rect.top - parseInt(css.marginTop, 10));\n\t\t\t\t_css(ghostEl, 'left', rect.left - parseInt(css.marginLeft, 10));\n\t\t\t\t_css(ghostEl, 'width', rect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height);\n\t\t\t\t_css(ghostEl, 'opacity', '0.8');\n\t\t\t\t_css(ghostEl, 'position', 'fixed');\n\t\t\t\t_css(ghostEl, 'zIndex', '100000');\n\t\t\t\t_css(ghostEl, 'pointerEvents', 'none');\n\n\t\t\t\toptions.fallbackOnBody && document.body.appendChild(ghostEl) || rootEl.appendChild(ghostEl);\n\n\t\t\t\t// Fixing dimensions.\n\t\t\t\tghostRect = ghostEl.getBoundingClientRect();\n\t\t\t\t_css(ghostEl, 'width', rect.width * 2 - ghostRect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height * 2 - ghostRect.height);\n\t\t\t}\n\t\t},\n\n\t\t_onDragStart: function (/**Event*/evt, /**boolean*/useFallback) {\n\t\t\tvar _this = this;\n\t\t\tvar dataTransfer = evt.dataTransfer;\n\t\t\tvar options = _this.options;\n\n\t\t\t_this._offUpEvents();\n\n\t\t\tif (activeGroup.checkPull(_this, _this, dragEl, evt)) {\n\t\t\t\tcloneEl = _clone(dragEl);\n\n\t\t\t\tcloneEl.draggable = false;\n\t\t\t\tcloneEl.style['will-change'] = '';\n\n\t\t\t\t_css(cloneEl, 'display', 'none');\n\t\t\t\t_toggleClass(cloneEl, _this.options.chosenClass, false);\n\n\t\t\t\t// #1143: IFrame support workaround\n\t\t\t\t_this._cloneId = _nextTick(function () {\n\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'clone', dragEl);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t_toggleClass(dragEl, options.dragClass, true);\n\n\t\t\tif (useFallback) {\n\t\t\t\tif (useFallback === 'touch') {\n\t\t\t\t\t// Bind touch events\n\t\t\t\t\t_on(document, 'touchmove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'touchend', _this._onDrop);\n\t\t\t\t\t_on(document, 'touchcancel', _this._onDrop);\n\n\t\t\t\t\tif (options.supportPointer) {\n\t\t\t\t\t\t_on(document, 'pointermove', _this._onTouchMove);\n\t\t\t\t\t\t_on(document, 'pointerup', _this._onDrop);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Old brwoser\n\t\t\t\t\t_on(document, 'mousemove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'mouseup', _this._onDrop);\n\t\t\t\t}\n\n\t\t\t\t_this._loopId = setInterval(_this._emulateDragOver, 50);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (dataTransfer) {\n\t\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\t\toptions.setData && options.setData.call(_this, dataTransfer, dragEl);\n\t\t\t\t}\n\n\t\t\t\t_on(document, 'drop', _this);\n\n\t\t\t\t// #1143: Бывает элемент с IFrame внутри блокирует `drop`,\n\t\t\t\t// поэтому если вызвался `mouseover`, значит надо отменять весь d'n'd.\n\t\t\t\t// Breaking Chrome 62+\n\t\t\t\t// _on(document, 'mouseover', _this);\n\n\t\t\t\t_this._dragStartId = _nextTick(_this._dragStarted);\n\t\t\t}\n\t\t},\n\n\t\t_onDragOver: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\ttarget,\n\t\t\t\tdragRect,\n\t\t\t\ttargetRect,\n\t\t\t\trevert,\n\t\t\t\toptions = this.options,\n\t\t\t\tgroup = options.group,\n\t\t\t\tactiveSortable = Sortable.active,\n\t\t\t\tisOwner = (activeGroup === group),\n\t\t\t\tisMovingBetweenSortable = false,\n\t\t\t\tcanSort = options.sort;\n\n\t\t\tif (evt.preventDefault !== void 0) {\n\t\t\t\tevt.preventDefault();\n\t\t\t\t!options.dragoverBubble && evt.stopPropagation();\n\t\t\t}\n\n\t\t\tif (dragEl.animated) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoved = true;\n\n\t\t\tif (activeSortable && !options.disabled &&\n\t\t\t\t(isOwner\n\t\t\t\t\t? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n\t\t\t\t\t: (\n\t\t\t\t\t\tputSortable === this ||\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(activeSortable.lastPullMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) &&\n\t\t\t\t\t\t\tgroup.checkPut(this, activeSortable, dragEl, evt)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) &&\n\t\t\t\t(evt.rootEl === void 0 || evt.rootEl === this.el) // touch fallback\n\t\t\t) {\n\t\t\t\t// Smart auto-scrolling\n\t\t\t\t_autoScroll(evt, options, this.el);\n\n\t\t\t\tif (_silent) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = _closest(evt.target, options.draggable, el);\n\t\t\t\tdragRect = dragEl.getBoundingClientRect();\n\n\t\t\t\tif (putSortable !== this) {\n\t\t\t\t\tputSortable = this;\n\t\t\t\t\tisMovingBetweenSortable = true;\n\t\t\t\t}\n\n\t\t\t\tif (revert) {\n\t\t\t\t\t_cloneHide(activeSortable, true);\n\t\t\t\t\tparentEl = rootEl; // actualization\n\n\t\t\t\t\tif (cloneEl || nextEl) {\n\t\t\t\t\t\trootEl.insertBefore(dragEl, cloneEl || nextEl);\n\t\t\t\t\t}\n\t\t\t\t\telse if (!canSort) {\n\t\t\t\t\t\trootEl.appendChild(dragEl);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tif ((el.children.length === 0) || (el.children[0] === ghostEl) ||\n\t\t\t\t\t(el === evt.target) && (_ghostIsLast(el, evt))\n\t\t\t\t) {\n\t\t\t\t\t//assign target only if condition is true\n\t\t\t\t\tif (el.children.length !== 0 && el.children[0] !== ghostEl && el === evt.target) {\n\t\t\t\t\t\ttarget = el.lastElementChild;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tif (target.animated) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\t\t\t\t\t}\n\n\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\tif (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt) !== false) {\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\tparentEl = el; // actualization\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\ttarget && this._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (target && !target.animated && target !== dragEl && (target.parentNode[expando] !== void 0)) {\n\t\t\t\t\tif (lastEl !== target) {\n\t\t\t\t\t\tlastEl = target;\n\t\t\t\t\t\tlastCSS = _css(target);\n\t\t\t\t\t\tlastParentCSS = _css(target.parentNode);\n\t\t\t\t\t}\n\n\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\n\t\t\t\t\tvar width = targetRect.right - targetRect.left,\n\t\t\t\t\t\theight = targetRect.bottom - targetRect.top,\n\t\t\t\t\t\tfloating = R_FLOAT.test(lastCSS.cssFloat + lastCSS.display)\n\t\t\t\t\t\t\t|| (lastParentCSS.display == 'flex' && lastParentCSS['flex-direction'].indexOf('row') === 0),\n\t\t\t\t\t\tisWide = (target.offsetWidth > dragEl.offsetWidth),\n\t\t\t\t\t\tisLong = (target.offsetHeight > dragEl.offsetHeight),\n\t\t\t\t\t\thalfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5,\n\t\t\t\t\t\tnextSibling = target.nextElementSibling,\n\t\t\t\t\t\tafter = false\n\t\t\t\t\t;\n\n\t\t\t\t\tif (floating) {\n\t\t\t\t\t\tvar elTop = dragEl.offsetTop,\n\t\t\t\t\t\t\ttgTop = target.offsetTop;\n\n\t\t\t\t\t\tif (elTop === tgTop) {\n\t\t\t\t\t\t\tafter = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (target.previousElementSibling === dragEl || dragEl.previousElementSibling === target) {\n\t\t\t\t\t\t\tafter = (evt.clientY - targetRect.top) / height > 0.5;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tafter = tgTop > elTop;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!isMovingBetweenSortable) {\n\t\t\t\t\t\tafter = (nextSibling !== dragEl) && !isLong || halfway && isLong;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n\t\t\t\t\tif (moveVector !== false) {\n\t\t\t\t\t\tif (moveVector === 1 || moveVector === -1) {\n\t\t\t\t\t\t\tafter = (moveVector === 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_silent = true;\n\t\t\t\t\t\tsetTimeout(_unsilent, 30);\n\n\t\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tif (after && !nextSibling) {\n\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttarget.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparentEl = dragEl.parentNode; // actualization\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\tthis._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_animate: function (prevRect, target) {\n\t\t\tvar ms = this.options.animation;\n\n\t\t\tif (ms) {\n\t\t\t\tvar currentRect = target.getBoundingClientRect();\n\n\t\t\t\tif (prevRect.nodeType === 1) {\n\t\t\t\t\tprevRect = prevRect.getBoundingClientRect();\n\t\t\t\t}\n\n\t\t\t\t_css(target, 'transition', 'none');\n\t\t\t\t_css(target, 'transform', 'translate3d('\n\t\t\t\t\t+ (prevRect.left - currentRect.left) + 'px,'\n\t\t\t\t\t+ (prevRect.top - currentRect.top) + 'px,0)'\n\t\t\t\t);\n\n\t\t\t\ttarget.offsetWidth; // repaint\n\n\t\t\t\t_css(target, 'transition', 'all ' + ms + 'ms');\n\t\t\t\t_css(target, 'transform', 'translate3d(0,0,0)');\n\n\t\t\t\tclearTimeout(target.animated);\n\t\t\t\ttarget.animated = setTimeout(function () {\n\t\t\t\t\t_css(target, 'transition', '');\n\t\t\t\t\t_css(target, 'transform', '');\n\t\t\t\t\ttarget.animated = false;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t},\n\n\t\t_offUpEvents: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\t_off(document, 'touchmove', this._onTouchMove);\n\t\t\t_off(document, 'pointermove', this._onTouchMove);\n\t\t\t_off(ownerDocument, 'mouseup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchend', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointerup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchcancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointercancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'selectstart', this);\n\t\t},\n\n\t\t_onDrop: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\toptions = this.options;\n\n\t\t\tclearInterval(this._loopId);\n\t\t\tclearInterval(autoScroll.pid);\n\t\t\tclearTimeout(this._dragStartTimer);\n\n\t\t\t_cancelNextTick(this._cloneId);\n\t\t\t_cancelNextTick(this._dragStartId);\n\n\t\t\t// Unbind events\n\t\t\t_off(document, 'mouseover', this);\n\t\t\t_off(document, 'mousemove', this._onTouchMove);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(document, 'drop', this);\n\t\t\t\t_off(el, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\tthis._offUpEvents();\n\n\t\t\tif (evt) {\n\t\t\t\tif (moved) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t!options.dropBubble && evt.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n\t\t\t\tif (rootEl === parentEl || Sortable.active.lastPullMode !== 'clone') {\n\t\t\t\t\t// Remove clone\n\t\t\t\t\tcloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n\t\t\t\t}\n\n\t\t\t\tif (dragEl) {\n\t\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t\t_off(dragEl, 'dragend', this);\n\t\t\t\t\t}\n\n\t\t\t\t\t_disableDraggable(dragEl);\n\t\t\t\t\tdragEl.style['will-change'] = '';\n\n\t\t\t\t\t// Remove class's\n\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, false);\n\t\t\t\t\t_toggleClass(dragEl, this.options.chosenClass, false);\n\n\t\t\t\t\t// Drag stop event\n\t\t\t\t\t_dispatchEvent(this, rootEl, 'unchoose', dragEl, parentEl, rootEl, oldIndex);\n\n\t\t\t\t\tif (rootEl !== parentEl) {\n\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t// Add event\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'add', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// Remove event\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'remove', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// drag from one list and drop into another\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (dragEl.nextSibling !== nextEl) {\n\t\t\t\t\t\t\t// Get the index of the dragged element within its parent\n\t\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t// drag & drop within the same list\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'update', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Sortable.active) {\n\t\t\t\t\t\t/* jshint eqnull:true */\n\t\t\t\t\t\tif (newIndex == null || newIndex === -1) {\n\t\t\t\t\t\t\tnewIndex = oldIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'end', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t// Save sorting\n\t\t\t\t\t\tthis.save();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._nulling();\n\t\t},\n\n\t\t_nulling: function() {\n\t\t\trootEl =\n\t\t\tdragEl =\n\t\t\tparentEl =\n\t\t\tghostEl =\n\t\t\tnextEl =\n\t\t\tcloneEl =\n\t\t\tlastDownEl =\n\n\t\t\tscrollEl =\n\t\t\tscrollParentEl =\n\n\t\t\ttapEvt =\n\t\t\ttouchEvt =\n\n\t\t\tmoved =\n\t\t\tnewIndex =\n\n\t\t\tlastEl =\n\t\t\tlastCSS =\n\n\t\t\tputSortable =\n\t\t\tactiveGroup =\n\t\t\tSortable.active = null;\n\n\t\t\tsavedInputChecked.forEach(function (el) {\n\t\t\t\tel.checked = true;\n\t\t\t});\n\t\t\tsavedInputChecked.length = 0;\n\t\t},\n\n\t\thandleEvent: function (/**Event*/evt) {\n\t\t\tswitch (evt.type) {\n\t\t\t\tcase 'drop':\n\t\t\t\tcase 'dragend':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'dragover':\n\t\t\t\tcase 'dragenter':\n\t\t\t\t\tif (dragEl) {\n\t\t\t\t\t\tthis._onDragOver(evt);\n\t\t\t\t\t\t_globalDragOver(evt);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'mouseover':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'selectstart':\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Serializes the item into an array of string.\n\t\t * @returns {String[]}\n\t\t */\n\t\ttoArray: function () {\n\t\t\tvar order = [],\n\t\t\t\tel,\n\t\t\t\tchildren = this.el.children,\n\t\t\t\ti = 0,\n\t\t\t\tn = children.length,\n\t\t\t\toptions = this.options;\n\n\t\t\tfor (; i < n; i++) {\n\t\t\t\tel = children[i];\n\t\t\t\tif (_closest(el, options.draggable, this.el)) {\n\t\t\t\t\torder.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn order;\n\t\t},\n\n\n\t\t/**\n\t\t * Sorts the elements according to the array.\n\t\t * @param {String[]} order order of the items\n\t\t */\n\t\tsort: function (order) {\n\t\t\tvar items = {}, rootEl = this.el;\n\n\t\t\tthis.toArray().forEach(function (id, i) {\n\t\t\t\tvar el = rootEl.children[i];\n\n\t\t\t\tif (_closest(el, this.options.draggable, rootEl)) {\n\t\t\t\t\titems[id] = el;\n\t\t\t\t}\n\t\t\t}, this);\n\n\t\t\torder.forEach(function (id) {\n\t\t\t\tif (items[id]) {\n\t\t\t\t\trootEl.removeChild(items[id]);\n\t\t\t\t\trootEl.appendChild(items[id]);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n\t\t * Save the current sorting\n\t\t */\n\t\tsave: function () {\n\t\t\tvar store = this.options.store;\n\t\t\tstore && store.set(this);\n\t\t},\n\n\n\t\t/**\n\t\t * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\t\t * @param {HTMLElement} el\n\t\t * @param {String} [selector] default: `options.draggable`\n\t\t * @returns {HTMLElement|null}\n\t\t */\n\t\tclosest: function (el, selector) {\n\t\t\treturn _closest(el, selector || this.options.draggable, this.el);\n\t\t},\n\n\n\t\t/**\n\t\t * Set/get option\n\t\t * @param {string} name\n\t\t * @param {*} [value]\n\t\t * @returns {*}\n\t\t */\n\t\toption: function (name, value) {\n\t\t\tvar options = this.options;\n\n\t\t\tif (value === void 0) {\n\t\t\t\treturn options[name];\n\t\t\t} else {\n\t\t\t\toptions[name] = value;\n\n\t\t\t\tif (name === 'group') {\n\t\t\t\t\t_prepareGroup(options);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Destroy\n\t\t */\n\t\tdestroy: function () {\n\t\t\tvar el = this.el;\n\n\t\t\tel[expando] = null;\n\n\t\t\t_off(el, 'mousedown', this._onTapStart);\n\t\t\t_off(el, 'touchstart', this._onTapStart);\n\t\t\t_off(el, 'pointerdown', this._onTapStart);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(el, 'dragover', this);\n\t\t\t\t_off(el, 'dragenter', this);\n\t\t\t}\n\n\t\t\t// Remove draggable attributes\n\t\t\tArray.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n\t\t\t\tel.removeAttribute('draggable');\n\t\t\t});\n\n\t\t\ttouchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver), 1);\n\n\t\t\tthis._onDrop();\n\n\t\t\tthis.el = el = null;\n\t\t}\n\t};\n\n\n\tfunction _cloneHide(sortable, state) {\n\t\tif (sortable.lastPullMode !== 'clone') {\n\t\t\tstate = true;\n\t\t}\n\n\t\tif (cloneEl && (cloneEl.state !== state)) {\n\t\t\t_css(cloneEl, 'display', state ? 'none' : '');\n\n\t\t\tif (!state) {\n\t\t\t\tif (cloneEl.state) {\n\t\t\t\t\tif (sortable.options.group.revertClone) {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, nextEl);\n\t\t\t\t\t\tsortable._animate(dragEl, cloneEl);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcloneEl.state = state;\n\t\t}\n\t}\n\n\n\tfunction _closest(/**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx) {\n\t\tif (el) {\n\t\t\tctx = ctx || document;\n\n\t\t\tdo {\n\t\t\t\tif ((selector === '>*' && el.parentNode === ctx) || _matches(el, selector)) {\n\t\t\t\t\treturn el;\n\t\t\t\t}\n\t\t\t\t/* jshint boss:true */\n\t\t\t} while (el = _getParentOrHost(el));\n\t\t}\n\n\t\treturn null;\n\t}\n\n\n\tfunction _getParentOrHost(el) {\n\t\tvar parent = el.host;\n\n\t\treturn (parent && parent.nodeType) ? parent : el.parentNode;\n\t}\n\n\n\tfunction _globalDragOver(/**Event*/evt) {\n\t\tif (evt.dataTransfer) {\n\t\t\tevt.dataTransfer.dropEffect = 'move';\n\t\t}\n\t\tevt.preventDefault();\n\t}\n\n\n\tfunction _on(el, event, fn) {\n\t\tel.addEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _off(el, event, fn) {\n\t\tel.removeEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _toggleClass(el, name, state) {\n\t\tif (el) {\n\t\t\tif (el.classList) {\n\t\t\t\tel.classList[state ? 'add' : 'remove'](name);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n\t\t\t\tel.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _css(el, prop, val) {\n\t\tvar style = el && el.style;\n\n\t\tif (style) {\n\t\t\tif (val === void 0) {\n\t\t\t\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\t\t\t\tval = document.defaultView.getComputedStyle(el, '');\n\t\t\t\t}\n\t\t\t\telse if (el.currentStyle) {\n\t\t\t\t\tval = el.currentStyle;\n\t\t\t\t}\n\n\t\t\t\treturn prop === void 0 ? val : val[prop];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!(prop in style)) {\n\t\t\t\t\tprop = '-webkit-' + prop;\n\t\t\t\t}\n\n\t\t\t\tstyle[prop] = val + (typeof val === 'string' ? '' : 'px');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _find(ctx, tagName, iterator) {\n\t\tif (ctx) {\n\t\t\tvar list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;\n\n\t\t\tif (iterator) {\n\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\titerator(list[i], i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\n\n\tfunction _dispatchEvent(sortable, rootEl, name, targetEl, toEl, fromEl, startIndex, newIndex) {\n\t\tsortable = (sortable || rootEl[expando]);\n\n\t\tvar evt = document.createEvent('Event'),\n\t\t\toptions = sortable.options,\n\t\t\tonName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n\n\t\tevt.initEvent(name, true, true);\n\n\t\tevt.to = toEl || rootEl;\n\t\tevt.from = fromEl || rootEl;\n\t\tevt.item = targetEl || rootEl;\n\t\tevt.clone = cloneEl;\n\n\t\tevt.oldIndex = startIndex;\n\t\tevt.newIndex = newIndex;\n\n\t\trootEl.dispatchEvent(evt);\n\n\t\tif (options[onName]) {\n\t\t\toptions[onName].call(sortable, evt);\n\t\t}\n\t}\n\n\n\tfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt, willInsertAfter) {\n\t\tvar evt,\n\t\t\tsortable = fromEl[expando],\n\t\t\tonMoveFn = sortable.options.onMove,\n\t\t\tretVal;\n\n\t\tevt = document.createEvent('Event');\n\t\tevt.initEvent('move', true, true);\n\n\t\tevt.to = toEl;\n\t\tevt.from = fromEl;\n\t\tevt.dragged = dragEl;\n\t\tevt.draggedRect = dragRect;\n\t\tevt.related = targetEl || toEl;\n\t\tevt.relatedRect = targetRect || toEl.getBoundingClientRect();\n\t\tevt.willInsertAfter = willInsertAfter;\n\n\t\tfromEl.dispatchEvent(evt);\n\n\t\tif (onMoveFn) {\n\t\t\tretVal = onMoveFn.call(sortable, evt, originalEvt);\n\t\t}\n\n\t\treturn retVal;\n\t}\n\n\n\tfunction _disableDraggable(el) {\n\t\tel.draggable = false;\n\t}\n\n\n\tfunction _unsilent() {\n\t\t_silent = false;\n\t}\n\n\n\t/** @returns {HTMLElement|false} */\n\tfunction _ghostIsLast(el, evt) {\n\t\tvar lastEl = el.lastElementChild,\n\t\t\trect = lastEl.getBoundingClientRect();\n\n\t\t// 5 — min delta\n\t\t// abs — нельзя добавлять, а то глюки при наведении сверху\n\t\treturn (evt.clientY - (rect.top + rect.height) > 5) ||\n\t\t\t(evt.clientX - (rect.left + rect.width) > 5);\n\t}\n\n\n\t/**\n\t * Generate id\n\t * @param {HTMLElement} el\n\t * @returns {String}\n\t * @private\n\t */\n\tfunction _generateId(el) {\n\t\tvar str = el.tagName + el.className + el.src + el.href + el.textContent,\n\t\t\ti = str.length,\n\t\t\tsum = 0;\n\n\t\twhile (i--) {\n\t\t\tsum += str.charCodeAt(i);\n\t\t}\n\n\t\treturn sum.toString(36);\n\t}\n\n\t/**\n\t * Returns the index of an element within its parent for a selected set of\n\t * elements\n\t * @param {HTMLElement} el\n\t * @param {selector} selector\n\t * @return {number}\n\t */\n\tfunction _index(el, selector) {\n\t\tvar index = 0;\n\n\t\tif (!el || !el.parentNode) {\n\t\t\treturn -1;\n\t\t}\n\n\t\twhile (el && (el = el.previousElementSibling)) {\n\t\t\tif ((el.nodeName.toUpperCase() !== 'TEMPLATE') && (selector === '>*' || _matches(el, selector))) {\n\t\t\t\tindex++;\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t}\n\n\tfunction _matches(/**HTMLElement*/el, /**String*/selector) {\n\t\tif (el) {\n\t\t\tselector = selector.split('.');\n\n\t\t\tvar tag = selector.shift().toUpperCase(),\n\t\t\t\tre = new RegExp('\\\\s(' + selector.join('|') + ')(?=\\\\s)', 'g');\n\n\t\t\treturn (\n\t\t\t\t(tag === '' || el.nodeName.toUpperCase() == tag) &&\n\t\t\t\t(!selector.length || ((' ' + el.className + ' ').match(re) || []).length == selector.length)\n\t\t\t);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction _throttle(callback, ms) {\n\t\tvar args, _this;\n\n\t\treturn function () {\n\t\t\tif (args === void 0) {\n\t\t\t\targs = arguments;\n\t\t\t\t_this = this;\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tif (args.length === 1) {\n\t\t\t\t\t\tcallback.call(_this, args[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback.apply(_this, args);\n\t\t\t\t\t}\n\n\t\t\t\t\targs = void 0;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction _extend(dst, src) {\n\t\tif (dst && src) {\n\t\t\tfor (var key in src) {\n\t\t\t\tif (src.hasOwnProperty(key)) {\n\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn dst;\n\t}\n\n\tfunction _clone(el) {\n\t\tif (Polymer && Polymer.dom) {\n\t\t\treturn Polymer.dom(el).cloneNode(true);\n\t\t}\n\t\telse if ($) {\n\t\t\treturn $(el).clone(true)[0];\n\t\t}\n\t\telse {\n\t\t\treturn el.cloneNode(true);\n\t\t}\n\t}\n\n\tfunction _saveInputCheckedState(root) {\n\t\tvar inputs = root.getElementsByTagName('input');\n\t\tvar idx = inputs.length;\n\n\t\twhile (idx--) {\n\t\t\tvar el = inputs[idx];\n\t\t\tel.checked && savedInputChecked.push(el);\n\t\t}\n\t}\n\n\tfunction _nextTick(fn) {\n\t\treturn setTimeout(fn, 0);\n\t}\n\n\tfunction _cancelNextTick(id) {\n\t\treturn clearTimeout(id);\n\t}\n\n\t// Fixed #973:\n\t_on(document, 'touchmove', function (evt) {\n\t\tif (Sortable.active) {\n\t\t\tevt.preventDefault();\n\t\t}\n\t});\n\n\t// Export utils\n\tSortable.utils = {\n\t\ton: _on,\n\t\toff: _off,\n\t\tcss: _css,\n\t\tfind: _find,\n\t\tis: function (el, selector) {\n\t\t\treturn !!_closest(el, selector, el);\n\t\t},\n\t\textend: _extend,\n\t\tthrottle: _throttle,\n\t\tclosest: _closest,\n\t\ttoggleClass: _toggleClass,\n\t\tclone: _clone,\n\t\tindex: _index,\n\t\tnextTick: _nextTick,\n\t\tcancelNextTick: _cancelNextTick\n\t};\n\n\n\t/**\n\t * Create sortable instance\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tSortable.create = function (el, options) {\n\t\treturn new Sortable(el, options);\n\t};\n\n\n\t// Export\n\tSortable.version = '1.7.0';\n\treturn Sortable;\n});\n","export default class ListLabel {\n constructor(obj) {\n this.id = obj.id;\n this.title = obj.title;\n this.type = obj.type;\n this.color = obj.color;\n this.textColor = obj.text_color;\n this.description = obj.description;\n this.priority = (obj.priority !== null) ? obj.priority : Infinity;\n }\n}\n\nwindow.ListLabel = ListLabel;\n","export default class ListAssignee {\n constructor(obj, defaultAvatar) {\n this.id = obj.id;\n this.name = obj.name;\n this.username = obj.username;\n this.avatar = obj.avatar_url || obj.avatar || defaultAvatar;\n this.path = obj.path;\n this.state = obj.state;\n this.webUrl = obj.web_url || obj.webUrl;\n }\n}\n\nwindow.ListAssignee = ListAssignee;\n","import FilteredSearchContainer from '../filtered_search/container';\nimport FilteredSearchManager from '../filtered_search/filtered_search_manager';\n\nexport default class FilteredSearchBoards extends FilteredSearchManager {\n constructor(store, updateUrl = false, cantEdit = []) {\n super({\n page: 'boards',\n isGroupDecendent: true,\n stateFiltersSelector: '.issues-state-filters',\n });\n\n this.store = store;\n this.updateUrl = updateUrl;\n\n // Issue boards is slightly different, we handle all the requests async\n // instead or reloading the page, we just re-fire the list ajax requests\n this.isHandledAsync = true;\n this.cantEdit = cantEdit.filter(i => typeof i === 'string');\n this.cantEditWithValue = cantEdit.filter(i => typeof i === 'object');\n }\n\n updateObject(path) {\n this.store.path = path.substr(1);\n\n if (this.updateUrl) {\n gl.issueBoards.BoardsStore.updateFiltersUrl();\n }\n }\n\n removeTokens() {\n const tokens = FilteredSearchContainer.container.querySelectorAll('.js-visual-token');\n\n // Remove all the tokens as they will be replaced by the search manager\n [].forEach.call(tokens, (el) => {\n el.parentNode.removeChild(el);\n });\n\n this.filteredSearchInput.value = '';\n }\n\n updateTokens() {\n this.removeTokens();\n\n this.loadSearchParamsFromURL();\n\n // Get the placeholder back if search is empty\n this.filteredSearchInput.dispatchEvent(new Event('input'));\n }\n\n canEdit(tokenName, tokenValue) {\n if (this.cantEdit.includes(tokenName)) return false;\n return this.cantEditWithValue.findIndex(token => token.name === tokenName &&\n token.value === tokenValue) === -1;\n }\n}\n","import Vue from 'vue';\n\nexport default new Vue();\n","export default class IssueProject {\n constructor(obj) {\n this.id = obj.id;\n this.path = obj.path;\n }\n}\n","/* eslint-disable no-unused-vars, comma-dangle */\n/* global ListLabel */\n/* global ListMilestone */\n/* global ListAssignee */\n\nimport Vue from 'vue';\nimport '~/vue_shared/models/label';\nimport IssueProject from './project';\n\nclass ListIssue {\n constructor (obj, defaultAvatar) {\n this.id = obj.id;\n this.iid = obj.iid;\n this.title = obj.title;\n this.confidential = obj.confidential;\n this.dueDate = obj.due_date;\n this.subscribed = obj.subscribed;\n this.labels = [];\n this.assignees = [];\n this.selected = false;\n this.position = obj.relative_position || Infinity;\n this.isFetching = {\n subscriptions: true,\n };\n this.isLoading = {};\n this.sidebarInfoEndpoint = obj.issue_sidebar_endpoint;\n this.referencePath = obj.reference_path;\n this.path = obj.real_path;\n this.toggleSubscriptionEndpoint = obj.toggle_subscription_endpoint;\n this.milestone_id = obj.milestone_id;\n this.project_id = obj.project_id;\n\n if (obj.project) {\n this.project = new IssueProject(obj.project);\n }\n\n if (obj.milestone) {\n this.milestone = new ListMilestone(obj.milestone);\n }\n\n obj.labels.forEach((label) => {\n this.labels.push(new ListLabel(label));\n });\n\n this.assignees = obj.assignees.map(a => new ListAssignee(a, defaultAvatar));\n }\n\n addLabel (label) {\n if (!this.findLabel(label)) {\n this.labels.push(new ListLabel(label));\n }\n }\n\n findLabel (findLabel) {\n return this.labels.filter(label => label.title === findLabel.title)[0];\n }\n\n removeLabel (removeLabel) {\n if (removeLabel) {\n this.labels = this.labels.filter(label => removeLabel.title !== label.title);\n }\n }\n\n removeLabels (labels) {\n labels.forEach(this.removeLabel.bind(this));\n }\n\n addAssignee (assignee) {\n if (!this.findAssignee(assignee)) {\n this.assignees.push(new ListAssignee(assignee));\n }\n }\n\n findAssignee (findAssignee) {\n return this.assignees.filter(assignee => assignee.id === findAssignee.id)[0];\n }\n\n removeAssignee (removeAssignee) {\n if (removeAssignee) {\n this.assignees = this.assignees.filter(assignee => assignee.id !== removeAssignee.id);\n }\n }\n\n removeAllAssignees () {\n this.assignees = [];\n }\n\n getLists () {\n return gl.issueBoards.BoardsStore.state.lists.filter(list => list.findIssue(this.id));\n }\n\n updateData(newData) {\n Object.assign(this, newData);\n }\n\n setFetchingState(key, value) {\n this.isFetching[key] = value;\n }\n\n setLoadingState(key, value) {\n this.isLoading[key] = value;\n }\n\n update () {\n const data = {\n issue: {\n milestone_id: this.milestone ? this.milestone.id : null,\n due_date: this.dueDate,\n assignee_ids: this.assignees.length > 0 ? this.assignees.map((u) => u.id) : [0],\n label_ids: this.labels.map((label) => label.id)\n }\n };\n\n if (!data.issue.label_ids.length) {\n data.issue.label_ids = [''];\n }\n\n const projectPath = this.project ? this.project.path : '';\n return Vue.http.patch(`${this.path}.json`, data);\n }\n}\n\nwindow.ListIssue = ListIssue;\n\nexport default ListIssue;\n","export default (path, extraData) => path.split('&').reduce((dataParam, filterParam) => {\n if (filterParam === '') return dataParam;\n\n const data = dataParam;\n const paramSplit = filterParam.split('=');\n const paramKeyNormalized = paramSplit[0].replace('[]', '');\n const isArray = paramSplit[0].indexOf('[]');\n const value = decodeURIComponent(paramSplit[1].replace(/\\+/g, ' '));\n\n if (isArray !== -1) {\n if (!data[paramKeyNormalized]) {\n data[paramKeyNormalized] = [];\n }\n\n data[paramKeyNormalized].push(value);\n } else {\n data[paramKeyNormalized] = value;\n }\n\n return data;\n}, extraData);\n","/* eslint-disable no-underscore-dangle, class-methods-use-this, consistent-return, no-shadow, no-param-reassign, max-len */\n/* global ListIssue */\n\nimport ListLabel from '~/vue_shared/models/label';\nimport ListAssignee from '~/vue_shared/models/assignee';\nimport queryData from '../utils/query_data';\n\nconst PER_PAGE = 20;\n\nconst TYPES = {\n backlog: {\n isPreset: true,\n isExpandable: true,\n isBlank: false,\n },\n closed: {\n isPreset: true,\n isExpandable: true,\n isBlank: false,\n },\n blank: {\n isPreset: true,\n isExpandable: false,\n isBlank: true,\n },\n};\n\nclass List {\n constructor(obj, defaultAvatar) {\n this.id = obj.id;\n this._uid = this.guid();\n this.position = obj.position;\n this.title = obj.title;\n this.type = obj.list_type;\n\n const typeInfo = this.getTypeInfo(this.type);\n this.preset = !!typeInfo.isPreset;\n this.isExpandable = !!typeInfo.isExpandable;\n this.isExpanded = true;\n this.page = 1;\n this.loading = true;\n this.loadingMore = false;\n this.issues = [];\n this.issuesSize = 0;\n this.defaultAvatar = defaultAvatar;\n\n if (obj.label) {\n this.label = new ListLabel(obj.label);\n } else if (obj.user) {\n this.assignee = new ListAssignee(obj.user);\n this.title = this.assignee.name;\n }\n\n if (!typeInfo.isBlank && this.id) {\n this.getIssues().catch(() => {\n // TODO: handle request error\n });\n }\n }\n\n guid() {\n const s4 = () =>\n Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n return `${s4()}${s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;\n }\n\n save() {\n const entity = this.label || this.assignee;\n let entityType = '';\n if (this.label) {\n entityType = 'label_id';\n } else {\n entityType = 'assignee_id';\n }\n\n return gl.boardService\n .createList(entity.id, entityType)\n .then(res => res.data)\n .then(data => {\n this.id = data.id;\n this.type = data.list_type;\n this.position = data.position;\n\n return this.getIssues();\n });\n }\n\n destroy() {\n const index = gl.issueBoards.BoardsStore.state.lists.indexOf(this);\n gl.issueBoards.BoardsStore.state.lists.splice(index, 1);\n gl.issueBoards.BoardsStore.updateNewListDropdown(this.id);\n\n gl.boardService.destroyList(this.id).catch(() => {\n // TODO: handle request error\n });\n }\n\n update() {\n gl.boardService.updateList(this.id, this.position).catch(() => {\n // TODO: handle request error\n });\n }\n\n nextPage() {\n if (this.issuesSize > this.issues.length) {\n if (this.issues.length / PER_PAGE >= 1) {\n this.page += 1;\n }\n\n return this.getIssues(false);\n }\n }\n\n getIssues(emptyIssues = true) {\n const data = queryData(gl.issueBoards.BoardsStore.filter.path, { page: this.page });\n\n if (this.label && data.label_name) {\n data.label_name = data.label_name.filter(label => label !== this.label.title);\n }\n\n if (emptyIssues) {\n this.loading = true;\n }\n\n return gl.boardService\n .getIssuesForList(this.id, data)\n .then(res => res.data)\n .then(data => {\n this.loading = false;\n this.issuesSize = data.size;\n\n if (emptyIssues) {\n this.issues = [];\n }\n\n this.createIssues(data.issues);\n });\n }\n\n newIssue(issue) {\n this.addIssue(issue, null, 0);\n this.issuesSize += 1;\n\n return gl.boardService\n .newIssue(this.id, issue)\n .then(res => res.data)\n .then(data => this.onNewIssueResponse(issue, data));\n }\n\n createIssues(data) {\n data.forEach(issueObj => {\n this.addIssue(new ListIssue(issueObj, this.defaultAvatar));\n });\n }\n\n addIssue(issue, listFrom, newIndex) {\n let moveBeforeId = null;\n let moveAfterId = null;\n\n if (!this.findIssue(issue.id)) {\n if (newIndex !== undefined) {\n this.issues.splice(newIndex, 0, issue);\n\n if (this.issues[newIndex - 1]) {\n moveBeforeId = this.issues[newIndex - 1].id;\n }\n\n if (this.issues[newIndex + 1]) {\n moveAfterId = this.issues[newIndex + 1].id;\n }\n } else {\n this.issues.push(issue);\n }\n\n if (this.label) {\n issue.addLabel(this.label);\n }\n\n if (this.assignee) {\n if (listFrom && listFrom.type === 'assignee') {\n issue.removeAssignee(listFrom.assignee);\n }\n issue.addAssignee(this.assignee);\n }\n\n if (listFrom) {\n this.issuesSize += 1;\n\n this.updateIssueLabel(issue, listFrom, moveBeforeId, moveAfterId);\n }\n }\n }\n\n moveIssue(issue, oldIndex, newIndex, moveBeforeId, moveAfterId) {\n this.issues.splice(oldIndex, 1);\n this.issues.splice(newIndex, 0, issue);\n\n gl.boardService.moveIssue(issue.id, null, null, moveBeforeId, moveAfterId).catch(() => {\n // TODO: handle request error\n });\n }\n\n updateIssueLabel(issue, listFrom, moveBeforeId, moveAfterId) {\n gl.boardService\n .moveIssue(issue.id, listFrom.id, this.id, moveBeforeId, moveAfterId)\n .catch(() => {\n // TODO: handle request error\n });\n }\n\n findIssue(id) {\n return this.issues.find(issue => issue.id === id);\n }\n\n removeIssue(removeIssue) {\n this.issues = this.issues.filter(issue => {\n const matchesRemove = removeIssue.id === issue.id;\n\n if (matchesRemove) {\n this.issuesSize -= 1;\n issue.removeLabel(this.label);\n }\n\n return !matchesRemove;\n });\n }\n\n getTypeInfo (type) {\n return TYPES[type] || {};\n }\n\n onNewIssueResponse (issue, data) {\n issue.id = data.id;\n issue.iid = data.iid;\n issue.project = data.project;\n issue.path = data.real_path;\n issue.referencePath = data.reference_path;\n\n if (this.issuesSize > 1) {\n const moveBeforeId = this.issues[1].id;\n gl.boardService.moveIssue(issue.id, null, null, null, moveBeforeId);\n }\n }\n}\n\nwindow.List = List;\n\nexport default List;\n","/* eslint-disable comma-dangle, no-shadow */\n/* global List */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport Cookies from 'js-cookie';\nimport { getUrlParamsArray } from '~/lib/utils/common_utils';\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\ngl.issueBoards.BoardsStore = {\n disabled: false,\n filter: {\n path: '',\n },\n state: {},\n detail: {\n issue: {},\n },\n moving: {\n issue: {},\n list: {},\n },\n create () {\n this.state.lists = [];\n this.filter.path = getUrlParamsArray().join('&');\n this.detail = {\n issue: {},\n };\n },\n addList (listObj, defaultAvatar) {\n const list = new List(listObj, defaultAvatar);\n this.state.lists.push(list);\n\n return list;\n },\n new (listObj) {\n const list = this.addList(listObj);\n const backlogList = this.findList('type', 'backlog', 'backlog');\n\n list\n .save()\n .then(() => {\n // Remove any new issues from the backlog\n // as they will be visible in the new list\n list.issues.forEach(backlogList.removeIssue.bind(backlogList));\n this.state.lists = _.sortBy(this.state.lists, 'position');\n })\n .catch(() => {\n // https://gitlab.com/gitlab-org/gitlab-ce/issues/30821\n });\n this.removeBlankState();\n },\n updateNewListDropdown (listId) {\n $(`.js-board-list-${listId}`).removeClass('is-active');\n },\n shouldAddBlankState () {\n // Decide whether to add the blank state\n return !(this.state.lists.filter(list => list.type !== 'backlog' && list.type !== 'closed')[0]);\n },\n addBlankState () {\n if (!this.shouldAddBlankState() || this.welcomeIsHidden() || this.disabled) return;\n\n this.addList({\n id: 'blank',\n list_type: 'blank',\n title: '欢迎来到您的问题看板!',\n position: 0\n });\n\n this.state.lists = _.sortBy(this.state.lists, 'position');\n },\n removeBlankState () {\n this.removeList('blank');\n\n Cookies.set('issue_board_welcome_hidden', 'true', {\n expires: 365 * 10,\n path: ''\n });\n },\n welcomeIsHidden () {\n return Cookies.get('issue_board_welcome_hidden') === 'true';\n },\n removeList (id, type = 'blank') {\n const list = this.findList('id', id, type);\n\n if (!list) return;\n\n this.state.lists = this.state.lists.filter(list => list.id !== id);\n },\n moveList (listFrom, orderLists) {\n orderLists.forEach((id, i) => {\n const list = this.findList('id', parseInt(id, 10));\n\n list.position = i;\n });\n listFrom.update();\n },\n moveIssueToList (listFrom, listTo, issue, newIndex) {\n const issueTo = listTo.findIssue(issue.id);\n const issueLists = issue.getLists();\n const listLabels = issueLists.map(listIssue => listIssue.label);\n\n if (!issueTo) {\n // Check if target list assignee is already present in this issue\n if ((listTo.type === 'assignee' && listFrom.type === 'assignee') &&\n issue.findAssignee(listTo.assignee)) {\n const targetIssue = listTo.findIssue(issue.id);\n targetIssue.removeAssignee(listFrom.assignee);\n } else {\n // Add to new lists issues if it doesn't already exist\n listTo.addIssue(issue, listFrom, newIndex);\n }\n } else {\n listTo.updateIssueLabel(issue, listFrom);\n issueTo.removeLabel(listFrom.label);\n }\n\n if (listTo.type === 'closed' && listFrom.type !== 'backlog') {\n issueLists.forEach((list) => {\n list.removeIssue(issue);\n });\n issue.removeLabels(listLabels);\n } else if (listTo.type === 'backlog' && listFrom.type === 'assignee') {\n issue.removeAssignee(listFrom.assignee);\n listFrom.removeIssue(issue);\n } else if ((listTo.type !== 'label' && listFrom.type === 'assignee') ||\n (listTo.type !== 'assignee' && listFrom.type === 'label')) {\n listFrom.removeIssue(issue);\n }\n },\n moveIssueInList (list, issue, oldIndex, newIndex, idArray) {\n const beforeId = parseInt(idArray[newIndex - 1], 10) || null;\n const afterId = parseInt(idArray[newIndex + 1], 10) || null;\n\n list.moveIssue(issue, oldIndex, newIndex, beforeId, afterId);\n },\n findList (key, val, type = 'label') {\n const filteredList = this.state.lists.filter((list) => {\n const byType = type ? (list.type === type) || (list.type === 'assignee') : true;\n\n return list[key] === val && byType;\n });\n return filteredList[0];\n },\n updateFiltersUrl () {\n window.history.pushState(null, null, `?${this.filter.path}`);\n }\n};\n","import axios from '../../lib/utils/axios_utils';\nimport { mergeUrlParams } from '../../lib/utils/url_utility';\n\nexport default class BoardService {\n constructor({ boardsEndpoint, listsEndpoint, bulkUpdatePath, boardId }) {\n this.boardsEndpoint = boardsEndpoint;\n this.boardId = boardId;\n this.listsEndpoint = listsEndpoint;\n this.listsEndpointGenerate = `${listsEndpoint}/generate.json`;\n this.bulkUpdatePath = bulkUpdatePath;\n }\n\n generateBoardsPath(id) {\n return `${this.boardsEndpoint}${id ? `/${id}` : ''}.json`;\n }\n\n generateIssuesPath(id) {\n return `${this.listsEndpoint}${id ? `/${id}` : ''}/issues`;\n }\n\n static generateIssuePath(boardId, id) {\n return `${gon.relative_url_root}/-/boards/${boardId ? `${boardId}` : ''}/issues${id ? `/${id}` : ''}`;\n }\n\n all() {\n return axios.get(this.listsEndpoint);\n }\n\n generateDefaultLists() {\n return axios.post(this.listsEndpointGenerate, {});\n }\n\n createList(entityId, entityType) {\n const list = {\n [entityType]: entityId,\n };\n\n return axios.post(this.listsEndpoint, {\n list,\n });\n }\n\n updateList(id, position) {\n return axios.put(`${this.listsEndpoint}/${id}`, {\n list: {\n position,\n },\n });\n }\n\n destroyList(id) {\n return axios.delete(`${this.listsEndpoint}/${id}`);\n }\n\n getIssuesForList(id, filter = {}) {\n const data = { id };\n Object.keys(filter).forEach((key) => { data[key] = filter[key]; });\n\n return axios.get(mergeUrlParams(data, this.generateIssuesPath(id)));\n }\n\n moveIssue(id, fromListId = null, toListId = null, moveBeforeId = null, moveAfterId = null) {\n return axios.put(BoardService.generateIssuePath(this.boardId, id), {\n from_list_id: fromListId,\n to_list_id: toListId,\n move_before_id: moveBeforeId,\n move_after_id: moveAfterId,\n });\n }\n\n newIssue(id, issue) {\n return axios.post(this.generateIssuesPath(id), {\n issue,\n });\n }\n\n getBacklog(data) {\n return axios.get(mergeUrlParams(data, `${gon.relative_url_root}/-/boards/${this.boardId}/issues.json`));\n }\n\n bulkUpdate(issueIds, extraData = {}) {\n const data = {\n update: Object.assign(extraData, {\n issuable_ids: issueIds.join(','),\n }),\n };\n\n return axios.post(this.bulkUpdatePath, data);\n }\n\n static getIssueInfo(endpoint) {\n return axios.get(endpoint);\n }\n\n static toggleIssueSubscription(endpoint) {\n return axios.post(endpoint);\n }\n}\n\nwindow.BoardService = BoardService;\n","import ModalStore from '../stores/modal_store';\n\nexport default {\n methods: {\n toggleModal(toggle) {\n ModalStore.store.showAddIssuesModal = toggle;\n },\n changeTab(tab) {\n ModalStore.store.activeTab = tab;\n },\n },\n};\n","export default {\n animation: 200,\n forceFallback: true,\n fallbackClass: 'is-dragging',\n fallbackOnBody: true,\n ghostClass: 'is-ghost',\n};\n","/* global DocumentTouch */\n\nimport $ from 'jquery';\nimport sortableConfig from '../../sortable/sortable_config';\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\ngl.issueBoards.onStart = () => {\n $('.has-tooltip').tooltip('hide')\n .tooltip('disable');\n document.body.classList.add('is-dragging');\n};\n\ngl.issueBoards.onEnd = () => {\n $('.has-tooltip').tooltip('enable');\n document.body.classList.remove('is-dragging');\n};\n\ngl.issueBoards.touchEnabled = ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;\n\ngl.issueBoards.getBoardSortableDefaultOptions = (obj) => {\n const defaultSortOptions = Object.assign({}, sortableConfig, {\n filter: '.board-delete, .btn',\n delay: gl.issueBoards.touchEnabled ? 100 : 0,\n scrollSensitivity: gl.issueBoards.touchEnabled ? 60 : 100,\n scrollSpeed: 20,\n onStart: gl.issueBoards.onStart,\n onEnd: gl.issueBoards.onEnd,\n });\n\n Object.keys(obj).forEach((key) => { defaultSortOptions[key] = obj[key]; });\n return defaultSortOptions;\n};\n","import Vue from 'vue';\nimport dateFormat from 'dateformat';\n\nVue.filter('due-date', value => {\n const date = new Date(value);\n return dateFormat(date, 'mmm d, yyyy', true);\n});\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./project_select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./project_select.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./project_select.vue?vue&type=template&id=b4f04adc\"\nimport script from \"./project_select.vue?vue&type=script&lang=js\"\nexport * from \"./project_select.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"label-light prepend-top-10\"},[_vm._v(\"\\n Project\\n \")]),_vm._v(\" \"),_c('div',{ref:\"projectsDropdown\",staticClass:\"dropdown\"},[_c('button',{staticClass:\"dropdown-menu-toggle wide\",attrs:{\"type\":\"button\",\"data-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_vm._v(\"\\n \"+_vm._s(_vm.selectedProjectName)+\"\\n \"),_c('i',{staticClass:\"fa fa-chevron-down\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu dropdown-menu-selectable dropdown-menu-full-width\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-content\"}),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-loading\"},[_c('loading-icon')],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-title\"},[_c('span',[_vm._v(\"Projects\")]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-title-button dropdown-menu-close\",attrs:{\"aria-label\":\"Close\",\"type\":\"button\"}},[_c('i',{staticClass:\"fa fa-times dropdown-menu-close-icon\",attrs:{\"aria-hidden\":\"true\",\"data-hidden\":\"true\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-input\"},[_c('input',{staticClass:\"dropdown-input-field\",attrs:{\"type\":\"search\",\"placeholder\":\"Search projects\"}}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-search dropdown-input-search\",attrs:{\"aria-hidden\":\"true\",\"data-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_new_issue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_new_issue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./board_new_issue.vue?vue&type=template&id=6273c0d1\"\nimport script from \"./board_new_issue.vue?vue&type=script&lang=js\"\nexport * from \"./board_new_issue.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"board-new-issue-form\"},[_c('div',{staticClass:\"board-card\"},[_c('form',{on:{\"submit\":function($event){_vm.submit($event)}}},[(_vm.error)?_c('div',{staticClass:\"flash-container\"},[_c('div',{staticClass:\"flash-alert\"},[_vm._v(\"\\n 出现错误,请重试。\\n \")])]):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"label-light\",attrs:{\"for\":_vm.list.id + '-title'}},[_vm._v(\"\\n 标题\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],ref:\"input\",staticClass:\"form-control\",attrs:{\"id\":_vm.list.id + '-title',\"type\":\"text\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}}),_vm._v(\" \"),(_vm.groupId)?_c('project-select',{attrs:{\"group-id\":_vm.groupId}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"clearfix prepend-top-10\"},[_c('button',{ref:\"submit-button\",staticClass:\"btn btn-success float-left\",attrs:{\"disabled\":_vm.disabled,\"type\":\"submit\"}},[_vm._v(\"\\n 提交问题\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default float-right\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n 取消\\n \")])])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_inner.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_inner.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./issue_card_inner.vue?vue&type=template&id=3eab0e7a\"\nimport script from \"./issue_card_inner.vue?vue&type=script&lang=js\"\nexport * from \"./issue_card_inner.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"board-card-header\"},[_c('h4',{staticClass:\"board-card-title\"},[(_vm.issue.confidential)?_c('i',{staticClass:\"fa fa-eye-slash confidential-icon\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"js-no-trigger\",attrs:{\"href\":_vm.issue.path,\"title\":_vm.issue.title}},[_vm._v(_vm._s(_vm.issue.title))]),_vm._v(\" \"),(_vm.issueId)?_c('span',{staticClass:\"board-card-number\"},[_vm._v(\"\\n \"+_vm._s(_vm.issue.referencePath)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"board-card-assignee\"},[_vm._l((_vm.issue.assignees),function(assignee,index){return (_vm.shouldRenderAssignee(index))?_c('user-avatar-link',{key:assignee.id,staticClass:\"js-no-trigger\",attrs:{\"link-href\":_vm.assigneeUrl(assignee),\"img-alt\":_vm.avatarUrlTitle(assignee),\"img-src\":assignee.avatar,\"tooltip-text\":_vm.assigneeUrlTitle(assignee),\"tooltip-placement\":\"bottom\"}}):_vm._e()}),_vm._v(\" \"),(_vm.shouldRenderCounter)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"avatar-counter\",attrs:{\"title\":_vm.assigneeCounterTooltip}},[_vm._v(\"\\n \"+_vm._s(_vm.assigneeCounterLabel)+\"\\n \")]):_vm._e()],2)]),_vm._v(\" \"),(_vm.showLabelFooter)?_c('div',{staticClass:\"board-card-footer\"},_vm._l((_vm.issue.labels),function(label){return (_vm.showLabel(label))?_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],key:label.id,staticClass:\"badge color-label\",style:(_vm.labelStyle(label)),attrs:{\"title\":label.description,\"type\":\"button\",\"data-container\":\"body\"},on:{\"click\":function($event){_vm.filterByLabel(label, $event)}}},[_vm._v(\"\\n \"+_vm._s(label.title)+\"\\n \")]):_vm._e()})):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_card.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_card.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./board_card.vue?vue&type=template&id=1f0e0a2f\"\nimport script from \"./board_card.vue?vue&type=script&lang=js\"\nexport * from \"./board_card.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"board-card\",class:{\n 'user-can-drag': !_vm.disabled && _vm.issue.id,\n 'is-disabled': _vm.disabled || !_vm.issue.id,\n 'is-active': _vm.issueDetailVisible\n },attrs:{\"index\":_vm.index,\"data-issue-id\":_vm.issue.id},on:{\"mousedown\":_vm.mouseDown,\"mousemove\":_vm.mouseMove,\"mouseup\":function($event){_vm.showIssue($event)}}},[_c('issue-card-inner',{attrs:{\"list\":_vm.list,\"issue\":_vm.issue,\"issue-link-base\":_vm.issueLinkBase,\"group-id\":_vm.groupId,\"root-path\":_vm.rootPath,\"update-filters\":true}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_list.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_list.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./board_list.vue?vue&type=template&id=058b9842\"\nimport script from \"./board_list.vue?vue&type=script&lang=js\"\nexport * from \"./board_list.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"board-list-component\"},[(_vm.loading)?_c('div',{staticClass:\"board-list-loading text-center\",attrs:{\"aria-label\":\"Loading issues\"}},[_c('loading-icon')],1):_vm._e(),_vm._v(\" \"),(_vm.list.type !== 'closed' && _vm.showIssueForm)?_c('board-new-issue',{attrs:{\"group-id\":_vm.groupId,\"list\":_vm.list}}):_vm._e(),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],ref:\"list\",staticClass:\"board-list js-board-list\",class:{ 'is-smaller': _vm.showIssueForm },attrs:{\"data-board\":_vm.list.id,\"data-board-type\":_vm.list.type}},[_vm._l((_vm.issues),function(issue,index){return _c('board-card',{key:issue.id,ref:\"issue\",refInFor:true,attrs:{\"index\":index,\"list\":_vm.list,\"issue\":issue,\"issue-link-base\":_vm.issueLinkBase,\"group-id\":_vm.groupId,\"root-path\":_vm.rootPath,\"disabled\":_vm.disabled}})}),_vm._v(\" \"),(_vm.showCount)?_c('li',{staticClass:\"board-list-count text-center\",attrs:{\"data-issue-id\":\"-1\"}},[_c('loading-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.list.loadingMore),expression:\"list.loadingMore\"}],attrs:{\"label\":\"Loading more issues\"}}),_vm._v(\" \"),(_vm.list.issues.length === _vm.list.issuesSize)?_c('span',[_vm._v(\"\\n Showing all issues\\n \")]):_c('span',[_vm._v(\"\\n Showing \"+_vm._s(_vm.list.issues.length)+\" of \"+_vm._s(_vm.list.issuesSize)+\" issues\\n \")])],1):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_blank_state.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_blank_state.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./board_blank_state.vue?vue&type=template&id=0df442f8\"\nimport script from \"./board_blank_state.vue?vue&type=script&lang=js\"\nexport * from \"./board_blank_state.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"board-blank-state\"},[_c('p',[_vm._v(\"\\n 只需点击一下,即可将以下默认列表添加到问题看板:\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"board-blank-state-list\"},_vm._l((_vm.predefinedLabels),function(label,index){return _c('li',{key:index},[_c('span',{staticClass:\"label-color\",style:({ backgroundColor: label.color })}),_vm._v(\"\\n \"+_vm._s(label.title)+\"\\n \")])})),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 用默认列表将让您能正确并充分地利用您的的问题看板。\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-create btn-inverted btn-block\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addDefaultLists($event)}}},[_vm._v(\"\\n 添加默认列表\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default btn-block\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearBlankState($event)}}},[_vm._v(\"\\n 没关系,我将自己创建列表\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable comma-dangle, no-alert */\n\nimport $ from 'jquery';\nimport Vue from 'vue';\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\ngl.issueBoards.BoardDelete = Vue.extend({\n props: {\n list: {\n type: Object,\n default: () => ({}),\n },\n },\n methods: {\n deleteBoard () {\n $(this.$el).tooltip('hide');\n\n if (window.confirm('您确定要删除这个列表?')) {\n this.list.destroy();\n }\n }\n }\n});\n","/* eslint-disable comma-dangle */\n\nimport Sortable from 'sortablejs';\nimport Vue from 'vue';\nimport AccessorUtilities from '../../lib/utils/accessor';\nimport boardList from './board_list.vue';\nimport BoardBlankState from './board_blank_state.vue';\nimport './board_delete';\n\nconst Store = gl.issueBoards.BoardsStore;\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\ngl.issueBoards.Board = Vue.extend({\n components: {\n boardList,\n 'board-delete': gl.issueBoards.BoardDelete,\n BoardBlankState,\n },\n props: {\n list: {\n type: Object,\n default: () => ({}),\n },\n disabled: {\n type: Boolean,\n required: true,\n },\n issueLinkBase: {\n type: String,\n required: true,\n },\n rootPath: {\n type: String,\n required: true,\n },\n boardId: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n detailIssue: Store.detail,\n filter: Store.filter,\n };\n },\n watch: {\n filter: {\n handler() {\n this.list.page = 1;\n this.list.getIssues(true)\n .catch(() => {\n // TODO: handle request error\n });\n },\n deep: true,\n }\n },\n mounted () {\n this.sortableOptions = gl.issueBoards.getBoardSortableDefaultOptions({\n disabled: this.disabled,\n group: 'boards',\n draggable: '.is-draggable',\n handle: '.js-board-handle',\n onEnd: (e) => {\n gl.issueBoards.onEnd();\n\n if (e.newIndex !== undefined && e.oldIndex !== e.newIndex) {\n const order = this.sortable.toArray();\n const list = Store.findList('id', parseInt(e.item.dataset.id, 10));\n\n this.$nextTick(() => {\n Store.moveList(list, order);\n });\n }\n }\n });\n\n this.sortable = Sortable.create(this.$el.parentNode, this.sortableOptions);\n },\n created() {\n if (this.list.isExpandable && AccessorUtilities.isLocalStorageAccessSafe()) {\n const isCollapsed = localStorage.getItem(`boards.${this.boardId}.${this.list.type}.expanded`) === 'false';\n\n this.list.isExpanded = !isCollapsed;\n }\n },\n methods: {\n showNewIssueForm() {\n this.$refs['board-list'].showIssueForm = !this.$refs['board-list'].showIssueForm;\n },\n toggleExpanded(e) {\n if (this.list.isExpandable && !e.target.classList.contains('js-no-trigger-collapse')) {\n this.list.isExpanded = !this.list.isExpanded;\n\n if (AccessorUtilities.isLocalStorageAccessSafe()) {\n localStorage.setItem(`boards.${this.boardId}.${this.list.type}.expanded`, this.list.isExpanded);\n }\n }\n },\n },\n template: '#js-board-template',\n});\n","\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./remove_issue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./remove_issue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./remove_issue.vue?vue&type=template&id=580fc14e\"\nimport script from \"./remove_issue.vue?vue&type=script&lang=js\"\nexport * from \"./remove_issue.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"block list\"},[_c('button',{staticClass:\"btn btn-default btn-block\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.removeIssue}},[_vm._v(\"\\n Remove from board\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable comma-dangle, no-new */\n\nimport $ from 'jquery';\nimport Vue from 'vue';\nimport Flash from '../../flash';\nimport { __ } from '../../locale';\nimport Sidebar from '../../right_sidebar';\nimport eventHub from '../../sidebar/event_hub';\nimport AssigneeTitle from '../../sidebar/components/assignees/assignee_title.vue';\nimport Assignees from '../../sidebar/components/assignees/assignees.vue';\nimport DueDateSelectors from '../../due_date_select';\nimport RemoveBtn from './sidebar/remove_issue.vue';\nimport IssuableContext from '../../issuable_context';\nimport LabelsSelect from '../../labels_select';\nimport Subscriptions from '../../sidebar/components/subscriptions/subscriptions.vue';\nimport MilestoneSelect from '../../milestone_select';\n\nconst Store = gl.issueBoards.BoardsStore;\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\ngl.issueBoards.BoardSidebar = Vue.extend({\n components: {\n AssigneeTitle,\n Assignees,\n RemoveBtn,\n Subscriptions,\n },\n props: {\n currentUser: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n detail: Store.detail,\n issue: {},\n list: {},\n loadingAssignees: false,\n };\n },\n computed: {\n showSidebar () {\n return Object.keys(this.issue).length;\n },\n milestoneTitle() {\n return this.issue.milestone ? this.issue.milestone.title : 'No Milestone';\n },\n canRemove() {\n return !this.list.preset;\n },\n },\n watch: {\n detail: {\n handler () {\n if (this.issue.id !== this.detail.issue.id) {\n $('.block.assignee')\n .find('input:not(.js-vue)[name=\"issue[assignee_ids][]\"]')\n .each((i, el) => {\n $(el).remove();\n });\n\n $('.js-issue-board-sidebar', this.$el).each((i, el) => {\n $(el).data('glDropdown').clearMenu();\n });\n }\n\n this.issue = this.detail.issue;\n this.list = this.detail.list;\n },\n deep: true\n },\n },\n created () {\n // Get events from glDropdown\n eventHub.$on('sidebar.removeAssignee', this.removeAssignee);\n eventHub.$on('sidebar.addAssignee', this.addAssignee);\n eventHub.$on('sidebar.removeAllAssignees', this.removeAllAssignees);\n eventHub.$on('sidebar.saveAssignees', this.saveAssignees);\n },\n beforeDestroy() {\n eventHub.$off('sidebar.removeAssignee', this.removeAssignee);\n eventHub.$off('sidebar.addAssignee', this.addAssignee);\n eventHub.$off('sidebar.removeAllAssignees', this.removeAllAssignees);\n eventHub.$off('sidebar.saveAssignees', this.saveAssignees);\n },\n mounted () {\n new IssuableContext(this.currentUser);\n new MilestoneSelect();\n new DueDateSelectors();\n new LabelsSelect();\n new Sidebar();\n },\n methods: {\n closeSidebar () {\n this.detail.issue = {};\n },\n assignSelf () {\n // Notify gl dropdown that we are now assigning to current user\n this.$refs.assigneeBlock.dispatchEvent(new Event('assignYourself'));\n\n this.addAssignee(this.currentUser);\n this.saveAssignees();\n },\n removeAssignee (a) {\n gl.issueBoards.BoardsStore.detail.issue.removeAssignee(a);\n },\n addAssignee (a) {\n gl.issueBoards.BoardsStore.detail.issue.addAssignee(a);\n },\n removeAllAssignees () {\n gl.issueBoards.BoardsStore.detail.issue.removeAllAssignees();\n },\n saveAssignees () {\n this.loadingAssignees = true;\n\n gl.issueBoards.BoardsStore.detail.issue.update()\n .then(() => {\n this.loadingAssignees = false;\n })\n .catch(() => {\n this.loadingAssignees = false;\n Flash(__('An error occurred while saving assignees'));\n });\n },\n },\n});\n","/* eslint-disable func-names, no-new, promise/catch-or-return */\n\nimport $ from 'jquery';\nimport axios from '~/lib/utils/axios_utils';\nimport _ from 'underscore';\nimport CreateLabelDropdown from '../../create_label';\n\nwindow.gl = window.gl || {};\nwindow.gl.issueBoards = window.gl.issueBoards || {};\n\nconst Store = gl.issueBoards.BoardsStore;\n\n$(document).off('created.label').on('created.label', (e, label) => {\n Store.new({\n title: label.title,\n position: Store.state.lists.length - 2,\n list_type: 'label',\n label: {\n id: label.id,\n title: label.title,\n color: label.color,\n },\n });\n});\n\ngl.issueBoards.newListDropdownInit = () => {\n $('.js-new-board-list').each(function () {\n const $this = $(this);\n new CreateLabelDropdown($this.closest('.dropdown').find('.dropdown-new-label'), $this.data('namespacePath'), $this.data('projectPath'));\n\n $this.glDropdown({\n data(term, callback) {\n axios.get($this.attr('data-list-labels-path'))\n .then(({ data }) => {\n callback(data);\n });\n },\n renderRow (label) {\n const active = Store.findList('title', label.title);\n const $li = $('
  • ');\n const $a = $('', {\n class: (active ? `is-active js-board-list-${active.id}` : ''),\n text: label.title,\n href: '#',\n });\n const $labelColor = $('', {\n class: 'dropdown-label-box',\n style: `background-color: ${label.color}`,\n });\n\n return $li.append($a.prepend($labelColor));\n },\n search: {\n fields: ['title'],\n },\n filterable: true,\n selectable: true,\n multiSelect: true,\n containerSelector: '.js-tab-container-labels .dropdown-page-one .dropdown-content',\n clicked (options) {\n const { e } = options;\n const label = options.selectedObj;\n e.preventDefault();\n\n if (!Store.findList('title', label.title)) {\n Store.new({\n title: label.title,\n position: Store.state.lists.length - 2,\n list_type: 'label',\n label: {\n id: label.id,\n title: label.title,\n color: label.color,\n },\n });\n\n Store.state.lists = _.sortBy(Store.state.lists, 'position');\n }\n },\n });\n });\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showAddIssuesModal)?_c('div',{staticClass:\"add-issues-modal\"},[_c('div',{staticClass:\"add-issues-container\"},[_c('modal-header',{attrs:{\"project-id\":_vm.projectId,\"milestone-path\":_vm.milestonePath,\"label-path\":_vm.labelPath}}),_vm._v(\" \"),(!_vm.loading && _vm.showList && !_vm.filterLoading)?_c('modal-list',{attrs:{\"issue-link-base\":_vm.issueLinkBase,\"root-path\":_vm.rootPath,\"empty-state-svg\":_vm.emptyStateSvg}}):_vm._e(),_vm._v(\" \"),(_vm.showEmptyState)?_c('empty-state',{attrs:{\"new-issue-path\":_vm.newIssuePath,\"empty-state-svg\":_vm.emptyStateSvg}}):_vm._e(),_vm._v(\" \"),(_vm.loading || _vm.filterLoading)?_c('section',{staticClass:\"add-issues-list text-center\"},[_c('div',{staticClass:\"add-issues-list-loading\"},[_c('loading-icon')],1)]):_vm._e(),_vm._v(\" \"),_c('modal-footer')],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FilteredSearchBoards from '../../filtered_search_boards';\nimport FilteredSearchContainer from '../../../filtered_search/container';\n\nexport default {\n name: 'modal-filters',\n props: {\n store: {\n type: Object,\n required: true,\n },\n },\n mounted() {\n FilteredSearchContainer.container = this.$el;\n\n this.filteredSearch = new FilteredSearchBoards(this.store);\n this.filteredSearch.setup();\n this.filteredSearch.removeTokens();\n this.filteredSearch.handleInputPlaceholder();\n this.filteredSearch.toggleClearSearchButton();\n },\n destroyed() {\n this.filteredSearch.cleanup();\n FilteredSearchContainer.container = document;\n this.store.path = '';\n },\n template: '#js-board-modal-filter',\n};\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=js\"","\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./tabs.vue?vue&type=template&id=13942efe\"\nimport script from \"./tabs.vue?vue&type=script&lang=js\"\nexport * from \"./tabs.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-area prepend-top-10 append-bottom-10\"},[_c('ul',{staticClass:\"nav-links issues-state-filters\"},[_c('li',{class:{ 'active': _vm.activeTab == 'all' }},[_c('a',{attrs:{\"href\":\"#\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.changeTab('all')}}},[_vm._v(\"\\n Open issues\\n \"),_c('span',{staticClass:\"badge badge-pill\"},[_vm._v(\"\\n \"+_vm._s(_vm.issuesCount)+\"\\n \")])])]),_vm._v(\" \"),_c('li',{class:{ 'active': _vm.activeTab == 'selected' }},[_c('a',{attrs:{\"href\":\"#\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.changeTab('selected')}}},[_vm._v(\"\\n Selected issues\\n \"),_c('span',{staticClass:\"badge badge-pill\"},[_vm._v(\"\\n \"+_vm._s(_vm.selectedCount)+\"\\n \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=0c8271b2\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('header',{staticClass:\"add-issues-header form-actions\"},[_c('h2',[_vm._v(\"\\n Add issues\\n \"),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"},on:{\"click\":function($event){_vm.toggleModal(false)}}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])])]),_vm._v(\" \"),(!_vm.loading && _vm.issuesCount > 0)?_c('modal-tabs'):_vm._e(),_vm._v(\" \"),(_vm.showSearch)?_c('div',{staticClass:\"add-issues-search append-bottom-10\"},[_c('modal-filters',{attrs:{\"store\":_vm.filter}}),_vm._v(\" \"),_c('button',{ref:\"selectAllBtn\",staticClass:\"btn btn-success btn-inverted prepend-left-10\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleAll}},[_vm._v(\"\\n \"+_vm._s(_vm.selectAllText)+\"\\n \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./list.vue?vue&type=template&id=8399114e\"\nimport script from \"./list.vue?vue&type=script&lang=js\"\nexport * from \"./list.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{ref:\"list\",staticClass:\"add-issues-list add-issues-list-columns\"},[(_vm.issuesCount > 0 && _vm.issues.length === 0)?_c('div',{staticClass:\"empty-state add-issues-empty-state-filter text-center\"},[_c('div',{staticClass:\"svg-content\"},[_c('img',{attrs:{\"src\":_vm.emptyStateSvg}})]),_vm._v(\" \"),_vm._m(0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.groupedIssues),function(group,index){return _c('div',{key:index,staticClass:\"add-issues-list-column\"},_vm._l((group),function(issue){return (_vm.showIssue(issue))?_c('div',{key:issue.id,staticClass:\"board-card-parent\"},[_c('div',{staticClass:\"board-card\",class:{ 'is-active': issue.selected },on:{\"click\":function($event){_vm.toggleIssue($event, issue)}}},[_c('issue-card-inner',{attrs:{\"issue\":issue,\"issue-link-base\":_vm.issueLinkBase,\"root-path\":_vm.rootPath}}),_vm._v(\" \"),(issue.selected)?_c('span',{staticClass:\"issue-card-selected text-center\",attrs:{\"aria-label\":'Issue #' + issue.id + ' selected',\"aria-checked\":\"true\"}},[_c('i',{staticClass:\"fa fa-check\"})]):_vm._e()],1)]):_vm._e()}))})],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-content\"},[_c('h4',[_vm._v(\"\\n There are no issues to show.\\n \")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lists_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lists_dropdown.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./lists_dropdown.vue?vue&type=template&id=544de8e7\"\nimport script from \"./lists_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./lists_dropdown.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown inline\"},[_c('button',{staticClass:\"dropdown-menu-toggle\",attrs:{\"type\":\"button\",\"data-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_c('span',{staticClass:\"dropdown-label-box\",style:({ backgroundColor: _vm.selected.label.color })}),_vm._v(\"\\n \"+_vm._s(_vm.selected.title)+\"\\n \"),_c('i',{staticClass:\"fa fa-chevron-down\"})]),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu dropdown-menu-selectable dropdown-menu-drop-up\"},[_c('ul',_vm._l((_vm.state.lists),function(list,i){return (list.type == 'label')?_c('li',{key:i},[_c('a',{class:{ 'is-active': list.id == _vm.selected.id },attrs:{\"href\":\"#\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.modal.selectedList = list}}},[_c('span',{staticClass:\"dropdown-label-box\",style:({ backgroundColor: list.label.color })}),_vm._v(\"\\n \"+_vm._s(list.title)+\"\\n \")])]):_vm._e()}))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./footer.vue?vue&type=template&id=094f4480\"\nimport script from \"./footer.vue?vue&type=script&lang=js\"\nexport * from \"./footer.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"form-actions add-issues-footer\"},[_c('div',{staticClass:\"float-left\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"disabled\":_vm.submitDisabled,\"type\":\"button\"},on:{\"click\":_vm.addIssues}},[_vm._v(\"\\n \"+_vm._s(_vm.submitText)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"inline add-issues-footer-to-list\"},[_vm._v(\"\\n 到列表\\n \")]),_vm._v(\" \"),_c('lists-dropdown')],1),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default float-right\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.toggleModal(false)}}},[_vm._v(\"\\n 取消\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state.vue?vue&type=script&lang=js\"","\n\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./empty_state.vue?vue&type=template&id=e647f7c6\"\nimport script from \"./empty_state.vue?vue&type=script&lang=js\"\nexport * from \"./empty_state.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"empty-state\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6 order-md-last\"},[_c('aside',{staticClass:\"svg-content\"},[_c('img',{attrs:{\"src\":_vm.emptyStateSvg}})])]),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-md-6 order-md-first\"},[_c('div',{staticClass:\"text-content\"},[_c('h4',[_vm._v(_vm._s(_vm.contents.title))]),_vm._v(\" \"),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.contents.content)}}),_vm._v(\" \"),(_vm.activeTab === 'all')?_c('a',{staticClass:\"btn btn-success btn-inverted\",attrs:{\"href\":_vm.newIssuePath}},[_vm._v(\"\\n New issue\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.activeTab === 'selected')?_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.changeTab('all')}}},[_vm._v(\"\\n Open issues\\n \")]):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=278bf129\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.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","/* eslint-disable quote-props, comma-dangle */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport Vue from 'vue';\n\nimport Flash from '~/flash';\nimport { __ } from '~/locale';\nimport '~/vue_shared/models/label';\nimport '~/vue_shared/models/assignee';\n\nimport FilteredSearchBoards from './filtered_search_boards';\nimport eventHub from './eventhub';\nimport sidebarEventHub from '~/sidebar/event_hub'; // eslint-disable-line import/first\nimport './models/issue';\nimport './models/list';\nimport './models/milestone';\nimport './models/project';\nimport './stores/boards_store';\nimport ModalStore from './stores/modal_store';\nimport BoardService from './services/board_service';\nimport modalMixin from './mixins/modal_mixins';\nimport './mixins/sortable_default_options';\nimport './filters/due_date_filters';\nimport './components/board';\nimport './components/board_sidebar';\nimport './components/new_list_dropdown';\nimport BoardAddIssuesModal from './components/modal/index.vue';\nimport '~/vue_shared/vue_resource_interceptor'; // eslint-disable-line import/first\n\nexport default () => {\n const $boardApp = document.getElementById('board-app');\n const Store = gl.issueBoards.BoardsStore;\n\n window.gl = window.gl || {};\n\n if (gl.IssueBoardsApp) {\n gl.IssueBoardsApp.$destroy(true);\n }\n\n Store.create();\n\n // hack to allow sidebar scripts like milestone_select manipulate the BoardsStore\n gl.issueBoards.boardStoreIssueSet = (...args) => Vue.set(Store.detail.issue, ...args);\n gl.issueBoards.boardStoreIssueDelete = (...args) => Vue.delete(Store.detail.issue, ...args);\n\n gl.IssueBoardsApp = new Vue({\n el: $boardApp,\n components: {\n 'board': gl.issueBoards.Board,\n 'board-sidebar': gl.issueBoards.BoardSidebar,\n BoardAddIssuesModal,\n },\n data: {\n state: Store.state,\n loading: true,\n boardsEndpoint: $boardApp.dataset.boardsEndpoint,\n listsEndpoint: $boardApp.dataset.listsEndpoint,\n boardId: $boardApp.dataset.boardId,\n disabled: $boardApp.dataset.disabled === 'true',\n issueLinkBase: $boardApp.dataset.issueLinkBase,\n rootPath: $boardApp.dataset.rootPath,\n bulkUpdatePath: $boardApp.dataset.bulkUpdatePath,\n detailIssue: Store.detail,\n defaultAvatar: $boardApp.dataset.defaultAvatar,\n },\n computed: {\n detailIssueVisible () {\n return Object.keys(this.detailIssue.issue).length;\n },\n },\n created () {\n gl.boardService = new BoardService({\n boardsEndpoint: this.boardsEndpoint,\n listsEndpoint: this.listsEndpoint,\n bulkUpdatePath: this.bulkUpdatePath,\n boardId: this.boardId,\n });\n Store.rootPath = this.boardsEndpoint;\n\n eventHub.$on('updateTokens', this.updateTokens);\n eventHub.$on('newDetailIssue', this.updateDetailIssue);\n eventHub.$on('clearDetailIssue', this.clearDetailIssue);\n sidebarEventHub.$on('toggleSubscription', this.toggleSubscription);\n },\n beforeDestroy() {\n eventHub.$off('updateTokens', this.updateTokens);\n eventHub.$off('newDetailIssue', this.updateDetailIssue);\n eventHub.$off('clearDetailIssue', this.clearDetailIssue);\n sidebarEventHub.$off('toggleSubscription', this.toggleSubscription);\n },\n mounted () {\n this.filterManager = new FilteredSearchBoards(Store.filter, true, Store.cantEdit);\n this.filterManager.setup();\n\n Store.disabled = this.disabled;\n gl.boardService.all()\n .then(res => res.data)\n .then((data) => {\n data.forEach((board) => {\n const list = Store.addList(board, this.defaultAvatar);\n\n if (list.type === 'closed') {\n list.position = Infinity;\n } else if (list.type === 'backlog') {\n list.position = -1;\n }\n });\n\n this.state.lists = _.sortBy(this.state.lists, 'position');\n\n Store.addBlankState();\n this.loading = false;\n })\n .catch(() => {\n Flash('获取看板列表出错,请重试。');\n });\n },\n methods: {\n updateTokens() {\n this.filterManager.updateTokens();\n },\n updateDetailIssue(newIssue) {\n const { sidebarInfoEndpoint } = newIssue;\n if (sidebarInfoEndpoint && newIssue.subscribed === undefined) {\n newIssue.setFetchingState('subscriptions', true);\n BoardService.getIssueInfo(sidebarInfoEndpoint)\n .then(res => res.data)\n .then((data) => {\n newIssue.setFetchingState('subscriptions', false);\n newIssue.updateData({\n subscribed: data.subscribed,\n });\n })\n .catch(() => {\n newIssue.setFetchingState('subscriptions', false);\n Flash(__('An error occurred while fetching sidebar data'));\n });\n }\n\n Store.detail.issue = newIssue;\n },\n clearDetailIssue() {\n Store.detail.issue = {};\n },\n toggleSubscription(id) {\n const { issue } = Store.detail;\n if (issue.id === id && issue.toggleSubscriptionEndpoint) {\n issue.setFetchingState('subscriptions', true);\n BoardService.toggleIssueSubscription(issue.toggleSubscriptionEndpoint)\n .then(() => {\n issue.setFetchingState('subscriptions', false);\n issue.updateData({\n subscribed: !issue.subscribed,\n });\n })\n .catch(() => {\n issue.setFetchingState('subscriptions', false);\n Flash(__('An error occurred when toggling the notification subscription'));\n });\n }\n }\n },\n });\n\n gl.IssueBoardsSearch = new Vue({\n el: document.getElementById('js-add-list'),\n data: {\n filters: Store.state.filters,\n },\n mounted () {\n gl.issueBoards.newListDropdownInit();\n },\n });\n\n gl.IssueBoardsModalAddBtn = new Vue({\n el: document.getElementById('js-add-issues-btn'),\n mixins: [modalMixin],\n data() {\n return {\n modal: ModalStore.store,\n store: Store.state,\n canAdminList: this.$options.el.hasAttribute('data-can-admin-list'),\n };\n },\n computed: {\n disabled() {\n if (!this.store) {\n return true;\n }\n return !this.store.lists.filter(list => !list.preset).length;\n },\n tooltipTitle() {\n if (this.disabled) {\n return '请先在看板中添加一个列表';\n }\n\n return '';\n },\n },\n watch: {\n disabled() {\n this.updateTooltip();\n },\n },\n mounted() {\n this.updateTooltip();\n },\n methods: {\n updateTooltip() {\n const $tooltip = $(this.$refs.addIssuesButton);\n\n this.$nextTick(() => {\n if (this.disabled) {\n $tooltip.tooltip();\n } else {\n $tooltip.tooltip('dispose');\n }\n });\n },\n openModal() {\n if (!this.disabled) {\n this.toggleModal(true);\n }\n },\n },\n template: `\n
    \n \n 添加问题\n \n
    \n `,\n });\n};\n","import Vue from 'vue';\n\nconst eventHub = new Vue();\n\n// TODO: remove eventHub hack after code splitting refactor\nwindow.emitSidebarEvent = (...args) => eventHub.$emit(...args);\n\nexport default eventHub;\n","class ListMilestone {\n constructor(obj) {\n this.id = obj.id;\n this.title = obj.title;\n }\n}\n\nwindow.ListMilestone = ListMilestone;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"avatar\",class:( _obj = {\n lazy: _vm.lazy\n }, _obj[_vm.avatarSizeClass] = true, _obj[_vm.cssClasses] = true, _obj ),attrs:{\"src\":_vm.resultantSrcAttribute,\"width\":_vm.size,\"height\":_vm.size,\"alt\":_vm.imgAlt,\"data-src\":_vm.sanitizedSource,\"data-container\":_vm.tooltipContainer,\"data-placement\":_vm.tooltipPlacement,\"title\":_vm.tooltipText,\"data-boundary\":\"window\"}})\nvar _obj;}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./user_avatar_image.vue?vue&type=template&id=760a8c7a\"\nimport script from \"./user_avatar_image.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_image.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","import Mousetrap from 'mousetrap';\nimport findAndFollowLink from './shortcuts_dashboard_navigation';\nimport Shortcuts from './shortcuts';\n\nexport default class ShortcutsNavigation extends Shortcuts {\n constructor() {\n super();\n\n Mousetrap.bind('g p', () => findAndFollowLink('.shortcuts-project'));\n Mousetrap.bind('g v', () => findAndFollowLink('.shortcuts-project-activity'));\n Mousetrap.bind('g f', () => findAndFollowLink('.shortcuts-tree'));\n Mousetrap.bind('g c', () => findAndFollowLink('.shortcuts-commits'));\n Mousetrap.bind('g j', () => findAndFollowLink('.shortcuts-builds'));\n Mousetrap.bind('g n', () => findAndFollowLink('.shortcuts-network'));\n Mousetrap.bind('g d', () => findAndFollowLink('.shortcuts-repository-charts'));\n Mousetrap.bind('g i', () => findAndFollowLink('.shortcuts-issues'));\n Mousetrap.bind('g b', () => findAndFollowLink('.shortcuts-issue-boards'));\n Mousetrap.bind('g m', () => findAndFollowLink('.shortcuts-merge_requests'));\n Mousetrap.bind('g w', () => findAndFollowLink('.shortcuts-wiki'));\n Mousetrap.bind('g s', () => findAndFollowLink('.shortcuts-snippets'));\n Mousetrap.bind('g k', () => findAndFollowLink('.shortcuts-kubernetes'));\n Mousetrap.bind('g e', () => findAndFollowLink('.shortcuts-environments'));\n Mousetrap.bind('g l', () => findAndFollowLink('.shortcuts-metrics'));\n Mousetrap.bind('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"user-avatar-link\",attrs:{\"href\":_vm.linkHref}},[_c('user-avatar-image',{attrs:{\"img-src\":_vm.imgSrc,\"img-alt\":_vm.imgAlt,\"css-classes\":_vm.imgCssClasses,\"size\":_vm.imgSize,\"tooltip-text\":_vm.avatarTooltipText,\"tooltip-placement\":_vm.tooltipPlacement}}),(_vm.shouldShowUsername)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],attrs:{\"title\":_vm.tooltipText,\"tooltip-placement\":_vm.tooltipPlacement}},[_vm._v(_vm._s(_vm.username))]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_link.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./user_avatar_link.vue?vue&type=template&id=36d6bf1b\"\nimport script from \"./user_avatar_link.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_link.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","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAAAAAAdJSU2AAACNElEQVR4AdXYBa7jMBCA4b3/JZahzIkjp2qt+BWUWnG5ln2XxaJJb2b5F2ukL4wvzK/rP7bUcbf92u6oftLSe1ldk8efsfaVeEjusZZeC6e1RllaCk/yG6ag1lZ4WwPX69uyD6tAe/g2ipAlNMRS37awDLaFrpcMWxXQOi0jnWCWjFkSZomYJWDWKmatYNZyEWkJsvQimoZYah5NgdaLxagCtF6GRy0DshZPkeYwS/KIJWGWYjwYUzDLxCwDtJ54OKglimBLqHWahii2g1pmHLLGBmwVoRjcKlmgOdw65H5qKuGWCVi5Qlhs6m1sENZi4q3AWNvca5UYy2RjT/SAsiZey6CsIvc0wVlV5lJ0ibPMyLUGCmlxQq0IM0hLdWyro7CWEc3sXsqaK4O2zLxOsmtpfW5Q1u68ZrVmepaaNXEewawtI9X5Xl3U3n1qND6+rfPzvqoIWz/fklNCSLY153YV53J/XUxGCJnKZ1lajsn3/Ffegf6Y5pV2LUsSNL2UHzxUfh3TlYpZqqTpXZm0KZk9zJcqaEmaWPHDw0pxe05K7bWOLHFLWXVetqpYmrjle4+1y0aBaF4UOQ1NU+lYezJClkjLUnSEjqhH6zjAW4OjtY39Ibq+sawUb6W2RQfoqG0VeKuwrRJvlba17faRdbe2pTtYq6Nty/S7yAbGsQjWIq41wVoT1+IdZNy1djUcVdu5lklQWC0xHkt1X31qNEE1Pr3qKv/9XiSNj6Aaifj3/69+AYujsR/MvkpZAAAAAElFTkSuQmCC\""],"sourceRoot":""}