{"version":3,"sources":["webpack:///./pages/projects/boards/index.js","webpack:///./due_date_select.js","webpack:///./labels_select.js","webpack:///./create_label.js","webpack:///./vue_shared/directives/tooltip.js","webpack:///./vue_shared/components/icon.vue?df23","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?25af","webpack:///./vue_shared/components/icon.vue","webpack:///./right_sidebar.js","webpack:///./vue_shared/components/toggle_button.vue?bd25","webpack:///vue_shared/components/toggle_button.vue","webpack:///./vue_shared/components/toggle_button.vue?b780","webpack:///./vue_shared/components/toggle_button.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?a92f","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/assignee_title.vue?b6e8","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?b113","webpack:///sidebar/components/subscriptions/subscriptions.vue","webpack:///./sidebar/components/subscriptions/subscriptions.vue?4259","webpack:///./sidebar/components/subscriptions/subscriptions.vue","webpack:///./sidebar/components/assignees/assignees.vue?a331","webpack:///./sidebar/components/assignees/assignees.vue?9264","webpack:///sidebar/components/assignees/assignees.vue","webpack:///./sidebar/components/assignees/assignees.vue","webpack:///./issuable_context.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/sortablejs/Sortable.js","webpack:///./sidebar/event_hub.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/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?4284","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?3e0d","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?8dec","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?24b1","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?3432","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?22d7","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?ceba","webpack:///./boards/components/board_sidebar.js","webpack:///./boards/components/new_list_dropdown.js","webpack:///./boards/components/modal/index.vue?3c7c","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?6ea5","webpack:///./boards/components/modal/header.vue","webpack:///./boards/components/modal/header.vue?730e","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?9185","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?2d70","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?06ba","webpack:///./boards/components/modal/empty_state.vue?fb97","webpack:///boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/empty_state.vue?94cb","webpack:///./boards/components/modal/index.vue?1a86","webpack:///boards/components/modal/index.vue","webpack:///./boards/components/modal/index.vue","webpack:///./boards/index.js","webpack:///./boards/models/milestone.js","webpack:///./issuable_bulk_update_actions.js","webpack:///./users_select.js","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?954a","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:///./vue_shared/components/user_avatar/user_avatar_link.vue?fd18","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":["document","addEventListener","_users_select__WEBPACK_IMPORTED_MODULE_0__","_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","Object","_boards__WEBPACK_IMPORTED_MODULE_2__","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","_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","datePickerVal","container","parent","target","siblings","i","LabelsSelect","els","$els","options","$form","defaultLabel","labelUrl","namespacePath","projectPath","saveLabelData","selectedLabel","showAny","showNo","$sidebarLabelTooltip","initialSelected","showMenuAbove","$dropdownContainer","_locale__WEBPACK_IMPORTED_MODULE_2__","is","value","handleClick","tooltip","_create_label__WEBPACK_IMPORTED_MODULE_6__","selected","underscore__WEBPACK_IMPORTED_MODULE_1___default","isEqual","label_ids","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_3__","labelCount","template","labelTooltipTitle","labelTitles","labels","getLabelTemplate","removeAttr","text","label","title","slice","push","join","_flash__WEBPACK_IMPORTED_MODULE_7__","term","callback","res","chain","groupBy","color","dup","id","duplicate","extraData","unshift","isAny","concat","positionMenuAbove","renderRow","instance","$a","$li","colorEl","indeterminate","removesAll","selectedClass","marked","dropdownName","dropdownValue","indexOf","splice","replace","_filtered_search_dropdown_utils__WEBPACK_IMPORTED_MODULE_5__","duplicateLabelColor","_slicedToArray","addClass","escape","prop","search","fields","selectable","filterable","toggleLabel","$dropdownInputField","isSelected","selectedLabels","index","firstLabel","isIssueIndex","isMRIndex","page","Issuable","filterResults","submit","multiSelect","vue","clicked","clickEvent","boardsModel","$el","isMarking","selectedObj","enableBulkLabelDropdown","setDropdownData","_boards_stores_modal_store__WEBPACK_IMPORTED_MODULE_8__","store","filter","ListLabel","textColor","previousSelection","updateLabel","preserveContext","setOriginalDropdownData","bindEvents","onSelectCheckboxIssue","_issuable_bulk_update_actions__WEBPACK_IMPORTED_MODULE_4__","willUpdateLabels","markedIds","unmarkedIds","indeterminateIds","getOriginalIndeterminateIds","getOriginalCommonIds","$container","tplData","tpl","CreateLabelDropdown","$dropdownBack","$cancelButton","$newLabelField","$newColorField","$colorPreview","$newLabelError","$newLabelCreateButton","$colorSuggestions","disable","cleanBinding","addBinding","off","self","$this","addColorValue","enableLabelCreateButton","bind","resetForm","stopPropagation","saveLabel","enable","_api__WEBPACK_IMPORTED_MODULE_1__","newLabel","message","errors","keys","key","_lib_utils_text_utility__WEBPACK_IMPORTED_MODULE_2__","__webpack_exports__","componentUpdated","unbind","validSizes","components_iconvue_type_script_lang_js","props","name","type","String","required","validator","size","Number","default","includes","cssClasses","width","height","y","x","tabIndex","computed","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","component","componentNormalizer","_vm","_h","$createElement","_c","_self","class","attrs","tabindex","_b","xlink:href","_locale__WEBPACK_IMPORTED_MODULE_5__","__webpack_require__","Sidebar","currentUser","toggleTodo","sidebar","removeListeners","addEventListeners","initialize","prototype","$document","sidebarCollapseClicked","onSidebarDropdownHidden","sidebarDropdownLoading","sidebarDropdownLoaded","sidebarToggleClicked","triggered","$allGutterToggleIcons","isExpanded","tooltipLabel","lazyLoader","loadCheck","js_cookie__WEBPACK_IMPORTED_MODULE_2___default","set","ajaxType","url","currentTarget","issuable_id","issuable_type","todoUpdateDone","_flash__WEBPACK_IMPORTED_MODULE_3__","flash","deletePath","delete_path","attrPrefix","$todoBtns","count","$elText","$sidebarCollapsedIcon","img","before","remove","openDropdown","blockOrName","isString","getBlock","isOpen","setCollapseAfterUpdate","toggleSidebar","setTimeout","sidebarDropdownHidden","triggerOpenSidebar","action","LABEL_ON","locale","LABEL_OFF","components_toggle_buttonvue_type_script_lang_js","components","icon","loadingIcon","loading_icon","model","event","Boolean","disabledInput","isLoading","toggleIcon","ariaLabel","methods","toggleFeature","$emit","staticClass","domProps","_e","_v","is-checked","is-disabled","is-loading","aria-label","click","css-classes","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","suffix","symbol","hasItems","onItemActivated","onRequestClearRecentSearches","recent_searches_dropdown_content","_l","$event","_s","recent_searches_root","RecentSearchesRoot","recentSearchesStore","recentSearchesService","wrapperElement","service","render","onRequestClearRecentSearchesWrapper","$on","$off","state","vm","RecentSearchesDropdownContent","resultantSearches","setRecentSearches","save","unbindEvents","$destroy","recent_searches_store","RecentSearchesStore","initialState","recent_searches_store_classCallCheck","assign","recentSearches","newSearch","trimmedSearches","trim","underscore_default","uniq","RecentSearchesServiceError","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","_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","querySelectorAll","forEach","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","parentElement","removeChild","_tokenizer$processTok","isLastVisualTokenValid","addFilterVisualToken","fragments","inputValues","tokenKey","last","pop","searchTerms","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","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_assignee_titlevue_type_script_lang_js","loading","numberOfAssignees","editable","showToggle","assigneeTitle","assignees","aria-hidden","href","__","role","data-hidden","subscriptions_subscriptionsvue_type_script_lang_js","directives","toggleButton","toggle_button","subscribed","showLoadingState","notificationIcon","notificationTooltip","toggleSubscription","onClickCollapsedIcon","rawName","data-container","data-placement","data-boundary","ref","change","assignees_assigneesvue_type_script_lang_js","rootPath","users","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","multiple-users","alt","src","data-title","IssuableContext","userSelect","_users_select__WEBPACK_IMPORTED_MODULE_3__","select2","dropdownAutoWidth","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","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","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","utils","extend","throttle","nextTick","cancelNextTick","create","version","eventHub","emitSidebarEvent","label_ListLabel","obj","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","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","findLabel","removeLabel","assignee","findAssignee","removeAssignee","lists","findIssue","newData","assignee_ids","http","patch","models_issue","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","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","currentMilestone","currentLists","removeMilestone","addMilestone","currentList","removeLabels","shouldRemoveIssue","moveIssueInList","idArray","beforeId","afterId","byType","history","pushState","board_service_BoardService","BoardService","boardsEndpoint","listsEndpoint","bulkUpdatePath","boardId","board_service_classCallCheck","listsEndpointGenerate","axios_utils","post","entityId","delete","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","filterRemote","api","groupProjects","projects","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","entries","entry","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","Icon","Tooltip","counterTooltip","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","hasLabels","labelDropdownTitle","clearMenu","removeAllAssignees","saveAssignees","issuable_context","milestone_select","due_date_select","labels_select","right_sidebar","closeSidebar","assigneeBlock","new_list_dropdown_Store","newListDropdownInit","create_label","$labelColor","prepend","containerSelector","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","empty_state","innerHTML","components_modalvue_type_script_lang_js","EmptyState","ModalHeader","ModalList","ModalFooter","showList","showEmptyState","loadIssues","filterLoading","clearIssues","getBacklog","modalvue_type_script_lang_js_extends","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","issueBoardsModal","IssueBoardsModalAddBtn","canAdminList","$options","hasAttribute","tooltipTitle","updateTooltip","$tooltip","addIssuesButton","openModal","prefixId","getElement","$labelDropdown","onFormSubmit","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_2__","getFormDataAsObject","location","reload","onFormSubmitFailure","has","getLabelsFromSelection","labelsData","labelId","getUnmarkedIndeterminedLabels","result","labelsToKeep","formData","state_event","assignee_id","subscription_event","remove_label_ids","$labelSelect","getOriginalMarkedIds","labelIds","intersection","uniqueIds","issuableLabels","difference","scopeEl","UsersSelect","usersPath","userPath","$collapsedSidebar","assignTo","assigneeTemplate","collapsedAssigneeTemplate","defaultNullUser","issueURL","selectedId","selectedIdDefault","showAnyUser","showNullUser","showCurrentUser","todoFilter","todoStateFilter","authorId","assignYourself","unassignedSelected","currentUserInfo","meta","getSelectedUserInputs","getSelected","checkMaxSelect","maxSelect","firstSelectedId","getMultiSelectDropdownTitle","selectedUser","selectedUsers","otherSelected","s","$input","current_user_id","current_user_fullname","processData","selectedInputs","userId","_input$dataset","anyUser","len","showDivider","beforeDivider","b","inputValue","filterInput","filteredFullData","parseData","inputMeta","isActive","previouslySelected","addInput","isSelecting","_boards_stores_modal_store__WEBPACK_IMPORTED_MODULE_4__","highlightSelected","select","showEmailUser","skipLdap","skipUsers","multiple","minimumInputLength","emailUser","nullUser","results","trimmed","invite","initSelection","formatResult","formatSelection","dropdownCssClass","escapeMarkup","m","noop","user_id","buildUrl","_ref2","group_id","skip_ldap","todo_filter","todo_state_filter","current_user","author_id","skip_users","_ref3","user_avatar_user_avatar_imagevue_type_script_lang_js","lazy","imgSrc","no_avatar_default","imgAlt","tooltipPlacement","sanitizedSource","baseSrc","resultantSrcAttribute","lazy_loader","tooltipContainer","avatarSizeClass","_obj","data-src","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.projects.boards.172e811a.chunk.js","sourcesContent":["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';\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 datePickerVal = $datePicker.val();\n\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(datePickerVal));\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","/* eslint-disable no-useless-return, func-names, no-var, no-underscore-dangle, prefer-arrow-callback, max-len, one-var, no-unused-vars, one-var-declaration-per-line, prefer-template, no-new, consistent-return, object-shorthand, comma-dangle, no-shadow, no-param-reassign, brace-style, vars-on-top, quotes, no-lonely-if, no-else-return, dot-notation, no-empty */\n/* global Issuable */\n/* global ListLabel */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport { sprintf, __ } from './locale';\nimport axios from './lib/utils/axios_utils';\nimport IssuableBulkUpdateActions from './issuable_bulk_update_actions';\nimport DropdownUtils from './filtered_search/dropdown_utils';\nimport CreateLabelDropdown from './create_label';\nimport flash from './flash';\nimport ModalStore from './boards/stores/modal_store';\n\nexport default class LabelsSelect {\n constructor(els, options = {}) {\n var _this, $els;\n _this = this;\n\n $els = $(els);\n\n if (!els) {\n $els = $('.js-label-select');\n }\n\n $els.each(function(i, dropdown) {\n var $block, $colorPreview, $dropdown, $form, $loading, $selectbox, $sidebarCollapsedValue, $value, abilityName, defaultLabel, enableLabelCreateButton, issueURLSplit, issueUpdateURL, labelUrl, namespacePath, projectPath, saveLabelData, selectedLabel, showAny, showNo, $sidebarLabelTooltip, initialSelected, $toggleText, fieldName, useId, propertyName, showMenuAbove, $container, $dropdownContainer;\n $dropdown = $(dropdown);\n $dropdownContainer = $dropdown.closest('.labels-filter');\n $toggleText = $dropdown.find('.dropdown-toggle-text');\n namespacePath = $dropdown.data('namespacePath');\n projectPath = $dropdown.data('projectPath');\n labelUrl = $dropdown.data('labels');\n issueUpdateURL = $dropdown.data('issueUpdate');\n selectedLabel = $dropdown.data('selected');\n if ((selectedLabel != null) && !$dropdown.hasClass('js-multiselect')) {\n selectedLabel = selectedLabel.split(',');\n }\n showNo = $dropdown.data('showNo');\n showAny = $dropdown.data('showAny');\n showMenuAbove = $dropdown.data('showMenuAbove');\n defaultLabel = $dropdown.data('defaultLabel') || __('Label');\n abilityName = $dropdown.data('abilityName');\n $selectbox = $dropdown.closest('.selectbox');\n $block = $selectbox.closest('.block');\n $form = $dropdown.closest('form, .js-issuable-update');\n $sidebarCollapsedValue = $block.find('.sidebar-collapsed-icon span');\n $sidebarLabelTooltip = $block.find('.js-sidebar-labels-tooltip');\n $value = $block.find('.value');\n $loading = $block.find('.block-loading').fadeOut();\n fieldName = $dropdown.data('fieldName');\n useId = $dropdown.is('.js-issuable-form-dropdown, .js-filter-bulk-update, .js-label-sidebar-dropdown');\n propertyName = useId ? 'id' : 'title';\n initialSelected = $selectbox\n .find('input[name=\"' + $dropdown.data('fieldName') + '\"]')\n .map(function () {\n return this.value;\n }).get();\n const { handleClick } = options;\n\n $sidebarLabelTooltip.tooltip();\n\n if ($dropdown.closest('.dropdown').find('.dropdown-new-label').length) {\n new CreateLabelDropdown($dropdown.closest('.dropdown').find('.dropdown-new-label'), namespacePath, projectPath);\n }\n\n saveLabelData = function() {\n var data, selected;\n selected = $dropdown.closest('.selectbox').find(\"input[name='\" + fieldName + \"']\").map(function() {\n return this.value;\n }).get();\n\n if (_.isEqual(initialSelected, selected)) return;\n initialSelected = selected;\n\n data = {};\n data[abilityName] = {};\n data[abilityName].label_ids = selected;\n if (!selected.length) {\n data[abilityName].label_ids = [''];\n }\n $loading.removeClass('hidden').fadeIn();\n $dropdown.trigger('loading.gl.dropdown');\n axios.put(issueUpdateURL, data)\n .then(({ data }) => {\n var labelCount, template, labelTooltipTitle, labelTitles, formattedLabels;\n $loading.fadeOut();\n $dropdown.trigger('loaded.gl.dropdown');\n $selectbox.hide();\n data.issueUpdateURL = issueUpdateURL;\n labelCount = 0;\n if (data.labels.length && issueUpdateURL) {\n template = LabelsSelect.getLabelTemplate({\n labels: data.labels,\n issueUpdateURL,\n });\n labelCount = data.labels.length;\n }\n else {\n template = 'None';\n }\n $value.removeAttr('style').html(template);\n $sidebarCollapsedValue.text(labelCount);\n\n if (data.labels.length) {\n labelTitles = data.labels.map(function(label) {\n return label.title;\n });\n\n if (labelTitles.length > 5) {\n labelTitles = labelTitles.slice(0, 5);\n labelTitles.push('and ' + (data.labels.length - 5) + ' more');\n }\n\n labelTooltipTitle = labelTitles.join(', ');\n }\n else {\n labelTooltipTitle = __('Labels');\n }\n\n $sidebarLabelTooltip\n .attr('title', labelTooltipTitle)\n .tooltip('_fixTitle');\n\n $('.has-tooltip', $value).tooltip({\n container: 'body'\n });\n })\n .catch(() => flash(__('Error saving label update.')));\n };\n $dropdown.glDropdown({\n showMenuAbove: showMenuAbove,\n data: function(term, callback) {\n axios.get(labelUrl)\n .then((res) => {\n let data = _.chain(res.data).groupBy(function(label) {\n return label.title;\n }).map(function(label) {\n var color;\n color = _.map(label, function(dup) {\n return dup.color;\n });\n return {\n id: label[0].id,\n title: label[0].title,\n color: color,\n duplicate: color.length > 1\n };\n }).value();\n if ($dropdown.hasClass('js-extra-options')) {\n var extraData = [];\n if (showNo) {\n extraData.unshift({\n id: 0,\n title: '没有标记'\n });\n }\n if (showAny) {\n extraData.unshift({\n isAny: true,\n title: '所有标记'\n });\n }\n if (extraData.length) {\n extraData.push('divider');\n data = extraData.concat(data);\n }\n }\n\n callback(data);\n if (showMenuAbove) {\n $dropdown.data('glDropdown').positionMenuAbove();\n }\n })\n .catch(() => flash(__('Error fetching labels.')));\n },\n renderRow: function(label, instance) {\n var $a, $li, color, colorEl, indeterminate, removesAll, selectedClass, spacing, i, marked, dropdownName, dropdownValue;\n $li = $('
  • ');\n $a = $('');\n selectedClass = [];\n removesAll = label.id <= 0 || (label.id == null);\n if ($dropdown.hasClass('js-filter-bulk-update')) {\n indeterminate = $dropdown.data('indeterminate') || [];\n marked = $dropdown.data('marked') || [];\n\n if (indeterminate.indexOf(label.id) !== -1) {\n selectedClass.push('is-indeterminate');\n }\n\n if (marked.indexOf(label.id) !== -1) {\n // Remove is-indeterminate class if the item will be marked as active\n i = selectedClass.indexOf('is-indeterminate');\n if (i !== -1) {\n selectedClass.splice(i, 1);\n }\n selectedClass.push('is-active');\n }\n } else {\n if (this.id(label)) {\n dropdownName = $dropdown.data('fieldName');\n dropdownValue = this.id(label).toString().replace(/'/g, '\\\\\\'');\n\n if ($form.find(\"input[type='hidden'][name='\" + dropdownName + \"'][value='\" + dropdownValue + \"']\").length) {\n selectedClass.push('is-active');\n }\n }\n\n if ($dropdown.hasClass('js-multiselect') && removesAll) {\n selectedClass.push('dropdown-clear-active');\n }\n }\n if (label.duplicate) {\n color = DropdownUtils.duplicateLabelColor(label.color);\n }\n else {\n if (label.color != null) {\n [color] = label.color;\n }\n }\n if (color) {\n colorEl = \"\";\n }\n else {\n colorEl = '';\n }\n // We need to identify which items are actually labels\n if (label.id) {\n selectedClass.push('label-item');\n $a.attr('data-label-id', label.id);\n }\n $a.addClass(selectedClass.join(' ')).html(`${colorEl} ${_.escape(label.title)}`);\n // Return generated html\n return $li.html($a).prop('outerHTML');\n },\n search: {\n fields: ['title']\n },\n selectable: true,\n filterable: true,\n selected: $dropdown.data('selected') || [],\n toggleLabel: function(selected, el) {\n var $dropdownParent = $dropdown.parent();\n var $dropdownInputField = $dropdownParent.find('.dropdown-input-field');\n var isSelected = el !== null ? el.hasClass('is-active') : false;\n\n var title = selected ? selected.title : null;\n var selectedLabels = this.selected;\n\n if ($dropdownInputField.length && $dropdownInputField.val().length) {\n $dropdownParent.find('.dropdown-input-clear').trigger('click');\n }\n\n if (selected && selected.id === 0) {\n this.selected = [];\n return '无标记';\n }\n else if (isSelected) {\n this.selected.push(title);\n }\n else if (!isSelected && title) {\n var index = this.selected.indexOf(title);\n this.selected.splice(index, 1);\n }\n\n if (selectedLabels.length === 1) {\n return selectedLabels;\n }\n else if (selectedLabels.length) {\n return sprintf(__('%{firstLabel} +%{labelCount} more'), {\n firstLabel: selectedLabels[0],\n labelCount: selectedLabels.length - 1\n });\n }\n else {\n return defaultLabel;\n }\n },\n fieldName: $dropdown.data('fieldName'),\n id: function(label) {\n if (label.id <= 0) return label.title;\n\n if ($dropdown.hasClass('js-issuable-form-dropdown')) {\n return label.id;\n }\n\n if ($dropdown.hasClass(\"js-filter-submit\") && (label.isAny == null)) {\n return label.title;\n }\n else {\n return label.id;\n }\n },\n hidden: function() {\n var isIssueIndex, isMRIndex, page, selectedLabels;\n page = $('body').attr('data-page');\n isIssueIndex = page === 'projects:issues:index';\n isMRIndex = page === 'projects:merge_requests:index';\n $selectbox.hide();\n // display:block overrides the hide-collapse rule\n $value.removeAttr('style');\n\n if ($dropdown.hasClass('js-issuable-form-dropdown')) {\n return;\n }\n\n if ($('html').hasClass('issue-boards-page')) {\n return;\n }\n if ($dropdown.hasClass('js-multiselect')) {\n if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) {\n selectedLabels = $dropdown.closest('form').find(\"input:hidden[name='\" + ($dropdown.data('fieldName')) + \"']\");\n Issuable.filterResults($dropdown.closest('form'));\n }\n else if ($dropdown.hasClass('js-filter-submit')) {\n $dropdown.closest('form').submit();\n }\n else {\n if (!$dropdown.hasClass('js-filter-bulk-update')) {\n saveLabelData();\n }\n }\n }\n },\n multiSelect: $dropdown.hasClass('js-multiselect'),\n vue: $dropdown.hasClass('js-issue-board-sidebar'),\n clicked: function (clickEvent) {\n const { $el, e, isMarking } = clickEvent;\n const label = clickEvent.selectedObj;\n\n var isIssueIndex, isMRIndex, page, boardsModel;\n var fadeOutLoader = () => {\n $loading.fadeOut();\n };\n\n page = $('body').attr('data-page');\n isIssueIndex = page === 'projects:issues:index';\n isMRIndex = page === 'projects:merge_requests:index';\n\n if ($dropdown.parent().find('.is-active:not(.dropdown-clear-active)').length) {\n $dropdown.parent()\n .find('.dropdown-clear-active')\n .removeClass('is-active');\n }\n\n if ($dropdown.hasClass('js-issuable-form-dropdown')) {\n return;\n }\n\n if ($dropdown.hasClass('js-filter-bulk-update')) {\n _this.enableBulkLabelDropdown();\n _this.setDropdownData($dropdown, isMarking, label.id);\n return;\n }\n\n if ($dropdown.closest('.add-issues-modal').length) {\n boardsModel = ModalStore.store.filter;\n }\n\n if (boardsModel) {\n if (label.isAny) {\n boardsModel['label_name'] = [];\n } else if ($el.hasClass('is-active')) {\n boardsModel['label_name'].push(label.title);\n }\n\n e.preventDefault();\n return;\n }\n else if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) {\n if (!$dropdown.hasClass('js-multiselect')) {\n selectedLabel = label.title;\n return Issuable.filterResults($dropdown.closest('form'));\n }\n }\n else if ($dropdown.hasClass('js-filter-submit')) {\n return $dropdown.closest('form').submit();\n }\n else if ($dropdown.hasClass('js-issue-board-sidebar')) {\n if ($el.hasClass('is-active')) {\n gl.issueBoards.BoardsStore.detail.issue.labels.push(new ListLabel({\n id: label.id,\n title: label.title,\n color: label.color[0],\n textColor: '#fff'\n }));\n }\n else {\n var { labels } = gl.issueBoards.BoardsStore.detail.issue;\n labels = labels.filter(function (selectedLabel) {\n return selectedLabel.id !== label.id;\n });\n gl.issueBoards.BoardsStore.detail.issue.labels = labels;\n }\n\n $loading.fadeIn();\n\n gl.issueBoards.BoardsStore.detail.issue.update($dropdown.attr('data-issue-update'))\n .then(fadeOutLoader)\n .catch(fadeOutLoader);\n }\n else if (handleClick) {\n e.preventDefault();\n handleClick(label);\n }\n else {\n if ($dropdown.hasClass('js-multiselect')) {\n\n }\n else {\n return saveLabelData();\n }\n }\n },\n opened: function(e) {\n if ($dropdown.hasClass('js-issue-board-sidebar')) {\n const previousSelection = $dropdown.attr('data-selected');\n this.selected = previousSelection ? previousSelection.split(',') : [];\n $dropdown.data('glDropdown').updateLabel();\n }\n },\n preserveContext: true,\n });\n\n // Set dropdown data\n _this.setOriginalDropdownData($dropdownContainer, $dropdown);\n });\n this.bindEvents();\n }\n\n static getLabelTemplate(tplData) {\n // We could use ES6 template string here\n // and properly indent markup for readability\n // but that also introduces unintended white-space\n // so best approach is to use traditional way of\n // concatenation\n // see: http://2ality.com/2016/05/template-literal-whitespace.html#joining-arrays\n const tpl = _.template([\n '<% _.each(labels, function(label){ %>',\n '?label_name[]=<%- encodeURIComponent(label.title) %>\">',\n '\" style=\"background-color: <%- label.color %>; color: <%- label.text_color %>;\">',\n '<%- label.title %>',\n '',\n '',\n '<% }); %>',\n ].join(''));\n\n return tpl(tplData);\n }\n\n bindEvents() {\n return $('body').on('change', '.selected_issue', this.onSelectCheckboxIssue);\n }\n // eslint-disable-next-line class-methods-use-this\n onSelectCheckboxIssue() {\n if ($('.selected_issue:checked').length) {\n return;\n }\n return $('.issues-bulk-update .labels-filter .dropdown-toggle-text').text('Label');\n }\n // eslint-disable-next-line class-methods-use-this\n enableBulkLabelDropdown() {\n IssuableBulkUpdateActions.willUpdateLabels = true;\n }\n // eslint-disable-next-line class-methods-use-this\n setDropdownData($dropdown, isMarking, value) {\n var i, markedIds, unmarkedIds, indeterminateIds;\n\n markedIds = $dropdown.data('marked') || [];\n unmarkedIds = $dropdown.data('unmarked') || [];\n indeterminateIds = $dropdown.data('indeterminate') || [];\n\n if (isMarking) {\n markedIds.push(value);\n\n i = indeterminateIds.indexOf(value);\n if (i > -1) {\n indeterminateIds.splice(i, 1);\n }\n\n i = unmarkedIds.indexOf(value);\n if (i > -1) {\n unmarkedIds.splice(i, 1);\n }\n } else {\n // If marked item (not common) is unmarked\n i = markedIds.indexOf(value);\n if (i > -1) {\n markedIds.splice(i, 1);\n }\n\n // If an indeterminate item is being unmarked\n if (IssuableBulkUpdateActions.getOriginalIndeterminateIds().indexOf(value) > -1) {\n unmarkedIds.push(value);\n }\n\n // If a marked item is being unmarked\n // (a marked item could also be a label that is present in all selection)\n if (IssuableBulkUpdateActions.getOriginalCommonIds().indexOf(value) > -1) {\n unmarkedIds.push(value);\n }\n }\n\n $dropdown.data('marked', markedIds);\n $dropdown.data('unmarked', unmarkedIds);\n $dropdown.data('indeterminate', indeterminateIds);\n }\n // eslint-disable-next-line class-methods-use-this\n setOriginalDropdownData($container, $dropdown) {\n const labels = [];\n $container.find('[name=\"label_name[]\"]').map(function() {\n return labels.push(this.value);\n });\n $dropdown.data('marked', labels);\n }\n}\n","/* eslint-disable func-names, prefer-arrow-callback */\n\nimport $ from 'jquery';\nimport Api from './api';\nimport { humanize } from './lib/utils/text_utility';\n\nexport default class CreateLabelDropdown {\n constructor($el, namespacePath, projectPath) {\n this.$el = $el;\n this.namespacePath = namespacePath;\n this.projectPath = projectPath;\n this.$dropdownBack = $('.dropdown-menu-back', this.$el.closest('.dropdown'));\n this.$cancelButton = $('.js-cancel-label-btn', this.$el);\n this.$newLabelField = $('#new_label_name', this.$el);\n this.$newColorField = $('#new_label_color', this.$el);\n this.$colorPreview = $('.js-dropdown-label-color-preview', this.$el);\n this.$newLabelError = $('.js-label-error', this.$el);\n this.$newLabelCreateButton = $('.js-new-label-btn', this.$el);\n this.$colorSuggestions = $('.suggest-colors-dropdown a', this.$el);\n\n this.$newLabelError.hide();\n this.$newLabelCreateButton.disable();\n\n this.cleanBinding();\n this.addBinding();\n }\n\n cleanBinding() {\n this.$colorSuggestions.off('click');\n this.$newLabelField.off('keyup change');\n this.$newColorField.off('keyup change');\n this.$dropdownBack.off('click');\n this.$cancelButton.off('click');\n this.$newLabelCreateButton.off('click');\n }\n\n addBinding() {\n const self = this;\n\n this.$colorSuggestions.on('click', function (e) {\n const $this = $(this);\n self.addColorValue(e, $this);\n });\n\n this.$newLabelField.on('keyup change', this.enableLabelCreateButton.bind(this));\n this.$newColorField.on('keyup change', this.enableLabelCreateButton.bind(this));\n\n this.$dropdownBack.on('click', this.resetForm.bind(this));\n\n this.$cancelButton.on('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n self.resetForm();\n self.$dropdownBack.trigger('click');\n });\n\n this.$newLabelCreateButton.on('click', this.saveLabel.bind(this));\n }\n\n addColorValue(e, $this) {\n e.preventDefault();\n e.stopPropagation();\n\n this.$newColorField.val($this.data('color')).trigger('change');\n this.$colorPreview\n .css('background-color', $this.data('color'))\n .parent()\n .addClass('is-active');\n }\n\n enableLabelCreateButton() {\n if (this.$newLabelField.val() !== '' && this.$newColorField.val() !== '') {\n this.$newLabelError.hide();\n this.$newLabelCreateButton.enable();\n } else {\n this.$newLabelCreateButton.disable();\n }\n }\n\n resetForm() {\n this.$newLabelField\n .val('')\n .trigger('change');\n\n this.$newColorField\n .val('')\n .trigger('change');\n\n this.$colorPreview\n .css('background-color', '')\n .parent()\n .removeClass('is-active');\n }\n\n saveLabel(e) {\n e.preventDefault();\n e.stopPropagation();\n\n Api.newLabel(this.namespacePath, this.projectPath, {\n title: this.$newLabelField.val(),\n color: this.$newColorField.val(),\n }, (label) => {\n this.$newLabelCreateButton.enable();\n\n if (label.message) {\n let errors;\n\n if (typeof label.message === 'string') {\n errors = label.message;\n } else {\n errors = Object.keys(label.message).map(key =>\n `${humanize(key)} ${label.message[key].join(', ')}`,\n ).join('
    ');\n }\n\n this.$newLabelError\n .html(errors)\n .show();\n } else {\n this.$dropdownBack.trigger('click');\n\n $(document).trigger('created.label', label);\n }\n });\n }\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","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,\"tabindex\":_vm.tabIndex}},[_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=ce78a0ae\"\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","/* 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","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',{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","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=fd89e424\"\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","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","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","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","/* eslint-disable no-underscore-dangle, class-methods-use-this, consistent-return, no-shadow, no-param-reassign, max-len */\n/* global ListIssue */\n\nimport { __ } from '~/locale';\nimport ListLabel from '~/vue_shared/models/label';\nimport ListAssignee from '~/vue_shared/models/assignee';\nimport { urlParamsToObject } from '~/lib/utils/common_utils';\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.list_type === 'backlog' ? __('Open') : 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 = {\n ...urlParamsToObject(gl.issueBoards.BoardsStore.filter.path),\n page: this.page,\n };\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 return data;\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 if (listTo.type === 'milestone') {\n const currentMilestone = issue.milestone;\n const currentLists = this.state.lists\n .filter(list => (list.type === 'milestone' && list.id !== listTo.id))\n .filter(list => list.issues.some(listIssue => issue.id === listIssue.id));\n\n issue.removeMilestone(currentMilestone);\n issue.addMilestone(listTo.milestone);\n currentLists.forEach(currentList => currentList.removeIssue(issue));\n listTo.addIssue(issue, listFrom, newIndex);\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 === 'backlog' && listFrom.type === 'milestone') {\n issue.removeMilestone(listFrom.milestone);\n listFrom.removeIssue(issue);\n } else if (this.shouldRemoveIssue(listFrom, listTo)) {\n listFrom.removeIssue(issue);\n }\n },\n shouldRemoveIssue(listFrom, listTo) {\n return (\n (listTo.type !== 'label' && listFrom.type === 'assignee') ||\n (listTo.type !== 'assignee' && listFrom.type === 'label') ||\n (listFrom.type === 'backlog')\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') || (list.type === 'milestone') : 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=04b53733\"\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-bold 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=00f8ec32\"\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-bold\",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\",\"name\":\"issue_title\",\"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=deecd624\"\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 { n__ } from '~/locale';\nimport Icon from '~/vue_shared/components/icon.vue';\nimport Tooltip from '~/vue_shared/directives/tooltip';\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 Icon,\n },\n directives: {\n Tooltip,\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 computed: {\n counterTooltip() {\n const { issuesSize } = this.list;\n return `${n__('%d issue', '%d issues', issuesSize)}`;\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 { sprintf, __ } 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 hasLabels() {\n return this.issue.labels && this.issue.labels.length;\n },\n labelDropdownTitle() {\n return this.hasLabels ? sprintf(__('%{firstLabel} +%{labelCount} more'), {\n firstLabel: this.issue.labels[0].title,\n labelCount: this.issue.labels.length - 1\n }) : __('Label');\n },\n selectedLabels() {\n return this.hasLabels ? this.issue.labels.map(l => l.title).join(',') : '';\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 { 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 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 \"./index.vue?vue&type=template&id=37e06c39\"\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","import $ 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\n .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 const issueBoardsModal = document.getElementById('js-add-issues-btn');\n\n if (issueBoardsModal) {\n gl.IssueBoardsModalAddBtn = new Vue({\n el: issueBoardsModal,\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 'Please add a list to your board first';\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 Add issues\n \n
    \n `,\n });\n }\n};\n","class ListMilestone {\n constructor(obj) {\n this.id = obj.id;\n this.title = obj.title;\n }\n}\n\nwindow.ListMilestone = ListMilestone;\n","/* eslint-disable comma-dangle, quotes, consistent-return, func-names, array-callback-return, prefer-arrow-callback, max-len, no-unused-vars */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport axios from './lib/utils/axios_utils';\nimport Flash from './flash';\n\nexport default {\n init({ container, form, issues, prefixId } = {}) {\n this.prefixId = prefixId || 'issue_';\n this.form = form || this.getElement('.bulk-update');\n this.$labelDropdown = this.form.find('.js-label-select');\n this.issues = issues || this.getElement('.issues-list .issue');\n this.willUpdateLabels = false;\n this.bindEvents();\n },\n\n bindEvents() {\n return this.form.off('submit').on('submit', this.onFormSubmit.bind(this));\n },\n\n onFormSubmit(e) {\n e.preventDefault();\n return this.submit();\n },\n\n submit() {\n axios[this.form.attr('method')](this.form.attr('action'), this.getFormDataAsObject())\n .then(() => window.location.reload())\n .catch(() => this.onFormSubmitFailure());\n },\n\n onFormSubmitFailure() {\n this.form.find('[type=\"submit\"]').enable();\n return new Flash(\"Issue update failed\");\n },\n\n getSelectedIssues() {\n return this.issues.has('.selected_issue:checked');\n },\n\n getLabelsFromSelection() {\n const labels = [];\n this.getSelectedIssues().map(function() {\n const labelsData = $(this).data('labels');\n if (labelsData) {\n return labelsData.map(function(labelId) {\n if (labels.indexOf(labelId) === -1) {\n return labels.push(labelId);\n }\n });\n }\n });\n return labels;\n },\n\n /**\n * Will return only labels that were marked previously and the user has unmarked\n * @return {Array} Label IDs\n */\n\n getUnmarkedIndeterminedLabels() {\n const result = [];\n const labelsToKeep = this.$labelDropdown.data('indeterminate');\n\n this.getLabelsFromSelection().forEach((id) => {\n if (labelsToKeep.indexOf(id) === -1) {\n result.push(id);\n }\n });\n\n return result;\n },\n\n /**\n * Simple form serialization, it will return just what we need\n * Returns key/value pairs from form data\n */\n\n getFormDataAsObject() {\n const formData = {\n update: {\n state_event: this.form.find('input[name=\"update[state_event]\"]').val(),\n // For Merge Requests\n assignee_id: this.form.find('input[name=\"update[assignee_id]\"]').val(),\n // For Issues\n assignee_ids: [this.form.find('input[name=\"update[assignee_ids][]\"]').val()],\n milestone_id: this.form.find('input[name=\"update[milestone_id]\"]').val(),\n issuable_ids: this.form.find('input[name=\"update[issuable_ids]\"]').val(),\n subscription_event: this.form.find('input[name=\"update[subscription_event]\"]').val(),\n add_label_ids: [],\n remove_label_ids: []\n }\n };\n if (this.willUpdateLabels) {\n formData.update.add_label_ids = this.$labelDropdown.data('marked');\n formData.update.remove_label_ids = this.$labelDropdown.data('unmarked');\n }\n return formData;\n },\n\n setOriginalDropdownData() {\n const $labelSelect = $('.bulk-update .js-label-select');\n $labelSelect.data('common', this.getOriginalCommonIds());\n $labelSelect.data('marked', this.getOriginalMarkedIds());\n $labelSelect.data('indeterminate', this.getOriginalIndeterminateIds());\n },\n\n // From issuable's initial bulk selection\n getOriginalCommonIds() {\n const labelIds = [];\n\n this.getElement('.selected_issue:checked').each((i, el) => {\n labelIds.push(this.getElement(`#${this.prefixId}${el.dataset.id}`).data('labels'));\n });\n return _.intersection.apply(this, labelIds);\n },\n\n // From issuable's initial bulk selection\n getOriginalMarkedIds() {\n const labelIds = [];\n this.getElement('.selected_issue:checked').each((i, el) => {\n labelIds.push(this.getElement(`#${this.prefixId}${el.dataset.id}`).data('labels'));\n });\n return _.intersection.apply(this, labelIds);\n },\n\n // From issuable's initial bulk selection\n getOriginalIndeterminateIds() {\n const uniqueIds = [];\n const labelIds = [];\n let issuableLabels = [];\n\n // Collect unique label IDs for all checked issues\n this.getElement('.selected_issue:checked').each((i, el) => {\n issuableLabels = this.getElement(`#${this.prefixId}${el.dataset.id}`).data('labels');\n issuableLabels.forEach((labelId) => {\n // Store unique IDs\n if (uniqueIds.indexOf(labelId) === -1) {\n uniqueIds.push(labelId);\n }\n });\n // Store array of IDs per issuable\n labelIds.push(issuableLabels);\n });\n // Add uniqueIds to add it as argument for _.intersection\n labelIds.unshift(uniqueIds);\n // Return IDs that are present but not in all selected issueables\n return _.difference(uniqueIds, _.intersection.apply(this, labelIds));\n },\n\n getElement(selector) {\n this.scopeEl = this.scopeEl || $('.content');\n return this.scopeEl.find(selector);\n },\n};\n","/* eslint-disable func-names, one-var, no-var, prefer-rest-params, quotes, max-len, one-var-declaration-per-line, vars-on-top, prefer-arrow-callback, consistent-return, comma-dangle, object-shorthand, no-shadow, no-unused-vars, no-else-return, no-self-compare, prefer-template, no-unused-expressions, yoda, prefer-spread, no-void, camelcase, no-param-reassign */\n/* global Issuable */\n/* global emitSidebarEvent */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport axios from './lib/utils/axios_utils';\nimport { __ } from './locale';\nimport ModalStore from './boards/stores/modal_store';\n\n// TODO: remove eventHub hack after code splitting refactor\nwindow.emitSidebarEvent = window.emitSidebarEvent || $.noop;\n\nfunction UsersSelect(currentUser, els, options = {}) {\n var $els;\n this.users = this.users.bind(this);\n this.user = this.user.bind(this);\n this.usersPath = \"/autocomplete/users.json\";\n this.userPath = \"/autocomplete/users/:id.json\";\n if (currentUser != null) {\n if (typeof currentUser === 'object') {\n this.currentUser = currentUser;\n } else {\n this.currentUser = JSON.parse(currentUser);\n }\n }\n\n const { handleClick } = options;\n\n $els = $(els);\n\n if (!els) {\n $els = $('.js-user-search');\n }\n\n $els.each((function(_this) {\n return function(i, dropdown) {\n var options = {};\n var $block, $collapsedSidebar, $dropdown, $loading, $selectbox, $value, abilityName, assignTo, assigneeTemplate, collapsedAssigneeTemplate, defaultLabel, defaultNullUser, firstUser, issueURL, selectedId, selectedIdDefault, showAnyUser, showNullUser, showMenuAbove;\n $dropdown = $(dropdown);\n options.projectId = $dropdown.data('projectId');\n options.groupId = $dropdown.data('groupId');\n options.showCurrentUser = $dropdown.data('currentUser');\n options.todoFilter = $dropdown.data('todoFilter');\n options.todoStateFilter = $dropdown.data('todoStateFilter');\n showNullUser = $dropdown.data('nullUser');\n defaultNullUser = $dropdown.data('nullUserDefault');\n showMenuAbove = $dropdown.data('showMenuAbove');\n showAnyUser = $dropdown.data('anyUser');\n firstUser = $dropdown.data('firstUser');\n options.authorId = $dropdown.data('authorId');\n defaultLabel = $dropdown.data('defaultLabel');\n issueURL = $dropdown.data('issueUpdate');\n $selectbox = $dropdown.closest('.selectbox');\n $block = $selectbox.closest('.block');\n abilityName = $dropdown.data('abilityName');\n $value = $block.find('.value');\n $collapsedSidebar = $block.find('.sidebar-collapsed-user');\n $loading = $block.find('.block-loading').fadeOut();\n selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null;\n selectedId = $dropdown.data('selected');\n\n if (selectedId === undefined) {\n selectedId = selectedIdDefault;\n }\n\n const assignYourself = function () {\n const unassignedSelected = $dropdown.closest('.selectbox')\n .find(`input[name='${$dropdown.data('fieldName')}'][value=0]`);\n\n if (unassignedSelected) {\n unassignedSelected.remove();\n }\n\n // Save current selected user to the DOM\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = $dropdown.data('fieldName');\n\n const currentUserInfo = $dropdown.data('currentUserInfo');\n\n if (currentUserInfo) {\n input.value = currentUserInfo.id;\n input.dataset.meta = _.escape(currentUserInfo.name);\n } else if (_this.currentUser) {\n input.value = _this.currentUser.id;\n }\n\n if ($selectbox) {\n $dropdown.parent().before(input);\n } else {\n $dropdown.after(input);\n }\n };\n\n if ($block[0]) {\n $block[0].addEventListener('assignYourself', assignYourself);\n }\n\n const getSelectedUserInputs = function() {\n return $selectbox\n .find(`input[name=\"${$dropdown.data('fieldName')}\"]`);\n };\n\n const getSelected = function() {\n return getSelectedUserInputs()\n .map((index, input) => parseInt(input.value, 10))\n .get();\n };\n\n const checkMaxSelect = function() {\n const maxSelect = $dropdown.data('maxSelect');\n if (maxSelect) {\n const selected = getSelected();\n\n if (selected.length > maxSelect) {\n const firstSelectedId = selected[0];\n const firstSelected = $dropdown.closest('.selectbox')\n .find(`input[name='${$dropdown.data('fieldName')}'][value=${firstSelectedId}]`);\n\n firstSelected.remove();\n emitSidebarEvent('sidebar.removeAssignee', {\n id: firstSelectedId,\n });\n }\n }\n };\n\n const getMultiSelectDropdownTitle = function(selectedUser, isSelected) {\n const selectedUsers = getSelected()\n .filter(u => u !== 0);\n\n const firstUser = getSelectedUserInputs()\n .map((index, input) => ({\n name: input.dataset.meta,\n value: parseInt(input.value, 10),\n }))\n .filter(u => u.id !== 0)\n .get(0);\n\n if (selectedUsers.length === 0) {\n return '未指派';\n } else if (selectedUsers.length === 1) {\n return firstUser.name;\n } else if (isSelected) {\n const otherSelected = selectedUsers.filter(s => s !== selectedUser.id);\n return `${selectedUser.name} + ${otherSelected.length} more`;\n } else {\n return `${firstUser.name} + ${selectedUsers.length - 1} more`;\n }\n };\n\n $('.assign-to-me-link').on('click', (e) => {\n e.preventDefault();\n $(e.currentTarget).hide();\n\n if ($dropdown.data('multiSelect')) {\n assignYourself();\n checkMaxSelect();\n\n const currentUserInfo = $dropdown.data('currentUserInfo');\n $dropdown.find('.dropdown-toggle-text').text(getMultiSelectDropdownTitle(currentUserInfo)).removeClass('is-default');\n } else {\n const $input = $(`input[name=\"${$dropdown.data('fieldName')}\"]`);\n $input.val(gon.current_user_id);\n selectedId = $input.val();\n $dropdown.find('.dropdown-toggle-text').text(gon.current_user_fullname).removeClass('is-default');\n }\n });\n\n $block.on('click', '.js-assign-yourself', (e) => {\n e.preventDefault();\n return assignTo(_this.currentUser.id);\n });\n\n assignTo = function(selected) {\n var data;\n data = {};\n data[abilityName] = {};\n data[abilityName].assignee_id = selected != null ? selected : null;\n $loading.removeClass('hidden').fadeIn();\n $dropdown.trigger('loading.gl.dropdown');\n\n return axios.put(issueURL, data)\n .then(({ data }) => {\n var user, tooltipTitle;\n $dropdown.trigger('loaded.gl.dropdown');\n $loading.fadeOut();\n if (data.assignee) {\n user = {\n name: data.assignee.name,\n username: data.assignee.username,\n avatar: data.assignee.avatar_url\n };\n tooltipTitle = _.escape(user.name);\n } else {\n user = {\n name: '未指派',\n username: '',\n avatar: ''\n };\n tooltipTitle = __('Assignee');\n }\n $value.html(assigneeTemplate(user));\n $collapsedSidebar.attr('title', tooltipTitle).tooltip('_fixTitle');\n return $collapsedSidebar.html(collapsedAssigneeTemplate(user));\n });\n };\n collapsedAssigneeTemplate = _.template('<% if( avatar ) { %>
    \"> \"\"\"> <% } else { %> <% } %>');\n assigneeTemplate = _.template('<% if (username) { %> \"> <% if( avatar ) { %> \"\"\"> <% } %> <%- name %> @<%- username %> <% } else { %> No assignee - assign yourself <% } %>');\n return $dropdown.glDropdown({\n showMenuAbove: showMenuAbove,\n data: function(term, callback) {\n return _this.users(term, options, function(users) {\n // GitLabDropdownFilter returns this.instance\n // GitLabDropdownRemote returns this.options.instance\n const glDropdown = this.instance || this.options.instance;\n glDropdown.options.processData(term, users, callback);\n }.bind(this));\n },\n processData: function(term, data, callback) {\n let users = data;\n\n // Only show assigned user list when there is no search term\n if ($dropdown.hasClass('js-multiselect') && term.length === 0) {\n const selectedInputs = getSelectedUserInputs();\n\n // Potential duplicate entries when dealing with issue board\n // because issue board is also managed by vue\n const selectedUsers = _.uniq(selectedInputs, false, a => a.value)\n .filter((input) => {\n const userId = parseInt(input.value, 10);\n const inUsersArray = users.find(u => u.id === userId);\n\n return !inUsersArray && userId !== 0;\n })\n .map((input) => {\n const userId = parseInt(input.value, 10);\n const { avatarUrl, avatar_url, name, username } = input.dataset;\n return {\n avatar_url: avatarUrl || avatar_url,\n id: userId,\n name,\n username,\n };\n });\n\n users = data.concat(selectedUsers);\n }\n\n let anyUser;\n let index;\n let len;\n let name;\n let obj;\n let showDivider;\n if (term.length === 0) {\n showDivider = 0;\n if (firstUser) {\n // Move current user to the front of the list\n for (index = 0, len = users.length; index < len; index += 1) {\n obj = users[index];\n if (obj.username === firstUser) {\n users.splice(index, 1);\n users.unshift(obj);\n break;\n }\n }\n }\n if (showNullUser) {\n showDivider += 1;\n users.unshift({\n beforeDivider: true,\n name: '未指派',\n id: 0\n });\n }\n if (showAnyUser) {\n showDivider += 1;\n name = showAnyUser;\n if (name === true) {\n name = 'Any User';\n }\n anyUser = {\n beforeDivider: true,\n name: name,\n id: null\n };\n users.unshift(anyUser);\n }\n\n if (showDivider) {\n users.splice(showDivider, 0, 'divider');\n }\n\n if ($dropdown.hasClass('js-multiselect')) {\n const selected = getSelected().filter(i => i !== 0);\n\n if (selected.length > 0) {\n if ($dropdown.data('dropdownHeader')) {\n showDivider += 1;\n users.splice(showDivider, 0, {\n header: $dropdown.data('dropdownHeader'),\n });\n }\n\n const selectedUsers = users\n .filter(u => selected.indexOf(u.id) !== -1)\n .sort((a, b) => a.name > b.name);\n\n users = users.filter(u => selected.indexOf(u.id) === -1);\n\n selectedUsers.forEach((selectedUser) => {\n showDivider += 1;\n users.splice(showDivider, 0, selectedUser);\n });\n\n users.splice(showDivider + 1, 0, 'divider');\n }\n }\n }\n\n callback(users);\n if (showMenuAbove) {\n $dropdown.data('glDropdown').positionMenuAbove();\n }\n },\n filterable: true,\n filterRemote: true,\n search: {\n fields: ['name', 'username']\n },\n selectable: true,\n fieldName: $dropdown.data('fieldName'),\n toggleLabel: function(selected, el, glDropdown) {\n const inputValue = glDropdown.filterInput.val();\n\n if (this.multiSelect && inputValue === '') {\n // Remove non-users from the fullData array\n const users = glDropdown.filteredFullData();\n const callback = glDropdown.parseData.bind(glDropdown);\n\n // Update the data model\n this.processData(inputValue, users, callback);\n }\n\n if (this.multiSelect) {\n return getMultiSelectDropdownTitle(selected, $(el).hasClass('is-active'));\n }\n\n if (selected && 'id' in selected && $(el).hasClass('is-active')) {\n $dropdown.find('.dropdown-toggle-text').removeClass('is-default');\n if (selected.text) {\n return selected.text;\n } else {\n return selected.name;\n }\n } else {\n $dropdown.find('.dropdown-toggle-text').addClass('is-default');\n return defaultLabel;\n }\n },\n defaultLabel: defaultLabel,\n hidden: function(e) {\n if ($dropdown.hasClass('js-multiselect')) {\n emitSidebarEvent('sidebar.saveAssignees');\n }\n\n if (!$dropdown.data('alwaysShowSelectbox')) {\n $selectbox.hide();\n\n // Recalculate where .value is because vue might have changed it\n $block = $selectbox.closest('.block');\n $value = $block.find('.value');\n // display:block overrides the hide-collapse rule\n $value.css('display', '');\n }\n },\n multiSelect: $dropdown.hasClass('js-multiselect'),\n inputMeta: $dropdown.data('inputMeta'),\n clicked: function(options) {\n const { $el, e, isMarking } = options;\n const user = options.selectedObj;\n\n if ($dropdown.hasClass('js-multiselect')) {\n const isActive = $el.hasClass('is-active');\n const previouslySelected = $dropdown.closest('.selectbox')\n .find(\"input[name='\" + ($dropdown.data('fieldName')) + \"'][value!=0]\");\n\n // Enables support for limiting the number of users selected\n // Automatically removes the first on the list if more users are selected\n checkMaxSelect();\n\n if (user.beforeDivider && user.name.toLowerCase() === '未指派') {\n // Unassigned selected\n previouslySelected.each((index, element) => {\n const id = parseInt(element.value, 10);\n element.remove();\n });\n emitSidebarEvent('sidebar.removeAllAssignees');\n } else if (isActive) {\n // user selected\n emitSidebarEvent('sidebar.addAssignee', user);\n\n // Remove unassigned selection (if it was previously selected)\n const unassignedSelected = $dropdown.closest('.selectbox')\n .find(\"input[name='\" + ($dropdown.data('fieldName')) + \"'][value=0]\");\n\n if (unassignedSelected) {\n unassignedSelected.remove();\n }\n } else {\n if (previouslySelected.length === 0) {\n // Select unassigned because there is no more selected users\n this.addInput($dropdown.data('fieldName'), 0, {});\n }\n\n // User unselected\n emitSidebarEvent('sidebar.removeAssignee', user);\n }\n\n if (getSelected().find(u => u === gon.current_user_id)) {\n $('.assign-to-me-link').hide();\n } else {\n $('.assign-to-me-link').show();\n }\n }\n\n var isIssueIndex, isMRIndex, page, selected;\n page = $('body').attr('data-page');\n isIssueIndex = page === 'projects:issues:index';\n isMRIndex = (page === page && page === 'projects:merge_requests:index');\n if ($dropdown.hasClass('js-filter-bulk-update') || $dropdown.hasClass('js-issuable-form-dropdown')) {\n e.preventDefault();\n\n const isSelecting = (user.id !== selectedId);\n selectedId = isSelecting ? user.id : selectedIdDefault;\n\n if (selectedId === gon.current_user_id) {\n $('.assign-to-me-link').hide();\n } else {\n $('.assign-to-me-link').show();\n }\n return;\n }\n if ($el.closest('.add-issues-modal').length) {\n ModalStore.store.filter[$dropdown.data('fieldName')] = user.id;\n } else if (handleClick) {\n e.preventDefault();\n handleClick(user, isMarking);\n } else if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) {\n return Issuable.filterResults($dropdown.closest('form'));\n } else if ($dropdown.hasClass('js-filter-submit')) {\n return $dropdown.closest('form').submit();\n } else if (!$dropdown.hasClass('js-multiselect')) {\n selected = $dropdown.closest('.selectbox').find(\"input[name='\" + ($dropdown.data('fieldName')) + \"']\").val();\n return assignTo(selected);\n }\n\n // Automatically close dropdown after assignee is selected\n // since CE has no multiple assignees\n // EE does not have a max-select\n if ($dropdown.data('maxSelect') &&\n getSelected().length === $dropdown.data('maxSelect')) {\n // Close the dropdown\n $dropdown.dropdown('toggle');\n }\n },\n id: function (user) {\n return user.id;\n },\n opened: function(e) {\n const $el = $(e.currentTarget);\n const selected = getSelected();\n if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) {\n this.addInput($dropdown.data('fieldName'), 0, {});\n }\n $el.find('.is-active').removeClass('is-active');\n\n function highlightSelected(id) {\n $el.find(`li[data-user-id=\"${id}\"] .dropdown-menu-user-link`).addClass('is-active');\n }\n\n if (selected.length > 0) {\n getSelected().forEach(selectedId => highlightSelected(selectedId));\n } else if ($dropdown.hasClass('js-issue-board-sidebar')) {\n highlightSelected(0);\n } else {\n highlightSelected(selectedId);\n }\n },\n updateLabel: $dropdown.data('dropdownTitle'),\n renderRow: function(user) {\n var avatar, img, listClosingTags, listWithName, listWithUserName, username;\n username = user.username ? \"@\" + user.username : \"\";\n avatar = user.avatar_url ? user.avatar_url : gon.default_avatar_url;\n\n let selected = false;\n\n if (this.multiSelect) {\n selected = getSelected().find(u => user.id === u);\n\n const { fieldName } = this;\n const field = $dropdown.closest('.selectbox').find(\"input[name='\" + fieldName + \"'][value='\" + user.id + \"']\");\n\n if (field.length) {\n selected = true;\n }\n } else {\n selected = user.id === selectedId;\n }\n\n img = \"\";\n if (user.beforeDivider != null) {\n `
  • ${_.escape(user.name)}
  • `;\n } else {\n img = \"\";\n }\n\n return `\n
  • \n \n ${img}\n \n ${_.escape(user.name)}\n \n ${username ? `${username}` : ''}\n \n
  • \n `;\n }\n });\n };\n })(this));\n $('.ajax-users-select').each((function(_this) {\n return function(i, select) {\n var firstUser, showAnyUser, showEmailUser, showNullUser;\n var options = {};\n options.skipLdap = $(select).hasClass('skip_ldap');\n options.projectId = $(select).data('projectId');\n options.groupId = $(select).data('groupId');\n options.showCurrentUser = $(select).data('currentUser');\n options.authorId = $(select).data('authorId');\n options.skipUsers = $(select).data('skipUsers');\n showNullUser = $(select).data('nullUser');\n showAnyUser = $(select).data('anyUser');\n showEmailUser = $(select).data('emailUser');\n firstUser = $(select).data('firstUser');\n return $(select).select2({\n placeholder: \"Search for a user\",\n multiple: $(select).hasClass('multiselect'),\n minimumInputLength: 0,\n query: function(query) {\n return _this.users(query.term, options, function(users) {\n var anyUser, data, emailUser, index, len, name, nullUser, obj, ref;\n data = {\n results: users\n };\n if (query.term.length === 0) {\n if (firstUser) {\n // Move current user to the front of the list\n ref = data.results;\n\n for (index = 0, len = ref.length; index < len; index += 1) {\n obj = ref[index];\n if (obj.username === firstUser) {\n data.results.splice(index, 1);\n data.results.unshift(obj);\n break;\n }\n }\n }\n if (showNullUser) {\n nullUser = {\n name: '未指派',\n id: 0\n };\n data.results.unshift(nullUser);\n }\n if (showAnyUser) {\n name = showAnyUser;\n if (name === true) {\n name = 'Any User';\n }\n anyUser = {\n name: name,\n id: null\n };\n data.results.unshift(anyUser);\n }\n }\n if (showEmailUser && data.results.length === 0 && query.term.match(/^[^@]+@[^@]+$/)) {\n var trimmed = query.term.trim();\n emailUser = {\n name: \"邀请 \\\"\" + query.term + \"\\\" by email\",\n username: trimmed,\n id: trimmed,\n invite: true\n };\n data.results.unshift(emailUser);\n }\n return query.callback(data);\n });\n },\n initSelection: function() {\n var args;\n args = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];\n return _this.initSelection.apply(_this, args);\n },\n formatResult: function() {\n var args;\n args = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];\n return _this.formatResult.apply(_this, args);\n },\n formatSelection: function() {\n var args;\n args = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];\n return _this.formatSelection.apply(_this, args);\n },\n dropdownCssClass: \"ajax-users-dropdown\",\n // we do not want to escape markup since we are displaying html in results\n escapeMarkup: function(m) {\n return m;\n }\n });\n };\n })(this));\n}\n\nUsersSelect.prototype.initSelection = function(element, callback) {\n var id, nullUser;\n id = $(element).val();\n if (id === \"0\") {\n nullUser = {\n name: '未指派'\n };\n return callback(nullUser);\n } else if (id !== \"\") {\n return this.user(id, callback);\n }\n};\n\nUsersSelect.prototype.formatResult = function(user) {\n var avatar;\n if (user.avatar_url) {\n avatar = user.avatar_url;\n } else {\n avatar = gon.default_avatar_url;\n }\n return \"
    \";\n};\n\nUsersSelect.prototype.formatSelection = function(user) {\n return _.escape(user.name);\n};\n\nUsersSelect.prototype.user = function(user_id, callback) {\n if (!/^\\d+$/.test(user_id)) {\n return false;\n }\n\n var url;\n url = this.buildUrl(this.userPath);\n url = url.replace(':id', user_id);\n return axios.get(url)\n .then(({ data }) => {\n callback(data);\n });\n};\n\n// Return users list. Filtered by query\n// Only active users retrieved\nUsersSelect.prototype.users = function(query, options, callback) {\n const url = this.buildUrl(this.usersPath);\n const params = {\n search: query,\n active: true,\n project_id: options.projectId || null,\n group_id: options.groupId || null,\n skip_ldap: options.skipLdap || null,\n todo_filter: options.todoFilter || null,\n todo_state_filter: options.todoStateFilter || null,\n current_user: options.showCurrentUser || null,\n author_id: options.authorId || null,\n skip_users: options.skipUsers || null\n };\n return axios.get(url, { params })\n .then(({ data }) => {\n callback(data);\n });\n};\n\nUsersSelect.prototype.buildUrl = function(url) {\n if (gon.relative_url_root != null) {\n url = gon.relative_url_root.replace(/\\/$/, '') + url;\n }\n return url;\n};\n\nexport default UsersSelect;\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=19ebb077\"\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","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":""}