{"version":3,"sources":["webpack:///./create_label.js","webpack:///./labels_select.js","webpack:///./milestone_select.js","webpack:///./pages/projects/boards/index.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:///./project_select_combo_button.js","webpack:///./project_select.js","webpack:///./pages/projects/project.js","webpack:///./vue_shared/directives/tooltip.js","webpack:///./pages/projects/index.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":["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","document","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","indexOf","splice","toString","replace","DropdownUtils","duplicateLabelColor","_slicedToArray","escape","prop","search","fields","selectable","filterable","toggleLabel","el","$dropdownParent","$dropdownInputField","isSelected","selectedLabels","index","sprintf","firstLabel","hidden","isIssueIndex","isMRIndex","page","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","dataset","modalStoreFilter","isSelecting","milestone_id","_ref2","remaining","timeFor","due_date","boardStoreIssueSet","ListMilestone","boardStoreIssueDelete","window","__webpack_require__","r","__webpack_exports__","_users_select__WEBPACK_IMPORTED_MODULE_0__","_behaviors_shortcuts_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","_boards__WEBPACK_IMPORTED_MODULE_2__","addEventListener","UsersSelect","ShortcutsNavigation","initBoards","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","body","appendChild","useFallback","_offUpEvents","_cloneId","_loopId","effectAllowed","_dragStartId","revert","activeSortable","isOwner","isMovingBetweenSortable","canSort","animated","lastElementChild","floating","cssFloat","display","isWide","isLong","halfway","nextElementSibling","after","elTop","offsetTop","tgTop","moveVector","prevRect","currentRect","handleEvent","dropEffect","_globalDragOver","toArray","order","option","removeAttribute","utils","extend","throttle","nextTick","cancelNextTick","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","ProjectSelectComboButton","select","projectSelectInput","newItemBtn","resourceType","resourceLabel","formattedText","deriveTextVariants","groupId","initLocalStorage","getProjectFromLocalStorage","selectProject","localStorageItemType","setBtnTextFromLocalStorage","selectedProjectData","projectMeta","setNewItemBtnAttributes","setProjectInLocalStorage","cachedProjectData","project","defaultTextPrefix","presetTextSuffix","projectString","projectSelect","simpleFilter","includeGroups","allProjects","orderBy","withIssuesEnabled","withMergeRequestsEnabled","withShared","includeProjectsInSubgroups","allowClear","minimumInputLength","finalCallback","projectsCallback","projects","results","groupsCallback","groups","groupProjects","with_issues_enabled","with_merge_requests_enabled","with_shared","include_subgroups","order_by","membership","web_url","name_with_namespace","initSelection","dropdownCssClass","Project","$cloneOptions","$projectCloneField","$cloneBtnLabel","mobileCloneField","selectedCloneOption","cloneType","activeText","$label","clipboardText","initRefSwitcher","projectId","cookieKey","projectSelectDropdown","changeProject","location","refListItem","refLink","filterRemote","filterByText","inputFieldName","li","header","link","obj","$visit","shouldVisit","divider","serialize","componentUpdated","tooltipInstance","tip","getTipElement","setElementContent","getTitle","unbind","_dismissable_callout__WEBPACK_IMPORTED_MODULE_0__","_projects_gke_cluster_dropdowns__WEBPACK_IMPORTED_MODULE_1__","_project__WEBPACK_IMPORTED_MODULE_2__","_behaviors_shortcuts_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_3__","initDismissableCallout","initGkeDropdowns","text_color","description","priority","Infinity","ListAssignee","assignee_classCallCheck","webUrl","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","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","selectedProject","selectedProjectName","jquery_default","$refs","projectsDropdown","api","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","milestonePath","labelPath","selectAllText","showSearch","toggleAll","selectAllBtn","header_component","data-dismiss","modal_listvue_type_script_lang_js_","emptyStateSvg","loopIssues","selectedIssues","groupedIssues","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","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.projects.boards.8d75b7e2.chunk.js","sourcesContent":["/* 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 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 $ 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';\nimport AccessorUtilities from './lib/utils/accessor';\n\nexport default class ProjectSelectComboButton {\n constructor(select) {\n this.projectSelectInput = $(select);\n this.newItemBtn = $('.new-project-item-link');\n this.resourceType = this.newItemBtn.data('type');\n this.resourceLabel = this.newItemBtn.data('label');\n this.formattedText = this.deriveTextVariants();\n this.groupId = this.projectSelectInput.data('groupId');\n this.bindEvents();\n this.initLocalStorage();\n }\n\n bindEvents() {\n this.projectSelectInput\n .siblings('.new-project-item-select-button')\n .on('click', e => this.openDropdown(e));\n\n this.newItemBtn.on('click', e => {\n if (!this.getProjectFromLocalStorage()) {\n e.preventDefault();\n this.openDropdown(e);\n }\n });\n\n this.projectSelectInput.on('change', () => this.selectProject());\n }\n\n initLocalStorage() {\n const localStorageIsSafe = AccessorUtilities.isLocalStorageAccessSafe();\n\n if (localStorageIsSafe) {\n this.localStorageKey = [\n 'group',\n this.groupId,\n this.formattedText.localStorageItemType,\n 'recent-project',\n ].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n openDropdown(event) {\n $(event.currentTarget)\n .siblings('.project-item-select')\n .select2('open');\n }\n\n selectProject() {\n const selectedProjectData = JSON.parse(this.projectSelectInput.val());\n const projectUrl = `${selectedProjectData.url}/${this.projectSelectInput.data('relativePath')}`;\n const projectName = selectedProjectData.name;\n\n const projectMeta = {\n url: projectUrl,\n name: projectName,\n };\n\n this.setNewItemBtnAttributes(projectMeta);\n this.setProjectInLocalStorage(projectMeta);\n }\n\n setBtnTextFromLocalStorage() {\n const cachedProjectData = this.getProjectFromLocalStorage();\n\n this.setNewItemBtnAttributes(cachedProjectData);\n }\n\n setNewItemBtnAttributes(project) {\n if (project) {\n this.newItemBtn.attr('href', project.url);\n this.newItemBtn.text(`${this.formattedText.defaultTextPrefix} in ${project.name}`);\n } else {\n this.newItemBtn.text(`Select project to create ${this.formattedText.presetTextSuffix}`);\n }\n }\n\n getProjectFromLocalStorage() {\n const projectString = localStorage.getItem(this.localStorageKey);\n\n return JSON.parse(projectString);\n }\n\n setProjectInLocalStorage(projectMeta) {\n const projectString = JSON.stringify(projectMeta);\n\n localStorage.setItem(this.localStorageKey, projectString);\n }\n\n deriveTextVariants() {\n const defaultTextPrefix = this.resourceLabel;\n\n // the trailing slice call depluralizes each of these strings (e.g. new-issues -> new-issue)\n const localStorageItemType = `new-${this.resourceType\n .split('_')\n .join('-')\n .slice(0, -1)}`;\n const presetTextSuffix = this.resourceType\n .split('_')\n .join(' ')\n .slice(0, -1);\n\n return {\n localStorageItemType, // new-issue / new-merge-request\n defaultTextPrefix, // New issue / New merge request\n presetTextSuffix, // issue / merge request\n };\n }\n}\n","/* eslint-disable func-names, no-var, object-shorthand, one-var, no-else-return */\n\nimport $ from 'jquery';\nimport Api from './api';\nimport ProjectSelectComboButton from './project_select_combo_button';\n\nexport default function projectSelect() {\n $('.ajax-project-select').each(function(i, select) {\n var placeholder;\n const simpleFilter = $(select).data('simpleFilter') || false;\n this.groupId = $(select).data('groupId');\n this.includeGroups = $(select).data('includeGroups');\n this.allProjects = $(select).data('allProjects') || false;\n this.orderBy = $(select).data('orderBy') || 'id';\n this.withIssuesEnabled = $(select).data('withIssuesEnabled');\n this.withMergeRequestsEnabled = $(select).data('withMergeRequestsEnabled');\n this.withShared =\n $(select).data('withShared') === undefined ? true : $(select).data('withShared');\n this.includeProjectsInSubgroups = $(select).data('includeProjectsInSubgroups') || false;\n this.allowClear = $(select).data('allowClear') || false;\n\n placeholder = 'Search for project';\n if (this.includeGroups) {\n placeholder += ' or group';\n }\n\n $(select).select2({\n placeholder: placeholder,\n minimumInputLength: 0,\n query: (function(_this) {\n return function(query) {\n var finalCallback, projectsCallback;\n finalCallback = function(projects) {\n var data;\n data = {\n results: projects,\n };\n return query.callback(data);\n };\n if (_this.includeGroups) {\n projectsCallback = function(projects) {\n var groupsCallback;\n groupsCallback = function(groups) {\n var data;\n data = groups.concat(projects);\n return finalCallback(data);\n };\n return Api.groups(query.term, {}, groupsCallback);\n };\n } else {\n projectsCallback = finalCallback;\n }\n if (_this.groupId) {\n return Api.groupProjects(\n _this.groupId,\n query.term,\n {\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n with_shared: _this.withShared,\n include_subgroups: _this.includeProjectsInSubgroups,\n },\n projectsCallback,\n );\n } else {\n return Api.projects(\n query.term,\n {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects,\n },\n projectsCallback,\n );\n }\n };\n })(this),\n id: function(project) {\n if (simpleFilter) return project.id;\n return JSON.stringify({\n name: project.name,\n url: project.web_url,\n });\n },\n text: function(project) {\n return project.name_with_namespace || project.name;\n },\n\n initSelection: function(el, callback) {\n return Api.project(el.val()).then(({ data }) => callback(data));\n },\n\n allowClear: this.allowClear,\n\n dropdownCssClass: 'ajax-project-dropdown',\n });\n if (simpleFilter) return select;\n return new ProjectSelectComboButton(select);\n });\n}\n","/* eslint-disable func-names, no-var, no-return-assign, one-var, object-shorthand, vars-on-top */\n\nimport $ from 'jquery';\nimport Cookies from 'js-cookie';\nimport { __ } from '~/locale';\nimport { visitUrl } from '~/lib/utils/url_utility';\nimport axios from '~/lib/utils/axios_utils';\nimport flash from '~/flash';\nimport projectSelect from '../../project_select';\n\nexport default class Project {\n constructor() {\n const $cloneOptions = $('ul.clone-options-dropdown');\n const $projectCloneField = $('#project_clone');\n const $cloneBtnLabel = $('.js-git-clone-holder .js-clone-dropdown-label');\n const mobileCloneField = document.querySelector(\n '.js-mobile-git-clone .js-clone-dropdown-label',\n );\n\n const selectedCloneOption = $cloneBtnLabel.text().trim();\n if (selectedCloneOption.length > 0) {\n $(`a:contains('${selectedCloneOption}')`, $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', e => {\n e.preventDefault();\n const $this = $(e.currentTarget);\n const url = $this.attr('href');\n const cloneType = $this.data('cloneType');\n\n $('.is-active', $cloneOptions).removeClass('is-active');\n $(`a[data-clone-type=\"${cloneType}\"]`).each(function() {\n const $el = $(this);\n const activeText = $el.find('.dropdown-menu-inner-title').text();\n const $container = $el.closest('.project-clone-holder');\n const $label = $container.find('.js-clone-dropdown-label');\n\n $el.toggleClass('is-active');\n $label.text(activeText);\n });\n\n if (mobileCloneField) {\n mobileCloneField.dataset.clipboardText = url;\n } else {\n $projectCloneField.val(url);\n }\n $('.js-git-empty .js-clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function() {\n return $(this)\n .parents('form')\n .submit();\n });\n $('.hide-no-ssh-message').on('click', function(e) {\n Cookies.set('hide_no_ssh_message', 'false');\n $(this)\n .parents('.no-ssh-key-message')\n .remove();\n return e.preventDefault();\n });\n $('.hide-no-password-message').on('click', function(e) {\n Cookies.set('hide_no_password_message', 'false');\n $(this)\n .parents('.no-password-message')\n .remove();\n return e.preventDefault();\n });\n $('.hide-auto-devops-implicitly-enabled-banner').on('click', function(e) {\n const projectId = $(this).data('project-id');\n const cookieKey = `hide_auto_devops_implicitly_enabled_banner_${projectId}`;\n Cookies.set(cookieKey, 'false');\n $(this)\n .parents('.auto-devops-implicitly-enabled-banner')\n .remove();\n return e.preventDefault();\n });\n Project.projectSelectDropdown();\n }\n\n static projectSelectDropdown() {\n projectSelect();\n $('.project-item-select').on('click', e => Project.changeProject($(e.currentTarget).val()));\n }\n\n static changeProject(url) {\n return (window.location = url);\n }\n\n static initRefSwitcher() {\n var refListItem = document.createElement('li');\n var refLink = document.createElement('a');\n\n refLink.href = '#';\n\n return $('.js-project-refs-dropdown').each(function() {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n return $dropdown.glDropdown({\n data(term, callback) {\n axios\n .get($dropdown.data('refsUrl'), {\n params: {\n ref: $dropdown.data('ref'),\n search: term,\n },\n })\n .then(({ data }) => callback(data))\n .catch(() => flash(__('An error occurred while getting projects')));\n },\n selectable: true,\n filterable: true,\n filterRemote: true,\n filterByText: true,\n inputFieldName: $dropdown.data('inputFieldName'),\n fieldName: $dropdown.data('fieldName'),\n renderRow: function(ref) {\n var li = refListItem.cloneNode(false);\n\n if (ref.header != null) {\n li.className = 'dropdown-header';\n li.textContent = ref.header;\n } else {\n var link = refLink.cloneNode(false);\n\n if (ref === selected) {\n link.className = 'is-active';\n }\n\n link.textContent = ref;\n link.dataset.ref = ref;\n\n li.appendChild(link);\n }\n\n return li;\n },\n id: function(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function(obj, $el) {\n return $el.text().trim();\n },\n clicked: function(options) {\n const { e } = options;\n e.preventDefault();\n if ($('input[name=\"ref\"]').length) {\n var $form = $dropdown.closest('form');\n\n var $visit = $dropdown.data('visit');\n var shouldVisit = $visit ? true : $visit;\n var action = $form.attr('action');\n var divider = action.indexOf('?') === -1 ? '?' : '&';\n if (shouldVisit) {\n visitUrl(`${action}${divider}${$form.serialize()}`);\n }\n }\n },\n });\n });\n }\n}\n","import $ from 'jquery';\n\nexport default {\n bind(el) {\n $(el).tooltip({\n trigger: 'hover',\n });\n },\n\n componentUpdated(el) {\n $(el).tooltip('_fixTitle');\n\n // 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","import initDismissableCallout from '~/dismissable_callout';\nimport initGkeDropdowns from '~/projects/gke_cluster_dropdowns';\nimport Project from './project';\nimport ShortcutsNavigation from '../../behaviors/shortcuts/shortcuts_navigation';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const { page } = document.body.dataset;\n const newClusterViews = [\n 'projects:clusters:new',\n 'projects:clusters:create_gcp',\n 'projects:clusters:create_user',\n ];\n\n if (newClusterViews.indexOf(page) > -1) {\n initDismissableCallout('.gcp-signup-offer');\n initGkeDropdowns();\n }\n\n new Project(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\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":""}