{"version":3,"sources":["webpack:///./pages/groups/boards/index.js","webpack:///./pages/groups/index.js","webpack:///./create_label.js","webpack:///./labels_select.js","webpack:///./milestone_select.js","webpack:///./due_date_select.js","webpack:///./filtered_search/issuable_filtered_search_token_keys.js","webpack:///./right_sidebar.js","webpack:///./vue_shared/components/toggle_button.vue?e6e4","webpack:///vue_shared/components/toggle_button.vue","webpack:///./vue_shared/components/toggle_button.vue?e7a4","webpack:///./vue_shared/components/toggle_button.vue","webpack:///./boards/stores/boards_store.js","webpack:///./filtered_search/event_hub.js","webpack:///./filtered_search/components/recent_searches_dropdown_content.vue?177e","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?e063","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:///./issuable_context.js","webpack:///./sidebar/components/assignees/assignee_title.vue?acbb","webpack:///./sidebar/components/assignees/assignee_title.vue?82c0","webpack:///sidebar/components/assignees/assignee_title.vue","webpack:///./sidebar/components/assignees/assignee_title.vue","webpack:///./sidebar/components/subscriptions/subscriptions.vue?5274","webpack:///sidebar/components/subscriptions/subscriptions.vue","webpack:///./sidebar/components/subscriptions/subscriptions.vue?cba6","webpack:///./sidebar/components/subscriptions/subscriptions.vue","webpack:///./sidebar/components/assignees/assignees.vue?ae73","webpack:///./sidebar/components/assignees/assignees.vue?9638","webpack:///sidebar/components/assignees/assignees.vue","webpack:///./sidebar/components/assignees/assignees.vue","webpack:////builds/gitlab/gitlabhq/node_modules/sortablejs/Sortable.js","webpack:///./behaviors/shortcuts/shortcuts_navigation.js","webpack:///./vue_shared/components/tooltip_on_truncate.vue?377c","webpack:///./vue_shared/components/tooltip_on_truncate.vue?2058","webpack:///vue_shared/components/tooltip_on_truncate.vue","webpack:///./vue_shared/components/tooltip_on_truncate.vue","webpack:///./vue_shared/directives/tooltip.js","webpack:///./vue_shared/models/label.js","webpack:///./vue_shared/models/assignee.js","webpack:///./boards/filtered_search_boards.js","webpack:///./boards/eventhub.js","webpack:///./boards/models/project.js","webpack:///./boards/models/issue.js","webpack:///./boards/models/list.js","webpack:///./boards/services/board_service.js","webpack:///./boards/mixins/modal_mixins.js","webpack:///./boards/filters/due_date_filters.js","webpack:///./boards/components/board_blank_state.vue?6439","webpack:///boards/components/board_blank_state.vue","webpack:///./boards/components/board_blank_state.vue","webpack:///./boards/components/board_blank_state.vue?f4c8","webpack:///./boards/components/board_delete.js","webpack:///./boards/components/project_select.vue?77af","webpack:///boards/components/project_select.vue","webpack:///./boards/components/project_select.vue","webpack:///./boards/components/project_select.vue?6bcc","webpack:///./boards/components/board_new_issue.vue?9926","webpack:///boards/components/board_new_issue.vue","webpack:///./boards/components/board_new_issue.vue","webpack:///./boards/components/board_new_issue.vue?5777","webpack:///./boards/components/issue_due_date.vue?4e10","webpack:///boards/components/issue_due_date.vue","webpack:///./boards/components/issue_due_date.vue","webpack:///./boards/components/issue_due_date.vue?4d92","webpack:///./boards/components/issue_time_estimate.vue?3816","webpack:///boards/components/issue_time_estimate.vue","webpack:///./boards/components/issue_time_estimate.vue","webpack:///./boards/components/issue_time_estimate.vue?65ac","webpack:///./boards/components/issue_card_inner.vue?6a09","webpack:///boards/components/issue_card_inner.vue","webpack:///./boards/components/issue_card_inner.vue","webpack:///./boards/components/issue_card_inner.vue?4794","webpack:///./boards/components/board_card.vue?05e8","webpack:///boards/components/board_card.vue","webpack:///./boards/components/board_card.vue","webpack:///./boards/components/board_card.vue?a901","webpack:///./sortable/sortable_config.js","webpack:///./boards/mixins/sortable_default_options.js","webpack:///boards/components/board_list.vue","webpack:///./boards/components/board_list.vue?dca2","webpack:///./boards/components/board_list.vue","webpack:///./boards/components/board_list.vue?b048","webpack:///./boards/components/board.js","webpack:///./boards/components/sidebar/remove_issue.vue?45d5","webpack:///boards/components/sidebar/remove_issue.vue","webpack:///./boards/components/sidebar/remove_issue.vue","webpack:///./boards/components/sidebar/remove_issue.vue?ccbb","webpack:///./boards/components/board_sidebar.js","webpack:///./boards/components/new_list_dropdown.js","webpack:///./boards/components/modal/index.vue?0e27","webpack:///./boards/components/modal/filters.js","webpack:///./boards/components/modal/tabs.vue?1523","webpack:///boards/components/modal/tabs.vue","webpack:///./boards/components/modal/tabs.vue","webpack:///./boards/components/modal/tabs.vue?1e71","webpack:///./boards/components/modal/header.vue?7d4f","webpack:///boards/components/modal/header.vue","webpack:///./boards/components/modal/header.vue","webpack:///./boards/components/modal/header.vue?2f6d","webpack:///./boards/components/modal/list.vue?1c64","webpack:///boards/components/modal/list.vue","webpack:///./boards/components/modal/list.vue","webpack:///./boards/components/modal/list.vue?1074","webpack:///./boards/components/modal/lists_dropdown.vue?a5e1","webpack:///boards/components/modal/lists_dropdown.vue","webpack:///./boards/components/modal/lists_dropdown.vue","webpack:///./boards/components/modal/lists_dropdown.vue?cdb3","webpack:///./boards/components/modal/footer.vue?48c1","webpack:///boards/components/modal/footer.vue","webpack:///./boards/components/modal/footer.vue","webpack:///./boards/components/modal/footer.vue?2e89","webpack:///./boards/components/modal/empty_state.vue?7490","webpack:///boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/empty_state.vue","webpack:///./boards/components/modal/empty_state.vue?cb8d","webpack:///boards/components/modal/index.vue","webpack:///./boards/components/modal/index.vue?3784","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:////builds/gitlab/gitlabhq/node_modules/pikaday/pikaday.js","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?744a","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue?ec83","webpack:///vue_shared/components/user_avatar/user_avatar_link.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_link.vue"],"names":["__webpack_require__","r","__webpack_exports__","_users_select__WEBPACK_IMPORTED_MODULE_0__","_behaviors_shortcuts_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","_boards__WEBPACK_IMPORTED_MODULE_2__","document","addEventListener","UsersSelect","ShortcutsNavigation","initBoards","_dismissable_callout__WEBPACK_IMPORTED_MODULE_0__","_projects_gke_cluster_dropdowns__WEBPACK_IMPORTED_MODULE_1__","page","body","dataset","indexOf","initDismissableCallout","initGkeDropdowns","CreateLabelDropdown","$el","namespacePath","projectPath","_classCallCheck","this","$dropdownBack","$","closest","$cancelButton","$newLabelField","$newColorField","$colorPreview","$newLabelError","$newLabelCreateButton","$colorSuggestions","hide","disable","cleanBinding","addBinding","off","self","on","e","$this","addColorValue","enableLabelCreateButton","bind","resetForm","preventDefault","stopPropagation","trigger","saveLabel","val","data","css","parent","addClass","enable","removeClass","_this","Api","newLabel","title","color","label","errors","message","Object","keys","map","key","concat","humanize","join","html","show","LabelsSelect","els","$els","options","arguments","length","undefined","each","i","dropdown","$block","$dropdown","$form","$loading","$selectbox","$sidebarCollapsedValue","$value","abilityName","defaultLabel","issueUpdateURL","labelUrl","saveLabelData","selectedLabel","showAny","showNo","$sidebarLabelTooltip","initialSelected","fieldName","showMenuAbove","$dropdownContainer","find","hasClass","split","__","fadeOut","is","value","get","handleClick","tooltip","selected","_","isEqual","label_ids","fadeIn","axios","put","then","_ref","labelCount","template","labelTooltipTitle","labelTitles","labels","getLabelTemplate","removeAttr","text","slice","push","attr","container","catch","flash","glDropdown","term","callback","res","chain","groupBy","dup","id","duplicate","extraData","unshift","isAny","positionMenuAbove","renderRow","instance","$a","$li","colorEl","indeterminate","removesAll","selectedClass","marked","dropdownName","dropdownValue","splice","toString","replace","DropdownUtils","duplicateLabelColor","_slicedToArray","escape","prop","search","fields","selectable","filterable","toggleLabel","el","$dropdownParent","$dropdownInputField","isSelected","selectedLabels","index","sprintf","firstLabel","hidden","isIssueIndex","isMRIndex","Issuable","filterResults","submit","multiSelect","vue","clicked","clickEvent","boardsModel","isMarking","selectedObj","fadeOutLoader","enableBulkLabelDropdown","setDropdownData","ModalStore","store","filter","boardsStore","detail","issue","ListLabel","textColor","update","opened","previousSelection","updateLabel","preserveContext","setOriginalDropdownData","bindEvents","tplData","tpl","onSelectCheckboxIssue","IssuableBulkUpdateActions","willUpdateLabels","markedIds","unmarkedIds","indeterminateIds","getOriginalIndeterminateIds","getOriginalCommonIds","$container","MilestoneSelect","currentProject","JSON","parse","init","milestoneLinkNoneTemplate","milestoneLinkTemplate","selectedMilestone","selectedMilestoneDefault","milestonesUrl","showUpcoming","showStarted","useId","defaultNo","$selectBox","extraOptions","name","milestone","currentTarget","modalStoreFilter","isSelecting","milestone_id","_ref2","remaining","timeFor","due_date","boardStoreIssueSet","ListMilestone","boardStoreIssueDelete","window","DueDateSelect","$datePicker","$valueContent","$sidebarValue","rawSelectedDate","displayedDate","datePayload","initGlDropdown","initRemoveDueDate","initDatePicker","_this2","$dueDateInput","calendar","Pikaday","field","theme","format","dateString","parsePikadayDate","date","pikadayToString","onSelect","dateText","dueDate","updateIssueBoardIssue","saveDueDate","setDate","append","_this3","isDropdown","parseSelectedDate","prepSelectedDate","submitSelectedDate","dateArray","v","parseInt","dateObj","Date","dateFormat","_this4","_this5","selectedDateValue","hasDueDate","displayedDateStyle","toggleClass","tooltipText","DueDateSelectors","initMilestoneDatePicker","initIssuableSelect","datePickerVal","target","siblings","_filtered_search_token_keys__WEBPACK_IMPORTED_MODULE_0__","tokenKeys","type","param","symbol","icon","tag","gon","current_user_id","IssuableFilteredSearchTokenKeys","FilteredSearchTokenKeys","url","tokenKey","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","underscore__WEBPACK_IMPORTED_MODULE_1__","underscore__WEBPACK_IMPORTED_MODULE_1___default","js_cookie__WEBPACK_IMPORTED_MODULE_2__","js_cookie__WEBPACK_IMPORTED_MODULE_2___default","_flash__WEBPACK_IMPORTED_MODULE_3__","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_4__","_locale__WEBPACK_IMPORTED_MODULE_5__","Sidebar","currentUser","toggleTodo","sidebar","removeListeners","addEventListeners","initialize","prototype","$document","sidebarCollapseClicked","onSidebarDropdownHidden","sidebarDropdownLoading","sidebarDropdownLoaded","sidebarToggleClicked","triggered","$allGutterToggleIcons","isExpanded","tooltipLabel","Cookies","set","ajaxType","issuable_id","issuable_type","todoUpdateDone","deletePath","delete_path","attrPrefix","$todoBtns","count","$elText","$sidebarCollapsedIcon","img","before","remove","openDropdown","blockOrName","isString","getBlock","isOpen","setCollapseAfterUpdate","toggleSidebar","setTimeout","sidebarDropdownHidden","triggerOpenSidebar","action","LABEL_ON","locale","LABEL_OFF","components_toggle_buttonvue_type_script_lang_js_","components","GlLoadingIcon","dist","model","event","props","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","__file","d","vue__WEBPACK_IMPORTED_MODULE_2__","js_cookie__WEBPACK_IMPORTED_MODULE_3__","js_cookie__WEBPACK_IMPORTED_MODULE_3___default","_lib_utils_common_utils__WEBPACK_IMPORTED_MODULE_4__","disabled","path","state","moving","list","create","lists","getUrlParamsArray","addList","listObj","defaultAvatar","List","new","backlogList","findList","save","issues","forEach","removeIssue","sortBy","removeBlankState","updateNewListDropdown","listId","shouldAddBlankState","addBlankState","welcomeIsHidden","list_type","position","removeList","expires","parseBoolean","moveList","listFrom","orderLists","moveIssueToList","listTo","newIndex","issueTo","findIssue","issueLists","getLists","listLabels","listIssue","updateIssueLabel","removeLabel","findAssignee","assignee","removeAssignee","currentMilestone","currentLists","some","removeMilestone","addMilestone","currentList","addIssue","removeLabels","shouldRemoveIssue","moveIssueInList","oldIndex","idArray","beforeId","afterId","moveIssue","byType","updateFiltersUrl","history","pushState","_len","args","Array","_key","Vue","apply","_len2","_key2","delete","event_hub","components_recent_searches_dropdown_contentvue_type_script_lang_js_","items","isLocalStorageAvailable","allowedKeys","processedItems","item","_FilteredSearchTokeni","filtered_search_tokenizer","processTokens","tokens","searchToken","token","prefix","suffix","hasItems","onItemActivated","onRequestClearRecentSearches","_l","$event","tokenIndex","_s","recent_searches_dropdown_content","RecentSearchesRoot","recentSearchesStore","recentSearchesService","wrapperElement","service","render","onRequestClearRecentSearchesWrapper","eventHub","$on","$off","vm","RecentSearchesDropdownContent","resultantSearches","setRecentSearches","unbindEvents","$destroy","RecentSearchesStore","initialState","recent_searches_store_classCallCheck","assign","recentSearches","newSearch","trimmedSearches","trim","uniq","RecentSearchesServiceError","recent_searches_service_error_classCallCheck","Error","RecentSearchesService","localStorageKey","recent_searches_service_classCallCheck","AccessorUtilities","isLocalStorageAccessSafe","isAvailable","error","Promise","reject","input","localStorage","getItem","searches","err","resolve","setItem","stringify","FilteredSearchManager","_ref$isGroup","isGroup","_ref$isGroupAncestor","isGroupAncestor","_ref$isGroupDecendent","isGroupDecendent","_ref$filteredSearchTo","filteredSearchTokenKeys","_ref$stateFiltersSele","stateFiltersSelector","filtered_search_manager_classCallCheck","states","FilteredSearchContainer","filteredSearchInput","querySelector","filteredSearchInputForm","form","clearSearchButton","tokensContainer","recentsStorageKeyNames","merge_requests","getKeys","searchHistoryDropdownElement","fullPath","recentSearchesKey","fetchingRecentSearchesPromise","fetch","Flash","tokenizer","FilteredSearchTokenizer","dropdownManager","FilteredSearchDropdownManager","baseEndpoint","getAttribute","recentSearchesRoot","loadSearchParamsFromURL","setDropdown","cleanupWrapper","cleanup","removeEventListener","destroy","stateFilters","searchStateWrapper","searchState","applyToStateFilters","filterEl","querySelectorAll","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","FilteredSearchVisualTokens","getLastVisualTokenBeforeInput","_DropdownUtils$getVis","getVisualTokenValues","tokenName","tokenValue","canEdit","getLastTokenPartial","removeLastTokenPartial","updateCurrentDropdownOffset","selectionStart","setSelectionRange","activeElements","mapping","currentDropdown","element","isHandledAsync","stopImmediatePropagation","blur","resetDropdowns","destroyDroplab","addClassIfElementExists","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","_this7","_this$tokenizer$proce","isLastVisualTokenValid","addFilterVisualToken","uppercaseTokenName","shouldUppercaseTokenName","capitalizeTokenValue","shouldCapitalizeTokenValue","fragments","inputValues","last","pop","searchTerms","addSearchVisualToken","match","_this8","searchQuery","addRecentSearch","urlParams","modifyUrlParams","_this9","params","getAllParams","usernameParams","getUsernameParams","hasFilteredSearch","p","keyParam","decodeURIComponent","condition","searchByConditionUrl","sanitizedValue","searchByKeyParam","lastIndexOf","sanitizedKey","quotationsToUse","saveCurrentSearchQuery","_this10","paths","_this$tokenizer$proce2","currentState","getParameterByName","searchByConditionKeyValue","toLowerCase","tokenConfig","searchByKey","underscoredKey","tokenPath","lowercaseValueOnSubmit","encodeURIComponent","sanitized","parameterizedUrl","updateObject","visitUrl","usernamesById","attribute","user","username","currentDropdownRef","reference","dispatchInputEvent","dispatchEvent","CustomEvent","IssuableContext","userSelect","select2","width","dropdownAutoWidth","parents","bpBreakpoint","bp","getBreakpointSize","assignees_assignee_titlevue_type_script_lang_js_","loading","numberOfAssignees","Number","editable","showToggle","assigneeTitle","assignees","aria-hidden","href","role","data-hidden","subscriptions_subscriptionsvue_type_script_lang_js_","directives","toggleButton","toggle_button","subscribed","showLoadingState","notificationIcon","notificationTooltip","toggleSubscription","onClickCollapsedIcon","rawName","data-container","data-placement","data-boundary","size","ref","change","assignees_assigneesvue_type_script_lang_js_","rootPath","users","issuableType","require","defaultRenderCount","defaultMaxCounter","showLess","firstUser","hasMoreThanTwoAssignees","hasMoreThanOneAssignee","hasAssignees","hasNoUsers","hasOneUser","renderShowMoreSection","numberOfHiddenAssignees","isHiddenAssignees","hiddenAssigneesLabel","collapsedTooltipTitle","maxRender","Math","min","names","u","emptyTooltipLabel","sidebarAvatarCounter","counter","assignSelf","toggleShowLess","renderAssignee","avatarUrl","avatar","avatar_url","default_avatar_url","assigneeUrl","assigneeAlt","assigneeUsername","shouldRenderCollapsedAssignee","firstTwo","multiple-users","alt","src","data-title","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","exports","module","dragEl","parentEl","ghostEl","cloneEl","rootEl","nextEl","lastDownEl","scrollEl","scrollParentEl","scrollCustomFn","lastEl","lastCSS","lastParentCSS","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","x","clientX","y","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","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","getElementsByTagName","_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","shift","re","RegExp","ms","dst","hasOwnProperty","_clone","dom","cloneNode","_nextTick","_cancelNextTick","clearTimeout","constructor","touch","touches","originalTarget","shadowRoot","root","inputs","idx","checked","_saveInputCheckedState","isContentEditable","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","height","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","version","_possibleConstructorReturn","_getPrototypeOf","Mousetrap","findAndFollowLink","enabledHelp","Shortcuts","components_tooltip_on_truncatevue_type_script_lang_js_","placement","truncateTarget","Function","showTooltip","mounted","selectTarget","underscore_default","a","isFunction","childNodes","_t","componentUpdated","tooltipInstance","tip","getTipElement","setElementContent","getTitle","unbind","obj","text_color","description","priority","Infinity","ListAssignee","assignee_classCallCheck","webUrl","web_url","FilteredSearchBoards","updateUrl","cantEdit","filtered_search_boards_classCallCheck","cantEditWithValue","_typeof","removeTokens","Event","includes","findIndex","eventhub","IssueProject","project_classCallCheck","ListIssue","issue_classCallCheck","iid","confidential","relative_position","isFetching","subscriptions","sidebarInfoEndpoint","issue_sidebar_endpoint","referencePath","reference_path","real_path","toggleSubscriptionEndpoint","toggle_subscription_endpoint","project_id","timeEstimate","time_estimate","assignableLabelsEndpoint","assignable_labels_endpoint","project","findLabel","newData","assignee_ids","http","patch","TYPES","backlog","isPreset","isExpandable","isBlank","closed","blank","list_classCallCheck","_uid","guid","typeInfo","getTypeInfo","preset","loadingMore","issuesSize","getIssues","s4","floor","substring","entity","entityType","gl","boardService","createList","destroyList","updateList","emptyIssues","_objectSpread","urlParamsToObject","label_name","getIssuesForList","createIssues","newIssue","onNewIssueResponse","issueObj","moveBeforeId","moveAfterId","addLabel","addAssignee","matchesRemove","BoardService","boardsEndpoint","listsEndpoint","bulkUpdatePath","boardId","board_service_classCallCheck","listsEndpointGenerate","relative_url_root","endpoint","post","entityId","mergeUrlParams","generateIssuesPath","fromListId","toListId","generateIssuePath","from_list_id","to_list_id","move_before_id","move_after_id","issueIds","issuable_ids","modal_mixins","toggleModal","toggle","showAddIssuesModal","changeTab","tab","activeTab","components_board_blank_statevue_type_script_lang_js_","predefinedLabels","addDefaultLists","clearBlankState","boards_store","generateDefaultLists","js_cookie_default","backgroundColor","board_blank_state","deleteBoard","confirm","components_project_selectvue_type_script_lang_js_","Icon","groupId","selectedProject","selectedProjectName","jquery_default","$refs","projectsDropdown","filterRemote","api","groupProjects","with_issues_enabled","with_shared","include_subgroups","projects","project_select_component","data-toggle","aria-expanded","components_board_new_issuevue_type_script_lang_js_","ProjectSelect","GlButton","focus","setSelectedProject","models_issue","cancel","submitButton","board_new_issue_component","for","expression","autocomplete","composing","group-id","variant","board_new_issue","components_issue_due_datevue_type_script_lang_js_","GlTooltip","cssClass","tooltipPlacement","timeago","datetime_utility","timeDifference","formatedDate","standardDateFormat","issueDueDate","dateformat_default","today","isPastDue","isDueInCurrentYear","getFullYear","issue_due_date_component","text-danger","board-card-info-icon","datetime","text-danger-muted","issue_due_date","components_issue_time_estimatevue_type_script_lang_js_","estimate","issue_time_estimate_component","issueTimeEstimate","issue_time_estimate","components_issue_card_innervue_type_script_lang_js_","UserAvatarLink","user_avatar_link","TooltipOnTruncate","tooltip_on_truncate","IssueDueDate","IssueTimeEstimate","issueLinkBase","updateFilters","limitBeforeCounter","maxCounter","numberOverLimit","assigneeCounterTooltip","assigneeCounterLabel","shouldRenderCounter","issueId","showLabelFooter","l","showLabel","issueReferencePath","_this$issue","isIndexLessThanlimit","shouldRenderAssignee","avatarUrlTitle","filterByLabel","labelTitle","applyFilter","filterByWeight","weight","issueWeight","filterPath","filterIndex","labelStyle","issue_card_inner_component","mousemove","link-href","img-alt","img-src","img-size","tooltip-placement","issue_card_inner","components_board_cardvue_type_script_lang_js_","IssueCardInner","showDetail","detailIssue","issueDetailVisible","mouseDown","mouseMove","showIssue","board_card_component","user-can-drag","is-active","data-issue-id","mousedown","mouseup","issue-link-base","root-path","update-filters","sortable_config","sortableStart","sortableEnd","getBoardSortableDefaultOptions","touchEnabled","DocumentTouch","defaultSortOptions","sortableConfig","onStart","onEnd","components_board_listvue_type_script_lang_js_","boardCard","boardNewIssue","scrollOffset","filters","showCount","showIssueForm","watch","handler","deep","$nextTick","listHeight","ceil","created","toggleForm","scrollToTop","toBoardType","boardType","fromBoardType","entries","entry","card","onAdd","onUpdate","sortedArray","Sortable_default","onScroll","beforeDestroy","loadNextPage","nextPage","loadingDone","board_list_component","is-smaller","data-board","data-board-type","refInFor","board_list","BoardBlankState","BoardDelete","BoardList","Tooltip","counterTooltip","n__","isNewIssueShown","sortableOptions","isCollapsed","showNewIssueForm","toggleExpanded","sidebar_remove_issuevue_type_script_lang_js_","vue_esm","req","buildPatchRequest","seedPatchRequest","listLabelIds","remove_issue_component","remove_issue","AssigneeTitle","Assignees","RemoveBtn","Subscriptions","loadingAssignees","showSidebar","milestoneTitle","canRemove","hasLabels","labelDropdownTitle","clearMenu","removeAllAssignees","saveAssignees","closeSidebar","assigneeBlock","filteredSearch","setup","destroyed","modal_tabsvue_type_script_lang_js_","mixins","modal_store","selectedCount","tabs_component","issuesCount","modal_headervue_type_script_lang_js_","ModalTabs","ModalFilters","projectId","milestonePath","labelPath","selectAllText","showSearch","toggleAll","selectAllBtn","header_component","data-dismiss","header","modal_listvue_type_script_lang_js_","emptyStateSvg","loopIssues","selectedIssues","groupedIssues","groups","columns","purgeUnselectedIssues","scrollHandlerWrapper","scrollHandler","setColumnCountWrapper","setColumnCount","currentPage","perPage","loadingNewPage","toggleIssue","selectedIssueIndex","breakpoint","breakpoints","list_component","_m","aria-checked","modal_list","modal_lists_dropdownvue_type_script_lang_js_","GlLink","modal","selectedList","lists_dropdown_component","lists_dropdown","modal_footervue_type_script_lang_js_","ListsDropdown","submitDisabled","submitText","text_utility","buildUpdateRequest","add_label_ids","addIssues","getSelectedIssues","bulkUpdate","footer_component","footer","modal_empty_statevue_type_script_lang_js_","newIssuePath","contents","content","empty_state_component","innerHTML","components_modalvue_type_script_lang_js_","EmptyState","ModalHeader","ModalList","ModalFooter","showList","showEmptyState","loadIssues","filterLoading","clearIssues","getBacklog","modalvue_type_script_lang_js_objectSpread","common_utils","per","foundSelectedIssue","findSelectedIssue","modal_component","project-id","milestone-path","label-path","empty-state-svg","new-issue-path","issueBoardsApp","$boardApp","getElementById","isNavTypeBackForward","performance","navigation","NavigationType","TYPE_BACK_FORWARD","persisted","location","reload","Board","BoardSidebar","BoardAddIssuesModal","detailIssueVisible","updateTokens","updateDetailIssue","clearDetailIssue","sidebarEventHub","filterManager","all","board","setFetchingState","getIssueInfo","updateData","toggleIssueSubscription","$labelColor","prepend","containerSelector","issueBoardsModal","modalMixin","canAdminList","$options","hasAttribute","tooltipTitle","updateTooltip","$tooltip","addIssuesButton","openModal","emitSidebarEvent","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_2__","prefixId","getElement","$labelDropdown","onFormSubmit","getFormDataAsObject","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","moment","code","hasMoment","hasEventListeners","sto","addEvent","attachEvent","removeEvent","detachEvent","cn","isArray","isDate","isNaN","isWeekend","day","getDay","getDaysInMonth","year","month","isLeapYear","setToStartOfDay","setHours","compareDates","b","overwrite","hasProp","fireEvent","eventName","ev","createEventObject","adjustCalendar","bound","reposition","defaultDate","setDefaultDate","firstDay","formatStrict","minDate","maxDate","yearRange","showWeekNumber","pickWholeWeek","minYear","maxYear","minMonth","maxMonth","startRange","endRange","isRTL","yearSuffix","showMonthAfterYear","showDaysInNextAndPreviousMonths","enableSelectionDaysInNextAndPreviousMonths","numberOfMonths","mainCalendar","blurFieldOnSelect","i18n","previousMonth","nextMonth","months","weekdays","weekdaysShort","events","onOpen","onClose","onDraw","renderDayName","opts","abbr","renderDay","arr","ariaSelected","isEmpty","isDisabled","isToday","hasEvent","isInRange","isStartRange","isEndRange","days","isRowSelected","reverse","renderTitle","c","refYear","randId","j","monthHtml","yearHtml","_o","isMinYear","isMaxYear","prev","next","config","_onMouseDown","srcElement","prevMonth","returnValue","_onChange","gotoMonth","gotoYear","_onKeyChange","isVisible","adjustDate","_onInputChange","firedBy","isValid","toDate","_onInputFocus","_onInputClick","_onInputBlur","pEl","activeElement","_b","_onClick","onchange","setAttribute","defDate","gotoDate","disableWeekends","disableDayFn","nom","setMinDate","setMaxDate","fallback","_d","toDateString","getMoment","setMoment","preventOnSelect","isMoment","getDate","draw","max","newCalendar","calendars","firstVisibleDate","lastVisibleDate","visibleDate","setMonth","getMonth","adjustCalendars","sign","newDay","valueOf","gotoToday","setStartRange","setEndRange","force","_y","adjustPosition","viewportWidth","viewportHeight","clientRect","documentElement","clientWidth","clientHeight","offsetLeft","offsetParent","now","row","yearOfPreviousMonth","yearOfNextMonth","daysInPreviousMonth","cells","m","onejan","isWeekSelected","dayNumber","monthNumber","yearNumber","dayConfig","renderHead","renderTable","user_avatar_user_avatar_linkvue_type_script_lang_js_","userAvatarImage","user_avatar_image","linkHref","imgSrc","imgAlt","imgCssClasses","imgSize","shouldShowUsername","avatarTooltipText","tooltip-text"],"mappings":"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","file":"pages.groups.boards.a63a3f78.chunk.js","sourcesContent":["import UsersSelect from '~/users_select';\nimport ShortcutsNavigation from '~/behaviors/shortcuts/shortcuts_navigation';\nimport initBoards from '~/boards';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new UsersSelect(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n initBoards();\n});\n","import initDismissableCallout from '~/dismissable_callout';\nimport initGkeDropdowns from '~/projects/gke_cluster_dropdowns';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const { page } = document.body.dataset;\n const newClusterViews = [\n 'groups:clusters:new',\n 'groups:clusters:create_gcp',\n 'groups:clusters:create_user',\n ];\n\n if (newClusterViews.indexOf(page) > -1) {\n initDismissableCallout('.gcp-signup-offer');\n initGkeDropdowns();\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.val('').trigger('change');\n\n this.$newColorField.val('').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(\n this.namespacePath,\n this.projectPath,\n {\n title: this.$newLabelField.val(),\n color: this.$newColorField.val(),\n },\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)\n .map(key => `${humanize(key)} ${label.message[key].join(', ')}`)\n .join('
');\n }\n\n this.$newLabelError.html(errors).show();\n } else {\n this.$dropdownBack.trigger('click');\n\n $(document).trigger('created.label', label);\n }\n },\n );\n }\n}\n","/* eslint-disable no-useless-return, func-names, no-var, no-underscore-dangle, prefer-arrow-callback, one-var, no-unused-vars, prefer-template, no-new, consistent-return, object-shorthand, no-shadow, no-param-reassign, vars-on-top, no-lonely-if, no-else-return, dot-notation, no-empty */\n/* global Issuable */\n/* global ListLabel */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport { sprintf, __ } from './locale';\nimport axios from './lib/utils/axios_utils';\nimport IssuableBulkUpdateActions from './issuable_bulk_update_actions';\nimport DropdownUtils from './filtered_search/dropdown_utils';\nimport CreateLabelDropdown from './create_label';\nimport flash from './flash';\nimport ModalStore from './boards/stores/modal_store';\nimport boardsStore from './boards/stores/boards_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,\n $colorPreview,\n $dropdown,\n $form,\n $loading,\n $selectbox,\n $sidebarCollapsedValue,\n $value,\n abilityName,\n defaultLabel,\n enableLabelCreateButton,\n issueURLSplit,\n issueUpdateURL,\n labelUrl,\n namespacePath,\n projectPath,\n saveLabelData,\n selectedLabel,\n showAny,\n showNo,\n $sidebarLabelTooltip,\n initialSelected,\n $toggleText,\n fieldName,\n useId,\n propertyName,\n showMenuAbove,\n $container,\n $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 issueUpdateURL = $dropdown.data('issueUpdate');\n selectedLabel = $dropdown.data('selected');\n if (selectedLabel != null && !$dropdown.hasClass('js-multiselect')) {\n selectedLabel = selectedLabel.split(',');\n }\n showNo = $dropdown.data('showNo');\n showAny = $dropdown.data('showAny');\n showMenuAbove = $dropdown.data('showMenuAbove');\n defaultLabel = $dropdown.data('defaultLabel') || __('Label');\n abilityName = $dropdown.data('abilityName');\n $selectbox = $dropdown.closest('.selectbox');\n $block = $selectbox.closest('.block');\n $form = $dropdown.closest('form, .js-issuable-update');\n $sidebarCollapsedValue = $block.find('.sidebar-collapsed-icon span');\n $sidebarLabelTooltip = $block.find('.js-sidebar-labels-tooltip');\n $value = $block.find('.value');\n $loading = $block.find('.block-loading').fadeOut();\n fieldName = $dropdown.data('fieldName');\n useId = $dropdown.is(\n '.js-issuable-form-dropdown, .js-filter-bulk-update, .js-label-sidebar-dropdown',\n );\n propertyName = useId ? 'id' : 'title';\n initialSelected = $selectbox\n .find('input[name=\"' + $dropdown.data('fieldName') + '\"]')\n .map(function() {\n return this.value;\n })\n .get();\n const { handleClick } = options;\n\n $sidebarLabelTooltip.tooltip();\n\n if ($dropdown.closest('.dropdown').find('.dropdown-new-label').length) {\n new CreateLabelDropdown(\n $dropdown.closest('.dropdown').find('.dropdown-new-label'),\n namespacePath,\n projectPath,\n );\n }\n\n saveLabelData = function() {\n var data, selected;\n selected = $dropdown\n .closest('.selectbox')\n .find(\"input[name='\" + fieldName + \"']\")\n .map(function() {\n return this.value;\n })\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\n .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 } 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 } else {\n labelTooltipTitle = __('Labels');\n }\n\n $sidebarLabelTooltip.attr('title', labelTooltipTitle).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 labelUrl = $dropdown.attr('data-labels');\n axios\n .get(labelUrl)\n .then(res => {\n let data = _.chain(res.data)\n .groupBy(function(label) {\n return label.title;\n })\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 })\n .value();\n if ($dropdown.hasClass('js-extra-options')) {\n var extraData = [];\n if (showNo) {\n extraData.unshift({\n id: 0,\n title: 'No Label',\n });\n }\n if (showAny) {\n extraData.unshift({\n isAny: true,\n title: 'Any Label',\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,\n $li,\n color,\n colorEl,\n indeterminate,\n removesAll,\n selectedClass,\n spacing,\n i,\n marked,\n dropdownName,\n 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)\n .toString()\n .replace(/'/g, \"\\\\'\");\n\n if (\n $form.find(\n \"input[type='hidden'][name='\" +\n dropdownName +\n \"'][value='\" +\n dropdownValue +\n \"']\",\n ).length\n ) {\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 } else {\n if (label.color != null) {\n [color] = label.color;\n }\n }\n if (color) {\n colorEl = \"\";\n } else {\n colorEl = '';\n }\n // We need to identify which items are actually labels\n if (label.id) {\n selectedClass.push('label-item');\n $a.attr('data-label-id', label.id);\n }\n $a.addClass(selectedClass.join(' ')).html(`${colorEl} ${_.escape(label.title)}`);\n // Return generated html\n return $li.html($a).prop('outerHTML');\n },\n search: {\n fields: ['title'],\n },\n selectable: true,\n filterable: true,\n selected: $dropdown.data('selected') || [],\n toggleLabel: function(selected, el) {\n var $dropdownParent = $dropdown.parent();\n var $dropdownInputField = $dropdownParent.find('.dropdown-input-field');\n var isSelected = el !== null ? el.hasClass('is-active') : false;\n\n var title = selected ? selected.title : null;\n var selectedLabels = this.selected;\n\n if ($dropdownInputField.length && $dropdownInputField.val().length) {\n $dropdownParent.find('.dropdown-input-clear').trigger('click');\n }\n\n if (selected && selected.id === 0) {\n this.selected = [];\n return 'No Label';\n } else if (isSelected) {\n this.selected.push(title);\n } else if (!isSelected && title) {\n var index = this.selected.indexOf(title);\n this.selected.splice(index, 1);\n }\n\n if (selectedLabels.length === 1) {\n return selectedLabels;\n } else if (selectedLabels.length) {\n return sprintf(__('%{firstLabel} +%{labelCount} more'), {\n firstLabel: selectedLabels[0],\n labelCount: selectedLabels.length - 1,\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 } 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\n .closest('form')\n .find(\"input:hidden[name='\" + $dropdown.data('fieldName') + \"']\");\n Issuable.filterResults($dropdown.closest('form'));\n } else if ($dropdown.hasClass('js-filter-submit')) {\n $dropdown.closest('form').submit();\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\n .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 } 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 } else if ($dropdown.hasClass('js-filter-submit')) {\n return $dropdown.closest('form').submit();\n } else if ($dropdown.hasClass('js-issue-board-sidebar')) {\n if ($el.hasClass('is-active')) {\n boardsStore.detail.issue.labels.push(\n 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 } = boardsStore.detail.issue;\n labels = labels.filter(function(selectedLabel) {\n return selectedLabel.id !== label.id;\n });\n boardsStore.detail.issue.labels = labels;\n }\n\n $loading.fadeIn();\n\n boardsStore.detail.issue\n .update($dropdown.attr('data-issue-update'))\n .then(fadeOutLoader)\n .catch(fadeOutLoader);\n } else if (handleClick) {\n e.preventDefault();\n handleClick(label);\n } else {\n if ($dropdown.hasClass('js-multiselect')) {\n } else {\n return saveLabelData();\n }\n }\n },\n opened: function(e) {\n if ($dropdown.hasClass('js-issue-board-sidebar')) {\n const previousSelection = $dropdown.attr('data-selected');\n this.selected = previousSelection ? previousSelection.split(',') : [];\n $dropdown.data('glDropdown').updateLabel();\n }\n },\n preserveContext: true,\n });\n\n // Set dropdown data\n _this.setOriginalDropdownData($dropdownContainer, $dropdown);\n });\n this.bindEvents();\n }\n\n static getLabelTemplate(tplData) {\n // We could use ES6 template string here\n // and properly indent markup for readability\n // but that also introduces unintended white-space\n // so best approach is to use traditional way of\n // concatenation\n // see: http://2ality.com/2016/05/template-literal-whitespace.html#joining-arrays\n const tpl = _.template(\n [\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\n return tpl(tplData);\n }\n\n bindEvents() {\n return $('body').on('change', '.selected-issuable', this.onSelectCheckboxIssue);\n }\n // eslint-disable-next-line class-methods-use-this\n onSelectCheckboxIssue() {\n if ($('.selected-issuable: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 one-var, no-unused-vars, object-shorthand, no-else-return, no-self-compare, consistent-return, no-param-reassign, no-shadow */\n/* global Issuable */\n/* global ListMilestone */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport { __ } from '~/locale';\nimport '~/gl_dropdown';\nimport axios from './lib/utils/axios_utils';\nimport { timeFor } from './lib/utils/datetime_utility';\nimport ModalStore from './boards/stores/modal_store';\nimport boardsStore, {\n boardStoreIssueSet,\n boardStoreIssueDelete,\n} from './boards/stores/boards_store';\n\nexport default class MilestoneSelect {\n constructor(currentProject, els, options = {}) {\n if (currentProject !== null) {\n this.currentProject =\n typeof currentProject === 'string' ? JSON.parse(currentProject) : currentProject;\n }\n\n MilestoneSelect.init(els, options);\n }\n\n static init(els, options) {\n let $els = $(els);\n\n if (!els) {\n $els = $('.js-milestone-select');\n }\n\n $els.each((i, dropdown) => {\n let milestoneLinkNoneTemplate,\n milestoneLinkTemplate,\n selectedMilestone,\n selectedMilestoneDefault;\n const $dropdown = $(dropdown);\n const projectId = $dropdown.data('projectId');\n const milestonesUrl = $dropdown.data('milestones');\n const issueUpdateURL = $dropdown.data('issueUpdate');\n const showNo = $dropdown.data('showNo');\n const showAny = $dropdown.data('showAny');\n const showMenuAbove = $dropdown.data('showMenuAbove');\n const showUpcoming = $dropdown.data('showUpcoming');\n const showStarted = $dropdown.data('showStarted');\n const useId = $dropdown.data('useId');\n const defaultLabel = $dropdown.data('defaultLabel');\n const defaultNo = $dropdown.data('defaultNo');\n const issuableId = $dropdown.data('issuableId');\n const abilityName = $dropdown.data('abilityName');\n const $selectBox = $dropdown.closest('.selectbox');\n const $block = $selectBox.closest('.block');\n const $sidebarCollapsedValue = $block.find('.sidebar-collapsed-icon');\n const $value = $block.find('.value');\n const $loading = $block.find('.block-loading').fadeOut();\n selectedMilestoneDefault = showAny ? '' : null;\n selectedMilestoneDefault = showNo && defaultNo ? 'No Milestone' : selectedMilestoneDefault;\n selectedMilestone = $dropdown.data('selected') || selectedMilestoneDefault;\n\n if (issueUpdateURL) {\n milestoneLinkTemplate = _.template(\n '\" class=\"bold has-tooltip\" data-container=\"body\" title=\"<%- remaining %>\"><%- title %>',\n );\n milestoneLinkNoneTemplate = 'None';\n }\n return $dropdown.glDropdown({\n showMenuAbove: showMenuAbove,\n data: (term, callback) =>\n axios.get(milestonesUrl).then(({ data }) => {\n const extraOptions = [];\n if (showAny) {\n extraOptions.push({\n id: null,\n name: null,\n title: 'Any Milestone',\n });\n }\n if (showNo) {\n extraOptions.push({\n id: -1,\n name: 'No Milestone',\n title: 'No Milestone',\n });\n }\n if (showUpcoming) {\n extraOptions.push({\n id: -2,\n name: '#upcoming',\n title: 'Upcoming',\n });\n }\n if (showStarted) {\n extraOptions.push({\n id: -3,\n name: '#started',\n title: 'Started',\n });\n }\n if (extraOptions.length) {\n extraOptions.push('divider');\n }\n\n callback(extraOptions.concat(data));\n if (showMenuAbove) {\n $dropdown.data('glDropdown').positionMenuAbove();\n }\n $(`[data-milestone-id=\"${_.escape(selectedMilestone)}\"] > a`).addClass('is-active');\n }),\n renderRow: milestone => `\n
  • \n \n ${_.escape(milestone.title)}\n \n
  • \n `,\n filterable: true,\n search: {\n fields: ['title'],\n },\n selectable: true,\n toggleLabel: (selected, el, e) => {\n if (selected && 'id' in selected && $(el).hasClass('is-active')) {\n return selected.title;\n } else {\n return defaultLabel;\n }\n },\n defaultLabel: defaultLabel,\n fieldName: $dropdown.data('fieldName'),\n text: milestone => _.escape(milestone.title),\n id: milestone => {\n if (!useId && !$dropdown.is('.js-issuable-form-dropdown')) {\n return milestone.name;\n } else {\n return milestone.id;\n }\n },\n hidden: () => {\n $selectBox.hide();\n // display:block overrides the hide-collapse rule\n return $value.css('display', '');\n },\n opened: e => {\n const $el = $(e.currentTarget);\n if ($dropdown.hasClass('js-issue-board-sidebar') || options.handleClick) {\n selectedMilestone = $dropdown[0].dataset.selected || selectedMilestoneDefault;\n }\n $('a.is-active', $el).removeClass('is-active');\n $(`[data-milestone-id=\"${_.escape(selectedMilestone)}\"] > a`, $el).addClass('is-active');\n },\n vue: $dropdown.hasClass('js-issue-board-sidebar'),\n clicked: clickEvent => {\n const { $el, e } = clickEvent;\n let selected = clickEvent.selectedObj;\n\n let data, modalStoreFilter;\n if (!selected) return;\n\n if (options.handleClick) {\n e.preventDefault();\n options.handleClick(selected);\n return;\n }\n\n const page = $('body').attr('data-page');\n const isIssueIndex = page === 'projects:issues:index';\n const isMRIndex = page === page && page === 'projects:merge_requests:index';\n const isSelecting = selected.name !== selectedMilestone;\n selectedMilestone = isSelecting ? selected.name : selectedMilestoneDefault;\n\n if (\n $dropdown.hasClass('js-filter-bulk-update') ||\n $dropdown.hasClass('js-issuable-form-dropdown')\n ) {\n e.preventDefault();\n return;\n }\n\n if ($dropdown.closest('.add-issues-modal').length) {\n modalStoreFilter = ModalStore.store.filter;\n }\n\n if (modalStoreFilter) {\n modalStoreFilter[$dropdown.data('fieldName')] = selected.name;\n e.preventDefault();\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-issue-board-sidebar')) {\n if (selected.id !== -1 && isSelecting) {\n boardStoreIssueSet(\n 'milestone',\n new ListMilestone({\n id: selected.id,\n title: selected.name,\n }),\n );\n } else {\n boardStoreIssueDelete('milestone');\n }\n\n $dropdown.trigger('loading.gl.dropdown');\n $loading.removeClass('hidden').fadeIn();\n\n boardsStore.detail.issue\n .update($dropdown.attr('data-issue-update'))\n .then(() => {\n $dropdown.trigger('loaded.gl.dropdown');\n $loading.fadeOut();\n })\n .catch(() => {\n $loading.fadeOut();\n });\n } else {\n selected = $selectBox.find('input[type=\"hidden\"]').val();\n data = {};\n data[abilityName] = {};\n data[abilityName].milestone_id = selected != null ? selected : null;\n $loading.removeClass('hidden').fadeIn();\n $dropdown.trigger('loading.gl.dropdown');\n return axios\n .put(issueUpdateURL, data)\n .then(({ data }) => {\n $dropdown.trigger('loaded.gl.dropdown');\n $loading.fadeOut();\n $selectBox.hide();\n $value.css('display', '');\n if (data.milestone != null) {\n data.milestone.remaining = timeFor(data.milestone.due_date);\n data.milestone.name = data.milestone.title;\n $value.html(milestoneLinkTemplate(data.milestone));\n return $sidebarCollapsedValue\n .attr(\n 'data-original-title',\n `${data.milestone.name}
    ${data.milestone.remaining}`,\n )\n .find('span')\n .text(data.milestone.title);\n } else {\n $value.html(milestoneLinkNoneTemplate);\n return $sidebarCollapsedValue\n .attr('data-original-title', __('Milestone'))\n .find('span')\n .text(__('None'));\n }\n })\n .catch(() => {\n $loading.fadeOut();\n });\n }\n },\n });\n });\n }\n}\n\nwindow.MilestoneSelect = MilestoneSelect;\n","import $ from 'jquery';\nimport Pikaday from 'pikaday';\nimport dateFormat from 'dateformat';\nimport { __ } from '~/locale';\nimport axios from './lib/utils/axios_utils';\nimport { timeFor, parsePikadayDate, pikadayToString } from './lib/utils/datetime_utility';\nimport boardsStore from './boards/stores/boards_store';\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 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 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 boardsStore.detail.issue\n .update(this.$dropdown.attr('data-issue-update'))\n .then(fadeOutLoader)\n .catch(fadeOutLoader);\n }\n\n submitSelectedDate(isDropdown) {\n const selectedDateValue = this.datePayload[this.abilityName].due_date;\n const hasDueDate = this.displayedDate !== 'No due date';\n const displayedDateStyle = hasDueDate ? 'bold' : 'no-value';\n\n this.$loading.removeClass('hidden').fadeIn();\n\n if (isDropdown) {\n this.$dropdown.trigger('loading.gl.dropdown');\n this.$selectbox.hide();\n }\n\n this.$value.css('display', '');\n this.$valueContent.html(`${this.displayedDate}`);\n this.$sidebarValue.html(this.displayedDate);\n\n $('.js-remove-due-date-holder').toggleClass('hidden', selectedDateValue.length);\n\n return axios.put(this.issueUpdateURL, this.datePayload).then(() => {\n const tooltipText = hasDueDate\n ? `${__('Due date')}
    ${selectedDateValue} (${timeFor(selectedDateValue)})`\n : __('Due date');\n if (isDropdown) {\n this.$dropdown.trigger('loaded.gl.dropdown');\n this.$dropdown.dropdown('toggle');\n }\n this.$sidebarCollapsedValue.attr('data-original-title', tooltipText);\n\n return this.$loading.fadeOut();\n });\n }\n}\n\nexport default class DueDateSelectors {\n constructor() {\n this.initMilestoneDatePicker();\n this.initIssuableSelect();\n }\n // eslint-disable-next-line class-methods-use-this\n initMilestoneDatePicker() {\n $('.datepicker').each(function initPikadayMilestone() {\n const $datePicker = $(this);\n const datePickerVal = $datePicker.val();\n\n const calendar = new Pikaday({\n field: $datePicker.get(0),\n theme: 'gitlab-theme animate-picker',\n format: 'yyyy-mm-dd',\n container: $datePicker.parent().get(0),\n parse: dateString => parsePikadayDate(dateString),\n toString: date => pikadayToString(date),\n onSelect(dateText) {\n $datePicker.val(calendar.toString(dateText));\n },\n });\n\n calendar.setDate(parsePikadayDate(datePickerVal));\n\n $datePicker.data('pikaday', calendar);\n });\n\n $('.js-clear-due-date,.js-clear-start-date').on('click', e => {\n e.preventDefault();\n const calendar = $(e.target)\n .siblings('.datepicker')\n .data('pikaday');\n calendar.setDate(null);\n });\n }\n // eslint-disable-next-line class-methods-use-this\n initIssuableSelect() {\n const $loading = $('.js-issuable-update .due_date')\n .find('.block-loading')\n .hide();\n\n $('.js-due-date-select').each((i, dropdown) => {\n const $dropdown = $(dropdown);\n // eslint-disable-next-line no-new\n new DueDateSelect({\n $dropdown,\n $loading,\n });\n });\n }\n}\n","import FilteredSearchTokenKeys from './filtered_search_token_keys';\n\nexport const tokenKeys = [\n {\n key: 'author',\n type: 'string',\n param: 'username',\n symbol: '@',\n icon: 'pencil',\n tag: '@author',\n },\n {\n key: 'assignee',\n type: 'string',\n param: 'username',\n symbol: '@',\n icon: 'user',\n tag: '@assignee',\n },\n {\n key: 'milestone',\n type: 'string',\n param: 'title',\n symbol: '%',\n icon: 'clock',\n tag: '%milestone',\n },\n {\n key: 'label',\n type: 'array',\n param: 'name[]',\n symbol: '~',\n icon: 'labels',\n tag: '~label',\n },\n];\n\nif (gon.current_user_id) {\n // Appending tokenkeys only logged-in\n tokenKeys.push({\n key: 'my-reaction',\n type: 'string',\n param: 'emoji',\n symbol: '',\n icon: 'thumb-up',\n tag: 'emoji',\n });\n}\n\nexport const alternativeTokenKeys = [\n {\n key: 'label',\n type: 'string',\n param: 'name',\n symbol: '~',\n },\n];\n\nexport const conditions = [\n {\n url: 'assignee_id=None',\n tokenKey: 'assignee',\n value: 'none',\n },\n {\n url: 'assignee_id=Any',\n tokenKey: 'assignee',\n value: 'any',\n },\n {\n url: 'milestone_title=None',\n tokenKey: 'milestone',\n value: 'none',\n },\n {\n url: 'milestone_title=Any',\n tokenKey: 'milestone',\n value: 'any',\n },\n {\n url: 'milestone_title=%23upcoming',\n tokenKey: 'milestone',\n value: 'upcoming',\n },\n {\n url: 'milestone_title=%23started',\n tokenKey: 'milestone',\n value: 'started',\n },\n {\n url: 'label_name[]=None',\n tokenKey: 'label',\n value: 'none',\n },\n {\n url: 'label_name[]=Any',\n tokenKey: 'any',\n value: 'any',\n },\n {\n url: 'my_reaction_emoji=None',\n tokenKey: 'my-reaction',\n value: 'none',\n },\n {\n url: 'my_reaction_emoji=Any',\n tokenKey: 'my-reaction',\n value: 'any',\n },\n];\n\nconst IssuableFilteredSearchTokenKeys = new FilteredSearchTokenKeys(\n tokenKeys,\n alternativeTokenKeys,\n conditions,\n);\n\nexport default IssuableFilteredSearchTokenKeys;\n","/* eslint-disable func-names, no-var, no-unused-vars, consistent-return, one-var, prefer-template, no-else-return, no-param-reassign */\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)\n .off('click', '.js-issuable-todo')\n .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')\n .removeClass('right-sidebar-expanded')\n .addClass('right-sidebar-collapsed');\n $('.layout-page')\n .removeClass('right-sidebar-expanded')\n .addClass('right-sidebar-collapsed');\n } else {\n $allGutterToggleIcons.removeClass('fa-angle-double-left').addClass('fa-angle-double-right');\n $('aside.right-sidebar')\n .removeClass('right-sidebar-collapsed')\n .addClass('right-sidebar-expanded');\n $('.layout-page')\n .removeClass('right-sidebar-collapsed')\n .addClass('right-sidebar-expanded');\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')\n .disable()\n .addClass('is-loading');\n\n axios[ajaxType](url, {\n issuable_id: $this.data('issuableId'),\n issuable_type: $this.data('issuableType'),\n })\n .then(({ data }) => {\n this.todoUpdateDone(data);\n })\n .catch(() =>\n flash(`There was an error ${ajaxType === 'post' ? 'adding a' : 'deleting the'} todo.`),\n );\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\n .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)\n .closest('.block')\n .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)\n .closest('.block')\n .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('gl-loading-icon',{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--1!../../../../../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--1!../../../../../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=64e55440&\"\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\ncomponent.options.__file = \"toggle_button.vue\"\nexport default component.exports","/* eslint-disable no-shadow */\n/* global List */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport Vue from 'vue';\nimport Cookies from 'js-cookie';\nimport { getUrlParamsArray, parseBoolean } from '~/lib/utils/common_utils';\n\nconst 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: 'Welcome to your Issue Board!',\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 parseBoolean(Cookies.get('issue_board_welcome_hidden'));\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 (\n listTo.type === 'assignee' &&\n listFrom.type === 'assignee' &&\n issue.findAssignee(listTo.assignee)\n ) {\n const targetIssue = listTo.findIssue(issue.id);\n targetIssue.removeAssignee(listFrom.assignee);\n } else if (listTo.type === 'milestone') {\n const currentMilestone = issue.milestone;\n const currentLists = this.state.lists\n .filter(list => list.type === 'milestone' && list.id !== listTo.id)\n .filter(list => list.issues.some(listIssue => issue.id === listIssue.id));\n\n issue.removeMilestone(currentMilestone);\n issue.addMilestone(listTo.milestone);\n currentLists.forEach(currentList => currentList.removeIssue(issue));\n listTo.addIssue(issue, listFrom, newIndex);\n } else {\n // Add to new lists issues if it doesn't already exist\n listTo.addIssue(issue, listFrom, newIndex);\n }\n } else {\n listTo.updateIssueLabel(issue, listFrom);\n issueTo.removeLabel(listFrom.label);\n }\n\n if (listTo.type === 'closed' && listFrom.type !== 'backlog') {\n issueLists.forEach(list => {\n list.removeIssue(issue);\n });\n issue.removeLabels(listLabels);\n } else if (listTo.type === 'backlog' && listFrom.type === 'assignee') {\n issue.removeAssignee(listFrom.assignee);\n listFrom.removeIssue(issue);\n } else if (listTo.type === 'backlog' && listFrom.type === 'milestone') {\n issue.removeMilestone(listFrom.milestone);\n listFrom.removeIssue(issue);\n } else if (this.shouldRemoveIssue(listFrom, listTo)) {\n listFrom.removeIssue(issue);\n }\n },\n shouldRemoveIssue(listFrom, listTo) {\n return (\n (listTo.type !== 'label' && listFrom.type === 'assignee') ||\n (listTo.type !== 'assignee' && listFrom.type === 'label') ||\n listFrom.type === 'backlog'\n );\n },\n moveIssueInList(list, issue, oldIndex, newIndex, idArray) {\n const beforeId = parseInt(idArray[newIndex - 1], 10) || null;\n const afterId = parseInt(idArray[newIndex + 1], 10) || null;\n\n list.moveIssue(issue, oldIndex, newIndex, beforeId, afterId);\n },\n findList(key, val, type = 'label') {\n const filteredList = this.state.lists.filter(list => {\n const byType = type\n ? list.type === type || list.type === 'assignee' || list.type === 'milestone'\n : 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\n// hacks added in order to allow milestone_select to function properly\n// TODO: remove these\n\nexport function boardStoreIssueSet(...args) {\n Vue.set(boardsStore.detail.issue, ...args);\n}\n\nexport function boardStoreIssueDelete(...args) {\n Vue.delete(boardsStore.detail.issue, ...args);\n}\n\nexport default boardsStore;\n","import Vue from 'vue';\n\nexport default new Vue();\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../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=bbbc6146&\"\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\ncomponent.options.__file = \"recent_searches_dropdown_content.vue\"\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,tokenIndex){return _c('span',{key:(\"dropdown-token-\" + tokenIndex),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(\"You don't have any recent searches\")])])}\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(recentSearchesStore, recentSearchesService, wrapperElement) {\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() {\n return state;\n },\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\nexport default RecentSearchesRoot;\n","import _ from 'underscore';\n\nclass RecentSearchesStore {\n constructor(initialState = {}, allowedKeys) {\n this.state = Object.assign(\n {\n isLocalStorageAvailable: true,\n recentSearches: [],\n allowedKeys,\n },\n initialState,\n );\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 { getParameterByName, getUrlParamsArray } from '~/lib/utils/common_utils';\nimport IssuableFilteredSearchTokenKeys from '~/filtered_search/issuable_filtered_search_token_keys';\nimport { visitUrl } from '../lib/utils/url_utility';\nimport Flash from '../flash';\nimport FilteredSearchContainer from './container';\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 = IssuableFilteredSearchTokenKeys,\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(\n '.js-filtered-search-history-dropdown',\n );\n const fullPath = this.searchHistoryDropdownElement\n ? this.searchHistoryDropdownElement.dataset.fullPath\n : '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\n .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 (\n !isElementInFilteredSearch &&\n !isElementInDynamicFilterDropdown &&\n !isElementInStaticFilterDropdown &&\n inputContainer\n ) {\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 } = this.tokenizer.processTokens(\n input.value,\n this.filteredSearchTokenKeys.getKeys(),\n );\n const { isLastVisualTokenValid } = 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 uppercaseTokenName: this.filteredSearchTokenKeys.shouldUppercaseTokenName(t.key),\n capitalizeTokenValue: this.filteredSearchTokenKeys.shouldCapitalizeTokenValue(t.key),\n });\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, null, {\n uppercaseTokenName: this.filteredSearchTokenKeys.shouldUppercaseTokenName(tokenKey),\n capitalizeTokenValue: this.filteredSearchTokenKeys.shouldCapitalizeTokenValue(tokenKey),\n });\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 const tokenKey = FilteredSearchVisualTokens.getLastTokenPartial();\n FilteredSearchVisualTokens.addFilterVisualToken(searchToken, null, {\n capitalizeTokenValue: this.filteredSearchTokenKeys.shouldCapitalizeTokenValue(tokenKey),\n });\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\n .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 })\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(condition.tokenKey, 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 const { uppercaseTokenName, capitalizeTokenValue } = match;\n FilteredSearchVisualTokens.addFilterVisualToken(\n sanitizedKey,\n `${symbol}${quotationsToUse}${sanitizedValue}${quotationsToUse}`,\n {\n canEdit,\n uppercaseTokenName,\n capitalizeTokenValue,\n },\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]}`, {\n canEdit,\n });\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]}`, {\n canEdit,\n });\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 tokenKeys = this.filteredSearchTokenKeys.getKeys();\n const { tokens, searchToken } = this.tokenizer.processTokens(searchQuery, tokenKeys);\n const currentState = state || getParameterByName('state') || 'opened';\n paths.push(`state=${currentState}`);\n\n tokens.forEach(token => {\n const condition = this.filteredSearchTokenKeys.searchByConditionKeyValue(\n token.key,\n token.value.toLowerCase(),\n );\n const tokenConfig = this.filteredSearchTokenKeys.searchByKey(token.key) || {};\n const { param } = tokenConfig;\n\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 (tokenConfig.lowercaseValueOnSubmit) {\n tokenValue = tokenValue.toLowerCase();\n }\n\n if (\n (tokenValue[0] === \"'\" && tokenValue[tokenValue.length - 1] === \"'\") ||\n (tokenValue[0] === '\"' && tokenValue[tokenValue.length - 1] === '\"')\n ) {\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\n .split(' ')\n .map(t => encodeURIComponent(t))\n .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","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","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--1!../../../../../../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--1!../../../../../../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=9f0c1516&\"\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\ncomponent.options.__file = \"assignee_title.vue\"\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(\" \"+_vm._s(_vm.__('Notifications'))+\" \")]),_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--1!../../../../../../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--1!../../../../../../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=70cd80c6&\"\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\ncomponent.options.__file = \"subscriptions.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"sidebar-collapsed-icon sidebar-collapsed-user\",class:{ 'multiple-users': _vm.hasMoreThanOneAssignee },attrs:{\"title\":_vm.collapsedTooltipTitle,\"data-container\":\"body\",\"data-placement\":\"left\",\"data-boundary\":\"viewport\"}},[(_vm.hasNoUsers)?_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-label\":\"No Assignee\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.users),function(user,index){return (_vm.shouldRenderCollapsedAssignee(index))?_c('button',{key:user.id,staticClass:\"btn-link\",attrs:{\"type\":\"button\"}},[_c('img',{staticClass:\"avatar avatar-inline s24\",attrs:{\"alt\":_vm.assigneeAlt(user),\"src\":_vm.avatarUrl(user),\"width\":\"24\"}}),_vm._v(\" \"),_c('span',{staticClass:\"author\"},[_vm._v(\" \"+_vm._s(user.name)+\" \")])]):_vm._e()}),_vm._v(\" \"),(_vm.hasMoreThanTwoAssignees)?_c('button',{staticClass:\"btn-link\",attrs:{\"type\":\"button\"}},[_c('span',{staticClass:\"avatar-counter sidebar-avatar-counter\"},[_vm._v(\" \"+_vm._s(_vm.sidebarAvatarCounter)+\" \")])]):_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 - \"),_c('button',{staticClass:\"btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.assignSelf}},[_vm._v(\"assign yourself\")])]:_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(\" \"+_vm._s(_vm.firstUser.name)+\" \")]),_vm._v(\" \"),_c('span',{staticClass:\"username\"},[_vm._v(\" \"+_vm._s(_vm.assigneeUsername(_vm.firstUser))+\" \")])])]:[_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--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignees.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./assignees.vue?vue&type=template&id=4e4ddb0a&\"\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\ncomponent.options.__file = \"assignees.vue\"\nexport default component.exports","/**!\n * Sortable\n * @author\tRubaXa \n * @license MIT\n */\n\n(function sortableModule(factory) {\n\t\"use strict\";\n\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(factory);\n\t}\n\telse if (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t\tmodule.exports = factory();\n\t}\n\telse {\n\t\t/* jshint sub:true */\n\t\twindow[\"Sortable\"] = factory();\n\t}\n})(function sortableFactory() {\n\t\"use strict\";\n\n\tif (typeof window === \"undefined\" || !window.document) {\n\t\treturn function sortableError() {\n\t\t\tthrow new Error(\"Sortable.js requires a window with a document\");\n\t\t};\n\t}\n\n\tvar dragEl,\n\t\tparentEl,\n\t\tghostEl,\n\t\tcloneEl,\n\t\trootEl,\n\t\tnextEl,\n\t\tlastDownEl,\n\n\t\tscrollEl,\n\t\tscrollParentEl,\n\t\tscrollCustomFn,\n\n\t\tlastEl,\n\t\tlastCSS,\n\t\tlastParentCSS,\n\n\t\toldIndex,\n\t\tnewIndex,\n\n\t\tactiveGroup,\n\t\tputSortable,\n\n\t\tautoScroll = {},\n\n\t\ttapEvt,\n\t\ttouchEvt,\n\n\t\tmoved,\n\n\t\t/** @const */\n\t\tR_SPACE = /\\s+/g,\n\t\tR_FLOAT = /left|right|inline/,\n\n\t\texpando = 'Sortable' + (new Date).getTime(),\n\n\t\twin = window,\n\t\tdocument = win.document,\n\t\tparseInt = win.parseInt,\n\t\tsetTimeout = win.setTimeout,\n\n\t\t$ = win.jQuery || win.Zepto,\n\t\tPolymer = win.Polymer,\n\n\t\tcaptureMode = false,\n\t\tpassiveMode = false,\n\n\t\tsupportDraggable = ('draggable' in document.createElement('div')),\n\t\tsupportCssPointerEvents = (function (el) {\n\t\t\t// false when IE11\n\t\t\tif (!!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\\.|msie)/i)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tel = document.createElement('x');\n\t\t\tel.style.cssText = 'pointer-events:auto';\n\t\t\treturn el.style.pointerEvents === 'auto';\n\t\t})(),\n\n\t\t_silent = false,\n\n\t\tabs = Math.abs,\n\t\tmin = Math.min,\n\n\t\tsavedInputChecked = [],\n\t\ttouchDragOverListeners = [],\n\n\t\t_autoScroll = _throttle(function (/**Event*/evt, /**Object*/options, /**HTMLElement*/rootEl) {\n\t\t\t// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tif (rootEl && options.scroll) {\n\t\t\t\tvar _this = rootEl[expando],\n\t\t\t\t\tel,\n\t\t\t\t\trect,\n\t\t\t\t\tsens = options.scrollSensitivity,\n\t\t\t\t\tspeed = options.scrollSpeed,\n\n\t\t\t\t\tx = evt.clientX,\n\t\t\t\t\ty = evt.clientY,\n\n\t\t\t\t\twinWidth = window.innerWidth,\n\t\t\t\t\twinHeight = window.innerHeight,\n\n\t\t\t\t\tvx,\n\t\t\t\t\tvy,\n\n\t\t\t\t\tscrollOffsetX,\n\t\t\t\t\tscrollOffsetY\n\t\t\t\t;\n\n\t\t\t\t// Delect scrollEl\n\t\t\t\tif (scrollParentEl !== rootEl) {\n\t\t\t\t\tscrollEl = options.scroll;\n\t\t\t\t\tscrollParentEl = rootEl;\n\t\t\t\t\tscrollCustomFn = options.scrollFn;\n\n\t\t\t\t\tif (scrollEl === true) {\n\t\t\t\t\t\tscrollEl = rootEl;\n\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif ((scrollEl.offsetWidth < scrollEl.scrollWidth) ||\n\t\t\t\t\t\t\t\t(scrollEl.offsetHeight < scrollEl.scrollHeight)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\t} while (scrollEl = scrollEl.parentNode);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (scrollEl) {\n\t\t\t\t\tel = scrollEl;\n\t\t\t\t\trect = scrollEl.getBoundingClientRect();\n\t\t\t\t\tvx = (abs(rect.right - x) <= sens) - (abs(rect.left - x) <= sens);\n\t\t\t\t\tvy = (abs(rect.bottom - y) <= sens) - (abs(rect.top - y) <= sens);\n\t\t\t\t}\n\n\n\t\t\t\tif (!(vx || vy)) {\n\t\t\t\t\tvx = (winWidth - x <= sens) - (x <= sens);\n\t\t\t\t\tvy = (winHeight - y <= sens) - (y <= sens);\n\n\t\t\t\t\t/* jshint expr:true */\n\t\t\t\t\t(vx || vy) && (el = win);\n\t\t\t\t}\n\n\n\t\t\t\tif (autoScroll.vx !== vx || autoScroll.vy !== vy || autoScroll.el !== el) {\n\t\t\t\t\tautoScroll.el = el;\n\t\t\t\t\tautoScroll.vx = vx;\n\t\t\t\t\tautoScroll.vy = vy;\n\n\t\t\t\t\tclearInterval(autoScroll.pid);\n\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tautoScroll.pid = setInterval(function () {\n\t\t\t\t\t\t\tscrollOffsetY = vy ? vy * speed : 0;\n\t\t\t\t\t\t\tscrollOffsetX = vx ? vx * speed : 0;\n\n\t\t\t\t\t\t\tif ('function' === typeof(scrollCustomFn)) {\n\t\t\t\t\t\t\t\treturn scrollCustomFn.call(_this, scrollOffsetX, scrollOffsetY, evt);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (el === win) {\n\t\t\t\t\t\t\t\twin.scrollTo(win.pageXOffset + scrollOffsetX, win.pageYOffset + scrollOffsetY);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tel.scrollTop += scrollOffsetY;\n\t\t\t\t\t\t\t\tel.scrollLeft += scrollOffsetX;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 24);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 30),\n\n\t\t_prepareGroup = function (options) {\n\t\t\tfunction toFn(value, pull) {\n\t\t\t\tif (value === void 0 || value === true) {\n\t\t\t\t\tvalue = group.name;\n\t\t\t\t}\n\n\t\t\t\tif (typeof value === 'function') {\n\t\t\t\t\treturn value;\n\t\t\t\t} else {\n\t\t\t\t\treturn function (to, from) {\n\t\t\t\t\t\tvar fromGroup = from.options.group.name;\n\n\t\t\t\t\t\treturn pull\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: value && (value.join\n\t\t\t\t\t\t\t\t? value.indexOf(fromGroup) > -1\n\t\t\t\t\t\t\t\t: (fromGroup == value)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar group = {};\n\t\t\tvar originalGroup = options.group;\n\n\t\t\tif (!originalGroup || typeof originalGroup != 'object') {\n\t\t\t\toriginalGroup = {name: originalGroup};\n\t\t\t}\n\n\t\t\tgroup.name = originalGroup.name;\n\t\t\tgroup.checkPull = toFn(originalGroup.pull, true);\n\t\t\tgroup.checkPut = toFn(originalGroup.put);\n\t\t\tgroup.revertClone = originalGroup.revertClone;\n\n\t\t\toptions.group = group;\n\t\t}\n\t;\n\n\t// Detect support a passive mode\n\ttry {\n\t\twindow.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n\t\t\tget: function () {\n\t\t\t\t// `false`, because everything starts to work incorrectly and instead of d'n'd,\n\t\t\t\t// begins the page has scrolled.\n\t\t\t\tpassiveMode = false;\n\t\t\t\tcaptureMode = {\n\t\t\t\t\tcapture: false,\n\t\t\t\t\tpassive: passiveMode\n\t\t\t\t};\n\t\t\t}\n\t\t}));\n\t} catch (err) {}\n\n\t/**\n\t * @class Sortable\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tfunction Sortable(el, options) {\n\t\tif (!(el && el.nodeType && el.nodeType === 1)) {\n\t\t\tthrow 'Sortable: `el` must be HTMLElement, and not ' + {}.toString.call(el);\n\t\t}\n\n\t\tthis.el = el; // root element\n\t\tthis.options = options = _extend({}, options);\n\n\n\t\t// Export instance\n\t\tel[expando] = this;\n\n\t\t// Default options\n\t\tvar defaults = {\n\t\t\tgroup: Math.random(),\n\t\t\tsort: true,\n\t\t\tdisabled: false,\n\t\t\tstore: null,\n\t\t\thandle: null,\n\t\t\tscroll: true,\n\t\t\tscrollSensitivity: 30,\n\t\t\tscrollSpeed: 10,\n\t\t\tdraggable: /[uo]l/i.test(el.nodeName) ? 'li' : '>*',\n\t\t\tghostClass: 'sortable-ghost',\n\t\t\tchosenClass: 'sortable-chosen',\n\t\t\tdragClass: 'sortable-drag',\n\t\t\tignore: 'a, img',\n\t\t\tfilter: null,\n\t\t\tpreventOnFilter: true,\n\t\t\tanimation: 0,\n\t\t\tsetData: function (dataTransfer, dragEl) {\n\t\t\t\tdataTransfer.setData('Text', dragEl.textContent);\n\t\t\t},\n\t\t\tdropBubble: false,\n\t\t\tdragoverBubble: false,\n\t\t\tdataIdAttr: 'data-id',\n\t\t\tdelay: 0,\n\t\t\tforceFallback: false,\n\t\t\tfallbackClass: 'sortable-fallback',\n\t\t\tfallbackOnBody: false,\n\t\t\tfallbackTolerance: 0,\n\t\t\tfallbackOffset: {x: 0, y: 0},\n\t\t\tsupportPointer: Sortable.supportPointer !== false\n\t\t};\n\n\n\t\t// Set default options\n\t\tfor (var name in defaults) {\n\t\t\t!(name in options) && (options[name] = defaults[name]);\n\t\t}\n\n\t\t_prepareGroup(options);\n\n\t\t// Bind all private methods\n\t\tfor (var fn in this) {\n\t\t\tif (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n\t\t\t\tthis[fn] = this[fn].bind(this);\n\t\t\t}\n\t\t}\n\n\t\t// Setup drag mode\n\t\tthis.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n\t\t// Bind events\n\t\t_on(el, 'mousedown', this._onTapStart);\n\t\t_on(el, 'touchstart', this._onTapStart);\n\t\toptions.supportPointer && _on(el, 'pointerdown', this._onTapStart);\n\n\t\tif (this.nativeDraggable) {\n\t\t\t_on(el, 'dragover', this);\n\t\t\t_on(el, 'dragenter', this);\n\t\t}\n\n\t\ttouchDragOverListeners.push(this._onDragOver);\n\n\t\t// Restore sorting\n\t\toptions.store && this.sort(options.store.get(this));\n\t}\n\n\n\tSortable.prototype = /** @lends Sortable.prototype */ {\n\t\tconstructor: Sortable,\n\n\t\t_onTapStart: function (/** Event|TouchEvent */evt) {\n\t\t\tvar _this = this,\n\t\t\t\tel = this.el,\n\t\t\t\toptions = this.options,\n\t\t\t\tpreventOnFilter = options.preventOnFilter,\n\t\t\t\ttype = evt.type,\n\t\t\t\ttouch = evt.touches && evt.touches[0],\n\t\t\t\ttarget = (touch || evt).target,\n\t\t\t\toriginalTarget = evt.target.shadowRoot && (evt.path && evt.path[0]) || target,\n\t\t\t\tfilter = options.filter,\n\t\t\t\tstartIndex;\n\n\t\t\t_saveInputCheckedState(el);\n\n\n\t\t\t// Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\t\t\tif (dragEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n\t\t\t\treturn; // only left button or enabled\n\t\t\t}\n\n\t\t\t// cancel dnd if original target is content editable\n\t\t\tif (originalTarget.isContentEditable) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttarget = _closest(target, options.draggable, el);\n\n\t\t\tif (!target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (lastDownEl === target) {\n\t\t\t\t// Ignoring duplicate `down`\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the index of the dragged element within its parent\n\t\t\tstartIndex = _index(target, options.draggable);\n\n\t\t\t// Check filter\n\t\t\tif (typeof filter === 'function') {\n\t\t\t\tif (filter.call(this, evt, target, this)) {\n\t\t\t\t\t_dispatchEvent(_this, originalTarget, 'filter', target, el, el, startIndex);\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (filter) {\n\t\t\t\tfilter = filter.split(',').some(function (criteria) {\n\t\t\t\t\tcriteria = _closest(originalTarget, criteria.trim(), el);\n\n\t\t\t\t\tif (criteria) {\n\t\t\t\t\t\t_dispatchEvent(_this, criteria, 'filter', target, el, el, startIndex);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filter) {\n\t\t\t\t\tpreventOnFilter && evt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.handle && !_closest(originalTarget, options.handle, el)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Prepare `dragstart`\n\t\t\tthis._prepareDragStart(evt, touch, target, startIndex);\n\t\t},\n\n\t\t_prepareDragStart: function (/** Event */evt, /** Touch */touch, /** HTMLElement */target, /** Number */startIndex) {\n\t\t\tvar _this = this,\n\t\t\t\tel = _this.el,\n\t\t\t\toptions = _this.options,\n\t\t\t\townerDocument = el.ownerDocument,\n\t\t\t\tdragStartFn;\n\n\t\t\tif (target && !dragEl && (target.parentNode === el)) {\n\t\t\t\ttapEvt = evt;\n\n\t\t\t\trootEl = el;\n\t\t\t\tdragEl = target;\n\t\t\t\tparentEl = dragEl.parentNode;\n\t\t\t\tnextEl = dragEl.nextSibling;\n\t\t\t\tlastDownEl = target;\n\t\t\t\tactiveGroup = options.group;\n\t\t\t\toldIndex = startIndex;\n\n\t\t\t\tthis._lastX = (touch || evt).clientX;\n\t\t\t\tthis._lastY = (touch || evt).clientY;\n\n\t\t\t\tdragEl.style['will-change'] = 'all';\n\n\t\t\t\tdragStartFn = function () {\n\t\t\t\t\t// Delayed drag has been triggered\n\t\t\t\t\t// we can re-enable the events: touchmove/mousemove\n\t\t\t\t\t_this._disableDelayedDrag();\n\n\t\t\t\t\t// Make the element draggable\n\t\t\t\t\tdragEl.draggable = _this.nativeDraggable;\n\n\t\t\t\t\t// Chosen item\n\t\t\t\t\t_toggleClass(dragEl, options.chosenClass, true);\n\n\t\t\t\t\t// Bind the events: dragstart/dragend\n\t\t\t\t\t_this._triggerDragStart(evt, touch);\n\n\t\t\t\t\t// Drag start event\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'choose', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t\t};\n\n\t\t\t\t// Disable \"draggable\"\n\t\t\t\toptions.ignore.split(',').forEach(function (criteria) {\n\t\t\t\t\t_find(dragEl, criteria.trim(), _disableDraggable);\n\t\t\t\t});\n\n\t\t\t\t_on(ownerDocument, 'mouseup', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchend', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchcancel', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'selectstart', _this);\n\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointercancel', _this._onDrop);\n\n\t\t\t\tif (options.delay) {\n\t\t\t\t\t// If the user moves the pointer or let go the click or touch\n\t\t\t\t\t// before the delay has been reached:\n\t\t\t\t\t// disable the delayed drag\n\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'mousemove', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchmove', _this._disableDelayedDrag);\n\t\t\t\t\toptions.supportPointer && _on(ownerDocument, 'pointermove', _this._disableDelayedDrag);\n\n\t\t\t\t\t_this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n\t\t\t\t} else {\n\t\t\t\t\tdragStartFn();\n\t\t\t\t}\n\n\n\t\t\t}\n\t\t},\n\n\t\t_disableDelayedDrag: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\tclearTimeout(this._dragStartTimer);\n\t\t\t_off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchend', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'mousemove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchmove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'pointermove', this._disableDelayedDrag);\n\t\t},\n\n\t\t_triggerDragStart: function (/** Event */evt, /** Touch */touch) {\n\t\t\ttouch = touch || (evt.pointerType == 'touch' ? evt : null);\n\n\t\t\tif (touch) {\n\t\t\t\t// Touch device support\n\t\t\t\ttapEvt = {\n\t\t\t\t\ttarget: dragEl,\n\t\t\t\t\tclientX: touch.clientX,\n\t\t\t\t\tclientY: touch.clientY\n\t\t\t\t};\n\n\t\t\t\tthis._onDragStart(tapEvt, 'touch');\n\t\t\t}\n\t\t\telse if (!this.nativeDraggable) {\n\t\t\t\tthis._onDragStart(tapEvt, true);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_on(dragEl, 'dragend', this);\n\t\t\t\t_on(rootEl, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tif (document.selection) {\n\t\t\t\t\t// Timeout neccessary for IE9\n\t\t\t\t\t_nextTick(function () {\n\t\t\t\t\t\tdocument.selection.empty();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t}\n\t\t},\n\n\t\t_dragStarted: function () {\n\t\t\tif (rootEl && dragEl) {\n\t\t\t\tvar options = this.options;\n\n\t\t\t\t// Apply effect\n\t\t\t\t_toggleClass(dragEl, options.ghostClass, true);\n\t\t\t\t_toggleClass(dragEl, options.dragClass, false);\n\n\t\t\t\tSortable.active = this;\n\n\t\t\t\t// Drag start event\n\t\t\t\t_dispatchEvent(this, rootEl, 'start', dragEl, rootEl, rootEl, oldIndex);\n\t\t\t} else {\n\t\t\t\tthis._nulling();\n\t\t\t}\n\t\t},\n\n\t\t_emulateDragOver: function () {\n\t\t\tif (touchEvt) {\n\t\t\t\tif (this._lastX === touchEvt.clientX && this._lastY === touchEvt.clientY) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._lastX = touchEvt.clientX;\n\t\t\t\tthis._lastY = touchEvt.clientY;\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', 'none');\n\t\t\t\t}\n\n\t\t\t\tvar target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\tvar parent = target;\n\t\t\t\tvar i = touchDragOverListeners.length;\n\n\t\t\t\tif (target && target.shadowRoot) {\n\t\t\t\t\ttarget = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n\t\t\t\t\tparent = target;\n\t\t\t\t}\n\n\t\t\t\tif (parent) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (parent[expando]) {\n\t\t\t\t\t\t\twhile (i--) {\n\t\t\t\t\t\t\t\ttouchDragOverListeners[i]({\n\t\t\t\t\t\t\t\t\tclientX: touchEvt.clientX,\n\t\t\t\t\t\t\t\t\tclientY: touchEvt.clientY,\n\t\t\t\t\t\t\t\t\ttarget: target,\n\t\t\t\t\t\t\t\t\trootEl: parent\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget = parent; // store last element\n\t\t\t\t\t}\n\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\twhile (parent = parent.parentNode);\n\t\t\t\t}\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', '');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t_onTouchMove: function (/**TouchEvent*/evt) {\n\t\t\tif (tapEvt) {\n\t\t\t\tvar\toptions = this.options,\n\t\t\t\t\tfallbackTolerance = options.fallbackTolerance,\n\t\t\t\t\tfallbackOffset = options.fallbackOffset,\n\t\t\t\t\ttouch = evt.touches ? evt.touches[0] : evt,\n\t\t\t\t\tdx = (touch.clientX - tapEvt.clientX) + fallbackOffset.x,\n\t\t\t\t\tdy = (touch.clientY - tapEvt.clientY) + fallbackOffset.y,\n\t\t\t\t\ttranslate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)';\n\n\t\t\t\t// only set the status to dragging, when we are actually dragging\n\t\t\t\tif (!Sortable.active) {\n\t\t\t\t\tif (fallbackTolerance &&\n\t\t\t\t\t\tmin(abs(touch.clientX - this._lastX), abs(touch.clientY - this._lastY)) < fallbackTolerance\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._dragStarted();\n\t\t\t\t}\n\n\t\t\t\t// as well as creating the ghost element on the document body\n\t\t\t\tthis._appendGhost();\n\n\t\t\t\tmoved = true;\n\t\t\t\ttouchEvt = touch;\n\n\t\t\t\t_css(ghostEl, 'webkitTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'mozTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'msTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'transform', translate3d);\n\n\t\t\t\tevt.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t_appendGhost: function () {\n\t\t\tif (!ghostEl) {\n\t\t\t\tvar rect = dragEl.getBoundingClientRect(),\n\t\t\t\t\tcss = _css(dragEl),\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\tghostRect;\n\n\t\t\t\tghostEl = dragEl.cloneNode(true);\n\n\t\t\t\t_toggleClass(ghostEl, options.ghostClass, false);\n\t\t\t\t_toggleClass(ghostEl, options.fallbackClass, true);\n\t\t\t\t_toggleClass(ghostEl, options.dragClass, true);\n\n\t\t\t\t_css(ghostEl, 'top', rect.top - parseInt(css.marginTop, 10));\n\t\t\t\t_css(ghostEl, 'left', rect.left - parseInt(css.marginLeft, 10));\n\t\t\t\t_css(ghostEl, 'width', rect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height);\n\t\t\t\t_css(ghostEl, 'opacity', '0.8');\n\t\t\t\t_css(ghostEl, 'position', 'fixed');\n\t\t\t\t_css(ghostEl, 'zIndex', '100000');\n\t\t\t\t_css(ghostEl, 'pointerEvents', 'none');\n\n\t\t\t\toptions.fallbackOnBody && document.body.appendChild(ghostEl) || rootEl.appendChild(ghostEl);\n\n\t\t\t\t// Fixing dimensions.\n\t\t\t\tghostRect = ghostEl.getBoundingClientRect();\n\t\t\t\t_css(ghostEl, 'width', rect.width * 2 - ghostRect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height * 2 - ghostRect.height);\n\t\t\t}\n\t\t},\n\n\t\t_onDragStart: function (/**Event*/evt, /**boolean*/useFallback) {\n\t\t\tvar _this = this;\n\t\t\tvar dataTransfer = evt.dataTransfer;\n\t\t\tvar options = _this.options;\n\n\t\t\t_this._offUpEvents();\n\n\t\t\tif (activeGroup.checkPull(_this, _this, dragEl, evt)) {\n\t\t\t\tcloneEl = _clone(dragEl);\n\n\t\t\t\tcloneEl.draggable = false;\n\t\t\t\tcloneEl.style['will-change'] = '';\n\n\t\t\t\t_css(cloneEl, 'display', 'none');\n\t\t\t\t_toggleClass(cloneEl, _this.options.chosenClass, false);\n\n\t\t\t\t// #1143: IFrame support workaround\n\t\t\t\t_this._cloneId = _nextTick(function () {\n\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t_dispatchEvent(_this, rootEl, 'clone', dragEl);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t_toggleClass(dragEl, options.dragClass, true);\n\n\t\t\tif (useFallback) {\n\t\t\t\tif (useFallback === 'touch') {\n\t\t\t\t\t// Bind touch events\n\t\t\t\t\t_on(document, 'touchmove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'touchend', _this._onDrop);\n\t\t\t\t\t_on(document, 'touchcancel', _this._onDrop);\n\n\t\t\t\t\tif (options.supportPointer) {\n\t\t\t\t\t\t_on(document, 'pointermove', _this._onTouchMove);\n\t\t\t\t\t\t_on(document, 'pointerup', _this._onDrop);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Old brwoser\n\t\t\t\t\t_on(document, 'mousemove', _this._onTouchMove);\n\t\t\t\t\t_on(document, 'mouseup', _this._onDrop);\n\t\t\t\t}\n\n\t\t\t\t_this._loopId = setInterval(_this._emulateDragOver, 50);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (dataTransfer) {\n\t\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\t\toptions.setData && options.setData.call(_this, dataTransfer, dragEl);\n\t\t\t\t}\n\n\t\t\t\t_on(document, 'drop', _this);\n\n\t\t\t\t// #1143: Бывает элемент с IFrame внутри блокирует `drop`,\n\t\t\t\t// поэтому если вызвался `mouseover`, значит надо отменять весь d'n'd.\n\t\t\t\t// Breaking Chrome 62+\n\t\t\t\t// _on(document, 'mouseover', _this);\n\n\t\t\t\t_this._dragStartId = _nextTick(_this._dragStarted);\n\t\t\t}\n\t\t},\n\n\t\t_onDragOver: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\ttarget,\n\t\t\t\tdragRect,\n\t\t\t\ttargetRect,\n\t\t\t\trevert,\n\t\t\t\toptions = this.options,\n\t\t\t\tgroup = options.group,\n\t\t\t\tactiveSortable = Sortable.active,\n\t\t\t\tisOwner = (activeGroup === group),\n\t\t\t\tisMovingBetweenSortable = false,\n\t\t\t\tcanSort = options.sort;\n\n\t\t\tif (evt.preventDefault !== void 0) {\n\t\t\t\tevt.preventDefault();\n\t\t\t\t!options.dragoverBubble && evt.stopPropagation();\n\t\t\t}\n\n\t\t\tif (dragEl.animated) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmoved = true;\n\n\t\t\tif (activeSortable && !options.disabled &&\n\t\t\t\t(isOwner\n\t\t\t\t\t? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n\t\t\t\t\t: (\n\t\t\t\t\t\tputSortable === this ||\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(activeSortable.lastPullMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) &&\n\t\t\t\t\t\t\tgroup.checkPut(this, activeSortable, dragEl, evt)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) &&\n\t\t\t\t(evt.rootEl === void 0 || evt.rootEl === this.el) // touch fallback\n\t\t\t) {\n\t\t\t\t// Smart auto-scrolling\n\t\t\t\t_autoScroll(evt, options, this.el);\n\n\t\t\t\tif (_silent) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = _closest(evt.target, options.draggable, el);\n\t\t\t\tdragRect = dragEl.getBoundingClientRect();\n\n\t\t\t\tif (putSortable !== this) {\n\t\t\t\t\tputSortable = this;\n\t\t\t\t\tisMovingBetweenSortable = true;\n\t\t\t\t}\n\n\t\t\t\tif (revert) {\n\t\t\t\t\t_cloneHide(activeSortable, true);\n\t\t\t\t\tparentEl = rootEl; // actualization\n\n\t\t\t\t\tif (cloneEl || nextEl) {\n\t\t\t\t\t\trootEl.insertBefore(dragEl, cloneEl || nextEl);\n\t\t\t\t\t}\n\t\t\t\t\telse if (!canSort) {\n\t\t\t\t\t\trootEl.appendChild(dragEl);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tif ((el.children.length === 0) || (el.children[0] === ghostEl) ||\n\t\t\t\t\t(el === evt.target) && (_ghostIsLast(el, evt))\n\t\t\t\t) {\n\t\t\t\t\t//assign target only if condition is true\n\t\t\t\t\tif (el.children.length !== 0 && el.children[0] !== ghostEl && el === evt.target) {\n\t\t\t\t\t\ttarget = el.lastElementChild;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tif (target.animated) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\t\t\t\t\t}\n\n\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\tif (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt) !== false) {\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\tparentEl = el; // actualization\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\ttarget && this._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (target && !target.animated && target !== dragEl && (target.parentNode[expando] !== void 0)) {\n\t\t\t\t\tif (lastEl !== target) {\n\t\t\t\t\t\tlastEl = target;\n\t\t\t\t\t\tlastCSS = _css(target);\n\t\t\t\t\t\tlastParentCSS = _css(target.parentNode);\n\t\t\t\t\t}\n\n\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\n\t\t\t\t\tvar width = targetRect.right - targetRect.left,\n\t\t\t\t\t\theight = targetRect.bottom - targetRect.top,\n\t\t\t\t\t\tfloating = R_FLOAT.test(lastCSS.cssFloat + lastCSS.display)\n\t\t\t\t\t\t\t|| (lastParentCSS.display == 'flex' && lastParentCSS['flex-direction'].indexOf('row') === 0),\n\t\t\t\t\t\tisWide = (target.offsetWidth > dragEl.offsetWidth),\n\t\t\t\t\t\tisLong = (target.offsetHeight > dragEl.offsetHeight),\n\t\t\t\t\t\thalfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5,\n\t\t\t\t\t\tnextSibling = target.nextElementSibling,\n\t\t\t\t\t\tafter = false\n\t\t\t\t\t;\n\n\t\t\t\t\tif (floating) {\n\t\t\t\t\t\tvar elTop = dragEl.offsetTop,\n\t\t\t\t\t\t\ttgTop = target.offsetTop;\n\n\t\t\t\t\t\tif (elTop === tgTop) {\n\t\t\t\t\t\t\tafter = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (target.previousElementSibling === dragEl || dragEl.previousElementSibling === target) {\n\t\t\t\t\t\t\tafter = (evt.clientY - targetRect.top) / height > 0.5;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tafter = tgTop > elTop;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!isMovingBetweenSortable) {\n\t\t\t\t\t\tafter = (nextSibling !== dragEl) && !isLong || halfway && isLong;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n\t\t\t\t\tif (moveVector !== false) {\n\t\t\t\t\t\tif (moveVector === 1 || moveVector === -1) {\n\t\t\t\t\t\t\tafter = (moveVector === 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_silent = true;\n\t\t\t\t\t\tsetTimeout(_unsilent, 30);\n\n\t\t\t\t\t\t_cloneHide(activeSortable, isOwner);\n\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tif (after && !nextSibling) {\n\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttarget.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparentEl = dragEl.parentNode; // actualization\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\tthis._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_animate: function (prevRect, target) {\n\t\t\tvar ms = this.options.animation;\n\n\t\t\tif (ms) {\n\t\t\t\tvar currentRect = target.getBoundingClientRect();\n\n\t\t\t\tif (prevRect.nodeType === 1) {\n\t\t\t\t\tprevRect = prevRect.getBoundingClientRect();\n\t\t\t\t}\n\n\t\t\t\t_css(target, 'transition', 'none');\n\t\t\t\t_css(target, 'transform', 'translate3d('\n\t\t\t\t\t+ (prevRect.left - currentRect.left) + 'px,'\n\t\t\t\t\t+ (prevRect.top - currentRect.top) + 'px,0)'\n\t\t\t\t);\n\n\t\t\t\ttarget.offsetWidth; // repaint\n\n\t\t\t\t_css(target, 'transition', 'all ' + ms + 'ms');\n\t\t\t\t_css(target, 'transform', 'translate3d(0,0,0)');\n\n\t\t\t\tclearTimeout(target.animated);\n\t\t\t\ttarget.animated = setTimeout(function () {\n\t\t\t\t\t_css(target, 'transition', '');\n\t\t\t\t\t_css(target, 'transform', '');\n\t\t\t\t\ttarget.animated = false;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t},\n\n\t\t_offUpEvents: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\t_off(document, 'touchmove', this._onTouchMove);\n\t\t\t_off(document, 'pointermove', this._onTouchMove);\n\t\t\t_off(ownerDocument, 'mouseup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchend', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointerup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchcancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'pointercancel', this._onDrop);\n\t\t\t_off(ownerDocument, 'selectstart', this);\n\t\t},\n\n\t\t_onDrop: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\toptions = this.options;\n\n\t\t\tclearInterval(this._loopId);\n\t\t\tclearInterval(autoScroll.pid);\n\t\t\tclearTimeout(this._dragStartTimer);\n\n\t\t\t_cancelNextTick(this._cloneId);\n\t\t\t_cancelNextTick(this._dragStartId);\n\n\t\t\t// Unbind events\n\t\t\t_off(document, 'mouseover', this);\n\t\t\t_off(document, 'mousemove', this._onTouchMove);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(document, 'drop', this);\n\t\t\t\t_off(el, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\tthis._offUpEvents();\n\n\t\t\tif (evt) {\n\t\t\t\tif (moved) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t!options.dropBubble && evt.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n\t\t\t\tif (rootEl === parentEl || Sortable.active.lastPullMode !== 'clone') {\n\t\t\t\t\t// Remove clone\n\t\t\t\t\tcloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n\t\t\t\t}\n\n\t\t\t\tif (dragEl) {\n\t\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t\t_off(dragEl, 'dragend', this);\n\t\t\t\t\t}\n\n\t\t\t\t\t_disableDraggable(dragEl);\n\t\t\t\t\tdragEl.style['will-change'] = '';\n\n\t\t\t\t\t// Remove class's\n\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, false);\n\t\t\t\t\t_toggleClass(dragEl, this.options.chosenClass, false);\n\n\t\t\t\t\t// Drag stop event\n\t\t\t\t\t_dispatchEvent(this, rootEl, 'unchoose', dragEl, parentEl, rootEl, oldIndex);\n\n\t\t\t\t\tif (rootEl !== parentEl) {\n\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t// Add event\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'add', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// Remove event\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'remove', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// drag from one list and drop into another\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (dragEl.nextSibling !== nextEl) {\n\t\t\t\t\t\t\t// Get the index of the dragged element within its parent\n\t\t\t\t\t\t\tnewIndex = _index(dragEl, options.draggable);\n\n\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t// drag & drop within the same list\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'update', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Sortable.active) {\n\t\t\t\t\t\t/* jshint eqnull:true */\n\t\t\t\t\t\tif (newIndex == null || newIndex === -1) {\n\t\t\t\t\t\t\tnewIndex = oldIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'end', dragEl, parentEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t// Save sorting\n\t\t\t\t\t\tthis.save();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis._nulling();\n\t\t},\n\n\t\t_nulling: function() {\n\t\t\trootEl =\n\t\t\tdragEl =\n\t\t\tparentEl =\n\t\t\tghostEl =\n\t\t\tnextEl =\n\t\t\tcloneEl =\n\t\t\tlastDownEl =\n\n\t\t\tscrollEl =\n\t\t\tscrollParentEl =\n\n\t\t\ttapEvt =\n\t\t\ttouchEvt =\n\n\t\t\tmoved =\n\t\t\tnewIndex =\n\n\t\t\tlastEl =\n\t\t\tlastCSS =\n\n\t\t\tputSortable =\n\t\t\tactiveGroup =\n\t\t\tSortable.active = null;\n\n\t\t\tsavedInputChecked.forEach(function (el) {\n\t\t\t\tel.checked = true;\n\t\t\t});\n\t\t\tsavedInputChecked.length = 0;\n\t\t},\n\n\t\thandleEvent: function (/**Event*/evt) {\n\t\t\tswitch (evt.type) {\n\t\t\t\tcase 'drop':\n\t\t\t\tcase 'dragend':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'dragover':\n\t\t\t\tcase 'dragenter':\n\t\t\t\t\tif (dragEl) {\n\t\t\t\t\t\tthis._onDragOver(evt);\n\t\t\t\t\t\t_globalDragOver(evt);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'mouseover':\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'selectstart':\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Serializes the item into an array of string.\n\t\t * @returns {String[]}\n\t\t */\n\t\ttoArray: function () {\n\t\t\tvar order = [],\n\t\t\t\tel,\n\t\t\t\tchildren = this.el.children,\n\t\t\t\ti = 0,\n\t\t\t\tn = children.length,\n\t\t\t\toptions = this.options;\n\n\t\t\tfor (; i < n; i++) {\n\t\t\t\tel = children[i];\n\t\t\t\tif (_closest(el, options.draggable, this.el)) {\n\t\t\t\t\torder.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn order;\n\t\t},\n\n\n\t\t/**\n\t\t * Sorts the elements according to the array.\n\t\t * @param {String[]} order order of the items\n\t\t */\n\t\tsort: function (order) {\n\t\t\tvar items = {}, rootEl = this.el;\n\n\t\t\tthis.toArray().forEach(function (id, i) {\n\t\t\t\tvar el = rootEl.children[i];\n\n\t\t\t\tif (_closest(el, this.options.draggable, rootEl)) {\n\t\t\t\t\titems[id] = el;\n\t\t\t\t}\n\t\t\t}, this);\n\n\t\t\torder.forEach(function (id) {\n\t\t\t\tif (items[id]) {\n\t\t\t\t\trootEl.removeChild(items[id]);\n\t\t\t\t\trootEl.appendChild(items[id]);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n\t\t * Save the current sorting\n\t\t */\n\t\tsave: function () {\n\t\t\tvar store = this.options.store;\n\t\t\tstore && store.set(this);\n\t\t},\n\n\n\t\t/**\n\t\t * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\t\t * @param {HTMLElement} el\n\t\t * @param {String} [selector] default: `options.draggable`\n\t\t * @returns {HTMLElement|null}\n\t\t */\n\t\tclosest: function (el, selector) {\n\t\t\treturn _closest(el, selector || this.options.draggable, this.el);\n\t\t},\n\n\n\t\t/**\n\t\t * Set/get option\n\t\t * @param {string} name\n\t\t * @param {*} [value]\n\t\t * @returns {*}\n\t\t */\n\t\toption: function (name, value) {\n\t\t\tvar options = this.options;\n\n\t\t\tif (value === void 0) {\n\t\t\t\treturn options[name];\n\t\t\t} else {\n\t\t\t\toptions[name] = value;\n\n\t\t\t\tif (name === 'group') {\n\t\t\t\t\t_prepareGroup(options);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Destroy\n\t\t */\n\t\tdestroy: function () {\n\t\t\tvar el = this.el;\n\n\t\t\tel[expando] = null;\n\n\t\t\t_off(el, 'mousedown', this._onTapStart);\n\t\t\t_off(el, 'touchstart', this._onTapStart);\n\t\t\t_off(el, 'pointerdown', this._onTapStart);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(el, 'dragover', this);\n\t\t\t\t_off(el, 'dragenter', this);\n\t\t\t}\n\n\t\t\t// Remove draggable attributes\n\t\t\tArray.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n\t\t\t\tel.removeAttribute('draggable');\n\t\t\t});\n\n\t\t\ttouchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver), 1);\n\n\t\t\tthis._onDrop();\n\n\t\t\tthis.el = el = null;\n\t\t}\n\t};\n\n\n\tfunction _cloneHide(sortable, state) {\n\t\tif (sortable.lastPullMode !== 'clone') {\n\t\t\tstate = true;\n\t\t}\n\n\t\tif (cloneEl && (cloneEl.state !== state)) {\n\t\t\t_css(cloneEl, 'display', state ? 'none' : '');\n\n\t\t\tif (!state) {\n\t\t\t\tif (cloneEl.state) {\n\t\t\t\t\tif (sortable.options.group.revertClone) {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, nextEl);\n\t\t\t\t\t\tsortable._animate(dragEl, cloneEl);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcloneEl.state = state;\n\t\t}\n\t}\n\n\n\tfunction _closest(/**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx) {\n\t\tif (el) {\n\t\t\tctx = ctx || document;\n\n\t\t\tdo {\n\t\t\t\tif ((selector === '>*' && el.parentNode === ctx) || _matches(el, selector)) {\n\t\t\t\t\treturn el;\n\t\t\t\t}\n\t\t\t\t/* jshint boss:true */\n\t\t\t} while (el = _getParentOrHost(el));\n\t\t}\n\n\t\treturn null;\n\t}\n\n\n\tfunction _getParentOrHost(el) {\n\t\tvar parent = el.host;\n\n\t\treturn (parent && parent.nodeType) ? parent : el.parentNode;\n\t}\n\n\n\tfunction _globalDragOver(/**Event*/evt) {\n\t\tif (evt.dataTransfer) {\n\t\t\tevt.dataTransfer.dropEffect = 'move';\n\t\t}\n\t\tevt.preventDefault();\n\t}\n\n\n\tfunction _on(el, event, fn) {\n\t\tel.addEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _off(el, event, fn) {\n\t\tel.removeEventListener(event, fn, captureMode);\n\t}\n\n\n\tfunction _toggleClass(el, name, state) {\n\t\tif (el) {\n\t\t\tif (el.classList) {\n\t\t\t\tel.classList[state ? 'add' : 'remove'](name);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n\t\t\t\tel.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _css(el, prop, val) {\n\t\tvar style = el && el.style;\n\n\t\tif (style) {\n\t\t\tif (val === void 0) {\n\t\t\t\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\t\t\t\tval = document.defaultView.getComputedStyle(el, '');\n\t\t\t\t}\n\t\t\t\telse if (el.currentStyle) {\n\t\t\t\t\tval = el.currentStyle;\n\t\t\t\t}\n\n\t\t\t\treturn prop === void 0 ? val : val[prop];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!(prop in style)) {\n\t\t\t\t\tprop = '-webkit-' + prop;\n\t\t\t\t}\n\n\t\t\t\tstyle[prop] = val + (typeof val === 'string' ? '' : 'px');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _find(ctx, tagName, iterator) {\n\t\tif (ctx) {\n\t\t\tvar list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;\n\n\t\t\tif (iterator) {\n\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\titerator(list[i], i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\n\n\tfunction _dispatchEvent(sortable, rootEl, name, targetEl, toEl, fromEl, startIndex, newIndex) {\n\t\tsortable = (sortable || rootEl[expando]);\n\n\t\tvar evt = document.createEvent('Event'),\n\t\t\toptions = sortable.options,\n\t\t\tonName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n\n\t\tevt.initEvent(name, true, true);\n\n\t\tevt.to = toEl || rootEl;\n\t\tevt.from = fromEl || rootEl;\n\t\tevt.item = targetEl || rootEl;\n\t\tevt.clone = cloneEl;\n\n\t\tevt.oldIndex = startIndex;\n\t\tevt.newIndex = newIndex;\n\n\t\trootEl.dispatchEvent(evt);\n\n\t\tif (options[onName]) {\n\t\t\toptions[onName].call(sortable, evt);\n\t\t}\n\t}\n\n\n\tfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt, willInsertAfter) {\n\t\tvar evt,\n\t\t\tsortable = fromEl[expando],\n\t\t\tonMoveFn = sortable.options.onMove,\n\t\t\tretVal;\n\n\t\tevt = document.createEvent('Event');\n\t\tevt.initEvent('move', true, true);\n\n\t\tevt.to = toEl;\n\t\tevt.from = fromEl;\n\t\tevt.dragged = dragEl;\n\t\tevt.draggedRect = dragRect;\n\t\tevt.related = targetEl || toEl;\n\t\tevt.relatedRect = targetRect || toEl.getBoundingClientRect();\n\t\tevt.willInsertAfter = willInsertAfter;\n\n\t\tfromEl.dispatchEvent(evt);\n\n\t\tif (onMoveFn) {\n\t\t\tretVal = onMoveFn.call(sortable, evt, originalEvt);\n\t\t}\n\n\t\treturn retVal;\n\t}\n\n\n\tfunction _disableDraggable(el) {\n\t\tel.draggable = false;\n\t}\n\n\n\tfunction _unsilent() {\n\t\t_silent = false;\n\t}\n\n\n\t/** @returns {HTMLElement|false} */\n\tfunction _ghostIsLast(el, evt) {\n\t\tvar lastEl = el.lastElementChild,\n\t\t\trect = lastEl.getBoundingClientRect();\n\n\t\t// 5 — min delta\n\t\t// abs — нельзя добавлять, а то глюки при наведении сверху\n\t\treturn (evt.clientY - (rect.top + rect.height) > 5) ||\n\t\t\t(evt.clientX - (rect.left + rect.width) > 5);\n\t}\n\n\n\t/**\n\t * Generate id\n\t * @param {HTMLElement} el\n\t * @returns {String}\n\t * @private\n\t */\n\tfunction _generateId(el) {\n\t\tvar str = el.tagName + el.className + el.src + el.href + el.textContent,\n\t\t\ti = str.length,\n\t\t\tsum = 0;\n\n\t\twhile (i--) {\n\t\t\tsum += str.charCodeAt(i);\n\t\t}\n\n\t\treturn sum.toString(36);\n\t}\n\n\t/**\n\t * Returns the index of an element within its parent for a selected set of\n\t * elements\n\t * @param {HTMLElement} el\n\t * @param {selector} selector\n\t * @return {number}\n\t */\n\tfunction _index(el, selector) {\n\t\tvar index = 0;\n\n\t\tif (!el || !el.parentNode) {\n\t\t\treturn -1;\n\t\t}\n\n\t\twhile (el && (el = el.previousElementSibling)) {\n\t\t\tif ((el.nodeName.toUpperCase() !== 'TEMPLATE') && (selector === '>*' || _matches(el, selector))) {\n\t\t\t\tindex++;\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t}\n\n\tfunction _matches(/**HTMLElement*/el, /**String*/selector) {\n\t\tif (el) {\n\t\t\tselector = selector.split('.');\n\n\t\t\tvar tag = selector.shift().toUpperCase(),\n\t\t\t\tre = new RegExp('\\\\s(' + selector.join('|') + ')(?=\\\\s)', 'g');\n\n\t\t\treturn (\n\t\t\t\t(tag === '' || el.nodeName.toUpperCase() == tag) &&\n\t\t\t\t(!selector.length || ((' ' + el.className + ' ').match(re) || []).length == selector.length)\n\t\t\t);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction _throttle(callback, ms) {\n\t\tvar args, _this;\n\n\t\treturn function () {\n\t\t\tif (args === void 0) {\n\t\t\t\targs = arguments;\n\t\t\t\t_this = this;\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tif (args.length === 1) {\n\t\t\t\t\t\tcallback.call(_this, args[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback.apply(_this, args);\n\t\t\t\t\t}\n\n\t\t\t\t\targs = void 0;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction _extend(dst, src) {\n\t\tif (dst && src) {\n\t\t\tfor (var key in src) {\n\t\t\t\tif (src.hasOwnProperty(key)) {\n\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn dst;\n\t}\n\n\tfunction _clone(el) {\n\t\tif (Polymer && Polymer.dom) {\n\t\t\treturn Polymer.dom(el).cloneNode(true);\n\t\t}\n\t\telse if ($) {\n\t\t\treturn $(el).clone(true)[0];\n\t\t}\n\t\telse {\n\t\t\treturn el.cloneNode(true);\n\t\t}\n\t}\n\n\tfunction _saveInputCheckedState(root) {\n\t\tvar inputs = root.getElementsByTagName('input');\n\t\tvar idx = inputs.length;\n\n\t\twhile (idx--) {\n\t\t\tvar el = inputs[idx];\n\t\t\tel.checked && savedInputChecked.push(el);\n\t\t}\n\t}\n\n\tfunction _nextTick(fn) {\n\t\treturn setTimeout(fn, 0);\n\t}\n\n\tfunction _cancelNextTick(id) {\n\t\treturn clearTimeout(id);\n\t}\n\n\t// Fixed #973:\n\t_on(document, 'touchmove', function (evt) {\n\t\tif (Sortable.active) {\n\t\t\tevt.preventDefault();\n\t\t}\n\t});\n\n\t// Export utils\n\tSortable.utils = {\n\t\ton: _on,\n\t\toff: _off,\n\t\tcss: _css,\n\t\tfind: _find,\n\t\tis: function (el, selector) {\n\t\t\treturn !!_closest(el, selector, el);\n\t\t},\n\t\textend: _extend,\n\t\tthrottle: _throttle,\n\t\tclosest: _closest,\n\t\ttoggleClass: _toggleClass,\n\t\tclone: _clone,\n\t\tindex: _index,\n\t\tnextTick: _nextTick,\n\t\tcancelNextTick: _cancelNextTick\n\t};\n\n\n\t/**\n\t * Create sortable instance\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tSortable.create = function (el, options) {\n\t\treturn new Sortable(el, options);\n\t};\n\n\n\t// Export\n\tSortable.version = '1.7.0';\n\treturn Sortable;\n});\n","import Mousetrap from 'mousetrap';\nimport findAndFollowLink from '../../lib/utils/navigation_utility';\nimport Shortcuts from './shortcuts';\n\nexport default class ShortcutsNavigation extends Shortcuts {\n constructor() {\n super();\n\n Mousetrap.bind('g p', () => findAndFollowLink('.shortcuts-project'));\n Mousetrap.bind('g v', () => findAndFollowLink('.shortcuts-project-activity'));\n Mousetrap.bind('g f', () => findAndFollowLink('.shortcuts-tree'));\n Mousetrap.bind('g c', () => findAndFollowLink('.shortcuts-commits'));\n Mousetrap.bind('g j', () => findAndFollowLink('.shortcuts-builds'));\n Mousetrap.bind('g n', () => findAndFollowLink('.shortcuts-network'));\n Mousetrap.bind('g d', () => findAndFollowLink('.shortcuts-repository-charts'));\n Mousetrap.bind('g i', () => findAndFollowLink('.shortcuts-issues'));\n Mousetrap.bind('g b', () => findAndFollowLink('.shortcuts-issue-boards'));\n Mousetrap.bind('g m', () => findAndFollowLink('.shortcuts-merge_requests'));\n Mousetrap.bind('g w', () => findAndFollowLink('.shortcuts-wiki'));\n Mousetrap.bind('g s', () => findAndFollowLink('.shortcuts-snippets'));\n Mousetrap.bind('g k', () => findAndFollowLink('.shortcuts-kubernetes'));\n Mousetrap.bind('g e', () => findAndFollowLink('.shortcuts-environments'));\n Mousetrap.bind('g l', () => findAndFollowLink('.shortcuts-metrics'));\n Mousetrap.bind('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showTooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"js-show-tooltip\",attrs:{\"title\":_vm.title,\"data-placement\":_vm.placement}},[_vm._t(\"default\")],2):_c('span',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip_on_truncate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip_on_truncate.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./tooltip_on_truncate.vue?vue&type=template&id=0f120041&\"\nimport script from \"./tooltip_on_truncate.vue?vue&type=script&lang=js&\"\nexport * from \"./tooltip_on_truncate.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\ncomponent.options.__file = \"tooltip_on_truncate.vue\"\nexport default component.exports","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 // update visible tooltips\n const tooltipInstance = $(el).data('bs.tooltip');\n const tip = tooltipInstance.getTipElement();\n tooltipInstance.setElementContent(\n $(tip.querySelectorAll('.tooltip-inner')),\n tooltipInstance.getTitle(),\n );\n },\n\n unbind(el) {\n $(el).tooltip('dispose');\n },\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';\nimport boardsStore from './stores/boards_store';\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 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 (\n this.cantEditWithValue.findIndex(\n token => token.name === tokenName && token.value === tokenValue,\n ) === -1\n );\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 */\n/* global ListLabel */\n/* global ListMilestone */\n/* global ListAssignee */\n\nimport Vue from 'vue';\nimport '~/vue_shared/models/label';\nimport IssueProject from './project';\nimport boardsStore from '../stores/boards_store';\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 this.timeEstimate = obj.time_estimate;\n this.assignableLabelsEndpoint = obj.assignable_labels_endpoint;\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 boardsStore.state.lists.filter(list => list.findIssue(this.id));\n }\n\n updateData(newData) {\n Object.assign(this, newData);\n }\n\n setFetchingState(key, value) {\n this.isFetching[key] = value;\n }\n\n setLoadingState(key, value) {\n this.isLoading[key] = value;\n }\n\n update() {\n const data = {\n issue: {\n milestone_id: this.milestone ? this.milestone.id : null,\n due_date: this.dueDate,\n assignee_ids: this.assignees.length > 0 ? this.assignees.map(u => u.id) : [0],\n label_ids: this.labels.map(label => label.id),\n },\n };\n\n if (!data.issue.label_ids.length) {\n data.issue.label_ids = [''];\n }\n\n const projectPath = this.project ? this.project.path : '';\n return Vue.http.patch(`${this.path}.json`, data);\n }\n}\n\nwindow.ListIssue = ListIssue;\n\nexport default ListIssue;\n","/* eslint-disable no-underscore-dangle, class-methods-use-this, consistent-return, no-shadow, no-param-reassign */\n/* global ListIssue */\n\nimport { __ } from '~/locale';\nimport ListLabel from '~/vue_shared/models/label';\nimport ListAssignee from '~/vue_shared/models/assignee';\nimport { urlParamsToObject } from '~/lib/utils/common_utils';\nimport boardsStore from '../stores/boards_store';\n\nconst PER_PAGE = 20;\n\nconst TYPES = {\n backlog: {\n isPreset: true,\n isExpandable: true,\n isBlank: false,\n },\n closed: {\n isPreset: true,\n isExpandable: true,\n isBlank: false,\n },\n blank: {\n isPreset: true,\n isExpandable: false,\n isBlank: true,\n },\n};\n\nclass List {\n constructor(obj, defaultAvatar) {\n this.id = obj.id;\n this._uid = this.guid();\n this.position = obj.position;\n this.title = obj.list_type === 'backlog' ? __('Open') : obj.title;\n this.type = obj.list_type;\n\n const typeInfo = this.getTypeInfo(this.type);\n this.preset = !!typeInfo.isPreset;\n this.isExpandable = !!typeInfo.isExpandable;\n this.isExpanded = true;\n this.page = 1;\n this.loading = true;\n this.loadingMore = false;\n this.issues = [];\n this.issuesSize = 0;\n this.defaultAvatar = defaultAvatar;\n\n if (obj.label) {\n this.label = new ListLabel(obj.label);\n } else if (obj.user) {\n this.assignee = new ListAssignee(obj.user);\n this.title = this.assignee.name;\n }\n\n if (!typeInfo.isBlank && this.id) {\n this.getIssues().catch(() => {\n // TODO: handle request error\n });\n }\n }\n\n guid() {\n const s4 = () =>\n Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n return `${s4()}${s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;\n }\n\n save() {\n const entity = this.label || this.assignee;\n let entityType = '';\n if (this.label) {\n entityType = 'label_id';\n } else {\n entityType = 'assignee_id';\n }\n\n return gl.boardService\n .createList(entity.id, entityType)\n .then(res => res.data)\n .then(data => {\n this.id = data.id;\n this.type = data.list_type;\n this.position = data.position;\n\n return this.getIssues();\n });\n }\n\n destroy() {\n const index = boardsStore.state.lists.indexOf(this);\n boardsStore.state.lists.splice(index, 1);\n boardsStore.updateNewListDropdown(this.id);\n\n gl.boardService.destroyList(this.id).catch(() => {\n // TODO: handle request error\n });\n }\n\n update() {\n gl.boardService.updateList(this.id, this.position).catch(() => {\n // TODO: handle request error\n });\n }\n\n nextPage() {\n if (this.issuesSize > this.issues.length) {\n if (this.issues.length / PER_PAGE >= 1) {\n this.page += 1;\n }\n\n return this.getIssues(false);\n }\n }\n\n getIssues(emptyIssues = true) {\n const data = {\n ...urlParamsToObject(boardsStore.filter.path),\n page: this.page,\n };\n\n if (this.label && data.label_name) {\n data.label_name = data.label_name.filter(label => label !== this.label.title);\n }\n\n if (emptyIssues) {\n this.loading = true;\n }\n\n return gl.boardService\n .getIssuesForList(this.id, data)\n .then(res => res.data)\n .then(data => {\n this.loading = false;\n this.issuesSize = data.size;\n\n if (emptyIssues) {\n this.issues = [];\n }\n\n this.createIssues(data.issues);\n\n return data;\n });\n }\n\n newIssue(issue) {\n this.addIssue(issue, null, 0);\n this.issuesSize += 1;\n\n return gl.boardService\n .newIssue(this.id, issue)\n .then(res => res.data)\n .then(data => this.onNewIssueResponse(issue, data));\n }\n\n createIssues(data) {\n data.forEach(issueObj => {\n this.addIssue(new ListIssue(issueObj, this.defaultAvatar));\n });\n }\n\n addIssue(issue, listFrom, newIndex) {\n let moveBeforeId = null;\n let moveAfterId = null;\n\n if (!this.findIssue(issue.id)) {\n if (newIndex !== undefined) {\n this.issues.splice(newIndex, 0, issue);\n\n if (this.issues[newIndex - 1]) {\n moveBeforeId = this.issues[newIndex - 1].id;\n }\n\n if (this.issues[newIndex + 1]) {\n moveAfterId = this.issues[newIndex + 1].id;\n }\n } else {\n this.issues.push(issue);\n }\n\n if (this.label) {\n issue.addLabel(this.label);\n }\n\n if (this.assignee) {\n if (listFrom && listFrom.type === 'assignee') {\n issue.removeAssignee(listFrom.assignee);\n }\n issue.addAssignee(this.assignee);\n }\n\n if (listFrom) {\n this.issuesSize += 1;\n\n this.updateIssueLabel(issue, listFrom, moveBeforeId, moveAfterId);\n }\n }\n }\n\n moveIssue(issue, oldIndex, newIndex, moveBeforeId, moveAfterId) {\n this.issues.splice(oldIndex, 1);\n this.issues.splice(newIndex, 0, issue);\n\n gl.boardService.moveIssue(issue.id, null, null, moveBeforeId, moveAfterId).catch(() => {\n // TODO: handle request error\n });\n }\n\n updateIssueLabel(issue, listFrom, moveBeforeId, moveAfterId) {\n gl.boardService\n .moveIssue(issue.id, listFrom.id, this.id, moveBeforeId, moveAfterId)\n .catch(() => {\n // TODO: handle request error\n });\n }\n\n findIssue(id) {\n return this.issues.find(issue => issue.id === id);\n }\n\n removeIssue(removeIssue) {\n this.issues = this.issues.filter(issue => {\n const matchesRemove = removeIssue.id === issue.id;\n\n if (matchesRemove) {\n this.issuesSize -= 1;\n issue.removeLabel(this.label);\n }\n\n return !matchesRemove;\n });\n }\n\n getTypeInfo(type) {\n return TYPES[type] || {};\n }\n\n onNewIssueResponse(issue, data) {\n issue.id = data.id;\n issue.iid = data.iid;\n issue.project = data.project;\n issue.path = data.real_path;\n issue.referencePath = data.reference_path;\n\n if (this.issuesSize > 1) {\n const moveBeforeId = this.issues[1].id;\n gl.boardService.moveIssue(issue.id, null, null, null, moveBeforeId);\n }\n }\n}\n\nwindow.List = List;\n\nexport default List;\n","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${\n id ? `/${id}` : ''\n }`;\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 => {\n data[key] = filter[key];\n });\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(\n mergeUrlParams(data, `${gon.relative_url_root}/-/boards/${this.boardId}/issues.json`),\n );\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","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--1!../../../../../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--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_blank_state.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./board_blank_state.vue?vue&type=template&id=7d1f5e3f&\"\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\ncomponent.options.__file = \"board_blank_state.vue\"\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(\"Add the following default lists to your Issue Board with one click:\")]),_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 Starting out with the default set of lists will get you right on the way to making the most of\\n your board.\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-success btn-inverted btn-block\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addDefaultLists($event)}}},[_vm._v(\"\\n Add default lists\\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 Nevermind, I'll use my own\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import $ from 'jquery';\nimport Vue from 'vue';\n\nexport default Vue.extend({\n props: {\n list: {\n type: Object,\n default: () => ({}),\n },\n },\n methods: {\n deleteBoard() {\n $(this.$el).tooltip('hide');\n\n // eslint-disable-next-line no-alert\n if (window.confirm('Are you sure you want to delete this list?')) {\n this.list.destroy();\n }\n },\n },\n});\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../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=1becc89e&\"\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\ncomponent.options.__file = \"project_select.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{staticClass:\"label-bold prepend-top-10\"},[_vm._v(\" Project \")]),_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)+\" \"),_c('icon',{attrs:{\"name\":\"chevron-down\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu dropdown-menu-selectable dropdown-menu-full-width\"},[_c('div',{staticClass:\"dropdown-title\"},[_vm._v(\"Projects\")]),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-input\"},[_c('input',{staticClass:\"dropdown-input-field\",attrs:{\"type\":\"search\",\"placeholder\":\"Search projects\"}}),_vm._v(\" \"),_c('icon',{staticClass:\"dropdown-input-search\",attrs:{\"name\":\"search\",\"data-hidden\":\"true\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-content\"}),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-loading\"},[_c('gl-loading-icon')],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_new_issue.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./board_new_issue.vue?vue&type=template&id=67857af2&\"\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\ncomponent.options.__file = \"board_new_issue.vue\"\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(\"An error occurred. Please try again.\")])]):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"label-bold\",attrs:{\"for\":_vm.list.id + '-title'}},[_vm._v(\" Title \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.title),expression:\"title\"}],ref:\"input\",staticClass:\"form-control\",attrs:{\"id\":_vm.list.id + '-title',\"type\":\"text\",\"name\":\"issue_title\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.title)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.title=$event.target.value}}}),_vm._v(\" \"),(_vm.groupId)?_c('project-select',{attrs:{\"group-id\":_vm.groupId}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"clearfix prepend-top-10\"},[_c('gl-button',{ref:\"submit-button\",staticClass:\"float-left\",attrs:{\"disabled\":_vm.disabled,\"variant\":\"success\",\"type\":\"submit\"}},[_vm._v(\"\\n Submit issue\\n \")]),_vm._v(\" \"),_c('gl-button',{staticClass:\"float-right\",attrs:{\"type\":\"button\",\"variant\":\"default\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n Cancel\\n \")])],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_due_date.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_due_date.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./issue_due_date.vue?vue&type=template&id=0fb65426&\"\nimport script from \"./issue_due_date.vue?vue&type=script&lang=js&\"\nexport * from \"./issue_due_date.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\ncomponent.options.__file = \"issue_due_date.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span',{ref:\"issueDueDate\",staticClass:\"board-card-info card-number\",class:_vm.cssClass},[_c('icon',{class:{ 'text-danger': _vm.isPastDue, 'board-card-info-icon': true },attrs:{\"name\":\"calendar\"}}),_vm._v(\" \"),_c('time',{staticClass:\"board-card-info-text\",class:{ 'text-danger': _vm.isPastDue },attrs:{\"datetime\":\"date\"}},[_vm._v(_vm._s(_vm.body))])],1),_vm._v(\" \"),_c('gl-tooltip',{attrs:{\"target\":function () { return _vm.$refs.issueDueDate; },\"placement\":_vm.tooltipPlacement}},[_c('span',{staticClass:\"bold\"},[_vm._v(_vm._s(_vm.__('Due date')))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('span',{class:{ 'text-danger-muted': _vm.isPastDue }},[_vm._v(_vm._s(_vm.title))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_time_estimate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_time_estimate.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./issue_time_estimate.vue?vue&type=template&id=368b8b53&\"\nimport script from \"./issue_time_estimate.vue?vue&type=script&lang=js&\"\nexport * from \"./issue_time_estimate.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\ncomponent.options.__file = \"issue_time_estimate.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span',{ref:\"issueTimeEstimate\",staticClass:\"board-card-info card-number\"},[_c('icon',{attrs:{\"name\":\"hourglass\",\"css-classes\":\"board-card-info-icon\"}}),_c('time',{staticClass:\"board-card-info-text\"},[_vm._v(_vm._s(_vm.timeEstimate))])],1),_vm._v(\" \"),_c('gl-tooltip',{staticClass:\"js-issue-time-estimate\",attrs:{\"target\":function () { return _vm.$refs.issueTimeEstimate; },\"placement\":\"bottom\"}},[_c('span',{staticClass:\"bold d-block\"},[_vm._v(_vm._s(_vm.__('Time estimate')))]),_vm._v(\" \"+_vm._s(_vm.title)+\"\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issue_card_inner.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./issue_card_inner.vue?vue&type=template&id=7bcb9963&\"\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\ncomponent.options.__file = \"issue_card_inner.vue\"\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 append-bottom-0 prepend-top-0\"},[(_vm.issue.confidential)?_c('icon',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"confidential-icon append-right-4\",attrs:{\"name\":\"eye-slash\",\"title\":_vm.__('Confidential'),\"aria-label\":_vm.__('Confidential')}}):_vm._e(),_c('a',{staticClass:\"js-no-trigger\",attrs:{\"href\":_vm.issue.path,\"title\":_vm.issue.title},on:{\"mousemove\":function($event){$event.stopPropagation();}}},[_vm._v(_vm._s(_vm.issue.title))])],1)]),_vm._v(\" \"),(_vm.showLabelFooter)?_c('div',{staticClass:\"board-card-labels prepend-top-4 d-flex flex-wrap\"},_vm._l((_vm.issue.labels),function(label){return (_vm.showLabel(label))?_c('button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],key:label.id,staticClass:\"badge color-label append-right-4 prepend-top-4\",style:(_vm.labelStyle(label)),attrs:{\"title\":label.description,\"type\":\"button\"},on:{\"click\":function($event){_vm.filterByLabel(label);}}},[_vm._v(\"\\n \"+_vm._s(label.title)+\"\\n \")]):_vm._e()})):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"board-card-footer d-flex justify-content-between align-items-end\"},[_c('div',{staticClass:\"d-flex align-items-start flex-wrap-reverse board-card-number-container js-board-card-number-container\"},[(_vm.issue.referencePath)?_c('span',{staticClass:\"board-card-number d-flex append-right-8 prepend-top-8\"},[(_vm.issueReferencePath)?_c('tooltip-on-truncate',{staticClass:\"board-issue-path block-truncated bold\",attrs:{\"title\":_vm.issueReferencePath,\"placement\":\"bottom\"}},[_vm._v(_vm._s(_vm.issueReferencePath))]):_vm._e(),_vm._v(\"#\"+_vm._s(_vm.issue.iid)+\"\\n \")],1):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"board-info-items prepend-top-8 d-inline-block\"},[(_vm.issue.dueDate)?_c('issue-due-date',{attrs:{\"date\":_vm.issue.dueDate}}):_vm._e(),(_vm.issue.timeEstimate)?_c('issue-time-estimate',{attrs:{\"estimate\":_vm.issue.timeEstimate}}):_vm._e()],1)]),_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,\"img-size\":24,\"tooltip-placement\":\"bottom\"}},[_c('span',{staticClass:\"js-assignee-tooltip\"},[_c('span',{staticClass:\"bold d-block\"},[_vm._v(\"Assignee\")]),_vm._v(\" \"+_vm._s(assignee.name)+\"\\n \"),_c('span',{staticClass:\"text-white-50\"},[_vm._v(\"@\"+_vm._s(assignee.username))])])]):_vm._e()}),_vm._v(\" \"),(_vm.shouldRenderCounter)?_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"avatar-counter\",attrs:{\"title\":_vm.assigneeCounterTooltip,\"data-placement\":\"bottom\"}},[_vm._v(\"\\n \"+_vm._s(_vm.assigneeCounterLabel)+\"\\n \")]):_vm._e()],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_card.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./board_card.vue?vue&type=template&id=1756771e&\"\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\ncomponent.options.__file = \"board_card.vue\"\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 }","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\nexport function sortableStart() {\n $('.has-tooltip')\n .tooltip('hide')\n .tooltip('disable');\n document.body.classList.add('is-dragging');\n}\n\nexport function sortableEnd() {\n $('.has-tooltip').tooltip('enable');\n document.body.classList.remove('is-dragging');\n}\n\nexport function getBoardSortableDefaultOptions(obj) {\n const touchEnabled =\n 'ontouchstart' in window || (window.DocumentTouch && document instanceof DocumentTouch);\n\n const defaultSortOptions = Object.assign({}, sortableConfig, {\n filter: '.board-delete, .btn',\n delay: touchEnabled ? 100 : 0,\n scrollSensitivity: touchEnabled ? 60 : 100,\n scrollSpeed: 20,\n onStart: sortableStart,\n onEnd: sortableEnd,\n });\n\n Object.keys(obj).forEach(key => {\n defaultSortOptions[key] = obj[key];\n });\n return defaultSortOptions;\n}\n","\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../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--1!../../../../../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=c820b7a6&\"\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\ncomponent.options.__file = \"board_list.vue\"\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('gl-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('gl-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(\" Showing all issues \")]):_c('span',[_vm._v(\" Showing \"+_vm._s(_vm.list.issues.length)+\" of \"+_vm._s(_vm.list.issuesSize)+\" issues \")])],1):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Sortable from 'sortablejs';\nimport Vue from 'vue';\nimport { n__ } from '~/locale';\nimport Icon from '~/vue_shared/components/icon.vue';\nimport Tooltip from '~/vue_shared/directives/tooltip';\nimport AccessorUtilities from '../../lib/utils/accessor';\nimport BoardBlankState from './board_blank_state.vue';\nimport BoardDelete from './board_delete';\nimport BoardList from './board_list.vue';\nimport boardsStore from '../stores/boards_store';\nimport { getBoardSortableDefaultOptions, sortableEnd } from '../mixins/sortable_default_options';\n\nexport default Vue.extend({\n components: {\n BoardBlankState,\n BoardDelete,\n BoardList,\n Icon,\n },\n directives: {\n Tooltip,\n },\n props: {\n list: {\n type: Object,\n default: () => ({}),\n },\n disabled: {\n type: Boolean,\n required: true,\n },\n issueLinkBase: {\n type: String,\n required: true,\n },\n rootPath: {\n type: String,\n required: true,\n },\n boardId: {\n type: String,\n required: true,\n },\n },\n data() {\n return {\n detailIssue: boardsStore.detail,\n filter: boardsStore.filter,\n };\n },\n computed: {\n counterTooltip() {\n const { issuesSize } = this.list;\n return `${n__('%d issue', '%d issues', issuesSize)}`;\n },\n isNewIssueShown() {\n return this.list.type === 'backlog' || (!this.disabled && this.list.type !== 'closed');\n },\n },\n watch: {\n filter: {\n handler() {\n this.list.page = 1;\n this.list.getIssues(true).catch(() => {\n // TODO: handle request error\n });\n },\n deep: true,\n },\n },\n mounted() {\n this.sortableOptions = getBoardSortableDefaultOptions({\n disabled: this.disabled,\n group: 'boards',\n draggable: '.is-draggable',\n handle: '.js-board-handle',\n onEnd: e => {\n sortableEnd();\n\n if (e.newIndex !== undefined && e.oldIndex !== e.newIndex) {\n const order = this.sortable.toArray();\n const list = boardsStore.findList('id', parseInt(e.item.dataset.id, 10));\n\n this.$nextTick(() => {\n boardsStore.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 =\n 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(\n `boards.${this.boardId}.${this.list.type}.expanded`,\n this.list.isExpanded,\n );\n }\n }\n },\n },\n template: '#js-board-template',\n});\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./remove_issue.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./remove_issue.vue?vue&type=template&id=f42d291e&\"\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\ncomponent.options.__file = \"remove_issue.vue\"\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 no-new */\n\nimport $ from 'jquery';\nimport Vue from 'vue';\nimport Flash from '../../flash';\nimport { sprintf, __ } from '../../locale';\nimport Sidebar from '../../right_sidebar';\nimport eventHub from '../../sidebar/event_hub';\nimport AssigneeTitle from '../../sidebar/components/assignees/assignee_title.vue';\nimport Assignees from '../../sidebar/components/assignees/assignees.vue';\nimport DueDateSelectors from '../../due_date_select';\nimport RemoveBtn from './sidebar/remove_issue.vue';\nimport IssuableContext from '../../issuable_context';\nimport LabelsSelect from '../../labels_select';\nimport Subscriptions from '../../sidebar/components/subscriptions/subscriptions.vue';\nimport MilestoneSelect from '../../milestone_select';\nimport boardsStore from '../stores/boards_store';\n\nexport default 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: boardsStore.detail,\n issue: {},\n list: {},\n loadingAssignees: false,\n };\n },\n computed: {\n showSidebar() {\n return Object.keys(this.issue).length;\n },\n milestoneTitle() {\n return this.issue.milestone ? this.issue.milestone.title : 'No Milestone';\n },\n canRemove() {\n return !this.list.preset;\n },\n hasLabels() {\n return this.issue.labels && this.issue.labels.length;\n },\n labelDropdownTitle() {\n return this.hasLabels\n ? sprintf(__('%{firstLabel} +%{labelCount} more'), {\n firstLabel: this.issue.labels[0].title,\n labelCount: this.issue.labels.length - 1,\n })\n : __('Label');\n },\n selectedLabels() {\n return this.hasLabels ? this.issue.labels.map(l => l.title).join(',') : '';\n },\n },\n watch: {\n detail: {\n handler() {\n if (this.issue.id !== this.detail.issue.id) {\n $('.block.assignee')\n .find('input:not(.js-vue)[name=\"issue[assignee_ids][]\"]')\n .each((i, el) => {\n $(el).remove();\n });\n\n $('.js-issue-board-sidebar', this.$el).each((i, el) => {\n $(el)\n .data('glDropdown')\n .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 boardsStore.detail.issue.removeAssignee(a);\n },\n addAssignee(a) {\n boardsStore.detail.issue.addAssignee(a);\n },\n removeAllAssignees() {\n boardsStore.detail.issue.removeAllAssignees();\n },\n saveAssignees() {\n this.loadingAssignees = true;\n\n boardsStore.detail.issue\n .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';\nimport boardsStore from '../stores/boards_store';\n\n$(document)\n .off('created.label')\n .on('created.label', (e, label) => {\n boardsStore.new({\n title: label.title,\n position: boardsStore.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\nexport default function initNewListDropdown() {\n $('.js-new-board-list').each(function() {\n const $this = $(this);\n new CreateLabelDropdown(\n $this.closest('.dropdown').find('.dropdown-new-label'),\n $this.data('namespacePath'),\n $this.data('projectPath'),\n );\n\n $this.glDropdown({\n data(term, callback) {\n axios.get($this.attr('data-list-labels-path')).then(({ data }) => {\n callback(data);\n });\n },\n renderRow(label) {\n const active = boardsStore.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 (!boardsStore.findList('title', label.title)) {\n boardsStore.new({\n title: label.title,\n position: boardsStore.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 boardsStore.state.lists = _.sortBy(boardsStore.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('gl-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--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./tabs.vue?vue&type=template&id=c22b9f2a&\"\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\ncomponent.options.__file = \"tabs.vue\"\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 \"),_c('span',{staticClass:\"badge badge-pill\"},[_vm._v(\" \"+_vm._s(_vm.issuesCount)+\" \")])])]),_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 \"),_c('span',{staticClass:\"badge badge-pill\"},[_vm._v(\" \"+_vm._s(_vm.selectedCount)+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=3a3148c1&\"\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\ncomponent.options.__file = \"header.vue\"\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--1!../../../../../../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--1!../../../../../../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=0ee7fe19&\"\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\ncomponent.options.__file = \"list.vue\"\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('icon',{staticClass:\"issue-card-selected text-center\",attrs:{\"aria-label\":'Issue #' + issue.id + ' selected',\"name\":\"mobile-issue-close\",\"aria-checked\":\"true\"}}):_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(\"There are no issues to show.\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../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=75eaa0ac&\"\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\ncomponent.options.__file = \"lists_dropdown.vue\"\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)+\" \"),_c('icon',{attrs:{\"name\":\"chevron-down\"}})],1),_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('gl-link',{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 \")])],1):_vm._e()}))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../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=249e9537&\"\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\ncomponent.options.__file = \"footer.vue\"\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(\" to list \")]),_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 Cancel\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./empty_state.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./empty_state.vue?vue&type=template&id=0a11efbb&\"\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\ncomponent.options.__file = \"empty_state.vue\"\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 }","\n\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f7b3509c&\"\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\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import $ from 'jquery';\nimport _ from 'underscore';\nimport Vue from 'vue';\n\nimport Flash from '~/flash';\nimport { __ } from '~/locale';\nimport '~/vue_shared/models/label';\nimport '~/vue_shared/models/assignee';\n\nimport FilteredSearchBoards from './filtered_search_boards';\nimport eventHub from './eventhub';\nimport sidebarEventHub from '~/sidebar/event_hub';\nimport './models/issue';\nimport './models/list';\nimport './models/milestone';\nimport './models/project';\nimport boardsStore from './stores/boards_store';\nimport ModalStore from './stores/modal_store';\nimport BoardService from './services/board_service';\nimport modalMixin from './mixins/modal_mixins';\nimport './filters/due_date_filters';\nimport Board from './components/board';\nimport BoardSidebar from './components/board_sidebar';\nimport initNewListDropdown from './components/new_list_dropdown';\nimport BoardAddIssuesModal from './components/modal/index.vue';\nimport '~/vue_shared/vue_resource_interceptor';\nimport { NavigationType, parseBoolean } from '~/lib/utils/common_utils';\n\nlet issueBoardsApp;\n\nexport default () => {\n const $boardApp = document.getElementById('board-app');\n\n // check for browser back and trigger a hard reload to circumvent browser caching.\n window.addEventListener('pageshow', event => {\n const isNavTypeBackForward =\n window.performance && window.performance.navigation.type === NavigationType.TYPE_BACK_FORWARD;\n\n if (event.persisted || isNavTypeBackForward) {\n window.location.reload();\n }\n });\n\n if (issueBoardsApp) {\n issueBoardsApp.$destroy(true);\n }\n\n boardsStore.create();\n\n issueBoardsApp = new Vue({\n el: $boardApp,\n components: {\n Board,\n BoardSidebar,\n BoardAddIssuesModal,\n },\n data: {\n state: boardsStore.state,\n loading: true,\n boardsEndpoint: $boardApp.dataset.boardsEndpoint,\n listsEndpoint: $boardApp.dataset.listsEndpoint,\n boardId: $boardApp.dataset.boardId,\n disabled: parseBoolean($boardApp.dataset.disabled),\n issueLinkBase: $boardApp.dataset.issueLinkBase,\n rootPath: $boardApp.dataset.rootPath,\n bulkUpdatePath: $boardApp.dataset.bulkUpdatePath,\n detailIssue: boardsStore.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 boardsStore.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(boardsStore.filter, true, boardsStore.cantEdit);\n this.filterManager.setup();\n\n boardsStore.disabled = this.disabled;\n gl.boardService\n .all()\n .then(res => res.data)\n .then(data => {\n data.forEach(board => {\n const list = boardsStore.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 boardsStore.addBlankState();\n this.loading = false;\n })\n .catch(() => {\n Flash('An error occurred while fetching the board lists. Please try again.');\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 boardsStore.detail.issue = newIssue;\n },\n clearDetailIssue() {\n boardsStore.detail.issue = {};\n },\n toggleSubscription(id) {\n const { issue } = boardsStore.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 // eslint-disable-next-line no-new\n new Vue({\n el: document.getElementById('js-add-list'),\n data: {\n filters: boardsStore.state.filters,\n },\n mounted() {\n initNewListDropdown();\n },\n });\n\n const issueBoardsModal = document.getElementById('js-add-issues-btn');\n\n if (issueBoardsModal) {\n // eslint-disable-next-line no-new\n new Vue({\n el: issueBoardsModal,\n mixins: [modalMixin],\n data() {\n return {\n modal: ModalStore.store,\n store: boardsStore.state,\n canAdminList: this.$options.el.hasAttribute('data-can-admin-list'),\n };\n },\n computed: {\n disabled() {\n if (!this.store) {\n return true;\n }\n return !this.store.lists.filter(list => !list.preset).length;\n },\n tooltipTitle() {\n if (this.disabled) {\n return 'Please add a list to your board first';\n }\n\n return '';\n },\n },\n watch: {\n disabled() {\n this.updateTooltip();\n },\n },\n mounted() {\n this.updateTooltip();\n },\n methods: {\n updateTooltip() {\n const $tooltip = $(this.$refs.addIssuesButton);\n\n this.$nextTick(() => {\n if (this.disabled) {\n $tooltip.tooltip();\n } else {\n $tooltip.tooltip('dispose');\n }\n });\n },\n openModal() {\n if (!this.disabled) {\n this.toggleModal(true);\n }\n },\n },\n template: `\n
    \n \n Add issues\n \n
    \n `,\n });\n }\n};\n","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 consistent-return, func-names, array-callback-return, prefer-arrow-callback, 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-issuable: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-issuable: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-issuable: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-issuable: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","/*!\n * Pikaday\n *\n * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday\n */\n\n(function (root, factory)\n{\n 'use strict';\n\n var moment;\n if (typeof exports === 'object') {\n // CommonJS module\n // Load moment.js as an optional dependency\n try { moment = require('moment'); } catch (e) {}\n module.exports = factory(moment);\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(function (req)\n {\n // Load moment.js as an optional dependency\n var id = 'moment';\n try { moment = req(id); } catch (e) {}\n return factory(moment);\n });\n } else {\n root.Pikaday = factory(root.moment);\n }\n}(this, function (moment)\n{\n 'use strict';\n\n /**\n * feature detection and helper functions\n */\n var hasMoment = typeof moment === 'function',\n\n hasEventListeners = !!window.addEventListener,\n\n document = window.document,\n\n sto = window.setTimeout,\n\n addEvent = function(el, e, callback, capture)\n {\n if (hasEventListeners) {\n el.addEventListener(e, callback, !!capture);\n } else {\n el.attachEvent('on' + e, callback);\n }\n },\n\n removeEvent = function(el, e, callback, capture)\n {\n if (hasEventListeners) {\n el.removeEventListener(e, callback, !!capture);\n } else {\n el.detachEvent('on' + e, callback);\n }\n },\n\n trim = function(str)\n {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g,'');\n },\n\n hasClass = function(el, cn)\n {\n return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1;\n },\n\n addClass = function(el, cn)\n {\n if (!hasClass(el, cn)) {\n el.className = (el.className === '') ? cn : el.className + ' ' + cn;\n }\n },\n\n removeClass = function(el, cn)\n {\n el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' '));\n },\n\n isArray = function(obj)\n {\n return (/Array/).test(Object.prototype.toString.call(obj));\n },\n\n isDate = function(obj)\n {\n return (/Date/).test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime());\n },\n\n isWeekend = function(date)\n {\n var day = date.getDay();\n return day === 0 || day === 6;\n },\n\n isLeapYear = function(year)\n {\n // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n },\n\n getDaysInMonth = function(year, month)\n {\n return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];\n },\n\n setToStartOfDay = function(date)\n {\n if (isDate(date)) date.setHours(0,0,0,0);\n },\n\n compareDates = function(a,b)\n {\n // weak date comparison (use setToStartOfDay(date) to ensure correct result)\n return a.getTime() === b.getTime();\n },\n\n extend = function(to, from, overwrite)\n {\n var prop, hasProp;\n for (prop in from) {\n hasProp = to[prop] !== undefined;\n if (hasProp && typeof from[prop] === 'object' && from[prop] !== null && from[prop].nodeName === undefined) {\n if (isDate(from[prop])) {\n if (overwrite) {\n to[prop] = new Date(from[prop].getTime());\n }\n }\n else if (isArray(from[prop])) {\n if (overwrite) {\n to[prop] = from[prop].slice(0);\n }\n } else {\n to[prop] = extend({}, from[prop], overwrite);\n }\n } else if (overwrite || !hasProp) {\n to[prop] = from[prop];\n }\n }\n return to;\n },\n\n fireEvent = function(el, eventName, data)\n {\n var ev;\n\n if (document.createEvent) {\n ev = document.createEvent('HTMLEvents');\n ev.initEvent(eventName, true, false);\n ev = extend(ev, data);\n el.dispatchEvent(ev);\n } else if (document.createEventObject) {\n ev = document.createEventObject();\n ev = extend(ev, data);\n el.fireEvent('on' + eventName, ev);\n }\n },\n\n adjustCalendar = function(calendar) {\n if (calendar.month < 0) {\n calendar.year -= Math.ceil(Math.abs(calendar.month)/12);\n calendar.month += 12;\n }\n if (calendar.month > 11) {\n calendar.year += Math.floor(Math.abs(calendar.month)/12);\n calendar.month -= 12;\n }\n return calendar;\n },\n\n /**\n * defaults and localisation\n */\n defaults = {\n\n // bind the picker to a form field\n field: null,\n\n // automatically show/hide the picker on `field` focus (default `true` if `field` is set)\n bound: undefined,\n\n // position of the datepicker, relative to the field (default to bottom & left)\n // ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)\n position: 'bottom left',\n\n // automatically fit in the viewport even if it means repositioning from the position option\n reposition: true,\n\n // the default output format for `.toString()` and `field` value\n format: 'YYYY-MM-DD',\n\n // the toString function which gets passed a current date object and format\n // and returns a string\n toString: null,\n\n // used to create date object from current input string\n parse: null,\n\n // the initial date to view when first opened\n defaultDate: null,\n\n // make the `defaultDate` the initial selected value\n setDefaultDate: false,\n\n // first day of week (0: Sunday, 1: Monday etc)\n firstDay: 0,\n\n // the default flag for moment's strict date parsing\n formatStrict: false,\n\n // the minimum/earliest date that can be selected\n minDate: null,\n // the maximum/latest date that can be selected\n maxDate: null,\n\n // number of years either side, or array of upper/lower range\n yearRange: 10,\n\n // show week numbers at head of row\n showWeekNumber: false,\n\n // Week picker mode\n pickWholeWeek: false,\n\n // used internally (don't config outside)\n minYear: 0,\n maxYear: 9999,\n minMonth: undefined,\n maxMonth: undefined,\n\n startRange: null,\n endRange: null,\n\n isRTL: false,\n\n // Additional text to append to the year in the calendar title\n yearSuffix: '',\n\n // Render the month after year in the calendar title\n showMonthAfterYear: false,\n\n // Render days of the calendar grid that fall in the next or previous month\n showDaysInNextAndPreviousMonths: false,\n\n // Allows user to select days that fall in the next or previous month\n enableSelectionDaysInNextAndPreviousMonths: false,\n\n // how many months are visible\n numberOfMonths: 1,\n\n // when numberOfMonths is used, this will help you to choose where the main calendar will be (default `left`, can be set to `right`)\n // only used for the first display or when a selected date is not visible\n mainCalendar: 'left',\n\n // Specify a DOM element to render the calendar in\n container: undefined,\n\n // Blur field when date is selected\n blurFieldOnSelect : true,\n\n // internationalization\n i18n: {\n previousMonth : 'Previous Month',\n nextMonth : 'Next Month',\n months : ['January','February','March','April','May','June','July','August','September','October','November','December'],\n weekdays : ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],\n weekdaysShort : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']\n },\n\n // Theme Classname\n theme: null,\n\n // events array\n events: [],\n\n // callback function\n onSelect: null,\n onOpen: null,\n onClose: null,\n onDraw: null\n },\n\n\n /**\n * templating functions to abstract HTML rendering\n */\n renderDayName = function(opts, day, abbr)\n {\n day += opts.firstDay;\n while (day >= 7) {\n day -= 7;\n }\n return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day];\n },\n\n renderDay = function(opts)\n {\n var arr = [];\n var ariaSelected = 'false';\n if (opts.isEmpty) {\n if (opts.showDaysInNextAndPreviousMonths) {\n arr.push('is-outside-current-month');\n\n if(!opts.enableSelectionDaysInNextAndPreviousMonths) {\n arr.push('is-selection-disabled');\n }\n\n } else {\n return '';\n }\n }\n if (opts.isDisabled) {\n arr.push('is-disabled');\n }\n if (opts.isToday) {\n arr.push('is-today');\n }\n if (opts.isSelected) {\n arr.push('is-selected');\n ariaSelected = 'true';\n }\n if (opts.hasEvent) {\n arr.push('has-event');\n }\n if (opts.isInRange) {\n arr.push('is-inrange');\n }\n if (opts.isStartRange) {\n arr.push('is-startrange');\n }\n if (opts.isEndRange) {\n arr.push('is-endrange');\n }\n return '' +\n '' +\n '';\n },\n\n renderWeek = function (d, m, y) {\n // Lifted from http://javascript.about.com/library/blweekyear.htm, lightly modified.\n var onejan = new Date(y, 0, 1),\n weekNum = Math.ceil((((new Date(y, m, d) - onejan) / 86400000) + onejan.getDay()+1)/7);\n return '' + weekNum + '';\n },\n\n renderRow = function(days, isRTL, pickWholeWeek, isRowSelected)\n {\n return '' + (isRTL ? days.reverse() : days).join('') + '';\n },\n\n renderBody = function(rows)\n {\n return '' + rows.join('') + '';\n },\n\n renderHead = function(opts)\n {\n var i, arr = [];\n if (opts.showWeekNumber) {\n arr.push('');\n }\n for (i = 0; i < 7; i++) {\n arr.push('' + renderDayName(opts, i, true) + '');\n }\n return '' + (opts.isRTL ? arr.reverse() : arr).join('') + '';\n },\n\n renderTitle = function(instance, c, year, month, refYear, randId)\n {\n var i, j, arr,\n opts = instance._o,\n isMinYear = year === opts.minYear,\n isMaxYear = year === opts.maxYear,\n html = '
    ',\n monthHtml,\n yearHtml,\n prev = true,\n next = true;\n\n for (arr = [], i = 0; i < 12; i++) {\n arr.push('');\n }\n\n monthHtml = '
    ' + opts.i18n.months[month] + '
    ';\n\n if (isArray(opts.yearRange)) {\n i = opts.yearRange[0];\n j = opts.yearRange[1] + 1;\n } else {\n i = year - opts.yearRange;\n j = 1 + year + opts.yearRange;\n }\n\n for (arr = []; i < j && i <= opts.maxYear; i++) {\n if (i >= opts.minYear) {\n arr.push('');\n }\n }\n yearHtml = '
    ' + year + opts.yearSuffix + '
    ';\n\n if (opts.showMonthAfterYear) {\n html += yearHtml + monthHtml;\n } else {\n html += monthHtml + yearHtml;\n }\n\n if (isMinYear && (month === 0 || opts.minMonth >= month)) {\n prev = false;\n }\n\n if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {\n next = false;\n }\n\n if (c === 0) {\n html += '';\n }\n if (c === (instance._o.numberOfMonths - 1) ) {\n html += '';\n }\n\n return html += '
    ';\n },\n\n renderTable = function(opts, data, randId)\n {\n return '' + renderHead(opts) + renderBody(data) + '
    ';\n },\n\n\n /**\n * Pikaday constructor\n */\n Pikaday = function(options)\n {\n var self = this,\n opts = self.config(options);\n\n self._onMouseDown = function(e)\n {\n if (!self._v) {\n return;\n }\n e = e || window.event;\n var target = e.target || e.srcElement;\n if (!target) {\n return;\n }\n\n if (!hasClass(target, 'is-disabled')) {\n if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty') && !hasClass(target.parentNode, 'is-disabled')) {\n self.setDate(new Date(target.getAttribute('data-pika-year'), target.getAttribute('data-pika-month'), target.getAttribute('data-pika-day')));\n if (opts.bound) {\n sto(function() {\n self.hide();\n if (opts.blurFieldOnSelect && opts.field) {\n opts.field.blur();\n }\n }, 100);\n }\n }\n else if (hasClass(target, 'pika-prev')) {\n self.prevMonth();\n }\n else if (hasClass(target, 'pika-next')) {\n self.nextMonth();\n }\n }\n if (!hasClass(target, 'pika-select')) {\n // if this is touch event prevent mouse events emulation\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n e.returnValue = false;\n return false;\n }\n } else {\n self._c = true;\n }\n };\n\n self._onChange = function(e)\n {\n e = e || window.event;\n var target = e.target || e.srcElement;\n if (!target) {\n return;\n }\n if (hasClass(target, 'pika-select-month')) {\n self.gotoMonth(target.value);\n }\n else if (hasClass(target, 'pika-select-year')) {\n self.gotoYear(target.value);\n }\n };\n\n self._onKeyChange = function(e)\n {\n e = e || window.event;\n\n if (self.isVisible()) {\n\n switch(e.keyCode){\n case 13:\n case 27:\n if (opts.field) {\n opts.field.blur();\n }\n break;\n case 37:\n e.preventDefault();\n self.adjustDate('subtract', 1);\n break;\n case 38:\n self.adjustDate('subtract', 7);\n break;\n case 39:\n self.adjustDate('add', 1);\n break;\n case 40:\n self.adjustDate('add', 7);\n break;\n }\n }\n };\n\n self._onInputChange = function(e)\n {\n var date;\n\n if (e.firedBy === self) {\n return;\n }\n if (opts.parse) {\n date = opts.parse(opts.field.value, opts.format);\n } else if (hasMoment) {\n date = moment(opts.field.value, opts.format, opts.formatStrict);\n date = (date && date.isValid()) ? date.toDate() : null;\n }\n else {\n date = new Date(Date.parse(opts.field.value));\n }\n if (isDate(date)) {\n self.setDate(date);\n }\n if (!self._v) {\n self.show();\n }\n };\n\n self._onInputFocus = function()\n {\n self.show();\n };\n\n self._onInputClick = function()\n {\n self.show();\n };\n\n self._onInputBlur = function()\n {\n // IE allows pika div to gain focus; catch blur the input field\n var pEl = document.activeElement;\n do {\n if (hasClass(pEl, 'pika-single')) {\n return;\n }\n }\n while ((pEl = pEl.parentNode));\n\n if (!self._c) {\n self._b = sto(function() {\n self.hide();\n }, 50);\n }\n self._c = false;\n };\n\n self._onClick = function(e)\n {\n e = e || window.event;\n var target = e.target || e.srcElement,\n pEl = target;\n if (!target) {\n return;\n }\n if (!hasEventListeners && hasClass(target, 'pika-select')) {\n if (!target.onchange) {\n target.setAttribute('onchange', 'return;');\n addEvent(target, 'change', self._onChange);\n }\n }\n do {\n if (hasClass(pEl, 'pika-single') || pEl === opts.trigger) {\n return;\n }\n }\n while ((pEl = pEl.parentNode));\n if (self._v && target !== opts.trigger && pEl !== opts.trigger) {\n self.hide();\n }\n };\n\n self.el = document.createElement('div');\n self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '') + (opts.theme ? ' ' + opts.theme : '');\n\n addEvent(self.el, 'mousedown', self._onMouseDown, true);\n addEvent(self.el, 'touchend', self._onMouseDown, true);\n addEvent(self.el, 'change', self._onChange);\n addEvent(document, 'keydown', self._onKeyChange);\n\n if (opts.field) {\n if (opts.container) {\n opts.container.appendChild(self.el);\n } else if (opts.bound) {\n document.body.appendChild(self.el);\n } else {\n opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling);\n }\n addEvent(opts.field, 'change', self._onInputChange);\n\n if (!opts.defaultDate) {\n if (hasMoment && opts.field.value) {\n opts.defaultDate = moment(opts.field.value, opts.format).toDate();\n } else {\n opts.defaultDate = new Date(Date.parse(opts.field.value));\n }\n opts.setDefaultDate = true;\n }\n }\n\n var defDate = opts.defaultDate;\n\n if (isDate(defDate)) {\n if (opts.setDefaultDate) {\n self.setDate(defDate, true);\n } else {\n self.gotoDate(defDate);\n }\n } else {\n self.gotoDate(new Date());\n }\n\n if (opts.bound) {\n this.hide();\n self.el.className += ' is-bound';\n addEvent(opts.trigger, 'click', self._onInputClick);\n addEvent(opts.trigger, 'focus', self._onInputFocus);\n addEvent(opts.trigger, 'blur', self._onInputBlur);\n } else {\n this.show();\n }\n };\n\n\n /**\n * public Pikaday API\n */\n Pikaday.prototype = {\n\n\n /**\n * configure functionality\n */\n config: function(options)\n {\n if (!this._o) {\n this._o = extend({}, defaults, true);\n }\n\n var opts = extend(this._o, options, true);\n\n opts.isRTL = !!opts.isRTL;\n\n opts.field = (opts.field && opts.field.nodeName) ? opts.field : null;\n\n opts.theme = (typeof opts.theme) === 'string' && opts.theme ? opts.theme : null;\n\n opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field);\n\n opts.trigger = (opts.trigger && opts.trigger.nodeName) ? opts.trigger : opts.field;\n\n opts.disableWeekends = !!opts.disableWeekends;\n\n opts.disableDayFn = (typeof opts.disableDayFn) === 'function' ? opts.disableDayFn : null;\n\n var nom = parseInt(opts.numberOfMonths, 10) || 1;\n opts.numberOfMonths = nom > 4 ? 4 : nom;\n\n if (!isDate(opts.minDate)) {\n opts.minDate = false;\n }\n if (!isDate(opts.maxDate)) {\n opts.maxDate = false;\n }\n if ((opts.minDate && opts.maxDate) && opts.maxDate < opts.minDate) {\n opts.maxDate = opts.minDate = false;\n }\n if (opts.minDate) {\n this.setMinDate(opts.minDate);\n }\n if (opts.maxDate) {\n this.setMaxDate(opts.maxDate);\n }\n\n if (isArray(opts.yearRange)) {\n var fallback = new Date().getFullYear() - 10;\n opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback;\n opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback;\n } else {\n opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange;\n if (opts.yearRange > 100) {\n opts.yearRange = 100;\n }\n }\n\n return opts;\n },\n\n /**\n * return a formatted string of the current selection (using Moment.js if available)\n */\n toString: function(format)\n {\n format = format || this._o.format;\n if (!isDate(this._d)) {\n return '';\n }\n if (this._o.toString) {\n return this._o.toString(this._d, format);\n }\n if (hasMoment) {\n return moment(this._d).format(format);\n }\n return this._d.toDateString();\n },\n\n /**\n * return a Moment.js object of the current selection (if available)\n */\n getMoment: function()\n {\n return hasMoment ? moment(this._d) : null;\n },\n\n /**\n * set the current selection from a Moment.js object (if available)\n */\n setMoment: function(date, preventOnSelect)\n {\n if (hasMoment && moment.isMoment(date)) {\n this.setDate(date.toDate(), preventOnSelect);\n }\n },\n\n /**\n * return a Date object of the current selection\n */\n getDate: function()\n {\n return isDate(this._d) ? new Date(this._d.getTime()) : null;\n },\n\n /**\n * set the current selection\n */\n setDate: function(date, preventOnSelect)\n {\n if (!date) {\n this._d = null;\n\n if (this._o.field) {\n this._o.field.value = '';\n fireEvent(this._o.field, 'change', { firedBy: this });\n }\n\n return this.draw();\n }\n if (typeof date === 'string') {\n date = new Date(Date.parse(date));\n }\n if (!isDate(date)) {\n return;\n }\n\n var min = this._o.minDate,\n max = this._o.maxDate;\n\n if (isDate(min) && date < min) {\n date = min;\n } else if (isDate(max) && date > max) {\n date = max;\n }\n\n this._d = new Date(date.getTime());\n setToStartOfDay(this._d);\n this.gotoDate(this._d);\n\n if (this._o.field) {\n this._o.field.value = this.toString();\n fireEvent(this._o.field, 'change', { firedBy: this });\n }\n if (!preventOnSelect && typeof this._o.onSelect === 'function') {\n this._o.onSelect.call(this, this.getDate());\n }\n },\n\n /**\n * change view to a specific date\n */\n gotoDate: function(date)\n {\n var newCalendar = true;\n\n if (!isDate(date)) {\n return;\n }\n\n if (this.calendars) {\n var firstVisibleDate = new Date(this.calendars[0].year, this.calendars[0].month, 1),\n lastVisibleDate = new Date(this.calendars[this.calendars.length-1].year, this.calendars[this.calendars.length-1].month, 1),\n visibleDate = date.getTime();\n // get the end of the month\n lastVisibleDate.setMonth(lastVisibleDate.getMonth()+1);\n lastVisibleDate.setDate(lastVisibleDate.getDate()-1);\n newCalendar = (visibleDate < firstVisibleDate.getTime() || lastVisibleDate.getTime() < visibleDate);\n }\n\n if (newCalendar) {\n this.calendars = [{\n month: date.getMonth(),\n year: date.getFullYear()\n }];\n if (this._o.mainCalendar === 'right') {\n this.calendars[0].month += 1 - this._o.numberOfMonths;\n }\n }\n\n this.adjustCalendars();\n },\n\n adjustDate: function(sign, days) {\n\n var day = this.getDate() || new Date();\n var difference = parseInt(days)*24*60*60*1000;\n\n var newDay;\n\n if (sign === 'add') {\n newDay = new Date(day.valueOf() + difference);\n } else if (sign === 'subtract') {\n newDay = new Date(day.valueOf() - difference);\n }\n\n this.setDate(newDay);\n },\n\n adjustCalendars: function() {\n this.calendars[0] = adjustCalendar(this.calendars[0]);\n for (var c = 1; c < this._o.numberOfMonths; c++) {\n this.calendars[c] = adjustCalendar({\n month: this.calendars[0].month + c,\n year: this.calendars[0].year\n });\n }\n this.draw();\n },\n\n gotoToday: function()\n {\n this.gotoDate(new Date());\n },\n\n /**\n * change view to a specific month (zero-index, e.g. 0: January)\n */\n gotoMonth: function(month)\n {\n if (!isNaN(month)) {\n this.calendars[0].month = parseInt(month, 10);\n this.adjustCalendars();\n }\n },\n\n nextMonth: function()\n {\n this.calendars[0].month++;\n this.adjustCalendars();\n },\n\n prevMonth: function()\n {\n this.calendars[0].month--;\n this.adjustCalendars();\n },\n\n /**\n * change view to a specific full year (e.g. \"2012\")\n */\n gotoYear: function(year)\n {\n if (!isNaN(year)) {\n this.calendars[0].year = parseInt(year, 10);\n this.adjustCalendars();\n }\n },\n\n /**\n * change the minDate\n */\n setMinDate: function(value)\n {\n if(value instanceof Date) {\n setToStartOfDay(value);\n this._o.minDate = value;\n this._o.minYear = value.getFullYear();\n this._o.minMonth = value.getMonth();\n } else {\n this._o.minDate = defaults.minDate;\n this._o.minYear = defaults.minYear;\n this._o.minMonth = defaults.minMonth;\n this._o.startRange = defaults.startRange;\n }\n\n this.draw();\n },\n\n /**\n * change the maxDate\n */\n setMaxDate: function(value)\n {\n if(value instanceof Date) {\n setToStartOfDay(value);\n this._o.maxDate = value;\n this._o.maxYear = value.getFullYear();\n this._o.maxMonth = value.getMonth();\n } else {\n this._o.maxDate = defaults.maxDate;\n this._o.maxYear = defaults.maxYear;\n this._o.maxMonth = defaults.maxMonth;\n this._o.endRange = defaults.endRange;\n }\n\n this.draw();\n },\n\n setStartRange: function(value)\n {\n this._o.startRange = value;\n },\n\n setEndRange: function(value)\n {\n this._o.endRange = value;\n },\n\n /**\n * refresh the HTML\n */\n draw: function(force)\n {\n if (!this._v && !force) {\n return;\n }\n var opts = this._o,\n minYear = opts.minYear,\n maxYear = opts.maxYear,\n minMonth = opts.minMonth,\n maxMonth = opts.maxMonth,\n html = '',\n randId;\n\n if (this._y <= minYear) {\n this._y = minYear;\n if (!isNaN(minMonth) && this._m < minMonth) {\n this._m = minMonth;\n }\n }\n if (this._y >= maxYear) {\n this._y = maxYear;\n if (!isNaN(maxMonth) && this._m > maxMonth) {\n this._m = maxMonth;\n }\n }\n\n randId = 'pika-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);\n\n for (var c = 0; c < opts.numberOfMonths; c++) {\n html += '
    ' + renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId) + '
    ';\n }\n\n this.el.innerHTML = html;\n\n if (opts.bound) {\n if(opts.field.type !== 'hidden') {\n sto(function() {\n opts.trigger.focus();\n }, 1);\n }\n }\n\n if (typeof this._o.onDraw === 'function') {\n this._o.onDraw(this);\n }\n\n if (opts.bound) {\n // let the screen reader user know to use arrow keys\n opts.field.setAttribute('aria-label', 'Use the arrow keys to pick a date');\n }\n },\n\n adjustPosition: function()\n {\n var field, pEl, width, height, viewportWidth, viewportHeight, scrollTop, left, top, clientRect;\n\n if (this._o.container) return;\n\n this.el.style.position = 'absolute';\n\n field = this._o.trigger;\n pEl = field;\n width = this.el.offsetWidth;\n height = this.el.offsetHeight;\n viewportWidth = window.innerWidth || document.documentElement.clientWidth;\n viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n\n if (typeof field.getBoundingClientRect === 'function') {\n clientRect = field.getBoundingClientRect();\n left = clientRect.left + window.pageXOffset;\n top = clientRect.bottom + window.pageYOffset;\n } else {\n left = pEl.offsetLeft;\n top = pEl.offsetTop + pEl.offsetHeight;\n while((pEl = pEl.offsetParent)) {\n left += pEl.offsetLeft;\n top += pEl.offsetTop;\n }\n }\n\n // default position is bottom & left\n if ((this._o.reposition && left + width > viewportWidth) ||\n (\n this._o.position.indexOf('right') > -1 &&\n left - width + field.offsetWidth > 0\n )\n ) {\n left = left - width + field.offsetWidth;\n }\n if ((this._o.reposition && top + height > viewportHeight + scrollTop) ||\n (\n this._o.position.indexOf('top') > -1 &&\n top - height - field.offsetHeight > 0\n )\n ) {\n top = top - height - field.offsetHeight;\n }\n\n this.el.style.left = left + 'px';\n this.el.style.top = top + 'px';\n },\n\n /**\n * render HTML for a particular month\n */\n render: function(year, month, randId)\n {\n var opts = this._o,\n now = new Date(),\n days = getDaysInMonth(year, month),\n before = new Date(year, month, 1).getDay(),\n data = [],\n row = [];\n setToStartOfDay(now);\n if (opts.firstDay > 0) {\n before -= opts.firstDay;\n if (before < 0) {\n before += 7;\n }\n }\n var previousMonth = month === 0 ? 11 : month - 1,\n nextMonth = month === 11 ? 0 : month + 1,\n yearOfPreviousMonth = month === 0 ? year - 1 : year,\n yearOfNextMonth = month === 11 ? year + 1 : year,\n daysInPreviousMonth = getDaysInMonth(yearOfPreviousMonth, previousMonth);\n var cells = days + before,\n after = cells;\n while(after > 7) {\n after -= 7;\n }\n cells += 7 - after;\n var isWeekSelected = false;\n for (var i = 0, r = 0; i < cells; i++)\n {\n var day = new Date(year, month, 1 + (i - before)),\n isSelected = isDate(this._d) ? compareDates(day, this._d) : false,\n isToday = compareDates(day, now),\n hasEvent = opts.events.indexOf(day.toDateString()) !== -1 ? true : false,\n isEmpty = i < before || i >= (days + before),\n dayNumber = 1 + (i - before),\n monthNumber = month,\n yearNumber = year,\n isStartRange = opts.startRange && compareDates(opts.startRange, day),\n isEndRange = opts.endRange && compareDates(opts.endRange, day),\n isInRange = opts.startRange && opts.endRange && opts.startRange < day && day < opts.endRange,\n isDisabled = (opts.minDate && day < opts.minDate) ||\n (opts.maxDate && day > opts.maxDate) ||\n (opts.disableWeekends && isWeekend(day)) ||\n (opts.disableDayFn && opts.disableDayFn(day));\n\n if (isEmpty) {\n if (i < before) {\n dayNumber = daysInPreviousMonth + dayNumber;\n monthNumber = previousMonth;\n yearNumber = yearOfPreviousMonth;\n } else {\n dayNumber = dayNumber - days;\n monthNumber = nextMonth;\n yearNumber = yearOfNextMonth;\n }\n }\n\n var dayConfig = {\n day: dayNumber,\n month: monthNumber,\n year: yearNumber,\n hasEvent: hasEvent,\n isSelected: isSelected,\n isToday: isToday,\n isDisabled: isDisabled,\n isEmpty: isEmpty,\n isStartRange: isStartRange,\n isEndRange: isEndRange,\n isInRange: isInRange,\n showDaysInNextAndPreviousMonths: opts.showDaysInNextAndPreviousMonths,\n enableSelectionDaysInNextAndPreviousMonths: opts.enableSelectionDaysInNextAndPreviousMonths\n };\n\n if (opts.pickWholeWeek && isSelected) {\n isWeekSelected = true;\n }\n\n row.push(renderDay(dayConfig));\n\n if (++r === 7) {\n if (opts.showWeekNumber) {\n row.unshift(renderWeek(i - before, month, year));\n }\n data.push(renderRow(row, opts.isRTL, opts.pickWholeWeek, isWeekSelected));\n row = [];\n r = 0;\n isWeekSelected = false;\n }\n }\n return renderTable(opts, data, randId);\n },\n\n isVisible: function()\n {\n return this._v;\n },\n\n show: function()\n {\n if (!this.isVisible()) {\n this._v = true;\n this.draw();\n removeClass(this.el, 'is-hidden');\n if (this._o.bound) {\n addEvent(document, 'click', this._onClick);\n this.adjustPosition();\n }\n if (typeof this._o.onOpen === 'function') {\n this._o.onOpen.call(this);\n }\n }\n },\n\n hide: function()\n {\n var v = this._v;\n if (v !== false) {\n if (this._o.bound) {\n removeEvent(document, 'click', this._onClick);\n }\n this.el.style.position = 'static'; // reset\n this.el.style.left = 'auto';\n this.el.style.top = 'auto';\n addClass(this.el, 'is-hidden');\n this._v = false;\n if (v !== undefined && typeof this._o.onClose === 'function') {\n this._o.onClose.call(this);\n }\n }\n },\n\n /**\n * GAME OVER\n */\n destroy: function()\n {\n this.hide();\n removeEvent(this.el, 'mousedown', this._onMouseDown, true);\n removeEvent(this.el, 'touchend', this._onMouseDown, true);\n removeEvent(this.el, 'change', this._onChange);\n removeEvent(document, 'keydown', this._onKeyChange);\n if (this._o.field) {\n removeEvent(this._o.field, 'change', this._onInputChange);\n if (this._o.bound) {\n removeEvent(this._o.trigger, 'click', this._onInputClick);\n removeEvent(this._o.trigger, 'focus', this._onInputFocus);\n removeEvent(this._o.trigger, 'blur', this._onInputBlur);\n }\n }\n if (this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n }\n }\n\n };\n\n return Pikaday;\n\n}));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-link',{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._t(\"default\")],2),(_vm.shouldShowUsername)?_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"js-user-avatar-link-username\",attrs:{\"title\":_vm.tooltipText,\"tooltip-placement\":_vm.tooltipPlacement}},[_vm._v(_vm._s(_vm.username))]):_vm._e(),_vm._t(\"avatar-badge\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--1!../../../../../../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--1!../../../../../../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=426f8d85&\"\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\ncomponent.options.__file = \"user_avatar_link.vue\"\nexport default component.exports"],"sourceRoot":""}