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