diff --git a/dist/index.html b/dist/index.html index fa05876..50c78f9 100644 --- a/dist/index.html +++ b/dist/index.html @@ -9,8 +9,8 @@ - - + + - - + + + iocaine diff --git a/dist/v-1494222008101/js/maps/app.js.map b/dist/v-1494222008101/js/maps/app.js.map deleted file mode 100644 index 2f67c86..0000000 --- a/dist/v-1494222008101/js/maps/app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["app.js"],"names":["configure","i18nInit","init","module","modules","pluginsModules","pluginsWithModule","taiga","this","taigaContribPlugins","window","generateHash","components","_","map","x","JSON","stringify","hex_sha1","join","generateUniqueSessionIdentifier","date","randomNumber","Date","getTime","Math","floor","random","sessionId","$routeProvider","$locationProvider","$httpProvider","$provide","$tgEventsProvider","$compileProvider","$translateProvider","$translatePartialLoaderProvider","$animateProvider","authHttpIntercept","blockingIntercept","decorators","defaultHeaders","loaderIntercept","originalWhen","preferedLangCode","userInfo","versionCheckHttpIntercept","classNameFilter","when","path","route","resolve","angular","extend","languageLoad","$q","$translate","deferred","defer","then","promise","projectLoaded","projectService","$route","ref","setSection","current","$$route","section","params","pslug","setProjectBySlug","cleanProject","call","templateUrl","controller","controllerAs","loader","title","description","joyride","reloadOnSearch","access","requiresLogin","template","redirectTo","disableHeader","mobileViewport","otherwise","html5Mode","enabled","requireBase","Content-Type","Accept-Language","taigaConfig","defaultLanguage","X-Session-Id","defaults","headers","patch","post","put","get","useApplyAsync","setSessionId","$location","$navUrls","$lightboxService","errorHandlingService","httpResponseError","response","nextUrl","search","status","config","cancelable","closeAll","error","url","indexOf","force_next","unauthorized","next","reject","responseError","factory","interceptors","push","loaderService","request","logRequest","requestError","rejection","logResponse","$injector","data","version","element","injector","invoke","_this","$confirm","versionErrorMsg","instant","notify","redirectToBlockedPage","responseOk","block","blocked_code","debugInfoEnabled","debugInfo","localStorage","parse","lang","addPart","useLoader","urlTemplate","_version","useSanitizeValueStrategy","addInterpolation","preferredLanguage","fallbackLanguage","getDecorators","each","decorator","provider","messages","moment","locale","ljs","load","defaultMessage","type","email","urlstrict","number","digits","dateIso","alphanum","phone","notnull","notblank","required","regexp","min","max","range","minlength","maxlength","rangelength","mincheck","maxcheck","rangecheck","equalto","linewidth","pikaday","checksley","updateMessages","$log","$rootscope","$auth","$events","$analytics","appMetaService","navigationBarService","lightboxService","un","user","validators","debug","$on","refresh","val","width","lines","valid","nl2br","split","every","line","length","prettyDate","isValid","updateValidators","contribPlugins","adminPlugins","filter","userSettingsPlugins","e","ctx","language","Promise","setScheduler","cb","$evalAsync","setupConnection","isAuthenticated","getUser","initialize","event","getLightboxOpen","preventDefault","start","setAll","addMobileViewport","removeMobileViewport","enableHeader","value","plugin","concat","run","TaigaBase","TaigaController","TaigaService","child","parent","ctor","constructor","key","hasProp","prototype","__super__","hasOwnProperty","bind","fn","me","apply","arguments","superClass","onInitialDataError","xhr","notfound","permissionDenied","q","Base","Service","Controller","DEFAULT_COLOR_LIST","addClass","bindMethods","bindOnce","cancelTimeout","debounce","debounceLeading","defineImmutableProperty","getDefaulColorList","getMatches","getRandomDefaultColor","groupBy","isEmail","isImage","isPdf","joinStr","mixOf","replaceTags","scopeDefer","sizeFormat","slugify","startswith","stripTags","timeout","toString","toggleText","trim","truncate","unslugify","item","i","l","slice","el","className","classList","add","str","breakTag","replace","object","dependencies","methods","keys","forIn","isFunction","bindAll","scope","attr","continuation","delBind","$eval","$watch","Mixed","base","method","mixin","mixins","name","char","toLowerCase","capitalize","texts","nextTextPosition","text","coll","pred","len","result","wait","setTimeout","timeoutVar","clearTimeout","func","$apply","isNumber","isString","isPlainObject","isUndefined","leading","trailing","str1","str2","startsWith","maxLength","suffix","out","String","substring","lastIndexOf","input","precision","size","units","isNaN","parseFloat","isFinite","log","pow","toFixed","exception","pattern","RegExp","tags","obj","Object","defineProperty","fn_result","isObject","removeKeys","chain","flatten","reduce","cartesianProduct","reduceRight","a","b","y","match","oldImmutable","newImmutable","pathObj","forEach","newValue","toJS","sample","clone","string","regex","index","matches","exec","FiltersMixin","PageMixin","UsFiltersMixin","fillUsersAndRoles","users","roles","activeUsers","computableRoles","is_active","sortBy","activeUsersById","id","usersById","project","members","uniq","includes","loadUsersAndRoles","all","rs","projects","usersList","projectId","rolesList","results","selectFilter","existing","location","compact","isInCurrentRouteParams","noreload","replaceFilter","replaceAllFilters","filters","unselectFilter","newValues","parsedValues","isEmpty","applyStoredFilters","projectSlug","getFilters","storeFilters","filtersHashSuffix","hash","ns","storage","set","formatSelectedFilters","list","urlIds","invalidAppliedTags","invalidTags","selectedFilters","selectedIds","validAppliedTags","it","find","sit","dataType","color","changeQ","filtersReloadContent","generateFilters","removeFilter","addFilter","newFilter","category","selectCustomFilter","customFilter","saveCustomFilter","urlfilters","assigned_to","owner","filterRemoteStorageService","storeCustomFiltersName","userFilters","removeCustomFilter","loadFilters","storeFiltersName","epic","userstories","filtersData","assignedTo","customFiltersRaw","selected","statuses","tagsWithAtLeastOneElement","tag","count","full_name","owners","epics","subject","filterQ","translate","content","hideEmpty","totalTaggedElements","customFilters","forOwn","AuthService","CancelAccountDirective","ChangeEmailDirective","ChangePasswordFromRecoveryDirective","ForgotPasswordDirective","InvitationDirective","LoginDirective","LoginPage","PublicRegisterMessageDirective","RegisterDirective","currentUserService","$routeParams","decodeURIComponent","clear","removeToken","$inject","rootscope","model","http","urls","config1","currentUserService1","themeService","userModel","_currentTheme","_getUserTheme","setUserdata","userData","Immutable","fromJS","getAttrs","setUser","theme","_setTheme","newTheme","use","_setLocales","make_model","auth","remove","setToken","token","getToken","auth_token","login","logout","removeUser","register","getInvitation","invitations","acceptInvitiationWithNewUser","forgotPassword","changePasswordFromRecovery","changeEmail","cancelAccount","service","$config","templates","templateFn","publicRegisterEnabled","encodeURIComponent","restrict","directive","$window","link","$scope","$el","$attrs","form","onError","onSuccess","submit","Form","href","onKeyUp","target","currentTarget","iscapsLockActivated","loginFormType","validate","username","password","on","prerenderReady","off","onErrorSubmit","onSuccessSubmit","onlyOneErrorElement","trackEvent","_error_message","setErrors","message","success","$params","tokenInParams","loginForm","onErrorSubmitLogin","onErrorSubmitRegister","onSuccessSubmitLogin","onSuccessSubmitRegister","registerForm","submitLogin","submitRegister","invitation","dataLogin","project_slug","project_name","invitation_token","dataRegister","escape","$repo","$model","email_token","queryOne","cancel_token","TaigaMainDirective","onresize","$broadcast","home","not-found","permission-denied","discover","discover-search","forgot-password","change-password","change-email","cancel-account","create-project","create-project-scrum","create-project-kanban","create-project-duplicate","create-project-import","create-project-import-platform","profile","user-profile","blocked-project","project-detail-ref","project-backlog","project-taskboard","project-kanban","project-issues","project-epics","project-search","project-epics-detail","project-userstories-detail","project-tasks-detail","project-issues-detail","project-wiki","project-wiki-list","project-wiki-page","project-team","project-admin-home","project-admin-project-profile-details","project-admin-project-profile-default-values","project-admin-project-profile-modules","project-admin-project-profile-export","project-admin-project-profile-reports","project-admin-project-values-status","project-admin-project-values-points","project-admin-project-values-priorities","project-admin-project-values-severities","project-admin-project-values-types","project-admin-project-values-custom-fields","project-admin-project-values-tags","project-admin-memberships","project-admin-roles","project-admin-third-parties-webhooks","project-admin-third-parties-github","project-admin-third-parties-gitlab","project-admin-third-parties-bitbucket","project-admin-third-parties-gogs","project-admin-contrib","user-settings-user-profile","user-settings-user-change-password","user-settings-user-avatar","user-settings-mail-notifications","user-settings-contrib","$navurls","update","AnimationFrame","Autofocus","Capslock","CheckPermissionDirective","ClassPermissionDirective","DataPickerConfig","LightboxClose","ProjectUrl","Qqueue","QueueModelTransformation","SelectedText","Svg","Template","ToggleCommentDirective","i18n","previousMonth","nextMonth","months","weekdays","weekdaysShort","isRTL","firstDay","parseInt","format","$document","getSelection","selection","createRange","render","permission","removeClass","unObserve","unwatch","tgCheckPermission","$observe","checkPermissions","tgClassPermissionWatchAction","unbindWatcher","negation","my_permissions","classes","animationFrame","performAnimation","tail","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","time","shift","slug","is_backlog_activated","is_kanban_activated","is_wiki_activated","is_issues_activated","lastPromise","qqueue","bindAdd","args","qqueue1","repo","model1","setObject","scope1","prop","attrs","cloneDeep","_attrs","_name","getObj","save","transformation","defered","comment","modified","omit","_modifiedAttrs","assign","$templateCache","lodash","tmp","elm","onClose","svgIcon","svgTitle","svgTitleTranslate","svgTitleTranslateValues","$timeout","$parse","$element","ngShow","focus","preload","spinner","src","onLoad","image","Image","onload","transclude","show","prepend","hide","DetailController","navurls","issue","task","us","wikipage","EventsProvider","EventsService","win","liveAnnouncementService1","rootScope","liveAnnouncementService","processMessage","subscriptions","connected","pendingMessages","missedHeartbeats","heartbeatInterval","WebSocket","info","loc","scheme","stopExistingConnection","protocol","trimStart","host","ws","addEventListener","onOpen","onMessage","removeEventListener","stopHeartBeatMessages","close","notifications","subscribe","desc","$digest","startHeartBeatMessages","heartbeatIntervalTime","maxMissedHeartbeats","reconnectTryInterval","setInterval","Error","sendMessage","cmd","error1","clearInterval","processHeartBeatPongMessage","serialize","msg","send","routingKey","subscription","routing_key","callback","unsubscribe","$get","$win","$conf","$rootScope","FeedbackDirective","$loading","feedbackService","openLightbox","submitButton","currentLoading","create","feedback","finish","open","RelatedTaskAssignedToInlineEditionDirective","RelatedTaskCreateButtonDirective","RelatedTaskCreateFormDirective","RelatedTaskRowDirective","RelatedTasksDirective","$compile","$template","templateEdit","templateView","renderEdit","renderView","saveTask","childScope","$new","$destroy","html","keyCode","$modelValue","perms","modify_task","delete_task","select","askOnDelete","askResponse","$emit","ngModel","require","$tgmodel","newTask","createTask","reset","default_task_status","openNewRelatedTask","$rs","_isEditable","_isVisible","loadTasks","tasks","usId","us_order","showRelatedTasks","avatarService","$ctrl","autoSave","notAutoSave","updateRelatedTask","avatar","member","getAvatar","imgurl","bg","full_name_display","tgRelatedTaskAssignedToInlineEdition","unbind","userId","updatedRelatedTask","ResourcesService","initResources","initUrls","auth-register","by_username","users-password-recovery","users-change-password-from-recovery","users-change-password","users-change-email","users-cancel-account","user-stats","user-liked","user-voted","user-watched","user-contacts","user-me","permissions","notify-policies","user-storage","memberships","bulk-create-memberships","resolver","project-templates","project-modules","bulk-update-projects-order","project-like","project-unlike","project-watch","project-unwatch","project-contact","project-transfer-validate-token","project-transfer-accept","project-transfer-reject","project-transfer-request","project-transfer-start","epic-statuses","userstory-statuses","points","task-statuses","issue-statuses","issue-types","priorities","severities","milestones","epic-upvote","epic-downvote","epic-watch","epic-unwatch","epic-related-userstories","epic-related-userstories-bulk-create","bulk-create-us","bulk-update-us-backlog-order","bulk-update-us-milestone","bulk-update-us-miles-order","bulk-update-us-kanban-order","userstories-filters","userstory-upvote","userstory-downvote","userstory-watch","userstory-unwatch","bulk-create-tasks","bulk-update-task-taskboard-order","task-upvote","task-downvote","task-watch","task-unwatch","task-filters","issues","bulk-create-issues","issues-filters","issue-upvote","issue-downvote","issue-watch","issue-unwatch","wiki","wiki-restore","wiki-links","history/epic","history/us","history/issue","history/task","history/wiki","attachments/epic","attachments/us","attachments/issue","attachments/task","attachments/wiki_page","custom-attributes/epic","custom-attributes/userstory","custom-attributes/task","custom-attributes/issue","custom-attributes-values/epic","custom-attributes-values/userstory","custom-attributes-values/task","custom-attributes-values/issue","webhooks","webhooks-test","webhooklogs","webhooklogs-resend","epics-csv","userstories-csv","tasks-csv","issues-csv","timeline-profile","timeline-user","timeline-project","exporter","importer","locales","applications","application-tokens","stats-discover","importers-trello-auth-url","importers-trello-authorize","importers-trello-list-projects","importers-trello-list-users","importers-trello-import-project","importers-jira-auth-url","importers-jira-authorize","importers-jira-list-projects","importers-jira-list-users","importers-jira-import-project","importers-github-auth-url","importers-github-authorize","importers-github-list-projects","importers-github-list-users","importers-github-import-project","importers-asana-auth-url","importers-asana-authorize","importers-asana-list-projects","importers-asana-list-users","importers-asana-import-project","$urls","providers","toArray","SearchBoxDirective","SearchController","SearchDirective","navUrls","projectService1","loadSearchData","sectionName","loadInitialData","projectName","projectDescription","searchTerm","t","searchResults","term","loadProject","epicStatusById","epic_statuses","issueStatusById","issue_statuses","taskStatusById","task_statuses","severityById","priorityById","usStatusById","us_statuses","loading","_loadSearchData","_promise","abort","reload","$templatecache","$routeparams","linkTable","activeSectionName","applyAutoTab","getActiveSection","lastSearchResults","markSectionTabActive","renderFilterTabs","renderTableContent","tabsDom","maxVal","selectedSection","wikipages","oldElements","oldScope","children","parseHTML","activeSection","sectionData","searchText","AnalyticsService","doc","conf","initialized","accountId","pageEvent","trackRoutes","ignoreFirstPageLoad","injectAnalytics","ga","getUrl","trackPage","s","o","g","r","m","createElement","getElementsByTagName","async","parentNode","insertBefore","document","page","action","label","BindScope","jQuery","CompileHtmlDirective","tgCompileHtml","oldValue","contents","AssignedToDirective","BlockButtonDirective","CreatedByDisplayDirective","DateRangeDirective","DateSelectorDirective","DeleteButtonDirective","EditableSubjectDirective","ListItemAssignedtoDirective","ListItemEpicStatusDirective","ListItemIssueStatusDirective","ListItemPriorityDirective","ListItemSeverityDirective","ListItemTaskStatusDirective","ListItemTypeDirective","ListItemUsStatusDirective","SprintProgressBarDirective","TgMainTitleDirective","TgProgressBarDirective","UserDisplayDirective","WatchersDirective","renderRange","first","second","endDate","initDate","tgDateRange","valFirst","valSecond","datePickerConfigService","selectedDate","datePickerConfig","merge","field","picker","Pikaday","destroy","setDate","renderProgress","percentage","visual_percentage","hasClass","css","tgSprintProgressbar","sprint","closedPoints","totalPoints","closed_points","total_points","round","owner_extra_info","created_date","tgUserId","$modelTransform","deleteWatcher","isEditable","renderWatchers","ref1","requiredPerm","watchers","transform","watcherId","watcherIds","revert","pull","$currentUserService","renderAssignedTo","assignedObject","fullName","isIocaine","isUnassigned","assigned_to_extra_info","is_iocaine","fullNameVisible","ask","instance","is_blocked","onDeleteGoToUrl","onDeleteTitle","subtitle","click","tgListitemEpicStatus","tgListitemUsStatus","tgListitemTaskStatus","tgListitemAssignedto","tgListitemIssueStatus","issueTypeById","domNode","tgListitemType","priority","tgListitemPriority","severity","tgListitemSeverity","tgProgressBar","i18nSectionName","ConfirmService","NOTIFICATION_MSG","light-error","lightboxSelector","ok","askChoice","choices","replacement","warning","choicesField","append","icon","detailImage","svgContainer","useSVG","$","createElementNS","setAttributeNS","appendChild","spin","stop","percent","body","selector","tsem","one","CustomAttributeValueDirective","CustomAttributesValuesController","CustomAttributesValuesDirective","DATE_TYPE","MULTILINE_TYPE","RICHTEXT_TYPE","TEXT_TYPE","TYPE_CHOICES","URL_TYPE","confirm","objectId","customAttributes","customAttributesValues","loadCustomAttributesValues","getAttributeValue","attribute","attributeValue","attributes_values","updateAttributeValue","attributesValues","$templates","$storage","collapsedHash","$ctrls","collapsed","toggleCollapse","requiredEditionPerm","$selectedText","wysiwygService","setFocusAndSelectOnInputField","edit","editable","attributeHtml","getHTML","onSelect","saveCustomRichText","markdown","cancelCustomRichText","tgCustomAttributeValue","customAttributeValue","stopPropagation","EstimationsService","LbUsEstimationDirective","UsEstimationDirective","$tgEstimationsService","estimationProcess","onSelectedPointForRole","roleId","pointId","$setViewValue","mainTemplate","calculateTotalPoints","calculateRoles","$watchCollection","$qqueue","EstimationProcess","pointsTemplate","$el1","us1","project1","bindClickEvents","pointsById","notNullValues","values","v","k","acc","num","role","pointObj","renderPointsSelector","siblings","popover","horizontalList","maxPointLength","pop","point","some","horizontal","closest","offset","top","height","clientHeight","byRefFilter","darkerFilter","defaultFilter","inArray","markdownToHTML","momentFormat","momentFromNow","toMutableFilter","yesNoFilter","defaultValue","without_suffix","fromNow","memoizedMutable","toMutable","js","memoize","List","$filterFilter","cleanRef","substr","luminosity","black","c","j","newColor","white","wysiwigService","$filter","arrayFilter","listItem","AssignedToLightboxDirective","BlockLightboxDirective","BlockingMessageInputDirective","CreateBulkUserstoriesDirective","CreateEditUserstoryDirective","LightboxDirective","LightboxKeyboardNavigationService","LightboxLeaveProjectWarningDirective","LightboxService","WatchersLightboxDirective","onEsc","docEl","lightboxContent","not","firstField","activeElement","blur","code","which","$applyAsync","removeAttr","lightboxEl","dispatch","prev","trigger","$attr","visible","$tgrepo","unblock","finishCallback","blocked_note","watch","ngmodel","attachmentsService","attachmentsToAdd","attachmentsToDelete","createAttachments","deleteAttachments","resetAttachments","createEditUs","isNew","addAttachment","attachment","deleteAttachment","addTag","inserted","itemtags","projectTags","tags_colors","deleteTag","statusList","usStatusList","attachments","is_archived","createEditUsOpen","team_requirement","client_requirement","promises","upload","file","broadcastEvent","include_attachments","include_tasks","getByRef","keydown","statusId","bulk","bulkCreate","lightboxKeyboardNavigationService","closeLightbox","filterUsers","normalizeString","selectedItem","selectedUser","usersTemplate","normalizedString","toUpperCase","visibleUsers","partial","showMore","assignedToId","searchingText","usersSearch","getFilteredUsers","_filterUsers","Loader","LoaderDirective","tgLoader","onStart","onEnd","autoClose","lastResponseDate","pageLoaded","requestCount","startLoadTime","minTime","force","diff","endTime","timeoutValue","intervalAuto","auto","LoadingDirective","TgLoadingService","settings","removeClasses","classess","timeoutId","tgLoading","showLoading","RelatedTaskStatusDirective","UsStatusDirective","usStatusDom","usStatusDomParent","tgUsStatus","onUpdate","selectionTemplate","updateTaskStatus","taskStatusDom","taskStatusDomParent","tgRelatedTaskStatus","closePopover","isVisible","docViewBottom","docViewLeft","docViewRight","docViewTop","docViewWidth","elemBottom","elemLeft","elemRight","elemTop","elemWidth","display","visibility","scrollTop","left","fadeOut","fadeIn","ExceptionHandlerFactory","ravenConfig","Raven","install","cause","captureException","ColorizeTagsBacklogDirective","LbTagLineDirective","TagsDirective","formatter","parser","isArray","$formatters","$parsers","tgColorizeBacklogTags","COMMA_KEY","ENTER_KEY","autocomplete","templateTags","addValue","deleteValue","hideSaveButton","renderTags","resetInput","saveInputTag","showSaveButton","withoutColors","has","tagsColors","style","fromCharCode","Awesomplete","CreateEditSprint","createSprint","getLastSprint","hasErrors","resetSprint","ussToAdd","newSprint","estimated_start","estimated_finish","estimated_end","copy","realClone","sprintsCounter","sprints","__all__","milestonesCounter","openSprints","sortedSprints","closed","uss","estimatedFinish","estimatedStart","lastSprint","lastSprintNameDom","editSprint","BacklogController","BacklogDirective","BurndownBacklogGraphDirective","TgBacklogProgressBarDirective","ToggleBurndownVisibility","UsPointsDirective","UsRolePointsSelectorDirective","params1","events","analytics","rs2","modelTransform","backlogOrder","milestonesOrder","disablePagination","firstLoadComplete","showTags","activeFilters","showGraphPlaceholder","displayVelocity","initializeEventHandlers","getShowTags","loadUserstories","loadProjectStats","ussToMove","loadSprints","loadClosedSprints","findIndex","moveUs","unloadClosedSprints","initializeSubscription","routingKey1","routingKey2","loadAllPaginatedUserstories","toggleShowTags","storeShowTags","toggleActiveFilters","toggleVelocityForecasting","visibleUserStories","forecastedStories","stats","defined_points","completedPercentage","total_milestones","calculateForecasting","setMilestonesOrder","len1","results1","user_stories","sprint_order","closedSprints","totalClosedMilestones","closedSprintsById","totalMilestones","totalOpenMilestones","sprintsById","currentSprint","findCurrentSprint","reverse","resetPagination","pageSize","loadingUserstories","storeQueryParams","listUnassigned","header","backlog_order","loadBacklog","backlog_points_sum","current_sum","assigned_points","speed","closedMilestones","total_closed_milestones","prepareBulkUpdateData","uses","us_id","order","usList","newUsIndex","newSprintId","afterDestination","beforeDestination","currentSprintId","len2","len3","len4","len5","len6","modifiedUs","n","oldSprintId","options","orderField","orderList","p","previous","previousWithTheSameOrder","ref2","setOrders","setPreviousOrders","startIndex","milestone","listIt","moveIt","bulkUpdateMilestone","bulkUpdateBacklogOrder","set-orders","updateUserStoryStatus","editUserStory","$event","deleteUserStory","without","addNewUs","default_us_status","addNewSprint","currentDate","end","doomLineTemplate","linkDoomLine","linkFilters","linkToolbar","openFilterInit","showHideFilter","showHideTags","addDoomLineDom","getUsItems","reloadDoomLine","removeDoomlineDom","domElement","before","rowElements","checkSelected","getUsToMove","lastChecked","moveToCurrentSprint","moveToLatestSprint","moveUssToSprint","shiftPressed","ussDom","itemScope","selectedUss","extraPoints","totalExtraPoints","ussCurrent","union","moveToSprintDom","selectedUsDom","toggleClass","shiftKey","elements","nextAll","prevAll","nextUntil","prevUntil","ussToMoveList","sidebar","hideText","showText","filtersSearch","numberOfRoles","roleName","is","rolScope","$tgTemplate","rolesTemplate","bindClickElements","filteringRoleId","renderRolesSelector","selectedRoleId","updatingSelectedRoleId","tgBacklogUsPoints","popRolesDom","firstLoad","toggleGraph","isBurndownGraphCollapsed","redrawChart","dataToDraw","client_increment_line","colors","evolution_line","milestonesRange","optimal_line","team_increment_line","zero_line","ml","zip","fillColor","optimal","evolution","grid","borderWidth","right","bottom","borderColor","hoverable","xaxis","ticks","axisLabel","axisLabelUseCanvas","axisLabelFontSizePixels","axisLabelFontFamily","axisLabelPadding","tickFormatter","axis","yaxis","series","shadowSize","fill","radius","lineWidth","tooltip","tooltipOpts","xval","yval","flotItem","seriesIndex","sprintName","abs","empty","plot","adjustPercentaje","projectPointsPercentaje","closedPointsPercentaje","adjusted","tgBacklogProgressBar","definedPoints","BacklogSortableDirective","deleteElement","drake","initIsBacklog","scroll","dragula","copySortSource","isContainer","contains","moves","container","isChecked","dragMultiple","dragMultipleItems","firstElement","isBacklog","sameContainer","autoScroll","margin","pixels","scrollWhenOutside","down","dragging","BacklogSprintDirective","BacklogSprintHeaderDirective","ToggleExcludeClosedSprintsVisualization","slideOptions","sprintTableMinHeight","toggleSprint","duration","easing","sprintArrow","sprintTable","tgBacklogSprint","slideToggle","compiledTemplate","estimatedDateRange","taskboardUrl","templateScope","excludeClosedSprints","loadingElm","after","SprintGraphDirective","days","day","unshift","d","optimal_points","open_points","tickSize","last","mode","daysNames","formattedDate","roundedValue","CreateBulkTasksDirective","CreateEditTaskDirective","tagsToAdd","sprintId","user_story","createEditTaskOpen","console","TaskboardController","TaskboardDirective","TaskboardSquishColumnDirective","rs1","q1","taskboardTasksService","openFilter","usTasks","_setMeta","setZoom","zoomLevel","zoom","previousZoomLevel","isFirstLoad","resetFolds","zoomLoading","startDate","completedPoints","completedPointsSum","totalPointsSum","openTasks","totalTasks","total_tasks","refreshTagsColors","replaceModel","taskMove","onAssignedToChanged","userid","taskModel","loadTaskboard","loadSprintStats","loadSprint","pointsList","roleById","taskStatusList","remainingPointsSum","remainingTasks","res","completed_points","completed_tasks","setUserstories","sslug","setRolePoints","showPlaceHolder","tasksRaw","editTask","getTask","getIn","editingTask","oldStatusId","moveUpdateData","getTaskModel","move","status__is_archived","set_orders","assignOrders","addNewTask","toggleFold","changeTaskAssignedTo","getPoint","getRole","pointsByRole","poitnId","tableBodyDom","tableHeaderDom","scrollLeft","avatarWidth","maxColumnWidth","getCeilWidth","recalculateStatusColumnWidth","recalculateTaskboardWidth","refreshTaskboardTableWidth","setStatusColumnWidth","statusesFolded","getStatusColumnModes","usFolded","getUsRowModes","foldStatus","storeStatusColumnModes","foldUs","storeUsRowModes","tasksMatrixSize","sqrt","column","ctrl","columnWidths","columns","totalWidth","outerWidth","total","statusFoldedWidth","TaskboardSortableDirective","containers","filterError","itemEl","newParentScope","oldParentScope","tdom","$tgConfirm","accepts","cancel","itemIndex","itemTask","newStatusId","newUsId","oldUsId","parentEl","st","TaskboardTasksService","foldStatusChanged","Map","taskId","refreshRawOrder","taskboard_order","invert","findedTask","findedIndex","usItem","taksWithoutMoved","taskByUsStatus","task_id","images","thumbnail_card_url","colorized_tags","KanbanUserstoriesService","userstoriesRaw","archivedStatus","statusHide","usByStatus","addArchivedStatus","isUsInArchivedHiddenStatus","getUsModel","hideStatus","deleteStatus","showStatus","getStatus","toDelete","archived","difference","kanban_order","usByStatusWithoutMoved","getUs","findedUs","usModel","KanbanArchivedStatusHeaderDirective","KanbanArchivedStatusIntroDirective","KanbanController","KanbanDirective","KanbanSquishColumnDirective","KanbanWipLimitDirective","kanbanUserstoriesService1","kanbanUserstoriesService","openArchived","loadUserStoriesForStatus","hideUserStoriesForStatus","editUs","editingUserStory","changeUsAssignedTo","listAll","filteredStatus","loadKanban","hideArchivedText","showArchivedText","hidden","tgKanbanArchivedStatusHeader","userStories","hiddenUserStoriexText","updateIntroText","tgKanbanArchivedStatusIntro","hasArchived","itemUs","userStoriesLoaded","updateTableWidth","folds","kanban","redrawWipLimit","tgKanbanWipLimit","wip_limit","KanbanSortableDirective","EpicDetailController","EpicStatusButtonDirective","EpicStatusDisplayDirective","epicRef","epicref","initializeOnDeleteGoToUrl","epicSubject","epicStatus","statusById","epicDescription","description_html","loadEpic","immutableProject","immutableEpic","epicId","commentModel","neighbors","previousUrl","listInEpic","onUpvote","upvote","onDownvote","downvote","onWatch","onUnwatch","onSelectColor","onSelectColorError","onSelectColorSuccess","is_closed","IssueDetailController","IssuePriorityButtonDirective","IssueSeverityButtonDirective","IssueStatusButtonDirective","IssueStatusDisplayDirective","IssueTypeButtonDirective","PromoteIssueToUsButtonDirective","issueRef","issueref","ref3","issueSubject","issueStatus","issueType","typeById","issueSeverity","issuePriority","issueDescription","loadIssue","issue_types","typeList","severityList","priorityList","issueId","typees","severityes","priorityes","generated_from_issue","CreateBulkIssuesDirective","CreateIssueDirective","createIssueOpen","default_issue_status","default_issue_type","default_priority","default_severity","IssueAssignedToInlineEditionDirective","IssueStatusInlineEditionDirective","IssuesController","IssuesDirective","loadIssues","voting","myFiltersHashSuffix","orderBy","order_by","types","issueStatusList","issueTypes","loadIssuesRequests","models","paginatedBy","addNewIssue","addIssuesInBulk","upVoteIssue","downVoteIssue","getOrderBy","linkOrdering","linkPagination","$pagEl","afterCurrent","atBegin","atEnd","beforeCurrent","getNumPages","renderPagination","numPages","cpage","pages","showPrevious","showNext","pagenum","colHeadElement","currentOrder","svg","finalOrder","newOrder","updateIssueStatus","issueStatusDom","issueStatusDomParent","tgIssueStatusInlineEdition","updateIssue","tgIssueAssignedToInlineEdition","updatedIssue","UsClientRequirementButtonDirective","UsStatusButtonDirective","UsStatusDisplayDirective","UsTeamRequirementButtonDirective","UserStoryDetailController","configService","usRef","usref","tribeEnabled","tribeHost","closedTasks","progressPercentage","userStoryRef","userStorySubject","userStoryStatus","userStoryPoints","userStoryDescription","userStoryClosedTasks","userStoryTotalTasks","userStoryProgressPercentage","allClosed","loadUs","httpParams","kanbanStaus","noMilestone","pick","onTribeInfo","publishDesc","publishTitle","alt","canEdit","isRequired","TaskDetailController","TaskIsIocaineButtonDirective","TaskStatusButtonDirective","TaskStatusDisplayDirective","taskRef","taskref","taskSubject","taskStatus","taskDescription","loadTask","loadUserStory","LeaveProjectDirective","TeamController","TeamFiltersDirective","TeamMemberCurrentUserDirective","TeamMemberStatsDirective","TeamMembersDirective","membersFilter","setRole","filtersRole","loadMembers","totals","currentUser","issuesEnabled","tasksEnabled","wikiEnabled","loadMemberStats","memberStats","vals","statsKey","sum","_processStats","_processStat","stat","singleStat","userRoles","filtersQ","lightboxFactory","leaveConfirm","confirm_leave_project_text","leave_project_text","leave","loadProjects","class","isCurrentUser","WikiDetailController","WikiSummaryDirective","WikiWysiwyg","moveLink","loadWiki","wikiSlug","linksVisible","wikiPageName","wikiPageContent","totalEditions","editions","lastModifiedDate","modified_date","getBySlug","wikiId","loadWikiLinks","listLinks","wikiLinks","selectedWikiLink","checkLinksPerms","splice","saveAll","last_modifier","wikiPage","attachmentsFullService","wikiHistoryService","uploadFile","editableDescription","saveDescription","loadHistoryEntries","uploadFiles","files","storageKey","WikiNavDirective","linkWikiLinks","addWikiLinkPermission","deleteWikiLinkPermission","direction","mirrorContainer","linkId","parents","newLink","loadPromise","WikiPagesListController","loadWikiPages","ChangeOwnerLightboxController","ChangeOwnerLightboxDirective","LbRequestOwnershipDirective","LightboxAddMembersWarningMessageDirective","TransferProjectStartSuccessDirective","confirmService","transferRequest","lightboxService1","commentOpen","limit","getUsers","currentOwnerId","userSearch","selectUser","transferStart","bindToController","MembershipsController","MembershipsDirective","MembershipsRowActionsDirective","MembershipsRowAdminCheckboxDirective","MembershipsRowAvatarDirective","MembershipsRowRoleSelectorDirective","NoMoreMembershipsExplanationDirective","lightboxFactory1","i_am_admin","canAddUsers","max_memberships","total_memberships","httpFilters","getUrlFilters","membership","is_user_active","addNewMembers","showLimitUsersWarningMessage","pending","user_email","isOwner","is_owner","tgMembershipsRowAvatar","tgMembershipsRowAdminCheckbox","inputId","is_admin","roleList","selectedRole","tgMembershipsRowRoleSelector","newRole","activedTemplate","pendingTemplate","tgMembershipsRowActions","resendInvitation","defaultMsg","fetchProject","AdminNavigationDirective","tgAdminNavigation","AdminProjectChangeOwnerDirective","AdminProjectRequestOwnershipDirective","AdminProjectRestrictionsDirective","CsvEpicDirective","CsvExporterController","CsvExporterEpicsController","CsvExporterIssuesController","CsvExporterTasksController","CsvExporterUserstoriesController","CsvIssueDirective","CsvTaskDirective","CsvUsDirective","ProjectDefaultValuesDirective","ProjectExportDirective","ProjectLogoDirective","ProjectLogoModelDirective","ProjectModulesDirective","ProjectProfileController","ProjectProfileDirective","tgAuth","epicStatusList","issueTypesList","prioritiesList","severitiesList","openDeleteLightbox","newUrl","initializeFields","newVal","oldVal","videoconferences_extra_data","videoconferences","isVideoconferenceActivated","asyn_message","buttonsEl","dump_ready_text","hideButtons","hideResult","hideSpinner","loading_msg","loading_title","resultEl","resultMessageEl","resultTitleEl","setAsyncMessage","setAsyncTitle","setLoadingMessage","setLoadingTitle","setSyncMessage","setSyncTitle","showButtons","showErrorMode","showExportResultAsyncMode","showExportResultSyncMode","showLoadingMode","showResult","showSpinner","spinnerEl","syn_message","dumpUrl","errorMsg","_generateUuid","setCsvUuid","csvUrl","resolveAbsolute","csvUuid","uuid","regenerateUuid","sectionTitle","showSizeInfo","logoAttachment","changeLogo","removeLogo","modelSetter","tgProjectLogoModel","requestOwnership","changeOwner","project-id","active-users","current-owner-id","ColorSelectionDirective","ProjectCustomAttributesController","ProjectCustomAttributesDirective","ProjectTagsController","ProjectTagsDirective","ProjectValuesController","ProjectValuesDirective","ProjectValuesSectionController","moveValue","loadValues","resource","listValues","maxValueOrder","maxBy","itemValue","linkDragAndDrop","linkValue","goToBottomList","initializeNewValue","initializeTextTranslations","objName","saveNewValue","saveValue","valueType","objname","addNewElementText","table","formEl","row","editionRow","option","onSucces","moveTo","colorList","allowEmpty","tgAllowEmpty","moveCustomAttributes","deleteCustomAttribute","saveCustomAttribute","createCustomAttribute","loadCustomAttributes","maxOrder","attrValues","attrModel","newIndex","idx","cancelCreate","cancelUpdate","hideAddButton","hideCancelButton","hideCreateForm","hideEditForm","resetNewAttr","revertChangesInCustomAttribute","showAddButton","showCancelButton","showCreateForm","showEditForm","sortableEl","itemAttr","newAttr","mixingClass","cancelMixingTags","confirmMixingTags","toggleMixingFromTags","startMixingTags","editTag","createTag","filterAndSortTags","loadTags","projectTagsAll","tagsFilter","from_tag","to_tag","loadingDelete","mixingTags","toTag","fromTags","loadingMixing","mixTags","initializeMixingTags","initializeTagsFilter","originalTag","loadingEdit","loadingCreate","EditRoleDirective","NewRoleDirective","RolePermissionsDirective","RolesController","RolesDirective","_disableComputable","_enableComputable","anyComputableRole","computable","loadRoles","public_permission","external_user","public_permissions","forceLoadProject","askOnError","askOnSuccess","toggleComputable","toggleView","toggle","DEFAULT_PERMISSIONS","insertPosition","baseTemplate","categoryTemplate","resumeTemplate","generateCategoriesFromRole","renderCategory","renderPermissions","renderResume","categories","epicPermissions","isPermissionEditable","issuePermissions","milestonePermissions","setActivePermissions","setActivePermissionsPerCategory","taskPermissions","userStoryPermissions","wikiPermissions","active","is_private","cat","activePermissions","getActivePermissions","categoryId","anon_permissions","BitbucketController","BitbucketWebhooksDirective","GithubController","GithubWebhooksDirective","GitlabController","GitlabWebhooksDirective","GogsController","NewWebhookDirective","SelectInputText","ValidOriginIpsDirective","WebhookDirective","WebhooksController","loadWebhooks","openHistory","showEditMode","showVisualizationMode","updateLogs","updateShowHideHistoryText","webhook","tgWebhook","validStatus","prettySentHeaders","toPairs","request_headers","arg","prettySentData","request_data","created","logs_counter","logs","historyElement","textElement","test","resend","addWebhookDOMNode","formDOMNode","loadModules","github","gitlab","bitbucket","saveAttribute","$ngModel","gogs","DeleteProjectDirective","projectToDelete","BindHtmlDirective","BindOnceAltDirective","BindOnceBindDirective","BindOnceHrefDirective","BindOnceHtmlDirective","BindOnceRefDirective","BindOnceSrcDirective","BindOnceTitleDirective","BindTitleDirective","tgBoBind","tgBoHtml","tgBoRef","tgBoSrc","tgBoHref","tgBoAlt","tgBoTitle","tgTitleHtml","tgBindHtml","ConfigurationService","ContribController","ContribUserSettingsController","currentPlugin","head","FiltersStorageService","HttpService","cacheFactory","cache","removeAll","locationFactory","lastRoute","Model","ModelService","dataTypes","_dataTypes","setAttrs","_isModified","applyCasts","attrName","castMethod","castName","casts","getIdAttrName","getName","setAttr","getter","self","setter","enumerable","configurable","isModified","isAttributeModified","markSaved","desSerialize","sdata","ddata","$http","$gmUrls","$gmStorage","cls","int","float","NavigationUrlsDirective","NavigationUrlsService","formatUrl","replacer","bindOnceP","parseNav","param","tgNavGetParams","tgNav","fullUrl","getURLParams","getURLParamsStr","metaKey","ctrlKey","RepositoryService","resolveUrlForModel","idAttrName","resolveUrlForAttributeModel","extraParams","_data","_status","returnHeaders","queryMany","httpOptions","enablePagination","queryOneAttribute","queryOneRaw","queryPaginated","queryOnePaginatedRaw","StorageService","_default","serializedValue","getItem","setItem","removeItem","UrlsService","fmt","mainUrl","trimEnd","resourceProvider","_get","userstory","_list","hashSuffix","getQueryParams","editComment","activityId","commentData","getCommentHistory","deleteComment","undeleteComment","history","listInAllProjects","project_id","bulk_issues","hashSuffixStatusColumnModes","hashSuffixStatusViewModes","mdrender","listByUser","bulkCreateMemberships","invitation_extra_text","bulk_memberships","notifyPolicies","listByMember","memberId","bulkUpdateOrder","bulkData","regenerate_epics_csv_uuid","regenerate_userstories_csv_uuid","regenerate_tasks_csv_uuid","regenerate_issues_csv_uuid","from_tags","statusUpdater","complete","failed","maxFileSize","uploadComplete","uploadFailed","uploadProgress","fileName","fileSize","evt","loaded","uploadedSize","totalSize","responseText","getResponseHeader","isPrivate","FormData","XMLHttpRequest","setRequestHeader","transformRequest","identity","deferredAbort","get_all","noop","u","hashSuffixUsRowModes","userStoryId","milestone_id","bulk_tasks","bulkUpdateTaskTaskboardOrder","changeAvatar","removeAvatar","changePassword","currentPassword","newPassword","current_password","userSettings","contacts","page_size","status_id","bulk_stories","milestoneId","bulkUpdateKanbanOrder","webhookId","webhooklogId","UserChangePasswordController","UserChangePasswordDirective","newPassword1","newPassword2","DeleteUserDirective","TaigaAvatarModelDirective","UserAvatarDirective","UserProfileDirective","UserSettingsController","getLan","getTheme","maxFileSizeMsg","availableThemes","avatarAttachment","tgAvatarModel","UserSettingsNavigationDirective","tgUserSettingsNavigation","UserNotificationsController","UserNotificationsDirective","UserNotificationsListDirective","policy","policyIndex","prev_level","notify_level","AssignedItemDirective","AssignedToSelectorController","assigned","_getAssignedMember","_filterAssignedMember","assignedMember","nonAssignedMembers","AssignedToSelectorDirective","onRemoveAssigned","onAssignTo","AssignedToController","has_permissions","_closeAndRemoveAssigned","_closeAndAssign","onSelectAssignedTo","on-remove-assigned","on-assign-to","assignTo","AttachmentLinkDirective","attachmentsPreviewService","tgAttachmentLink","fileId","AttachmentGalleryDirective","onDelete","AttachmentController","is_deprecated","editMode","mergeIn","AttachmentDirective","AttachmentsDropDirective","eventAttr","tgAttachmentsDrop","dataTransfer","originalEvent","AttachmentsFullController","deprecatedsCount","attachmentsVisible","deprecatedsVisible","uploadingAttachments","objId","setMode","toggleDeprecatedsVisible","addAttachments","loadAttachments","toDeleteAttachment","errorMessage","reorderAttachment","updateAttachment","toUpdateAttachment","hasPermission","editPermission","showAttachments","AttachmentsFullDirective","AttachmentsFullService","_attachments","_deprecatedsCount","_attachmentsVisible","_deprecatedsVisible","regenerate","uploading","from_comment","oldIndex","setIn","oldAttachment","AttachmentsPreviewController","getCurrent","hasPagination","getIndex","attachmentIndex","findLast","AttachmentPreviewLightboxDirective","AttachmentsPreviewService","AttachmentsSimpleController","onAdd","AttachmentsSimpleDirective","AttachmentSortableDirective","tgAttachmentsSortable","AutoSelectDirective","AvatarDirective","attributeName","tgAvatarBig","avatarBig","BelongToEpicsDirective","isIterable","BindCode","$sce","wysiwygCodeHightlighterService","compile","tElement","tAttrs","tgBindCodeGetter","tgBindCodeWatch","tgBindCode","$$addBindingClass","$$addBindingInfo","getTrustedHtml","addHightlighter","BoardZoomDirective","levels","CardSlideshowController","cardSlideshowDirective","CardController","hasTasks","hasVisibleAttachments","onToggleFold","getClosedTasks","closedTasksPercent","getPermissionsKey","_setVisibility","related","slides","isRelatedTasksVisible","isSlideshowVisible","getNavKey","cardDirective","onClickAssignedTo","onClickEdit","ClickInputFile","inputFile","ColorSelectorController","checkIsColorRequired","displayColorList","userCanChangeColor","isColorRequired","dropRight","setColor","customColor","resetColor","initColor","toggleColorList","onSelectDropdownColor","onKeyDown","ColorSelectorDirective","_timeout","mouseenter","mouseleave","StoryHeaderController","loadingSubject","originalSubject","_checkNav","_checkPermissions","editSubject","saveSubject","onEditSubjectError","onEditSubjectSuccess","DetailHeaderDirective","FileChangeDirective","tgFileChange","FilterRemoteStorageService","myFilters","innerPromise","FilterSlideDownDirective","ngIf","contentHeight","wrapperHeight","outerHeight","context","nextSibling","max-height","FilterController","opened","customFilterForm","customFilterName","toggleFilterCategory","filterName","isOpen","onSaveCustomFilter","onChangeQ","onRemoveFilter","filterCategory","onAddFilter","onRemoveCustomFilter","onSelectCustomFilter","isFilterSelected","FilterDirective","vm","filtersForm","$dirty","defaultQ","JoyRideDirective","joyRideService","initJoyrRide","intro","unsuscribe","introJs","oncomplete","onexit","disableJoyRide","setOptions","exitOnEsc","exitOnOverlayClick","showStepNumbers","nextLabel","prevLabel","skipLabel","doneLabel","disableInteraction","setOption","loadJoyRideConfig","exit","JoyRideService","checkPermissionsService","getConfig","dashboard","steps","position","backlog","check","joyRide","joyRides","KanbanBoardZoomDirective","getZoomView","zooms","zoomIndex","onZoomChange","LiveAnnouncementDirective","defineProperties","LiveAnnouncementService","ProjectLogoBigSrcDirective","projectLogoService","logo","projectLogo","getDefaultProjectLogo","ProjectLogoSmallSrcDirective","ProjectMenuController","menu","_getActiveSection","_setVideoConference","_setMenuPermissions","videoconferenceUrl","_videoConferenceUrl","indexBacklog","indexKanban","oldSectionName","sectionsBreadcrumb","baseUrl","ProjectMenuDirective","projectChange","fixed","TagOptionDirective","containerHeight","selectedPosition","onSelectTag","colorArray","TagLineCommonController","tagLineService","disableColorSelection","newTag","_createColorsArray","projectTagColors","createColorsArray","displayTagInput","addNewTag","onAddTag","selectColor","TagLineCommonDirective","tagName","loadingAddTag","loadingRemoveTag","onDeleteTag","TagLineController","onDeleteTagError","onDeleteTagSuccess","onAddTagError","onAddTagSuccess","TagLineDirective","TagLineService","myPermissions","projectPermissions","TagDirective","hasPermissions","TaskboardZoomDirective","TermsOfServiceAndPrivacyPolicyNoticeDirective","privacyPolicyUrl","termsOfServiceUrl","TribeButtonDirective","locationService","port","TribeLinkedDirective","gigTitle","gigId","VoteButtonController","isMouseOver","showTextWhenMouseIsOver","showTextWhenMouseIsLeave","toggleVote","is_voter","_downvote","_upvote","VoteButtonDirective","WatchButtonController","openWatchers","getPerms","toggleWatch","is_watcher","_unwatch","_watch","WatchButtonDirective","attributes","environment","CommentEditWysiwyg","CommentWysiwyg","saveComment","onAddComment","onChange","CustomFieldEditWysiwyg","ItemWysiwyg","WysiwygCodeHightlighterService","Prism","plugins","customClass","prefix","getLanguages","languages","getJSON","_languages_","getLanguageInClassList","lan","loadLanguage","replaceCodeBrToNl","replaceWith","hightlightCode","highlightElement","codes","WysiwygCodeLightbox","textarea","querySelector","codeLanguage","onSave","WysiwygMentionService","cancelablePromise","searchEmoji","filteredEmojis","searchEmojiByName","searchUser","searchProps","searchItem","searchTypes","items","mention","Medium","wysiwygMentionService","AlignRightButton","CodeButton","CustomPasteHandler","addCodeBlockAndHightlight","getIcon","getRangeCodeBlock","isCodeBlockSelected","oldIsBlockContainer","refreshCodeBlocks","removeCodeBlockAndHightlight","removeSelections","removeAllRanges","endContainer","parentsUntil","mediumInstance","pre","innerText","replaceChild","checkContentChanged","extract","startContainer","insertAfter","extractContents","mainChildren","preList","innerHTML","removeChild","querySelectorAll","setAttribute","nextElementSibling","nodeName","MediumEditor","extensions","button","toolbar","buttons","contentDefault","handleClick","getButton","getSelectionRange","commonAncestorContainer","textAlign","execCommand","tagNames","getExtensionByName","hideToolbar","paste","doPaste","pastedHTML","pastedPlain","util","htmlEntities","insertHTMLCommand","isBlockContainer","cancelWithConfirmation","change","clean","codeBlockSelected","discardLocalStorage","editorMarkdown","editorMedium","getCurrentContent","isDraft","isEditOnly","isOutdated","localSave","notPersist","saveEnd","setEditMode","setHtmlMedium","throttleChange","updateMarkdownWithCurrentHtml","uploadEnd","editonly","codeEditorVisible","codeLans","loadEmojis","saveSnippet","codePre","saving","outdated","onCancel","pasteHTML","store","getMarkdown","throttle","imageDragging","placeholder","autolist","AutoList","alignright","mediumMention","MentionExtension","getItems","mentionCb","changeMarkdown","getAttribute","onUploadFile","currentCodeLanguage","unwatchLoader","WysiwygService","emojis","setEmojiImagePath","getEmojiById","getEmojiByName","replaceImgsByEmojiName","emoji","emojiId","emojiIds","regexImgs","replaceEmojiNameByImgs","pipeLinks","p1","linkParams","replaceUrls","links","createTextNode","searchWikiLinks","removeTrailingListBr","cleanIssueConverter","codeLanguageConverter","node","firstChild","textContent","toMarkdown","gfm","converters","parseMentionMatches","prevChar","serviceName","tagBuilder","charAt","lastIndex","groupIndex","Autolinker","Mention","matchedText","autoLinkHTML","autolinker","matchRegexStr","matcher","matcherRegexes","twitter","hashtag","replaceFn","profileUrl","getType","getMention","getHashtag","parseMatches","md","breaks","markdownit","markdownitLazyHeaders","DiscoverHomeOrderByController","is_open","week","month","year","currentText","currentOrderBy","DiscoverHomeOrderByDirective","DiscoverSearchBarController","discoverProjectsService","projectsCount","fetchStats","submitFilter","DiscoverSearchBarDirective","DiscoverSearchListHeaderController","like_is_open","activity_is_open","openLike","setOrderBy","openActivity","DiscoverSearchListHeaderDirective","FeaturedProjectsController","featured","fetchFeatured","FeaturedProjectsDirective","HighlightedDirective","highlighted","MostActiveController","mostActive","fetch","fetchMostActive","MostActiveDirective","MostLikedController","mostLiked","fetchMostLiked","MostLikedDirective","DiscoverHomeController","onSubmit","DiscoverSearchController","routeParams","searchResult","nextSearchPage","loadingGlobal","loadingList","loadingPagination","resetSearchList","fetchByGlobalSearch","fetchByOrderBy","getFilter","fetchSearch","is_looking_for_people","onChangeFilter","updateParams","onChangeOrder","DiscoverSearchDirective","DiscoverProjectsService","projectsService","_mostLiked","_mostActive","_featured","_searchResult","_projectsCount","decorate","_decorate","_nextSearchPage","_discoverParams","discover_mode","_params","getProjects","is_featured","CreateEpicController","epicsService","newEpic","default_epic_status","createEpic","validateForm","onCreateEpic","setFormErrors","CreateEpicDirective","errors","EpicRowController","displayUserStories","displayAssignedTo","displayStatusList","loadingStatus","_calculateProgressBar","canEditEpics","toggleUserStoryList","listRelatedUserStories","epicStories","updateStatus","updateEpicStatus","updateAssignedTo","assignLoader","updateEpicAssignedTo","EpicRowDirective","EpicsDashboardController","setfn","isEpicsDashboardEnabled","fetchEpics","notFound","canCreateEpics","on-create-epic","EpicsSortableDirective","tgEpicsSortable","EpicsTableController","displayOptions","displayVotes","votes","progress","_disablePagination","_loadingEpics","toggleEpicTableOptions","reorderEpic","nextPage","hoverEpicTableOption","timer","hideEpicTableOption","updateViewOptions","EpicsTableDirective","StoryRowController","totalTasksCompleted","story","StoryRowDirective","EpicsService","resources","xhrError","_epics","_page","epicData","withoutMoved","fromPairs","epics_order","reorder","reorderRelatedUserstory","epicUserstories","userstoryId","replaceEpic","RelatedUserStoriesController","showCreateRelatedUserstoriesLightbox","showRelatedUserStoriesSection","legth","userCanSort","loadRelatedUserstories","RelatedUserstoriesCreateController","projectUserstories","selectProject","selectedProjectId","onSelectedProject","listAllInProject","excludeIds","filteredData","saveRelatedUserStory","selectedUserstoryId","onSavedRelatedUserstory","validateExistingUserstoryForm","setExistingUserstoryFormErrors","addRelatedUserstory","bulkCreateRelatedUserStories","userstoriesText","onCreatedRelatedUserstory","validateNewUserstoryForm","setNewUserstoryFormErrors","RelatedUserstoriesCreateDirective","existingUserstoryForm","newUserstoryForm","showLightbox","selectedUserstory","searchUserstory","relatedUserstoriesText","selectedProject","onUpdateSearchUserstory","RelatedUserstoriesSortableDirective","tgRelatedUserstoriesSortable","RelatedUserStoriesDirective","RelatedUserstoryRowController","setAvatarData","getAssignedToFullNameDisplay","onDeleteRelatedUserstory","deleteRelatedUserstory","RelatedUserstoryRowDirective","ExternalAppController","externalAppsService","loginUrl","createApplicationToken","_getApplicationToken","_redirect","_applicationId","application","_state","state","_user","_application","loginWithAnotherUserUrl","applicationToken","getApplicationToken","back","authorizeApplicationToken","ExternalAppsService","applicationId","externalapps","FeedbackService","sendFeedback","CommentController","permissionService","hiddenDeletedComment","showDeletedComment","hideDeletedComment","checkCancelComment","onEditMode","commentId","canEditDeleteComment","pk","onEditComment","displayCommentHistory","CommentDirective","editing","deleting","onDeleteComment","onRestoreDeletedComment","CommentsController","initializePermissions","canAddCommentPermission","CommentsDirective","comments","LightboxDisplayHistoricController","_loadHistoric","commentHistoryEntries","LightboxDisplayHistoricDirective","HistoryEntryDirective","entry","HistoryTabsDirective","showCommentTab","showActivityTab","onActiveComments","onActiveActivities","onOrderComments","activeTab","commentsNum","activitiesNum","onReverse","HistorySectionController","viewComments","_loadHistory","_getComments","_getActivities","activities","values_diff","showHistorySection","toggleEditMode","onActiveHistoryTab","restoreDeletedComment","addComment","HistorySectionDirective","ActivitiesDiffController","diffTags","diffRemoveTags","diffAddTags","HistoryDiffDirective","HistoryDirective","DutyDirective","duty","getDutyType","HomeController","HomeService","_attachProjectInfoToWorkInProgress","workInProgress","projectsById","_attachProjectInfoToDuty","_duties","_getValidDutiesAndAttachProjectInfo","watching","objType","duties","dutyType","getWorkInProgress","assignedEpicsPromise","assignedIssuesPromise","assignedTasksPromise","assignedUserStoriesPromise","params_epics","params_issues","params_tasks","params_uss","projectsPromise","watchingEpicsPromise","watchingIssuesPromise","watchingTasksPromise","watchingUserStoriesPromise","getProjectsByUserId","status__is_closed","HomeProjectListDirective","WorkingOnController","homeService","_setAssignedTo","elem","_setWatching","WorkingOnDirective","InviteMembersFormController","rolesValues","defaultMaxInvites","_areRolesValidated","roleIds","contactsToInvite","emailsToInvite","_checkLimitMemberships","pendingMembersCount","membersLimit","showWarningMessage","sendInvites","setInvitedContacts","role_id","inviteContactsMessage","InviteMembersFormDirective","onDisplayContactList","onRemoveInvitedContact","onRemoveInvitedEmail","onSendInvites","AddMembersController","userService","displayContactList","_getContacts","excludeProjectId","getContacts","_filterContacts","invited","contact","inviteSuggested","removeContact","testEmptyContacts","inviteEmail","emailData","removeEmail","LightboxAddMembersDirective","SuggestAddMembersController","contactQuery","filterContacts","filteredContacts","setInvited","onInviteSuggested","SuggestAddMembersDirective","onInviteEmail","DropdownProjectListDirective","newProject","DropdownUserDirective","authService","navUrlsService","isFeedbackEnabled","userMenu","NavigationBarDirective","isEnabledHeader","NavigationBarService","enabledHeader","ProfileBarController","loadStats","getStats","ProfileBarDirective","ProfileContactsController","loadContacts","ProfileContactsDirective","FavItemDirective","itemType","FavsBaseController","ProfileLikedController","ProfileVotedController","ProfileWatchedController","_init","enableFilterByAll","enableFilterByProjects","enableFilterByEpics","enableFilterByUserStories","enableFilterByTasks","enableFilterByIssues","enableFilterByTextQuery","_resetList","scrollDisabled","_enableLoadingSpinner","isLoading","_disableLoadingSpinner","_enableScroll","_disableScroll","_checkIfHasMorePages","hasNext","_checkIfHasNoResults","hasNoResults","loadItems","_getItems","filterByTextQuery","showAll","showProjectsOnly","showEpicsOnly","showUserStoriesOnly","showTasksOnly","showIssuesOnly","tabName","getLiked","getVoted","getWatched","ProfileLikedDirective","ProfileVotedDirective","ProfileWatchedDirective","ProfileHints","hintKey","HINTS","hint","linkText","ProfileProjectsController","attachUserContactsToProjects","ProfileProjectsDirective","ProfileTabDirective","tab","tabIcon","tabActive","tabDisabled","addTab","ProfileTabsController","tabs","toggleTab","ProfileTabsDirective","ProfileController","getUserByUserName","userFullName","userUsername","BlockedProjectExplanationDirective","ContactProjectButtonController","launchContactForm","ContactProjectButtonDirective","layout","ContactProjectLbController","contactProject","sendingFeedback","ContactProjectLbDirective","inject","LikeProjectButtonController","likeButtonService","toggleLike","_unlike","_like","like","unlike","LikeProjectButtonDirective","LikeProjectButtonService","_getProjectIndex","_updateProjects","isFan","projectIndex","totalFans","is_fan","total_fans","setProjects","_updateCurrentProject","setProject","likeProject","unlikeProject","SortProjectsDirective","sortData","sorted_project_ids","bulkUpdateProjectsOrder","WatchProjectButtonController","watchButtonService","showWatchOptions","toggleWatcherOptions","closeWatcherOptions","notifyLevel","WatchProjectButtonDirective","WatchProjectButtonService","isWatcher","totalWatchers","total_watchers","watchProject","unwatchProject","AsanaImportProjectFormController","canCreatePublicProjects","canCreatePrivateProjects","projectForm","platformName","keepExternalReference","project_type","checkUsersLimit","limitMembersPrivateProject","canAddMembersPrivateProject","limitMembersPublicProject","canAddMembersPublicProject","saveForm","onSaveProjectDetails","canCreateProject","isDisabled","AsanaImportProjectFormDirective","onCancelForm","fetchingUsers","AsanaImportController","asanaImportService","importProjectService","step","projectUsers","startProjectSelector","fetchProjects","onSelectProject","fetchUsers","onCancelMemberSelection","startImport","importProject","importPromise","submitUserSelection","AsanaImportDirective","AsanaImportService","asanaImporter","listProjects","listUsers","userBindings","projectType","getAuthUrl","authUrl","authorize","CreatetProjectFormController","projectUrl","creation_template","formSubmitLoading","CreateProjectFormDirective","createProjectMembersRestrictionsDirective","createProjectRestrictionsDirective","CreateProjectController","displayScrumDesc","displayKanbanDesc","displayHelp","DuplicateProjectController","refreshReferenceProject","getProjectBySlug","referenceProject","invitedMembers","toggleInvitedMember","duplicate","DuplicateProjectDirective","GithubImportProjectFormController","GithubImportProjectFormDirective","GithubImportController","githubImportService","GithubImportDirective","GithubImportService","githubImporter","callbackUri","ImportProjectMembersController","selectImportUserLightbox","warningImportUsers","displayEmailSelector","cancelledUsers","selectedUsers","selectableUsers","userContacts","fetchUser","refreshSelectableUsers","searchingUser","beforeSubmitUsers","confirmUser","externalUser","taigaUser","discardSuggestedUser","unselectUser","getSelectedMember","isMemberSelected","userSelected","showSuggestedMatch","getDistinctSelectedTaigaUsers","ids","importMoreUsersDisabled","isImportMoreUsersDisabled","ImportProjectMembersDirective","platform","ImportProjectSelectorController","ImportProjectSelectorDirective","noProjectsMsg","ImportTaigaController","importTaiga","ImportTaigaDirective","LbImportErrorDirective","ImportProjectController","trelloService","jiraService","githubService","asanaService","tgNavUrls","asanaOauthToken","githubOauthToken","jiraOauthToken","jiraOauthVerifier","locationSearch","trelloOauthToken","from","cancelCurrentImport","oauth_verifier","oauth_token","jiraUrl","err","absUrl","unfoldOptions","unfoldedOptions","isActiveImporter","backToCreate","ImportProjectDirective","onCancelImport","ImportProjectService","importSuccess","importError","restrictionError","getRestrictionError","error_message","errorKey","maxMemberships","membersError","privateError","publicError","InviteMembersController","InviteMembersDirective","onToggleInvitedMember","SingleMemberDirective","disabled","JiraImportProjectFormController","importer_type","create_subissues","JiraImportProjectFormDirective","JiraImportController","jiraImportService","JiraImportDirective","JiraImportService","jiraImporter","importerType","SelectImportUserLightboxCtrl","invalid","assignUser","onSelectUser","userEmail","SelectImportUserLightboxDirective","TrelloImportProjectFormController","TrelloImportProjectFormDirective","TrelloImportController","trelloImportService","TrelloImportDirective","TrelloImportService","trelloImporter","verifyCode","WarningUserImportDirective","onConfirm","ProjectsListingController","ProjectController","activeMembers","ProjectsService","getProjectStats","paginate","transferValidateToken","transferAccept","reason","transferReject","CantOwnProjectExplanationDirective","TransferProject","showAddComment","_refreshUserData","_validateToken","_setProjectData","_checkOwnerData","canBeOwnedByUser","canOwnProject","ownerMessage","maxProjects","currentProjects","validNumberOfMemberships","loadingAccept","loadingReject","hideComment","TransferProjectDirective","Resource","urlsService","urlname","object_id","x-disable-pagination","progressMessage","progressPercent","bulk_userstories","AsanaResource","GithubResource","JiraResource","TrelloResource","users_bindings","keep_external_reference","jira_url","projectTemplate","pagination","paginateResponseService","x-lazy-pagination","getTimeline","only_relevant","Resources","services","serviceFn","serviceProperty","warn","getUserStorage","setUserStorage","createUserStorage","getUserByUsername","exclude_project","getProfileTimeline","getUserTimeline","epicIid","getWikiHistory","wikiHistory","AppMetaService","_set","meta","setTitle","setDescription","setTwitterMetas","origin","setOpenGraphMetas","listener","_listener","metas","AttachmentsService","getMaxFileSize","maxFileSizeFormated","sizeError","saveError","AvatarService","modulo","COLORS","IMAGES","logos","getDefault","murmurhash3_32_gc","getUnnamed","avatarParamName","gravatar","logoUrl","photo","root","gravatar_id","CheckPermissionsService","CurrentUserService","storageService","_projects","_projectsById","_joyride","_loadUserInfo","totalMembers","membersResult","ErrorHandlingService","errorHandling","showingError","blocked","LightboxFactory","scopeAttrs","PaginateResponse","paginateResponse","ProjectLogoService","ProjectService","userActivityService","interval","_project","_section","_sectionsBreadcrumb","_activeMembers","e2e","autoRefresh","intervalId","onInactive","onActive","ThemeService","themeName","stylesheetEl","UserActivityService","resetTimer","subscriptionsActive","subscriptionsInactive","isActive","startTimer","idleTimeout","timerId","_fireInactive","_fireActive","_unSubscriptionsActive","_unSubscriptionsInactive","UserService","pageNumber","objectType","textQuery","contactsFiltered","contactId","UserTimelineAttachmentDirective","validFileExtensions","extension","is_image","templateHtml","UserTimelineItemTitle","sce","_fieldTranslationKey","description_diff","timeline","title_attr","_getLink","_getUsernameSpan","field_name","new_value","sprint_name","us_name","event_us","_getTimelineObj","_getDetailObjUrl","related_us_name","epic_name","obj_name","role_name","keySeq","_translateTitleParams","parent_userstory","span","_getParams","timeline_type","translate_params","getTitle","paramsKeys","translation","UserTimelineType","timelineType","hasIn","UserTimelineItemDirective","UserTimelinePaginationSequence","generate","getContent","minItems","UserTimelineController","userTimelineService","timelineList","getProjectTimeline","loadTimeline","UserTimelineDirective","UserTimelineService","userTimelinePaginationSequenceService","userTimelineItemType","userTimelineItemTitle","_valid_fields","_invalid","fieldKey","value_diff","_isInValidTimeline","_parseEventType","event_type","_getTimelineObject","_attachExtraInfoToTimelineEntry","_parseTimeline","newdata","newItem","moveInBacklog","deleteIn","_addEntyAttributes","filterNot","IsolateClickDirective","WikiHistoryDiffDirective","WikiHistoryEntryDirective","singleHistoryEntry","historyEntry","WikiHistoryController","historyEntries","initializeHistoryEntries","setWikiId","WikiHistoryDirective","WikiHistoryService","_wikiId","_historyEntries"],"mappings":"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","file":"../app.js","sourcesContent":["\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: app.coffee\n */\n\n(function() {\n var configure, i18nInit, init, module, modules, pluginsModules, pluginsWithModule, taiga;\n\n this.taiga = taiga = {};\n\n this.taigaContribPlugins = this.taigaContribPlugins || window.taigaContribPlugins || [];\n\n taiga.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n taiga.generateUniqueSessionIdentifier = function() {\n var date, randomNumber;\n date = (new Date()).getTime();\n randomNumber = Math.floor(Math.random() * 0x9000000);\n return taiga.generateHash([date, randomNumber]);\n };\n\n taiga.sessionId = taiga.generateUniqueSessionIdentifier();\n\n configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, $compileProvider, $translateProvider, $translatePartialLoaderProvider, $animateProvider) {\n var authHttpIntercept, blockingIntercept, decorators, defaultHeaders, loaderIntercept, originalWhen, preferedLangCode, userInfo, versionCheckHttpIntercept;\n $animateProvider.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/);\n originalWhen = $routeProvider.when;\n $routeProvider.when = function(path, route) {\n route.resolve || (route.resolve = {});\n angular.extend(route.resolve, {\n languageLoad: [\n \"$q\", \"$translate\", function($q, $translate) {\n var deferred;\n deferred = $q.defer();\n $translate().then(function() {\n return deferred.resolve();\n });\n return deferred.promise;\n }\n ],\n projectLoaded: [\n \"$q\", \"tgProjectService\", \"$route\", function($q, projectService, $route) {\n var deferred, ref;\n deferred = $q.defer();\n projectService.setSection((ref = $route.current.$$route) != null ? ref.section : void 0);\n if ($route.current.params.pslug) {\n projectService.setProjectBySlug($route.current.params.pslug).then(deferred.resolve);\n } else {\n projectService.cleanProject();\n deferred.resolve();\n }\n return deferred.promise;\n }\n ]\n });\n return originalWhen.call($routeProvider, path, route);\n };\n $routeProvider.when(\"/\", {\n templateUrl: \"home/home.html\",\n controller: \"Home\",\n controllerAs: \"vm\",\n loader: true,\n title: \"HOME.PAGE_TITLE\",\n loader: true,\n description: \"HOME.PAGE_DESCRIPTION\",\n joyride: \"dashboard\"\n });\n $routeProvider.when(\"/discover\", {\n templateUrl: \"discover/discover-home/discover-home.html\",\n controller: \"DiscoverHome\",\n controllerAs: \"vm\",\n title: \"PROJECT.NAVIGATION.DISCOVER\",\n loader: true\n });\n $routeProvider.when(\"/discover/search\", {\n templateUrl: \"discover/discover-search/discover-search.html\",\n title: \"PROJECT.NAVIGATION.DISCOVER\",\n loader: true,\n controller: \"DiscoverSearch\",\n controllerAs: \"vm\",\n reloadOnSearch: false\n });\n $routeProvider.when(\"/projects/\", {\n templateUrl: \"projects/listing/projects-listing.html\",\n access: {\n requiresLogin: true\n },\n title: \"PROJECTS.PAGE_TITLE\",\n description: \"PROJECTS.PAGE_DESCRIPTION\",\n loader: true,\n controller: \"ProjectsListing\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/new\", {\n title: \"PROJECT.CREATE.TITLE\",\n templateUrl: \"projects/create/create-project.html\",\n loader: true,\n controller: \"CreateProjectCtrl\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/new/scrum\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/kanban\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/duplicate\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/new/import/:platform?\", {\n title: \"PROJECT.CREATE.TITLE\",\n template: \"\",\n loader: true\n });\n $routeProvider.when(\"/project/:pslug/\", {\n templateUrl: \"projects/project/project.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\",\n section: \"project-timeline\"\n });\n $routeProvider.when(\"/project/:pslug/t/:ref\", {\n loader: true,\n controller: \"DetailController\",\n template: \"\"\n });\n $routeProvider.when(\"/project/:pslug/search\", {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false,\n section: \"search\",\n loader: true\n });\n $routeProvider.when(\"/project/:pslug/epics\", {\n section: \"epics\",\n templateUrl: \"epics/dashboard/epics-dashboard.html\",\n loader: true,\n controller: \"EpicsDashboardCtrl\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/project/:pslug/epic/:epicref\", {\n templateUrl: \"epic/epic-detail.html\",\n loader: true,\n section: \"epics\"\n });\n $routeProvider.when(\"/project/:pslug/backlog\", {\n templateUrl: \"backlog/backlog.html\",\n loader: true,\n section: \"backlog\",\n joyride: \"backlog\"\n });\n $routeProvider.when(\"/project/:pslug/kanban\", {\n templateUrl: \"kanban/kanban.html\",\n loader: true,\n section: \"kanban\",\n joyride: \"kanban\"\n });\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\", {\n templateUrl: \"taskboard/taskboard.html\",\n loader: true,\n section: \"backlog\"\n });\n $routeProvider.when(\"/project/:pslug/us/:usref\", {\n templateUrl: \"us/us-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n });\n $routeProvider.when(\"/project/:pslug/task/:taskref\", {\n templateUrl: \"task/task-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n });\n $routeProvider.when(\"/project/:pslug/wiki\", {\n redirectTo: function(params) {\n return \"/project/\" + params.pslug + \"/wiki/home\";\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki-list\", {\n templateUrl: \"wiki/wiki-list.html\",\n loader: true,\n section: \"wiki\"\n });\n $routeProvider.when(\"/project/:pslug/wiki/:slug\", {\n templateUrl: \"wiki/wiki.html\",\n loader: true,\n section: \"wiki\"\n });\n $routeProvider.when(\"/project/:pslug/team\", {\n templateUrl: \"team/team.html\",\n loader: true,\n section: \"team\"\n });\n $routeProvider.when(\"/project/:pslug/issues\", {\n templateUrl: \"issue/issues.html\",\n loader: true,\n section: \"issues\"\n });\n $routeProvider.when(\"/project/:pslug/issue/:issueref\", {\n templateUrl: \"issue/issues-detail.html\",\n loader: true,\n section: \"issues\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\", {\n templateUrl: \"admin/admin-project-profile.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\", {\n templateUrl: \"admin/admin-project-default-values.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\", {\n templateUrl: \"admin/admin-project-modules.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\", {\n templateUrl: \"admin/admin-project-export.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\", {\n templateUrl: \"admin/admin-project-reports.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\", {\n templateUrl: \"admin/admin-project-values-status.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\", {\n templateUrl: \"admin/admin-project-values-points.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\", {\n templateUrl: \"admin/admin-project-values-priorities.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\", {\n templateUrl: \"admin/admin-project-values-severities.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\", {\n templateUrl: \"admin/admin-project-values-types.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\", {\n templateUrl: \"admin/admin-project-values-custom-fields.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/tags\", {\n templateUrl: \"admin/admin-project-values-tags.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/memberships\", {\n templateUrl: \"admin/admin-memberships.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/roles\", {\n templateUrl: \"admin/admin-roles.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\", {\n templateUrl: \"admin/admin-third-parties-webhooks.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\", {\n templateUrl: \"admin/admin-third-parties-github.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\", {\n templateUrl: \"admin/admin-third-parties-gitlab.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\", {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gogs\", {\n templateUrl: \"admin/admin-third-parties-gogs.html\",\n section: \"admin\"\n });\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\", {\n templateUrl: \"contrib/main.html\"\n });\n $routeProvider.when(\"/project/:pslug/transfer/:token\", {\n templateUrl: \"projects/transfer/transfer-page.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/user-settings/user-profile\", {\n templateUrl: \"user/user-profile.html\"\n });\n $routeProvider.when(\"/user-settings/user-change-password\", {\n templateUrl: \"user/user-change-password.html\"\n });\n $routeProvider.when(\"/user-settings/mail-notifications\", {\n templateUrl: \"user/mail-notifications.html\"\n });\n $routeProvider.when(\"/change-email/:email_token\", {\n templateUrl: \"user/change-email.html\"\n });\n $routeProvider.when(\"/cancel-account/:cancel_token\", {\n templateUrl: \"user/cancel-account.html\"\n });\n $routeProvider.when(\"/user-settings/contrib/:plugin\", {\n templateUrl: \"contrib/user-settings.html\"\n });\n $routeProvider.when(\"/profile\", {\n templateUrl: \"profile/profile.html\",\n loader: true,\n access: {\n requiresLogin: true\n },\n controller: \"Profile\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/profile/:slug\", {\n templateUrl: \"profile/profile.html\",\n loader: true,\n controller: \"Profile\",\n controllerAs: \"vm\"\n });\n $routeProvider.when(\"/login\", {\n templateUrl: \"auth/login.html\",\n title: \"LOGIN.PAGE_TITLE\",\n description: \"LOGIN.PAGE_DESCRIPTION\",\n disableHeader: true,\n controller: \"LoginPage\"\n });\n $routeProvider.when(\"/register\", {\n templateUrl: \"auth/register.html\",\n title: \"REGISTER.PAGE_TITLE\",\n description: \"REGISTER.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/forgot-password\", {\n templateUrl: \"auth/forgot-password.html\",\n title: \"FORGOT_PASSWORD.PAGE_TITLE\",\n description: \"FORGOT_PASSWORD.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/change-password/:token\", {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n disableHeader: true\n });\n $routeProvider.when(\"/invitation/:token\", {\n templateUrl: \"auth/invitation.html\",\n title: \"INVITATION.PAGE_TITLE\",\n description: \"INVITATION.PAGE_DESCRIPTION\",\n disableHeader: true\n });\n $routeProvider.when(\"/external-apps\", {\n templateUrl: \"external-apps/external-app.html\",\n title: \"EXTERNAL_APP.PAGE_TITLE\",\n description: \"EXTERNAL_APP.PAGE_DESCRIPTION\",\n controller: \"ExternalApp\",\n controllerAs: \"vm\",\n disableHeader: true,\n mobileViewport: true\n });\n $routeProvider.when(\"/blocked-project/:pslug/\", {\n templateUrl: \"projects/project/blocked-project.html\",\n loader: true\n });\n $routeProvider.when(\"/error\", {\n templateUrl: \"error/error.html\"\n });\n $routeProvider.when(\"/not-found\", {\n templateUrl: \"error/not-found.html\"\n });\n $routeProvider.when(\"/permission-denied\", {\n templateUrl: \"error/permission-denied.html\"\n });\n $routeProvider.otherwise({\n templateUrl: \"error/not-found.html\"\n });\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false\n });\n defaultHeaders = {\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": window.taigaConfig.defaultLanguage || \"en\",\n \"X-Session-Id\": taiga.sessionId\n };\n $httpProvider.defaults.headers[\"delete\"] = defaultHeaders;\n $httpProvider.defaults.headers.patch = defaultHeaders;\n $httpProvider.defaults.headers.post = defaultHeaders;\n $httpProvider.defaults.headers.put = defaultHeaders;\n $httpProvider.defaults.headers.get = {\n \"X-Session-Id\": taiga.sessionId\n };\n $httpProvider.useApplyAsync(true);\n $tgEventsProvider.setSessionId(taiga.sessionId);\n authHttpIntercept = function($q, $location, $navUrls, $lightboxService, errorHandlingService) {\n var httpResponseError;\n httpResponseError = function(response) {\n var nextUrl, search;\n if (response.status === 0 || (response.status === -1 && !response.config.cancelable)) {\n $lightboxService.closeAll();\n errorHandlingService.error();\n } else if (response.status === 401 && $location.url().indexOf('/login') === -1) {\n nextUrl = $location.url();\n search = $location.search();\n if (search.force_next) {\n $location.url($navUrls.resolve(\"login\")).search(\"force_next\", search.force_next);\n } else {\n $location.url($navUrls.resolve(\"login\")).search({\n \"unauthorized\": true,\n \"next\": nextUrl\n });\n }\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"authHttpIntercept\", [\"$q\", \"$location\", \"$tgNavUrls\", \"lightboxService\", \"tgErrorHandlingService\", authHttpIntercept]);\n $httpProvider.interceptors.push(\"authHttpIntercept\");\n loaderIntercept = function($q, loaderService) {\n return {\n request: function(config) {\n loaderService.logRequest();\n return config;\n },\n requestError: function(rejection) {\n loaderService.logResponse();\n return $q.reject(rejection);\n },\n responseError: function(rejection) {\n loaderService.logResponse();\n return $q.reject(rejection);\n },\n response: function(response) {\n loaderService.logResponse();\n return response;\n }\n };\n };\n $provide.factory(\"loaderIntercept\", [\"$q\", \"tgLoader\", loaderIntercept]);\n $httpProvider.interceptors.push(\"loaderIntercept\");\n versionCheckHttpIntercept = function($q) {\n var httpResponseError;\n httpResponseError = function(response) {\n var $injector;\n if (response.status === 400 && response.data.version) {\n $injector = angular.element(\"body\").injector();\n $injector.invoke([\n \"$tgConfirm\", \"$translate\", (function(_this) {\n return function($confirm, $translate) {\n var versionErrorMsg;\n versionErrorMsg = $translate.instant(\"ERROR.VERSION_ERROR\");\n return $confirm.notify(\"error\", versionErrorMsg, null, 10000);\n };\n })(this)\n ]);\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", versionCheckHttpIntercept]);\n $httpProvider.interceptors.push(\"versionCheckHttpIntercept\");\n blockingIntercept = function($q, errorHandlingService) {\n var redirectToBlockedPage, responseError, responseOk;\n redirectToBlockedPage = function() {\n return errorHandlingService.block();\n };\n responseOk = function(response) {\n if (response.data.blocked_code) {\n redirectToBlockedPage();\n }\n return response;\n };\n responseError = function(response) {\n if (response.status === 451) {\n redirectToBlockedPage();\n }\n return $q.reject(response);\n };\n return {\n response: responseOk,\n responseError: responseError\n };\n };\n $provide.factory(\"blockingIntercept\", [\"$q\", \"tgErrorHandlingService\", blockingIntercept]);\n $httpProvider.interceptors.push(\"blockingIntercept\");\n $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false);\n if (localStorage.userInfo) {\n userInfo = JSON.parse(localStorage.userInfo);\n }\n preferedLangCode = (userInfo != null ? userInfo.lang : void 0) || window.taigaConfig.defaultLanguage || \"en\";\n $translatePartialLoaderProvider.addPart('taiga');\n $translateProvider.useLoader('$translatePartialLoader', {\n urlTemplate: '/' + window._version + '/locales/{part}/locale-{lang}.json'\n }).useSanitizeValueStrategy('escapeParameters').addInterpolation('$translateMessageFormatInterpolation').preferredLanguage(preferedLangCode);\n $translateProvider.fallbackLanguage(preferedLangCode);\n decorators = window.getDecorators();\n return _.each(decorators, function(decorator) {\n return $provide.decorator(decorator.provider, decorator.decorator);\n });\n };\n\n i18nInit = function(lang, $translate) {\n var messages;\n moment.locale(lang);\n if (lang !== 'en') {\n ljs.load((\"/\" + window._version + \"/locales/moment-locales/\") + lang + \".js\");\n }\n messages = {\n defaultMessage: $translate.instant(\"COMMON.FORM_ERRORS.DEFAULT_MESSAGE\"),\n type: {\n email: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_EMAIL\"),\n url: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URL\"),\n urlstrict: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URLSTRICT\"),\n number: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_NUMBER\"),\n digits: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DIGITS\"),\n dateIso: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DATEISO\"),\n alphanum: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_ALPHANUM\"),\n phone: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_PHONE\")\n },\n notnull: $translate.instant(\"COMMON.FORM_ERRORS.NOTNULL\"),\n notblank: $translate.instant(\"COMMON.FORM_ERRORS.NOT_BLANK\"),\n required: $translate.instant(\"COMMON.FORM_ERRORS.REQUIRED\"),\n regexp: $translate.instant(\"COMMON.FORM_ERRORS.REGEXP\"),\n min: $translate.instant(\"COMMON.FORM_ERRORS.MIN\"),\n max: $translate.instant(\"COMMON.FORM_ERRORS.MAX\"),\n range: $translate.instant(\"COMMON.FORM_ERRORS.RANGE\"),\n minlength: $translate.instant(\"COMMON.FORM_ERRORS.MIN_LENGTH\"),\n maxlength: $translate.instant(\"COMMON.FORM_ERRORS.MAX_LENGTH\"),\n rangelength: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_LENGTH\"),\n mincheck: $translate.instant(\"COMMON.FORM_ERRORS.MIN_CHECK\"),\n maxcheck: $translate.instant(\"COMMON.FORM_ERRORS.MAX_CHECK\"),\n rangecheck: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_CHECK\"),\n equalto: $translate.instant(\"COMMON.FORM_ERRORS.EQUAL_TO\"),\n linewidth: $translate.instant(\"COMMON.FORM_ERRORS.LINEWIDTH\"),\n pikaday: $translate.instant(\"COMMON.FORM_ERRORS.PIKADAY\")\n };\n return checksley.updateMessages('default', messages);\n };\n\n init = function($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, appMetaService, loaderService, navigationBarService, errorHandlingService, lightboxService) {\n var un, user, validators;\n $log.debug(\"Initialize application\");\n $rootscope.$on('$translatePartialLoaderStructureChanged', function() {\n return $translate.refresh();\n });\n validators = {\n linewidth: function(val, width) {\n var lines, valid;\n lines = taiga.nl2br(val).split(\"\");\n valid = _.every(lines, function(line) {\n return line.length < width;\n });\n return valid;\n },\n pikaday: function(val) {\n var prettyDate;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n return moment(val, prettyDate).isValid();\n }\n };\n checksley.updateValidators(validators);\n $rootscope.contribPlugins = this.taigaContribPlugins;\n $rootscope.adminPlugins = _.filter(this.taigaContribPlugins, {\n \"type\": \"admin\"\n });\n $rootscope.userSettingsPlugins = _.filter(this.taigaContribPlugins, {\n \"type\": \"userSettings\"\n });\n $rootscope.$on(\"$translateChangeEnd\", function(e, ctx) {\n var lang;\n lang = ctx.language;\n return i18nInit(lang, $translate);\n });\n Promise.setScheduler(function(cb) {\n return $rootscope.$evalAsync(cb);\n });\n $events.setupConnection();\n if ($auth.isAuthenticated()) {\n user = $auth.getUser();\n }\n $analytics.initialize();\n $rootscope.$on('$locationChangeStart', function(event) {\n errorHandlingService.init();\n if (lightboxService.getLightboxOpen().length) {\n event.preventDefault();\n return lightboxService.closeAll();\n }\n });\n un = $rootscope.$on('$routeChangeStart', function(event, next) {\n if (next.loader) {\n loaderService.start(true);\n }\n return un();\n });\n return $rootscope.$on('$routeChangeSuccess', function(event, next) {\n var description, title;\n if (next.loader) {\n loaderService.start(true);\n }\n if (next.access && next.access.requiresLogin) {\n if (!$auth.isAuthenticated()) {\n $location.path($navUrls.resolve(\"login\"));\n }\n }\n if (next.title || next.description) {\n title = $translate.instant(next.title || \"\");\n description = $translate.instant(next.description || \"\");\n appMetaService.setAll(title, description);\n }\n if (next.mobileViewport) {\n appMetaService.addMobileViewport();\n } else {\n appMetaService.removeMobileViewport();\n }\n if (next.disableHeader) {\n return navigationBarService.disableHeader();\n } else {\n return navigationBarService.enableHeader();\n }\n });\n };\n\n angular.module('infinite-scroll').value('THROTTLE_MILLISECONDS', 500);\n\n pluginsWithModule = _.filter(this.taigaContribPlugins, function(plugin) {\n return plugin.module;\n });\n\n pluginsModules = _.map(pluginsWithModule, function(plugin) {\n return plugin.module;\n });\n\n modules = [\"taigaBase\", \"taigaCommon\", \"taigaResources\", \"taigaResources2\", \"taigaAuth\", \"taigaEvents\", \"taigaHome\", \"taigaNavigationBar\", \"taigaProjects\", \"taigaRelatedTasks\", \"taigaBacklog\", \"taigaTaskboard\", \"taigaKanban\", \"taigaIssues\", \"taigaUserStories\", \"taigaTasks\", \"taigaTeam\", \"taigaWiki\", \"taigaSearch\", \"taigaAdmin\", \"taigaProject\", \"taigaUserSettings\", \"taigaFeedback\", \"taigaPlugins\", \"taigaIntegrations\", \"taigaComponents\", \"taigaProfile\", \"taigaHome\", \"taigaUserTimeline\", \"taigaExternalApps\", \"taigaDiscover\", \"taigaHistory\", \"taigaWikiHistory\", \"taigaEpics\", \"taigaUtils\", \"templates\", \"ngSanitize\", \"ngRoute\", \"ngAnimate\", \"ngAria\", \"pascalprecht.translate\", \"infinite-scroll\", \"tgRepeat\"].concat(pluginsModules);\n\n module = angular.module(\"taiga\", modules);\n\n module.config([\"$routeProvider\", \"$locationProvider\", \"$httpProvider\", \"$provide\", \"$tgEventsProvider\", \"$compileProvider\", \"$translateProvider\", \"$translatePartialLoaderProvider\", \"$animateProvider\", configure]);\n\n module.run([\"$log\", \"$rootScope\", \"$tgAuth\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"tgLoader\", \"tgNavigationBarService\", \"tgErrorHandlingService\", \"lightboxService\", init]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: classes.coffee\n */\n\n(function() {\n var TaigaBase, TaigaController, TaigaService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n TaigaBase = (function() {\n function TaigaBase() {}\n\n return TaigaBase;\n\n })();\n\n TaigaService = (function(superClass) {\n extend(TaigaService, superClass);\n\n function TaigaService() {\n return TaigaService.__super__.constructor.apply(this, arguments);\n }\n\n return TaigaService;\n\n })(TaigaBase);\n\n TaigaController = (function(superClass) {\n extend(TaigaController, superClass);\n\n function TaigaController() {\n this.onInitialDataError = bind(this.onInitialDataError, this);\n return TaigaController.__super__.constructor.apply(this, arguments);\n }\n\n TaigaController.prototype.onInitialDataError = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.errorHandlingService.notfound();\n } else if (xhr.status === 403) {\n this.errorHandlingService.permissionDenied();\n }\n }\n return this.q.reject(xhr);\n };\n\n return TaigaController;\n\n })(TaigaBase);\n\n this.taiga.Base = TaigaBase;\n\n this.taiga.Service = TaigaService;\n\n this.taiga.Controller = TaigaController;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: utils.coffee\n */\n\n(function() {\n var DEFAULT_COLOR_LIST, addClass, bindMethods, bindOnce, cancelTimeout, debounce, debounceLeading, defineImmutableProperty, getDefaulColorList, getMatches, getRandomDefaultColor, groupBy, isEmail, isImage, isPdf, joinStr, mixOf, nl2br, patch, replaceTags, scopeDefer, sizeFormat, slugify, startswith, stripTags, taiga, timeout, toString, toggleText, trim, truncate, unslugify,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n addClass = function(el, className) {\n if (el.classList) {\n return el.classList.add(className);\n } else {\n return el.className += ' ' + className;\n }\n };\n\n nl2br = (function(_this) {\n return function(str) {\n var breakTag;\n breakTag = '';\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2');\n };\n })(this);\n\n bindMethods = (function(_this) {\n return function(object) {\n var dependencies, methods;\n dependencies = _.keys(object);\n methods = [];\n _.forIn(object, function(value, key) {\n if (indexOf.call(dependencies, key) < 0 && _.isFunction(value)) {\n return methods.push(key);\n }\n });\n return _.bindAll(object, methods);\n };\n })(this);\n\n bindOnce = (function(_this) {\n return function(scope, attr, continuation) {\n var delBind, val;\n val = scope.$eval(attr);\n if (val !== void 0) {\n return continuation(val);\n }\n delBind = null;\n return delBind = scope.$watch(attr, function(val) {\n if (val === void 0) {\n return;\n }\n continuation(val);\n if (delBind) {\n return delBind();\n }\n });\n };\n })(this);\n\n mixOf = function() {\n var Mixed, base, i, method, mixin, mixins, name, ref;\n base = arguments[0], mixins = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n Mixed = (function(superClass) {\n extend(Mixed, superClass);\n\n function Mixed() {\n return Mixed.__super__.constructor.apply(this, arguments);\n }\n\n return Mixed;\n\n })(base);\n for (i = mixins.length - 1; i >= 0; i += -1) {\n mixin = mixins[i];\n ref = mixin.prototype;\n for (name in ref) {\n method = ref[name];\n Mixed.prototype[name] = method;\n }\n }\n return Mixed;\n };\n\n trim = function(data, char) {\n return _.trim(data, char);\n };\n\n slugify = function(data) {\n return data.toString().toLowerCase().trim().replace(/\\s+/g, '-').replace(/&/g, '-and-').replace(/[^\\w\\-]+/g, '').replace(/\\-\\-+/g, '-');\n };\n\n unslugify = function(data) {\n if (data) {\n return _.capitalize(data.replace(/-/g, ' '));\n }\n return data;\n };\n\n toggleText = function(element, texts) {\n var nextTextPosition, text;\n nextTextPosition = element.data('nextTextPosition');\n if ((nextTextPosition == null) || nextTextPosition >= texts.length) {\n nextTextPosition = 0;\n }\n text = texts[nextTextPosition];\n element.data('nextTextPosition', nextTextPosition + 1);\n return element.text(text);\n };\n\n groupBy = function(coll, pred) {\n var i, item, len, result;\n result = {};\n for (i = 0, len = coll.length; i < len; i++) {\n item = coll[i];\n result[pred(item)] = item;\n }\n return result;\n };\n\n timeout = function(wait, continuation) {\n return window.setTimeout(continuation, wait);\n };\n\n cancelTimeout = function(timeoutVar) {\n return window.clearTimeout(timeoutVar);\n };\n\n scopeDefer = function(scope, func) {\n return _.defer((function(_this) {\n return function() {\n return scope.$apply(func);\n };\n })(this));\n };\n\n toString = function(value) {\n if (_.isNumber(value)) {\n return value + \"\";\n } else if (_.isString(value)) {\n return value;\n } else if (_.isPlainObject(value)) {\n return JSON.stringify(value);\n } else if (_.isUndefined(value)) {\n return \"\";\n }\n return value.toString();\n };\n\n joinStr = function(str, coll) {\n return coll.join(str);\n };\n\n debounce = function(wait, func) {\n return _.debounce(func, wait, {\n leading: true,\n trailing: false\n });\n };\n\n debounceLeading = function(wait, func) {\n return _.debounce(func, wait, {\n leading: false,\n trailing: true\n });\n };\n\n startswith = function(str1, str2) {\n return _.startsWith(str1, str2);\n };\n\n truncate = function(str, maxLength, suffix) {\n var out;\n if (suffix == null) {\n suffix = \"...\";\n }\n if ((typeof str !== \"string\") && !(str instanceof String)) {\n return str;\n }\n out = str.slice(0);\n if (out.length > maxLength) {\n out = out.substring(0, maxLength + 1);\n out = out.substring(0, Math.min(out.length, out.lastIndexOf(\" \")));\n out = out + suffix;\n }\n return out;\n };\n\n sizeFormat = function(input, precision) {\n var number, size, units;\n if (precision == null) {\n precision = 1;\n }\n if (isNaN(parseFloat(input)) || !isFinite(input)) {\n return \"-\";\n }\n if (input === 0) {\n return \"0 bytes\";\n }\n units = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\n number = Math.floor(Math.log(input) / Math.log(1024));\n if (number > 5) {\n number = 5;\n }\n size = (input / Math.pow(1024, number)).toFixed(precision);\n return size + \" \" + units[number];\n };\n\n stripTags = function(str, exception) {\n var pattern;\n if (exception) {\n pattern = new RegExp('<(?!' + exception + '\\s*\\/?)[^>]+>', 'gi');\n return String(str).replace(pattern, '');\n } else {\n return String(str).replace(/<\\/?[^>]+>/g, '');\n }\n };\n\n replaceTags = function(str, tags, replace) {\n var pattern;\n pattern = new RegExp('<(' + tags + ')>', 'gi');\n str = str.replace(pattern, '<' + replace + '>');\n pattern = new RegExp('<\\/(' + tags + ')>', 'gi');\n str = str.replace(pattern, '' + replace + '>');\n return str;\n };\n\n defineImmutableProperty = (function(_this) {\n return function(obj, name, fn) {\n return Object.defineProperty(obj, name, {\n get: function() {\n var fn_result;\n if (!_.isFunction(fn)) {\n throw \"defineImmutableProperty third param must be a function\";\n }\n fn_result = fn();\n if (fn_result && _.isObject(fn_result)) {\n if (fn_result.size === void 0) {\n throw \"defineImmutableProperty must return immutable data\";\n }\n }\n return fn_result;\n }\n });\n };\n })(this);\n\n _.mixin({\n removeKeys: function(obj, keys) {\n return _.chain([keys]).flatten().reduce(function(obj, key) {\n delete obj[key];\n return obj;\n }, obj).value();\n },\n cartesianProduct: function() {\n return _.reduceRight(arguments, function(a, b) {\n return _.flatten(_.map(a, function(x) {\n return _.map(b, function(y) {\n return [y].concat(x);\n });\n }), true);\n }, [[]]);\n }\n });\n\n isImage = function(name) {\n return name.match(/\\.(jpe?g|png|gif|gifv|webm|svg|psd)/i) !== null;\n };\n\n isEmail = function(name) {\n return (name != null) && name.match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/) !== null;\n };\n\n isPdf = function(name) {\n return name.match(/\\.(pdf)/i) !== null;\n };\n\n patch = function(oldImmutable, newImmutable) {\n var pathObj;\n pathObj = {};\n newImmutable.forEach(function(newValue, key) {\n if (newValue !== oldImmutable.get(key)) {\n if (newValue.toJS) {\n return pathObj[key] = newValue.toJS();\n } else {\n return pathObj[key] = newValue;\n }\n }\n });\n return pathObj;\n };\n\n DEFAULT_COLOR_LIST = ['#fce94f', '#edd400', '#c4a000', '#8ae234', '#73d216', '#4e9a06', '#d3d7cf', '#fcaf3e', '#f57900', '#ce5c00', '#729fcf', '#3465a4', '#204a87', '#888a85', '#ad7fa8', '#75507b', '#5c3566', '#ef2929', '#cc0000', '#a40000', '#222222'];\n\n getRandomDefaultColor = function() {\n return _.sample(DEFAULT_COLOR_LIST);\n };\n\n getDefaulColorList = function() {\n return _.clone(DEFAULT_COLOR_LIST);\n };\n\n getMatches = function(string, regex, index) {\n var match, matches;\n index || (index = 1);\n matches = [];\n match = null;\n while (match = regex.exec(string)) {\n if (index === -1) {\n matches.push(match);\n } else {\n matches.push(match[index]);\n }\n }\n return matches;\n };\n\n taiga = this.taiga;\n\n taiga.addClass = addClass;\n\n taiga.nl2br = nl2br;\n\n taiga.bindMethods = bindMethods;\n\n taiga.bindOnce = bindOnce;\n\n taiga.mixOf = mixOf;\n\n taiga.trim = trim;\n\n taiga.slugify = slugify;\n\n taiga.unslugify = unslugify;\n\n taiga.toggleText = toggleText;\n\n taiga.groupBy = groupBy;\n\n taiga.timeout = timeout;\n\n taiga.cancelTimeout = cancelTimeout;\n\n taiga.scopeDefer = scopeDefer;\n\n taiga.toString = toString;\n\n taiga.joinStr = joinStr;\n\n taiga.truncate = truncate;\n\n taiga.debounce = debounce;\n\n taiga.debounceLeading = debounceLeading;\n\n taiga.startswith = startswith;\n\n taiga.sizeFormat = sizeFormat;\n\n taiga.stripTags = stripTags;\n\n taiga.replaceTags = replaceTags;\n\n taiga.defineImmutableProperty = defineImmutableProperty;\n\n taiga.isImage = isImage;\n\n taiga.isEmail = isEmail;\n\n taiga.isPdf = isPdf;\n\n taiga.patch = patch;\n\n taiga.getRandomDefaultColor = getRandomDefaultColor;\n\n taiga.getDefaulColorList = getDefaulColorList;\n\n taiga.getMatches = getMatches;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/controllerMixins.coffee\n */\n\n(function() {\n var FiltersMixin, PageMixin, UsFiltersMixin, groupBy, joinStr, taiga, toString, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n joinStr = this.taiga.joinStr;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n PageMixin = (function() {\n function PageMixin() {}\n\n PageMixin.prototype.fillUsersAndRoles = function(users, roles) {\n var activeUsers, computableRoles;\n activeUsers = _.filter(users, (function(_this) {\n return function(user) {\n return user.is_active;\n };\n })(this));\n this.scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\");\n this.scope.activeUsersById = groupBy(this.scope.activeUsers, function(e) {\n return e.id;\n });\n this.scope.users = _.sortBy(users, \"full_name_display\");\n this.scope.usersById = groupBy(this.scope.users, function(e) {\n return e.id;\n });\n this.scope.roles = _.sortBy(roles, \"order\");\n computableRoles = _(this.scope.project.members).map(\"role\").uniq().value();\n return this.scope.computableRoles = _(roles).filter(\"computable\").filter(function(x) {\n return _.includes(computableRoles, x.id);\n }).value();\n };\n\n PageMixin.prototype.loadUsersAndRoles = function() {\n var promise;\n promise = this.q.all([this.rs.projects.usersList(this.scope.projectId), this.rs.projects.rolesList(this.scope.projectId)]);\n return promise.then((function(_this) {\n return function(results) {\n var roles, users;\n users = results[0], roles = results[1];\n _this.fillUsersAndRoles(users, roles);\n return results;\n };\n })(this));\n };\n\n return PageMixin;\n\n })();\n\n taiga.PageMixin = PageMixin;\n\n FiltersMixin = (function() {\n function FiltersMixin() {}\n\n FiltersMixin.prototype.selectFilter = function(name, value, load) {\n var existing, location, params;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] !== void 0 && name !== \"page\") {\n existing = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n existing.push(taiga.toString(value));\n existing = _.compact(existing);\n value = joinStr(\",\", _.uniq(existing));\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceFilter = function(name, value, load) {\n var location;\n if (load == null) {\n load = false;\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceAllFilters = function(filters, load) {\n var location;\n if (load == null) {\n load = false;\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(filters);\n };\n\n FiltersMixin.prototype.unselectFilter = function(name, value, load) {\n var location, newValues, params, parsedValues;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] === void 0) {\n return;\n }\n if (value === void 0 || value === null) {\n delete params[name];\n }\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n newValues = _.reject(parsedValues, function(x) {\n return x === taiga.toString(value);\n });\n newValues = _.compact(newValues);\n if (_.isEmpty(newValues)) {\n value = null;\n } else {\n value = joinStr(\",\", _.uniq(newValues));\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n };\n\n FiltersMixin.prototype.applyStoredFilters = function(projectSlug, key) {\n var filters;\n if (_.isEmpty(this.location.search())) {\n filters = this.getFilters(projectSlug, key);\n if (Object.keys(filters).length) {\n this.location.search(filters);\n this.location.replace();\n return true;\n }\n }\n return false;\n };\n\n FiltersMixin.prototype.storeFilters = function(projectSlug, params, filtersHashSuffix) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = taiga.generateHash([projectSlug, ns]);\n return this.storage.set(hash, params);\n };\n\n FiltersMixin.prototype.getFilters = function(projectSlug, filtersHashSuffix) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = taiga.generateHash([projectSlug, ns]);\n return this.storage.get(hash) || {};\n };\n\n FiltersMixin.prototype.formatSelectedFilters = function(type, list, urlIds) {\n var invalidAppliedTags, invalidTags, selectedFilters, selectedIds, validAppliedTags;\n selectedIds = urlIds.split(',');\n selectedFilters = _.filter(list, function(it) {\n return selectedIds.indexOf(_.toString(it.id)) !== -1;\n });\n invalidTags = _.filter(selectedIds, function(it) {\n return !_.find(selectedFilters, function(sit) {\n return _.toString(sit.id) === it;\n });\n });\n invalidAppliedTags = _.map(invalidTags, function(it) {\n return {\n id: it,\n key: type + \":\" + it,\n dataType: type,\n name: it\n };\n });\n validAppliedTags = _.map(selectedFilters, function(it) {\n return {\n id: it.id,\n key: type + \":\" + it.id,\n dataType: type,\n name: it.name,\n color: it.color\n };\n });\n return invalidAppliedTags.concat(validAppliedTags);\n };\n\n return FiltersMixin;\n\n })();\n\n taiga.FiltersMixin = FiltersMixin;\n\n UsFiltersMixin = (function() {\n function UsFiltersMixin() {}\n\n UsFiltersMixin.prototype.changeQ = function(q) {\n this.replaceFilter(\"q\", q);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.removeFilter = function(filter) {\n this.unselectFilter(filter.dataType, filter.id);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.addFilter = function(newFilter) {\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.selectCustomFilter = function(customFilter) {\n this.replaceAllFilters(customFilter.filter);\n this.filtersReloadContent();\n return this.generateFilters();\n };\n\n UsFiltersMixin.prototype.saveCustomFilter = function(name) {\n var filters, urlfilters;\n filters = {};\n urlfilters = this.location.search();\n filters.tags = urlfilters.tags;\n filters.status = urlfilters.status;\n filters.assigned_to = urlfilters.assigned_to;\n filters.owner = urlfilters.owner;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName).then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.storeCustomFiltersName).then(_this.generateFilters);\n };\n })(this));\n };\n\n UsFiltersMixin.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName).then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.storeCustomFiltersName).then(_this.generateFilters);\n return _this.generateFilters();\n };\n })(this));\n };\n\n UsFiltersMixin.prototype.generateFilters = function() {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), this.storeFiltersName);\n urlfilters = this.location.search();\n loadFilters = {};\n loadFilters.project = this.scope.projectId;\n loadFilters.tags = urlfilters.tags;\n loadFilters.status = urlfilters.status;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.epic = urlfilters.epic;\n loadFilters.q = urlfilters.q;\n return this.q.all([this.rs.userstories.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, this.storeCustomFiltersName)]).then((function(_this) {\n return function(result) {\n var assignedTo, customFiltersRaw, data, epic, owner, selected, statuses, tags, tagsWithAtLeastOneElement;\n data = result[0];\n customFiltersRaw = result[1];\n statuses = _.map(data.statuses, function(it) {\n it.id = it.id.toString();\n return it;\n });\n tags = _.map(data.tags, function(it) {\n it.id = it.name;\n return it;\n });\n tagsWithAtLeastOneElement = _.filter(tags, function(tag) {\n return tag.count > 0;\n });\n assignedTo = _.map(data.assigned_to, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n owner = _.map(data.owners, function(it) {\n it.id = it.id.toString();\n it.name = it.full_name;\n return it;\n });\n epic = _.map(data.epics, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n it.name = \"#\" + it.ref + \" \" + it.subject;\n } else {\n it.id = \"null\";\n it.name = \"Not in an epic\";\n }\n return it;\n });\n _this.selectedFilters = [];\n if (loadFilters.status) {\n selected = _this.formatSelectedFilters(\"status\", statuses, loadFilters.status);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.tags) {\n selected = _this.formatSelectedFilters(\"tags\", tags, loadFilters.tags);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.assigned_to) {\n selected = _this.formatSelectedFilters(\"assigned_to\", assignedTo, loadFilters.assigned_to);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.owner) {\n selected = _this.formatSelectedFilters(\"owner\", owner, loadFilters.owner);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.epic) {\n selected = _this.formatSelectedFilters(\"epic\", epic, loadFilters.epic);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n _this.filterQ = loadFilters.q;\n _this.filters = [\n {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.STATUS\"),\n dataType: \"status\",\n content: statuses\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.TAGS\"),\n dataType: \"tags\",\n content: tags,\n hideEmpty: true,\n totalTaggedElements: tagsWithAtLeastOneElement.length\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.ASSIGNED_TO\"),\n dataType: \"assigned_to\",\n content: assignedTo\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.CREATED_BY\"),\n dataType: \"owner\",\n content: owner\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.EPIC\"),\n dataType: \"epic\",\n content: epic\n }\n ];\n _this.customFilters = [];\n return _.forOwn(customFiltersRaw, function(value, key) {\n return _this.customFilters.push({\n id: key,\n name: key,\n filter: value\n });\n });\n };\n })(this));\n };\n\n return UsFiltersMixin;\n\n })();\n\n taiga.UsFiltersMixin = UsFiltersMixin;\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/admin.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaAdmin\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/auth.coffee\n */\n\n(function() {\n var AuthService, CancelAccountDirective, ChangeEmailDirective, ChangePasswordFromRecoveryDirective, ForgotPasswordDirective, InvitationDirective, LoginDirective, LoginPage, PublicRegisterMessageDirective, RegisterDirective, debounce, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAuth\", [\"taigaResources\"]);\n\n LoginPage = (function() {\n LoginPage.$inject = ['tgCurrentUserService', '$location', '$tgNavUrls', '$routeParams', '$tgAuth'];\n\n function LoginPage(currentUserService, $location, $navUrls, $routeParams, $auth) {\n var url;\n if (currentUserService.isAuthenticated()) {\n if (!$routeParams['force_login']) {\n url = $navUrls.resolve(\"home\");\n if ($routeParams['next']) {\n url = decodeURIComponent($routeParams['next']);\n $location.search('next', null);\n }\n if ($routeParams['unauthorized']) {\n $auth.clear();\n $auth.removeToken();\n } else {\n $location.url(url);\n }\n }\n }\n }\n\n return LoginPage;\n\n })();\n\n module.controller('LoginPage', LoginPage);\n\n AuthService = (function(superClass) {\n extend(AuthService, superClass);\n\n AuthService.$inject = [\"$rootScope\", \"$tgStorage\", \"$tgModel\", \"$tgResources\", \"$tgHttp\", \"$tgUrls\", \"$tgConfig\", \"$translate\", \"tgCurrentUserService\", \"tgThemeService\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls, config1, translate, currentUserService1, themeService) {\n var userModel;\n this.rootscope = rootscope;\n this.storage = storage;\n this.model = model;\n this.rs = rs;\n this.http = http;\n this.urls = urls;\n this.config = config1;\n this.translate = translate;\n this.currentUserService = currentUserService1;\n this.themeService = themeService;\n AuthService.__super__.constructor.call(this);\n userModel = this.getUser();\n this._currentTheme = this._getUserTheme();\n this.setUserdata(userModel);\n }\n\n AuthService.prototype.setUserdata = function(userModel) {\n if (userModel) {\n this.userData = Immutable.fromJS(userModel.getAttrs());\n return this.currentUserService.setUser(this.userData);\n } else {\n return this.userData = null;\n }\n };\n\n AuthService.prototype._getUserTheme = function() {\n var ref;\n return ((ref = this.rootscope.user) != null ? ref.theme : void 0) || this.config.get(\"defaultTheme\") || \"taiga\";\n };\n\n AuthService.prototype._setTheme = function() {\n var newTheme;\n newTheme = this._getUserTheme();\n if (this._currentTheme !== newTheme) {\n this._currentTheme = newTheme;\n return this.themeService.use(this._currentTheme);\n }\n };\n\n AuthService.prototype._setLocales = function() {\n var lang, ref;\n lang = ((ref = this.rootscope.user) != null ? ref.lang : void 0) || this.config.get(\"defaultLanguage\") || \"en\";\n this.translate.preferredLanguage(lang);\n return this.translate.use(lang);\n };\n\n AuthService.prototype.getUser = function() {\n var user, userData;\n if (this.rootscope.user) {\n return this.rootscope.user;\n }\n userData = this.storage.get(\"userInfo\");\n if (userData) {\n user = this.model.make_model(\"users\", userData);\n this.rootscope.user = user;\n this._setLocales();\n this._setTheme();\n return user;\n } else {\n this._setTheme();\n }\n return null;\n };\n\n AuthService.prototype.setUser = function(user) {\n this.rootscope.auth = user;\n this.storage.set(\"userInfo\", user.getAttrs());\n this.rootscope.user = user;\n this.setUserdata(user);\n this._setLocales();\n return this._setTheme();\n };\n\n AuthService.prototype.clear = function() {\n this.rootscope.auth = null;\n this.rootscope.user = null;\n return this.storage.remove(\"userInfo\");\n };\n\n AuthService.prototype.setToken = function(token) {\n return this.storage.set(\"token\", token);\n };\n\n AuthService.prototype.getToken = function() {\n return this.storage.get(\"token\");\n };\n\n AuthService.prototype.removeToken = function() {\n return this.storage.remove(\"token\");\n };\n\n AuthService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n AuthService.prototype.refresh = function() {\n var url;\n url = this.urls.resolve(\"user-me\");\n return this.http.get(url).then((function(_this) {\n return function(data, status) {\n var user;\n user = data.data;\n user.token = _this.getUser().auth_token;\n user = _this.model.make_model(\"users\", user);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.login = function(data, type) {\n var url;\n url = this.urls.resolve(\"auth\");\n data = _.clone(data, false);\n data.type = type ? type : \"normal\";\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(data, status) {\n var user;\n user = _this.model.make_model(\"users\", data.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.logout = function() {\n this.removeToken();\n this.clear();\n this.currentUserService.removeUser();\n this._setTheme();\n return this._setLocales();\n };\n\n AuthService.prototype.register = function(data, type, existing) {\n var url;\n url = this.urls.resolve(\"auth-register\");\n data = _.clone(data, false);\n data.type = type ? type : \"public\";\n if (type === \"private\") {\n data.existing = existing ? existing : false;\n }\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(response) {\n var user;\n user = _this.model.make_model(\"users\", response.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.getInvitation = function(token) {\n return this.rs.invitations.get(token);\n };\n\n AuthService.prototype.acceptInvitiationWithNewUser = function(data) {\n return this.register(data, \"private\", false);\n };\n\n AuthService.prototype.forgotPassword = function(data) {\n var url;\n url = this.urls.resolve(\"users-password-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changePasswordFromRecovery = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-password-from-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changeEmail = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-email\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n AuthService.prototype.cancelAccount = function(data) {\n var url;\n url = this.urls.resolve(\"users-cancel-account\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n return AuthService;\n\n })(taiga.Service);\n\n module.service(\"$tgAuth\", AuthService);\n\n PublicRegisterMessageDirective = function($config, $navUrls, $routeParams, templates) {\n var template, templateFn;\n template = templates.get(\"auth/login-text.html\", true);\n templateFn = function() {\n var nextUrl, publicRegisterEnabled, url;\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\");\n if (!publicRegisterEnabled) {\n return \"\";\n }\n url = $navUrls.resolve(\"register\");\n if ($routeParams['force_next']) {\n nextUrl = encodeURIComponent($routeParams['force_next']);\n url += \"?next=\" + nextUrl;\n }\n return template({\n url: url\n });\n };\n return {\n restrict: \"AE\",\n scope: {},\n template: templateFn\n };\n };\n\n module.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$routeParams\", \"$tgTemplate\", PublicRegisterMessageDirective]);\n\n LoginDirective = function($auth, $confirm, $location, $config, $routeParams, $navUrls, $events, $translate, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onError, onSuccess, submit;\n form = new checksley.Form($el.find(\"form.login-form\"));\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n $scope.nextUrl = decodeURIComponent($routeParams['next']);\n } else {\n $scope.nextUrl = $navUrls.resolve(\"home\");\n }\n if ($routeParams['force_next']) {\n $scope.nextUrl = decodeURIComponent($routeParams['force_next']);\n }\n onSuccess = function(response) {\n $events.setupConnection();\n if ($scope.nextUrl.indexOf('http') === 0) {\n return $window.location.href = $scope.nextUrl;\n } else {\n return $location.url($scope.nextUrl);\n }\n };\n onError = function(response) {\n return $confirm.notify(\"light-error\", $translate.instant(\"LOGIN_FORM.ERROR_AUTH_INCORRECT\"));\n };\n $scope.onKeyUp = function(event) {\n var target, value;\n target = angular.element(event.currentTarget);\n value = target.val();\n $scope.iscapsLockActivated = false;\n if (value !== value.toLowerCase()) {\n return $scope.iscapsLockActivated = true;\n }\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var data, loginFormType, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n data = {\n \"username\": $el.find(\"form.login-form input[name=username]\").val(),\n \"password\": $el.find(\"form.login-form input[name=password]\").val()\n };\n loginFormType = $config.get(\"loginFormType\", \"normal\");\n promise = $auth.login(data, loginFormType);\n return promise.then(onSuccess, onError);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n window.prerenderReady = true;\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgEvents\", \"$translate\", \"$window\", LoginDirective]);\n\n RegisterDirective = function($auth, $confirm, $location, $navUrls, $config, $routeParams, $analytics, $translate, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n if (!$config.get(\"publicRegisterEnabled\")) {\n $location.path($navUrls.resolve(\"not-found\"));\n $location.replace();\n }\n $scope.data = {};\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n $scope.nextUrl = decodeURIComponent($routeParams['next']);\n } else {\n $scope.nextUrl = $navUrls.resolve(\"home\");\n }\n onSuccessSubmit = function(response) {\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1);\n if ($scope.nextUrl.indexOf('http') === 0) {\n return $window.location.href = $scope.nextUrl;\n } else {\n return $location.url($scope.nextUrl);\n }\n };\n onErrorSubmit = function(response) {\n var text;\n if (response.data._error_message) {\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n $confirm.notify(\"light-error\", text);\n }\n return form.setErrors(response.data);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.register($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return window.prerenderReady = true;\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\", \"$routeParams\", \"$tgAnalytics\", \"$translate\", \"$window\", RegisterDirective]);\n\n ForgotPasswordDirective = function($auth, $confirm, $location, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var message, title;\n $location.path($navUrls.resolve(\"login\"));\n title = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS_TITLE\");\n message = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS_TEXT\");\n return $confirm.success(title, message);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.ERROR\");\n return $confirm.notify(\"light-error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.forgotPassword($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return window.prerenderReady = true;\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$translate\", ForgotPasswordDirective]);\n\n ChangePasswordFromRecoveryDirective = function($auth, $confirm, $location, $params, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit, text;\n $scope.data = {};\n if ($params.token != null) {\n $scope.tokenInParams = true;\n $scope.data.token = $params.token;\n } else {\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.ERROR\");\n $confirm.notify(\"light-error\", text);\n }\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.ERROR\");\n return $confirm.notify(\"light-error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.changePasswordFromRecovery($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangePasswordFromRecoveryDirective]);\n\n InvitationDirective = function($auth, $confirm, $location, $config, $params, $navUrls, $analytics, $translate, config) {\n var link;\n link = function($scope, $el, $attrs) {\n var loginForm, onErrorSubmitLogin, onErrorSubmitRegister, onSuccessSubmitLogin, onSuccessSubmitRegister, promise, registerForm, submitLogin, submitRegister, token;\n token = $params.token;\n promise = $auth.getInvitation(token);\n promise.then(function(invitation) {\n $scope.invitation = invitation;\n return $scope.publicRegisterEnabled = config.get(\"publicRegisterEnabled\");\n });\n promise.then(null, function(response) {\n var text;\n $location.path($navUrls.resolve(\"login\"));\n text = $translate.instant(\"INVITATION_LOGIN_FORM.NOT_FOUND\");\n return $confirm.notify(\"light-error\", text);\n });\n $scope.dataLogin = {\n token: token\n };\n loginForm = $el.find(\"form.login-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitLogin = function(response) {\n var text;\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n text = $translate.instant(\"INVITATION_LOGIN_FORM.SUCCESS\", {\n \"project_name\": $scope.invitation.project_name\n });\n return $confirm.notify(\"success\", text);\n };\n onErrorSubmitLogin = function(response) {\n return $confirm.notify(\"light-error\", response.data._error_message);\n };\n submitLogin = debounce(2000, (function(_this) {\n return function(event) {\n var data, loginFormType;\n event.preventDefault();\n if (!loginForm.validate()) {\n return;\n }\n loginFormType = $config.get(\"loginFormType\", \"normal\");\n data = $scope.dataLogin;\n promise = $auth.login({\n username: data.username,\n password: data.password,\n invitation_token: data.token\n }, loginFormType);\n return promise.then(onSuccessSubmitLogin, onErrorSubmitLogin);\n };\n })(this));\n $el.on(\"submit\", \"form.login-form\", submitLogin);\n $el.on(\"click\", \".button-login\", submitLogin);\n $scope.dataRegister = {\n token: token\n };\n registerForm = $el.find(\"form.register-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitRegister = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitRegister = function(response) {\n var text;\n if (response.data._error_message) {\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n $confirm.notify(\"light-error\", text);\n }\n return registerForm.setErrors(response.data);\n };\n submitRegister = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!registerForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister);\n return promise.then(onSuccessSubmitRegister, onErrorSubmitRegister);\n };\n })(this));\n $el.on(\"submit\", \"form.register-form\", submitRegister);\n $el.on(\"click\", \".button-register\", submitRegister);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgConfig\", InvitationDirective]);\n\n ChangeEmailDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.email_token = $params.email_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var text;\n if ($auth.isAuthenticated()) {\n $repo.queryOne(\"users\", $auth.getUser().id).then((function(_this) {\n return function(data) {\n $auth.setUser(data);\n $location.path($navUrls.resolve(\"home\"));\n return $location.replace();\n };\n })(this));\n } else {\n $location.path($navUrls.resolve(\"login\"));\n $location.replace();\n }\n text = $translate.instant(\"CHANGE_EMAIL_FORM.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n return $confirm.notify(\"light-error\", text);\n };\n submit = function() {\n var promise;\n if (!form.validate()) {\n return;\n }\n promise = $auth.changeEmail($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n $el.on(\"submit\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \"a.button-change-email\", function(event) {\n event.preventDefault();\n return submit();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangeEmailDirective]);\n\n CancelAccountDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.cancel_token = $params.cancel_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n var text;\n $auth.logout();\n $location.path($navUrls.resolve(\"home\"));\n text = $translate.instant(\"CANCEL_ACCOUNT.SUCCESS\");\n return $confirm.success(text);\n };\n onErrorSubmit = function(response) {\n var text;\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {\n error: response.data._error_message\n });\n return $confirm.notify(\"error\", text);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.cancelAccount($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", CancelAccountDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaBacklog\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base.coffee\n */\n\n(function() {\n var TaigaMainDirective, bindOnce, groupBy, init, module, taiga, urls;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\", []);\n\n TaigaMainDirective = function($rootscope, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n return $window.onresize = function() {\n return $rootscope.$broadcast(\"resize\");\n };\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective]);\n\n urls = {\n \"home\": \"/\",\n \"projects\": \"/projects\",\n \"error\": \"/error\",\n \"not-found\": \"/not-found\",\n \"permission-denied\": \"/permission-denied\",\n \"discover\": \"/discover\",\n \"discover-search\": \"/discover/search\",\n \"login\": \"/login\",\n \"forgot-password\": \"/forgot-password\",\n \"change-password\": \"/change-password/:token\",\n \"change-email\": \"/change-email/:token\",\n \"cancel-account\": \"/cancel-account/:token\",\n \"register\": \"/register\",\n \"invitation\": \"/invitation/:token\",\n \"create-project\": \"/project/new\",\n \"create-project-scrum\": \"/project/new/scrum\",\n \"create-project-kanban\": \"/project/new/kanban\",\n \"create-project-duplicate\": \"/project/new/duplicate\",\n \"create-project-import\": \"/project/new/import\",\n \"create-project-import-platform\": \"/project/new/import/:platform\",\n \"profile\": \"/profile\",\n \"user-profile\": \"/profile/:username\",\n \"blocked-project\": \"/blocked-project/:project\",\n \"project\": \"/project/:project\",\n \"project-detail-ref\": \"/project/:project/t/:ref\",\n \"project-backlog\": \"/project/:project/backlog\",\n \"project-taskboard\": \"/project/:project/taskboard/:sprint\",\n \"project-kanban\": \"/project/:project/kanban\",\n \"project-issues\": \"/project/:project/issues\",\n \"project-epics\": \"/project/:project/epics\",\n \"project-search\": \"/project/:project/search\",\n \"project-epics-detail\": \"/project/:project/epic/:ref\",\n \"project-userstories-detail\": \"/project/:project/us/:ref\",\n \"project-tasks-detail\": \"/project/:project/task/:ref\",\n \"project-issues-detail\": \"/project/:project/issue/:ref\",\n \"project-wiki\": \"/project/:project/wiki\",\n \"project-wiki-list\": \"/project/:project/wiki-list\",\n \"project-wiki-page\": \"/project/:project/wiki/:slug\",\n \"project-team\": \"/project/:project/team\",\n \"project-admin-home\": \"/project/:project/admin/project-profile/details\",\n \"project-admin-project-profile-details\": \"/project/:project/admin/project-profile/details\",\n \"project-admin-project-profile-default-values\": \"/project/:project/admin/project-profile/default-values\",\n \"project-admin-project-profile-modules\": \"/project/:project/admin/project-profile/modules\",\n \"project-admin-project-profile-export\": \"/project/:project/admin/project-profile/export\",\n \"project-admin-project-profile-reports\": \"/project/:project/admin/project-profile/reports\",\n \"project-admin-project-values-status\": \"/project/:project/admin/project-values/status\",\n \"project-admin-project-values-points\": \"/project/:project/admin/project-values/points\",\n \"project-admin-project-values-priorities\": \"/project/:project/admin/project-values/priorities\",\n \"project-admin-project-values-severities\": \"/project/:project/admin/project-values/severities\",\n \"project-admin-project-values-types\": \"/project/:project/admin/project-values/types\",\n \"project-admin-project-values-custom-fields\": \"/project/:project/admin/project-values/custom-fields\",\n \"project-admin-project-values-tags\": \"/project/:project/admin/project-values/tags\",\n \"project-admin-memberships\": \"/project/:project/admin/memberships\",\n \"project-admin-roles\": \"/project/:project/admin/roles\",\n \"project-admin-third-parties-webhooks\": \"/project/:project/admin/third-parties/webhooks\",\n \"project-admin-third-parties-github\": \"/project/:project/admin/third-parties/github\",\n \"project-admin-third-parties-gitlab\": \"/project/:project/admin/third-parties/gitlab\",\n \"project-admin-third-parties-bitbucket\": \"/project/:project/admin/third-parties/bitbucket\",\n \"project-admin-third-parties-gogs\": \"/project/:project/admin/third-parties/gogs\",\n \"project-admin-contrib\": \"/project/:project/admin/contrib/:plugin\",\n \"user-settings-user-profile\": \"/user-settings/user-profile\",\n \"user-settings-user-change-password\": \"/user-settings/user-change-password\",\n \"user-settings-user-avatar\": \"/user-settings/user-avatar\",\n \"user-settings-mail-notifications\": \"/user-settings/mail-notifications\",\n \"user-settings-contrib\": \"/user-settings/contrib/:plugin\"\n };\n\n init = function($log, $navurls) {\n $log.debug(\"Initialize navigation urls\");\n return $navurls.update(urls);\n };\n\n module.run([\"$log\", \"$tgNavUrls\", init]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common.coffee\n */\n\n(function() {\n var AnimationFrame, Autofocus, Capslock, CheckPermissionDirective, ClassPermissionDirective, DataPickerConfig, LightboxClose, ProjectUrl, Qqueue, QueueModelTransformation, SelectedText, Svg, Template, ToggleCommentDirective, module, taiga,\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\", []);\n\n DataPickerConfig = function($translate) {\n return {\n get: function() {\n return {\n i18n: {\n previousMonth: $translate.instant(\"COMMON.PICKERDATE.PREV_MONTH\"),\n nextMonth: $translate.instant(\"COMMON.PICKERDATE.NEXT_MONTH\"),\n months: [$translate.instant(\"COMMON.PICKERDATE.MONTHS.JAN\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.FEB\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAR\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.APR\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAY\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUN\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUL\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.AUG\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.SEP\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.OCT\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.NOV\"), $translate.instant(\"COMMON.PICKERDATE.MONTHS.DEC\")],\n weekdays: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SUN\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.MON\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.TUE\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.WED\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.THU\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.FRI\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SAT\")],\n weekdaysShort: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI\"), $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT\")]\n },\n isRTL: $translate.instant(\"COMMON.PICKERDATE.IS_RTL\") === \"true\",\n firstDay: parseInt($translate.instant(\"COMMON.PICKERDATE.FIRST_DAY_OF_WEEK\"), 10),\n format: $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n };\n }\n };\n };\n\n module.factory(\"tgDatePickerConfigService\", [\"$translate\", DataPickerConfig]);\n\n SelectedText = function($window, $document) {\n var get;\n get = function() {\n if ($window.getSelection) {\n return $window.getSelection().toString();\n } else if ($document.selection) {\n return $document.selection.createRange().text;\n }\n return \"\";\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText]);\n\n CheckPermissionDirective = function(projectService) {\n var link, render;\n render = function($el, project, permission) {\n if (project && permission) {\n if (project.get('my_permissions').indexOf(permission) > -1) {\n return $el.removeClass('hidden');\n }\n }\n };\n link = function($scope, $el, $attrs) {\n var permission, unObserve, unwatch;\n $el.addClass('hidden');\n permission = $attrs.tgCheckPermission;\n unwatch = $scope.$watch(function() {\n return projectService.project;\n }, function() {\n if (!projectService.project) {\n return;\n }\n render($el, projectService.project, permission);\n return unwatch();\n });\n unObserve = $attrs.$observe(\"tgCheckPermission\", function(permission) {\n if (!permission) {\n return;\n }\n render($el, projectService.project, permission);\n return unObserve();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n CheckPermissionDirective.$inject = [\"tgProjectService\"];\n\n module.directive(\"tgCheckPermission\", CheckPermissionDirective);\n\n ClassPermissionDirective = function() {\n var link, name;\n name = \"tgClassPermission\";\n link = function($scope, $el, $attrs) {\n var checkPermissions, tgClassPermissionWatchAction, unbindWatcher;\n checkPermissions = function(project, className, permission) {\n var negation;\n negation = permission[0] === \"!\";\n if (negation) {\n permission = permission.slice(1);\n }\n if (negation && project.my_permissions.indexOf(permission) === -1) {\n return $el.addClass(className);\n } else if (!negation && project.my_permissions.indexOf(permission) !== -1) {\n return $el.addClass(className);\n } else {\n return $el.removeClass(className);\n }\n };\n tgClassPermissionWatchAction = function(project) {\n var className, classes, permission, results;\n if (project) {\n unbindWatcher();\n classes = $scope.$eval($attrs[name]);\n results = [];\n for (className in classes) {\n permission = classes[className];\n results.push(checkPermissions(project, className, permission));\n }\n return results;\n }\n };\n return unbindWatcher = $scope.$watch(\"project\", tgClassPermissionWatchAction);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgClassPermission\", ClassPermissionDirective);\n\n AnimationFrame = function() {\n var add, animationFrame, performAnimation, tail;\n animationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n performAnimation = (function(_this) {\n return function(time) {\n var fn;\n fn = tail.shift();\n fn();\n if (tail.length) {\n return animationFrame(performAnimation);\n }\n };\n })(this);\n tail = [];\n add = function() {\n var fn, i, len, results;\n results = [];\n for (i = 0, len = arguments.length; i < len; i++) {\n fn = arguments[i];\n tail.push(fn);\n if (tail.length === 1) {\n results.push(animationFrame(performAnimation));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n return {\n add: add\n };\n };\n\n module.factory(\"animationFrame\", AnimationFrame);\n\n ToggleCommentDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.find(\"textarea\").on(\"focus\", function() {\n return $el.addClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleComment\", ToggleCommentDirective);\n\n ProjectUrl = function($navurls) {\n var get;\n get = function(project) {\n var ctx;\n if (project.toJS) {\n project = project.toJS();\n }\n ctx = {\n project: project.slug\n };\n if (project.is_backlog_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-backlog\", ctx);\n }\n if (project.is_kanban_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-kanban\", ctx);\n }\n if (project.is_wiki_activated && project.my_permissions.indexOf(\"view_wiki_pages\") > -1) {\n return $navurls.resolve(\"project-wiki\", ctx);\n }\n if (project.is_issues_activated && project.my_permissions.indexOf(\"view_issues\") > -1) {\n return $navurls.resolve(\"project-issues\", ctx);\n }\n return $navurls.resolve(\"project\", ctx);\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl]);\n\n Qqueue = function($q) {\n var deferred, lastPromise, qqueue;\n deferred = $q.defer();\n deferred.resolve();\n lastPromise = deferred.promise;\n qqueue = {\n bindAdd: (function(_this) {\n return function(fn) {\n return function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return lastPromise = lastPromise.then(function() {\n return fn.apply(_this, args);\n });\n };\n return qqueue;\n };\n })(this),\n add: (function(_this) {\n return function(fn) {\n if (!lastPromise) {\n lastPromise = fn();\n } else {\n lastPromise = lastPromise.then(fn);\n }\n return qqueue;\n };\n })(this)\n };\n return qqueue;\n };\n\n module.factory(\"$tgQqueue\", [\"$q\", Qqueue]);\n\n QueueModelTransformation = (function(superClass) {\n extend(QueueModelTransformation, superClass);\n\n QueueModelTransformation.$inject = [\"$tgQqueue\", \"$tgRepo\", \"$q\", \"$tgModel\"];\n\n function QueueModelTransformation(qqueue1, repo, q, model1) {\n this.qqueue = qqueue1;\n this.repo = repo;\n this.q = q;\n this.model = model1;\n }\n\n QueueModelTransformation.prototype.setObject = function(scope1, prop) {\n this.scope = scope1;\n this.prop = prop;\n };\n\n QueueModelTransformation.prototype.clone = function() {\n var attrs, model;\n attrs = _.cloneDeep(this.scope[this.prop]._attrs);\n model = this.model.make_model(this.scope[this.prop]._name, attrs);\n return model;\n };\n\n QueueModelTransformation.prototype.getObj = function() {\n return this.scope[this.prop];\n };\n\n QueueModelTransformation.prototype.save = function(transformation) {\n var defered;\n defered = this.q.defer();\n this.qqueue.add((function(_this) {\n return function() {\n var clone, comment, modified, obj, success;\n obj = _this.getObj();\n comment = obj.comment;\n obj.comment = '';\n clone = _this.clone();\n modified = _.omit(obj._modifiedAttrs, ['version']);\n clone = _.assign(clone, modified);\n transformation(clone);\n if (comment.length) {\n clone.comment = comment;\n }\n success = function() {\n _this.scope[_this.prop] = clone;\n return defered.resolve.apply(null, arguments);\n };\n return _this.repo.save(clone).then(success, defered.reject);\n };\n })(this));\n return defered.promise;\n };\n\n return QueueModelTransformation;\n\n })(taiga.Service);\n\n module.service(\"$tgQueueModelTransformation\", QueueModelTransformation);\n\n Template = function($templateCache) {\n return {\n get: (function(_this) {\n return function(name, lodash) {\n var tmp;\n if (lodash == null) {\n lodash = false;\n }\n tmp = $templateCache.get(name);\n if (lodash) {\n tmp = _.template(tmp);\n }\n return tmp;\n };\n })(this)\n };\n };\n\n module.factory(\"$tgTemplate\", [\"$templateCache\", Template]);\n\n Capslock = function() {\n var template;\n template = \"\";\n return {\n template: template\n };\n };\n\n module.directive(\"tgCapslock\", [Capslock]);\n\n LightboxClose = function() {\n var link, template;\n template = \"\\n \\n\";\n link = function(scope, elm, attrs) {};\n return {\n scope: {\n onClose: '&'\n },\n link: link,\n template: template\n };\n };\n\n module.directive(\"tgLightboxClose\", [LightboxClose]);\n\n Svg = function() {\n var template;\n template = \"\\n \\n {{svgTitle}}\\n {{svgTitleTranslate | translate: svgTitleTranslateValues}}\\n \\n\";\n return {\n scope: {\n svgIcon: \"@\",\n svgTitle: \"@\",\n svgTitleTranslate: \"@\",\n svgTitleTranslateValues: \"=\"\n },\n template: template\n };\n };\n\n module.directive(\"tgSvg\", [Svg]);\n\n Autofocus = function($timeout, $parse, animationFrame) {\n return {\n restrict: 'A',\n link: function($scope, $element, attrs) {\n var model;\n if (attrs.ngShow) {\n model = $parse(attrs.ngShow);\n return $scope.$watch(model, function(value) {\n if (value === true) {\n return $timeout(function() {\n return $element[0].focus();\n });\n }\n });\n } else {\n return $timeout(function() {\n return $element[0].focus();\n });\n }\n }\n };\n };\n\n module.directive('tgAutofocus', ['$timeout', '$parse', \"animationFrame\", Autofocus]);\n\n module.directive('tgPreloadImage', function() {\n var preload, spinner, template;\n spinner = \"\";\n template = \"\\n \\n\";\n preload = function(src, onLoad) {\n var image;\n image = new Image();\n image.onload = onLoad;\n image.src = src;\n return image;\n };\n return {\n template: template,\n transclude: true,\n replace: true,\n link: function(scope, el, attrs) {\n var image, onLoad, timeout;\n image = el.find('img:last');\n timeout = null;\n onLoad = function() {\n el.find('.loading-spinner').remove();\n image.show();\n if (timeout) {\n clearTimeout(timeout);\n return timeout = null;\n }\n };\n return attrs.$observe('preloadSrc', function(src) {\n if (timeout) {\n clearTimeout(timeout);\n }\n el.find('.loading-spinner').remove();\n timeout = setTimeout(function() {\n return el.prepend(spinner);\n }, 200);\n image.hide();\n return preload(src, onLoad);\n });\n }\n };\n });\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/detail.coffee\n */\n\n(function() {\n var DetailController, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, taiga, toString;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaCommon\");\n\n DetailController = (function() {\n DetailController.$inject = ['$routeParams', '$tgRepo', \"tgProjectService\", \"$tgNavUrls\", \"$location\"];\n\n function DetailController(params, repo, projectService, navurls, location) {\n this.params = params;\n this.repo = repo;\n this.projectService = projectService;\n this.navurls = navurls;\n this.location = location;\n this.repo.resolve({\n pslug: this.params.pslug,\n ref: this.params.ref\n }).then((function(_this) {\n return function(result) {\n var url;\n if (result.issue) {\n url = _this.navurls.resolve('project-issues-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.task) {\n url = _this.navurls.resolve('project-tasks-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.us) {\n url = _this.navurls.resolve('project-userstories-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.epic) {\n url = _this.navurls.resolve('project-epics-detail', {\n project: _this.projectService.project.get('slug'),\n ref: _this.params.ref\n });\n } else if (result.wikipage) {\n url = _this.navurls.resolve('project-wiki-page', {\n project: _this.projectService.project.get('slug'),\n slug: _this.params.ref\n });\n }\n return _this.location.path(url);\n };\n })(this));\n }\n\n return DetailController;\n\n })();\n\n module.controller(\"DetailController\", DetailController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/epics.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaEpics\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/events.coffee\n */\n\n(function() {\n var EventsProvider, EventsService, bindMethods, module, startswith, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaEvents\", []);\n\n EventsService = (function() {\n function EventsService(win, log, config, auth, liveAnnouncementService1, rootScope) {\n this.win = win;\n this.log = log;\n this.config = config;\n this.auth = auth;\n this.liveAnnouncementService = liveAnnouncementService1;\n this.rootScope = rootScope;\n this.processMessage = bind(this.processMessage, this);\n bindMethods(this);\n }\n\n EventsService.prototype.initialize = function(sessionId) {\n this.sessionId = sessionId;\n this.subscriptions = {};\n this.connected = false;\n this.error = false;\n this.pendingMessages = [];\n this.missedHeartbeats = 0;\n this.heartbeatInterval = null;\n if (this.win.WebSocket === void 0) {\n return this.log.info(\"WebSockets not supported on your browser\");\n }\n };\n\n EventsService.prototype.setupConnection = function() {\n var loc, path, scheme, url;\n this.stopExistingConnection();\n url = this.config.get(\"eventsUrl\");\n if (!url) {\n return;\n }\n if (!startswith(url, \"ws:\") && !startswith(url, \"wss:\")) {\n loc = this.win.location;\n scheme = loc.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n path = _.trimStart(url, \"/\");\n url = scheme + \"//\" + loc.host + \"/\" + path;\n }\n this.error = false;\n this.ws = new this.win.WebSocket(url);\n this.ws.addEventListener(\"open\", this.onOpen);\n this.ws.addEventListener(\"message\", this.onMessage);\n this.ws.addEventListener(\"error\", this.onError);\n return this.ws.addEventListener(\"close\", this.onClose);\n };\n\n EventsService.prototype.stopExistingConnection = function() {\n if (this.ws === void 0) {\n return;\n }\n this.ws.removeEventListener(\"open\", this.onOpen);\n this.ws.removeEventListener(\"close\", this.onClose);\n this.ws.removeEventListener(\"error\", this.onError);\n this.ws.removeEventListener(\"message\", this.onMessage);\n this.stopHeartBeatMessages();\n this.ws.close();\n return delete this.ws;\n };\n\n EventsService.prototype.notifications = function() {\n return this.subscribe(null, 'notifications', (function(_this) {\n return function(data) {\n _this.liveAnnouncementService.show(data.title, data.desc);\n return _this.rootScope.$digest();\n };\n })(this));\n };\n\n EventsService.prototype.startHeartBeatMessages = function() {\n var heartbeatIntervalTime, maxMissedHeartbeats, reconnectTryInterval;\n if (this.heartbeatInterval) {\n return;\n }\n maxMissedHeartbeats = this.config.get(\"eventsMaxMissedHeartbeats\", 5);\n heartbeatIntervalTime = this.config.get(\"eventsHeartbeatIntervalTime\", 60000);\n reconnectTryInterval = this.config.get(\"eventsReconnectTryInterval\", 10000);\n this.missedHeartbeats = 0;\n this.heartbeatInterval = setInterval((function(_this) {\n return function() {\n var e;\n try {\n if (_this.missedHeartbeats >= maxMissedHeartbeats) {\n throw new Error(\"Too many missed heartbeats PINGs.\");\n }\n _this.missedHeartbeats++;\n _this.sendMessage({\n cmd: \"ping\"\n });\n return _this.log.debug(\"HeartBeat send PING\");\n } catch (error1) {\n e = error1;\n _this.log.error(\"HeartBeat error: \" + e.message);\n return _this.setupConnection();\n }\n };\n })(this), heartbeatIntervalTime);\n return this.log.debug(\"HeartBeat enabled\");\n };\n\n EventsService.prototype.stopHeartBeatMessages = function() {\n if (!this.heartbeatInterval) {\n return;\n }\n clearInterval(this.heartbeatInterval);\n this.heartbeatInterval = null;\n return this.log.debug(\"HeartBeat disabled\");\n };\n\n EventsService.prototype.processHeartBeatPongMessage = function(data) {\n this.missedHeartbeats = 0;\n return this.log.debug(\"HeartBeat recived PONG\");\n };\n\n EventsService.prototype.serialize = function(message) {\n if (_.isObject(message)) {\n return JSON.stringify(message);\n }\n return message;\n };\n\n EventsService.prototype.sendMessage = function(message) {\n var i, len, messages, msg, results;\n this.pendingMessages.push(message);\n if (!this.connected) {\n return;\n }\n messages = _.map(this.pendingMessages, this.serialize);\n this.pendingMessages = [];\n results = [];\n for (i = 0, len = messages.length; i < len; i++) {\n msg = messages[i];\n results.push(this.ws.send(msg));\n }\n return results;\n };\n\n EventsService.prototype.processMessage = function(data) {\n var routingKey, subscription;\n routingKey = data.routing_key;\n if (this.subscriptions[routingKey] == null) {\n return;\n }\n subscription = this.subscriptions[routingKey];\n if (subscription.scope) {\n return subscription.scope.$apply(function() {\n return subscription.callback(data.data);\n });\n } else {\n return subscription.callback(data.data);\n }\n };\n\n EventsService.prototype.subscribe = function(scope, routingKey, callback) {\n var message, subscription;\n if (this.error) {\n return;\n }\n this.log.debug(\"Subscribe to: \" + routingKey);\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: _.debounce(callback, 500, {\n \"leading\": true,\n \"trailing\": false\n })\n };\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n };\n this.subscriptions[routingKey] = subscription;\n this.sendMessage(message);\n if (scope) {\n return scope.$on(\"$destroy\", (function(_this) {\n return function() {\n return _this.unsubscribe(routingKey);\n };\n })(this));\n }\n };\n\n EventsService.prototype.unsubscribe = function(routingKey) {\n var message;\n if (this.error) {\n return;\n }\n this.log.debug(\"Unsubscribe from: \" + routingKey);\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onOpen = function() {\n var message, token;\n this.connected = true;\n this.startHeartBeatMessages();\n this.log.debug(\"WebSocket connection opened\");\n token = this.auth.getToken();\n message = {\n cmd: \"auth\",\n data: {\n token: token,\n sessionId: this.sessionId\n }\n };\n this.sendMessage(message);\n return this.notifications();\n };\n\n EventsService.prototype.onMessage = function(event) {\n var data;\n this.log.debug(\"WebSocket message received: \" + event.data);\n data = JSON.parse(event.data);\n if (data.cmd === \"pong\") {\n return this.processHeartBeatPongMessage(data);\n } else {\n return this.processMessage(data);\n }\n };\n\n EventsService.prototype.onError = function(error) {\n this.log.error(\"WebSocket error: \" + error);\n this.error = true;\n return setTimeout(this.setupConnection, this.reconnectTryInterval);\n };\n\n EventsService.prototype.onClose = function() {\n this.log.debug(\"WebSocket closed.\");\n this.connected = false;\n this.stopHeartBeatMessages();\n return setTimeout(this.setupConnection, this.reconnectTryInterval);\n };\n\n return EventsService;\n\n })();\n\n EventsProvider = (function() {\n function EventsProvider() {}\n\n EventsProvider.prototype.setSessionId = function(sessionId) {\n return this.sessionId = sessionId;\n };\n\n EventsProvider.prototype.$get = function($win, $log, $conf, $auth, liveAnnouncementService, $rootScope) {\n var service;\n service = new EventsService($win, $log, $conf, $auth, liveAnnouncementService, $rootScope);\n service.initialize(this.sessionId);\n return service;\n };\n\n EventsProvider.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\", \"tgLiveAnnouncementService\", \"$rootScope\"];\n\n return EventsProvider;\n\n })();\n\n module.provider(\"$tgEvents\", EventsProvider);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/feedback.coffee\n */\n\n(function() {\n var FeedbackDirective, bindOnce, debounce, groupBy, mixOf, module, taiga, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaFeedback\", []);\n\n FeedbackDirective = function($lightboxService, $repo, $confirm, $loading, feedbackService) {\n var directive, link;\n link = function($scope, $el, $attrs) {\n var form, openLightbox, submit, submitButton;\n form = $el.find(\"form\").checksley();\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.create(\"feedback\", $scope.feedback);\n promise.then(function(data) {\n currentLoading.finish();\n $lightboxService.close($el);\n return $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\");\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n openLightbox = function() {\n $scope.feedback = {};\n $lightboxService.open($el);\n return $el.find(\"textarea\").focus();\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return openLightbox();\n };\n directive = {\n link: link,\n templateUrl: \"common/lightbox-feedback.html\",\n scope: {}\n };\n return directive;\n };\n\n module.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgFeedbackService\", FeedbackDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/integrations.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIntegrations\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/issues.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIssues\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/kanban.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaKanban\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaPlugins\", [\"ngRoute\"]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/projects.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaProject\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/related-tasks.coffee\n */\n\n(function() {\n var RelatedTaskAssignedToInlineEditionDirective, RelatedTaskCreateButtonDirective, RelatedTaskCreateFormDirective, RelatedTaskRowDirective, RelatedTasksDirective, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaRelatedTasks\", []);\n\n RelatedTaskRowDirective = function($repo, $compile, $confirm, $rootscope, $loading, $template, $translate) {\n var link, templateEdit, templateView;\n templateView = $template.get(\"task/related-task-row.html\", true);\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var renderEdit, renderView, saveTask;\n this.childScope = $scope.$new();\n saveTask = debounce(2000, function(task) {\n var currentLoading, promise;\n task.subject = $el.find('input').val();\n currentLoading = $loading().target($el.find('.task-name')).start();\n promise = $repo.save(task);\n promise.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"related-tasks:update\");\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n currentLoading.finish();\n $el.find('input').val(task.subject);\n return $confirm.notify(\"error\");\n };\n })(this));\n return promise;\n });\n renderEdit = function(task) {\n this.childScope.$destroy();\n this.childScope = $scope.$new();\n $el.off();\n $el.html($compile(templateEdit({\n task: task\n }))(childScope));\n $el.find(\".task-name input\").val(task.subject);\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n } else if (event.keyCode === 27) {\n return renderView($model.$modelValue);\n }\n });\n $el.on(\"click\", \".save-task\", function(event) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n });\n return $el.on(\"click\", \".cancel-edit\", function(event) {\n return renderView($model.$modelValue);\n });\n };\n renderView = function(task) {\n var perms;\n perms = {\n modify_task: $scope.project.my_permissions.indexOf(\"modify_task\") !== -1,\n delete_task: $scope.project.my_permissions.indexOf(\"delete_task\") !== -1\n };\n $el.html($compile(templateView({\n task: task,\n perms: perms\n }))($scope));\n $el.on(\"click\", \".edit-task\", function() {\n renderEdit($model.$modelValue);\n return $el.find('input').focus().select();\n });\n return $el.on(\"click\", \".delete-task\", function(event) {\n var message, title;\n title = $translate.instant(\"TASK.TITLE_DELETE_ACTION\");\n task = $model.$modelValue;\n message = task.subject;\n return $confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = $repo.remove(task);\n promise.then(function() {\n askResponse.finish();\n return $scope.$emit(\"related-tasks:delete\");\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n });\n });\n };\n $scope.$watch($attrs.ngModel, function(val) {\n if (!val) {\n return;\n }\n return renderView(val);\n });\n $scope.$on(\"related-tasks:assigned-to-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n $scope.$on(\"related-tasks:status-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", \"$translate\", RelatedTaskRowDirective]);\n\n RelatedTaskCreateFormDirective = function($repo, $compile, $confirm, $tgmodel, $loading, $analytics) {\n var link, newTask;\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n link = function($scope, $el, $attrs) {\n var close, createTask, render, reset;\n createTask = function(task) {\n var currentLoading, promise;\n task.subject = $el.find('input').val();\n task.assigned_to = $scope.newTask.assigned_to;\n task.status = $scope.newTask.status;\n $scope.newTask.status = $scope.project.default_task_status;\n $scope.newTask.assigned_to = null;\n currentLoading = $loading().target($el.find('.task-name')).start();\n promise = $repo.create(\"tasks\", task);\n promise.then(function() {\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1);\n currentLoading.finish();\n return $scope.$emit(\"related-tasks:add\");\n });\n promise.then(null, function() {\n $el.find('input').val(task.subject);\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n return promise;\n };\n close = function() {\n $el.off();\n return $scope.openNewRelatedTask = false;\n };\n reset = function() {\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n newTask[\"status\"] = $scope.project.default_task_status;\n newTask[\"project\"] = $scope.project.id;\n newTask[\"user_story\"] = $scope.us.id;\n return $scope.newTask = $tgmodel.make_model(\"tasks\", newTask);\n };\n render = function() {\n if ($scope.openNewRelatedTask) {\n return;\n }\n $scope.openNewRelatedTask = true;\n return $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return createTask(newTask).then(function() {\n reset();\n return $el.find('input').focus();\n });\n } else if (event.keyCode === 27) {\n return $scope.$apply(function() {\n return close();\n });\n }\n });\n };\n $scope.save = function() {\n return createTask(newTask).then(function() {\n return close();\n });\n };\n taiga.bindOnce($scope, \"us\", reset);\n $scope.$on(\"related-tasks:show-form\", function() {\n return $scope.$apply(render);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n link: link,\n templateUrl: 'task/related-task-create-form.html'\n };\n };\n\n module.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", RelatedTaskCreateFormDirective]);\n\n RelatedTaskCreateButtonDirective = function($repo, $compile, $confirm, $tgmodel, $template) {\n var link, template;\n template = $template.get(\"common/components/add-button.html\", true);\n link = function($scope, $el, $attrs) {\n $scope.$watch(\"project\", function(val) {\n if (!val) {\n return;\n }\n $el.off();\n if ($scope.project.my_permissions.indexOf(\"add_task\") !== -1) {\n $el.html($compile(template())($scope));\n } else {\n $el.html(\"\");\n }\n return $el.on(\"click\", \".add-button\", function(event) {\n return $scope.$emit(\"related-tasks:add-new-clicked\");\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgTemplate\", RelatedTaskCreateButtonDirective]);\n\n RelatedTasksDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var _isEditable, _isVisible, loadTasks;\n loadTasks = function() {\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then((function(_this) {\n return function(tasks) {\n $scope.tasks = _.sortBy(tasks, function(x) {\n return [x.us_order, x.ref];\n });\n return tasks;\n };\n })(this));\n };\n _isVisible = function() {\n if ($scope.project) {\n return $scope.project.my_permissions.indexOf(\"view_tasks\") !== -1;\n }\n return false;\n };\n _isEditable = function() {\n if ($scope.project) {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n }\n return false;\n };\n $scope.showRelatedTasks = function() {\n var ref;\n return _isVisible() && (_isEditable() || ((ref = $scope.tasks) != null ? ref.length : void 0));\n };\n $scope.$on(\"related-tasks:add\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:delete\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:add-new-clicked\", function() {\n return $scope.$broadcast(\"related-tasks:show-form\");\n });\n taiga.bindOnce($scope, \"us\", function(val) {\n return loadTasks();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective]);\n\n RelatedTaskAssignedToInlineEditionDirective = function($repo, $rootscope, $translate, avatarService) {\n var link, template;\n template = _.template(\"\\\" src=\\\"<%- imgurl %>\\\" alt=\\\"<%- name %>\\\"/>\\n<%- name %>\");\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task, updateRelatedTask;\n updateRelatedTask = function(task) {\n var avatar, ctx, member;\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\")\n };\n member = $scope.usersById[task.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = avatar.bg;\n if (member) {\n ctx.name = member.full_name_display;\n }\n $el.find(\".avatar\").html(template(ctx));\n return $el.find(\".task-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $scope.$watch($attrs.tgRelatedTaskAssignedToInlineEdition, function() {\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition);\n return updateRelatedTask(task);\n });\n updateRelatedTask(task);\n $el.on(\"click\", \".task-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", task);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", debounce(2000, (function(_this) {\n return function(ctx, userId, updatedRelatedTask) {\n if (updatedRelatedTask.id === task.id) {\n updatedRelatedTask.assigned_to = userId;\n if (autoSave) {\n $repo.save(updatedRelatedTask).then(function() {\n return $scope.$emit(\"related-tasks:assigned-to-changed\");\n });\n }\n return updateRelatedTask(updatedRelatedTask);\n }\n };\n })(this)));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"tgAvatarService\", RelatedTaskAssignedToInlineEditionDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/resources.coffee\n */\n\n(function() {\n var ResourcesService, initResources, initUrls, module, taiga, urls,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ResourcesService = (function(superClass) {\n extend(ResourcesService, superClass);\n\n function ResourcesService() {\n return ResourcesService.__super__.constructor.apply(this, arguments);\n }\n\n return ResourcesService;\n\n })(taiga.Service);\n\n urls = {\n \"auth\": \"/auth\",\n \"auth-register\": \"/auth/register\",\n \"invitations\": \"/invitations\",\n \"users\": \"/users\",\n \"by_username\": \"/users/by_username\",\n \"users-password-recovery\": \"/users/password_recovery\",\n \"users-change-password-from-recovery\": \"/users/change_password_from_recovery\",\n \"users-change-password\": \"/users/change_password\",\n \"users-change-email\": \"/users/change_email\",\n \"users-cancel-account\": \"/users/cancel\",\n \"user-stats\": \"/users/%s/stats\",\n \"user-liked\": \"/users/%s/liked\",\n \"user-voted\": \"/users/%s/voted\",\n \"user-watched\": \"/users/%s/watched\",\n \"user-contacts\": \"/users/%s/contacts\",\n \"user-me\": \"/users/me\",\n \"permissions\": \"/permissions\",\n \"notify-policies\": \"/notify-policies\",\n \"user-storage\": \"/user-storage\",\n \"memberships\": \"/memberships\",\n \"bulk-create-memberships\": \"/memberships/bulk_create\",\n \"roles\": \"/roles\",\n \"permissions\": \"/permissions\",\n \"resolver\": \"/resolver\",\n \"projects\": \"/projects\",\n \"project-templates\": \"/project-templates\",\n \"project-modules\": \"/projects/%s/modules\",\n \"bulk-update-projects-order\": \"/projects/bulk_update_order\",\n \"project-like\": \"/projects/%s/like\",\n \"project-unlike\": \"/projects/%s/unlike\",\n \"project-watch\": \"/projects/%s/watch\",\n \"project-unwatch\": \"/projects/%s/unwatch\",\n \"project-contact\": \"contact\",\n \"project-transfer-validate-token\": \"/projects/%s/transfer_validate_token\",\n \"project-transfer-accept\": \"/projects/%s/transfer_accept\",\n \"project-transfer-reject\": \"/projects/%s/transfer_reject\",\n \"project-transfer-request\": \"/projects/%s/transfer_request\",\n \"project-transfer-start\": \"/projects/%s/transfer_start\",\n \"epic-statuses\": \"/epic-statuses\",\n \"userstory-statuses\": \"/userstory-statuses\",\n \"points\": \"/points\",\n \"task-statuses\": \"/task-statuses\",\n \"issue-statuses\": \"/issue-statuses\",\n \"issue-types\": \"/issue-types\",\n \"priorities\": \"/priorities\",\n \"severities\": \"/severities\",\n \"milestones\": \"/milestones\",\n \"epics\": \"/epics\",\n \"epic-upvote\": \"/epics/%s/upvote\",\n \"epic-downvote\": \"/epics/%s/downvote\",\n \"epic-watch\": \"/epics/%s/watch\",\n \"epic-unwatch\": \"/epics/%s/unwatch\",\n \"epic-related-userstories\": \"/epics/%s/related_userstories\",\n \"epic-related-userstories-bulk-create\": \"/epics/%s/related_userstories/bulk_create\",\n \"userstories\": \"/userstories\",\n \"bulk-create-us\": \"/userstories/bulk_create\",\n \"bulk-update-us-backlog-order\": \"/userstories/bulk_update_backlog_order\",\n \"bulk-update-us-milestone\": \"/userstories/bulk_update_milestone\",\n \"bulk-update-us-miles-order\": \"/userstories/bulk_update_sprint_order\",\n \"bulk-update-us-kanban-order\": \"/userstories/bulk_update_kanban_order\",\n \"bulk-update-us-milestone\": \"/userstories/bulk_update_milestone\",\n \"userstories-filters\": \"/userstories/filters_data\",\n \"userstory-upvote\": \"/userstories/%s/upvote\",\n \"userstory-downvote\": \"/userstories/%s/downvote\",\n \"userstory-watch\": \"/userstories/%s/watch\",\n \"userstory-unwatch\": \"/userstories/%s/unwatch\",\n \"tasks\": \"/tasks\",\n \"bulk-create-tasks\": \"/tasks/bulk_create\",\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\",\n \"task-upvote\": \"/tasks/%s/upvote\",\n \"task-downvote\": \"/tasks/%s/downvote\",\n \"task-watch\": \"/tasks/%s/watch\",\n \"task-unwatch\": \"/tasks/%s/unwatch\",\n \"task-filters\": \"/tasks/filters_data\",\n \"issues\": \"/issues\",\n \"bulk-create-issues\": \"/issues/bulk_create\",\n \"issues-filters\": \"/issues/filters_data\",\n \"issue-upvote\": \"/issues/%s/upvote\",\n \"issue-downvote\": \"/issues/%s/downvote\",\n \"issue-watch\": \"/issues/%s/watch\",\n \"issue-unwatch\": \"/issues/%s/unwatch\",\n \"wiki\": \"/wiki\",\n \"wiki-restore\": \"/wiki/%s/restore\",\n \"wiki-links\": \"/wiki-links\",\n \"history/epic\": \"/history/epic\",\n \"history/us\": \"/history/userstory\",\n \"history/issue\": \"/history/issue\",\n \"history/task\": \"/history/task\",\n \"history/wiki\": \"/history/wiki/%s\",\n \"attachments/epic\": \"/epics/attachments\",\n \"attachments/us\": \"/userstories/attachments\",\n \"attachments/issue\": \"/issues/attachments\",\n \"attachments/task\": \"/tasks/attachments\",\n \"attachments/wiki_page\": \"/wiki/attachments\",\n \"custom-attributes/epic\": \"/epic-custom-attributes\",\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\",\n \"custom-attributes/task\": \"/task-custom-attributes\",\n \"custom-attributes/issue\": \"/issue-custom-attributes\",\n \"custom-attributes-values/epic\": \"/epics/custom-attributes-values\",\n \"custom-attributes-values/userstory\": \"/userstories/custom-attributes-values\",\n \"custom-attributes-values/task\": \"/tasks/custom-attributes-values\",\n \"custom-attributes-values/issue\": \"/issues/custom-attributes-values\",\n \"webhooks\": \"/webhooks\",\n \"webhooks-test\": \"/webhooks/%s/test\",\n \"webhooklogs\": \"/webhooklogs\",\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\",\n \"epics-csv\": \"/epics/csv?uuid=%s\",\n \"userstories-csv\": \"/userstories/csv?uuid=%s\",\n \"tasks-csv\": \"/tasks/csv?uuid=%s\",\n \"issues-csv\": \"/issues/csv?uuid=%s\",\n \"timeline-profile\": \"/timeline/profile\",\n \"timeline-user\": \"/timeline/user\",\n \"timeline-project\": \"/timeline/project\",\n \"search\": \"/search\",\n \"exporter\": \"/exporter\",\n \"importer\": \"/importer/load_dump\",\n \"feedback\": \"/feedback\",\n \"locales\": \"/locales\",\n \"applications\": \"/applications\",\n \"application-tokens\": \"/application-tokens\",\n \"stats-discover\": \"/stats/discover\",\n \"importers-trello-auth-url\": \"/importers/trello/auth_url\",\n \"importers-trello-authorize\": \"/importers/trello/authorize\",\n \"importers-trello-list-projects\": \"/importers/trello/list_projects\",\n \"importers-trello-list-users\": \"/importers/trello/list_users\",\n \"importers-trello-import-project\": \"/importers/trello/import_project\",\n \"importers-jira-auth-url\": \"/importers/jira/auth_url\",\n \"importers-jira-authorize\": \"/importers/jira/authorize\",\n \"importers-jira-list-projects\": \"/importers/jira/list_projects\",\n \"importers-jira-list-users\": \"/importers/jira/list_users\",\n \"importers-jira-import-project\": \"/importers/jira/import_project\",\n \"importers-github-auth-url\": \"/importers/github/auth_url\",\n \"importers-github-authorize\": \"/importers/github/authorize\",\n \"importers-github-list-projects\": \"/importers/github/list_projects\",\n \"importers-github-list-users\": \"/importers/github/list_users\",\n \"importers-github-import-project\": \"/importers/github/import_project\",\n \"importers-asana-auth-url\": \"/importers/asana/auth_url\",\n \"importers-asana-authorize\": \"/importers/asana/authorize\",\n \"importers-asana-list-projects\": \"/importers/asana/list_projects\",\n \"importers-asana-list-users\": \"/importers/asana/list_users\",\n \"importers-asana-import-project\": \"/importers/asana/import_project\"\n };\n\n initUrls = function($log, $urls) {\n $log.debug(\"Initialize api urls\");\n return $urls.update(urls);\n };\n\n initResources = function($log, $rs) {\n var i, len, provider, providers, results;\n $log.debug(\"Initialize resources\");\n providers = _.toArray(arguments).slice(2);\n results = [];\n for (i = 0, len = providers.length; i < len; i++) {\n provider = providers[i];\n results.push(provider($rs));\n }\n return results;\n };\n\n module = angular.module(\"taigaResources\", [\"taigaBase\"]);\n\n module.service(\"$tgResources\", ResourcesService);\n\n module.run([\"$log\", \"$tgUrls\", initUrls]);\n\n module.run([\"$log\", \"$tgResources\", \"$tgProjectsResourcesProvider\", \"$tgCustomAttributesResourcesProvider\", \"$tgCustomAttributesValuesResourcesProvider\", \"$tgMembershipsResourcesProvider\", \"$tgNotifyPoliciesResourcesProvider\", \"$tgInvitationsResourcesProvider\", \"$tgRolesResourcesProvider\", \"$tgUserSettingsResourcesProvider\", \"$tgSprintsResourcesProvider\", \"$tgEpicsResourcesProvider\", \"$tgUserstoriesResourcesProvider\", \"$tgTasksResourcesProvider\", \"$tgIssuesResourcesProvider\", \"$tgWikiResourcesProvider\", \"$tgSearchResourcesProvider\", \"$tgMdRenderResourcesProvider\", \"$tgHistoryResourcesProvider\", \"$tgKanbanResourcesProvider\", \"$tgModulesResourcesProvider\", \"$tgWebhooksResourcesProvider\", \"$tgWebhookLogsResourcesProvider\", \"$tgLocalesResourcesProvider\", \"$tgUsersResourcesProvider\", initResources]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/search.coffee\n */\n\n(function() {\n var SearchBoxDirective, SearchController, SearchDirective, bindOnce, debounce, debounceLeading, groupBy, mixOf, module, taiga, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounceLeading = this.taiga.debounceLeading;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaSearch\", []);\n\n SearchController = (function(superClass) {\n extend(SearchController, superClass);\n\n SearchController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function SearchController(scope1, repo, rs, params, q, location, appMetaService, navUrls, translate, errorHandlingService, projectService1) {\n var description, loadSearchData, title;\n this.scope = scope1;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.scope.sectionName = \"Search\";\n this.loadInitialData();\n title = this.translate.instant(\"SEARCH.PAGE_TITLE\", {\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"SEARCH.PAGE_DESCRIPTION\", {\n projectName: this.scope.project.name,\n projectDescription: this.scope.project.description\n });\n this.appMetaService.setAll(title, description);\n this.scope.searchTerm = null;\n loadSearchData = debounceLeading(100, (function(_this) {\n return function(t) {\n return _this.loadSearchData(t);\n };\n })(this));\n bindOnce(this.scope, \"projectId\", (function(_this) {\n return function(projectId) {\n if (!_this.scope.searchResults && _this.scope.searchTerm) {\n return _this.loadSearchData();\n }\n };\n })(this));\n this.scope.$watch(\"searchTerm\", (function(_this) {\n return function(term) {\n if (term !== void 0 && _this.scope.projectId) {\n return _this.loadSearchData(term);\n }\n };\n })(this));\n }\n\n SearchController.prototype.loadFilters = function() {\n var defered;\n defered = this.q.defer();\n defered.resolve();\n return defered.promise;\n };\n\n SearchController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.epicStatusById = groupBy(project.epic_statuses, function(x) {\n return x.id;\n });\n this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.taskStatusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n SearchController.prototype.loadSearchData = function(term) {\n if (term == null) {\n term = \"\";\n }\n this.scope.loading = true;\n return this._loadSearchData(term).then((function(_this) {\n return function(data) {\n _this.scope.searchResults = data;\n return _this.scope.loading = false;\n };\n })(this));\n };\n\n SearchController.prototype._loadSearchData = function(term) {\n if (term == null) {\n term = \"\";\n }\n if (this._promise) {\n this._promise.abort();\n }\n this._promise = this.rs.search[\"do\"](this.scope.projectId, term);\n return this._promise;\n };\n\n SearchController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.scope.projectId = project.id;\n return this.fillUsersAndRoles(project.members, project.roles);\n };\n\n return SearchController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"SearchController\", SearchController);\n\n SearchBoxDirective = function(projectService, $lightboxService, $navurls, $location, $route) {\n var link;\n link = function($scope, $el, $attrs) {\n var openLightbox, project, submit;\n project = null;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var form, text, url;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n text = $el.find(\"#search-text\").val();\n url = $navurls.resolve(\"project-search\", {\n project: project.get(\"slug\")\n });\n return $scope.$apply(function() {\n $lightboxService.close($el);\n $location.path(url);\n $location.search(\"text\", text).path(url);\n return $route.reload();\n });\n };\n })(this));\n openLightbox = function() {\n project = projectService.project;\n return $lightboxService.open($el).then(function() {\n return $el.find(\"#search-text\").focus();\n });\n };\n $el.on(\"submit\", \"form\", submit);\n return openLightbox();\n };\n return {\n templateUrl: \"search/lightbox-search.html\",\n link: link\n };\n };\n\n SearchBoxDirective.$inject = [\"tgProjectService\", \"lightboxService\", \"$tgNavUrls\", \"$tgLocation\", \"$route\"];\n\n module.directive(\"tgSearchBox\", SearchBoxDirective);\n\n SearchDirective = function($log, $compile, $templatecache, $routeparams, $location) {\n var link, linkTable;\n linkTable = function($scope, $el, $attrs, $ctrl) {\n var activeSectionName, applyAutoTab, getActiveSection, lastSearchResults, markSectionTabActive, renderFilterTabs, renderTableContent, tabsDom, templates;\n applyAutoTab = true;\n activeSectionName = \"userstories\";\n tabsDom = $el.find(\".search-filter\");\n lastSearchResults = null;\n getActiveSection = function(data) {\n var i, len, maxVal, name, ref, selectedSection, value;\n maxVal = 0;\n selectedSection = {};\n selectedSection.name = \"userstories\";\n selectedSection.value = [];\n if (!applyAutoTab) {\n selectedSection.name = activeSectionName;\n selectedSection.value = data[activeSectionName];\n return selectedSection;\n }\n if (data) {\n ref = [\"userstories\", \"epics\", \"issues\", \"tasks\", \"wikipages\"];\n for (i = 0, len = ref.length; i < len; i++) {\n name = ref[i];\n value = data[name];\n if (value.length > maxVal) {\n maxVal = value.length;\n selectedSection.name = name;\n selectedSection.value = value;\n break;\n }\n }\n }\n if (maxVal === 0) {\n return selectedSection;\n }\n return selectedSection;\n };\n renderFilterTabs = function(data) {\n var name, results, value;\n results = [];\n for (name in data) {\n value = data[name];\n tabsDom.find(\"li.\" + name).show();\n results.push(tabsDom.find(\"li.\" + name + \" .num\").html(value.length));\n }\n return results;\n };\n markSectionTabActive = function(section) {\n tabsDom.find(\"a.active\").removeClass(\"active\");\n tabsDom.find(\"li.\" + section.name + \" a\").addClass(\"active\");\n applyAutoTab = false;\n return activeSectionName = section.name;\n };\n templates = {\n epics: $templatecache.get(\"search-epics\"),\n issues: $templatecache.get(\"search-issues\"),\n tasks: $templatecache.get(\"search-tasks\"),\n userstories: $templatecache.get(\"search-userstories\"),\n wikipages: $templatecache.get(\"search-wikipages\")\n };\n renderTableContent = function(section) {\n var element, oldElements, oldScope, scope, template;\n oldElements = $el.find(\".search-result-table\").children();\n oldScope = oldElements.scope();\n if (oldScope) {\n oldScope.$destroy();\n oldElements.remove();\n }\n scope = $scope.$new();\n scope[section.name] = section.value;\n template = angular.element.parseHTML(trim(templates[section.name]));\n element = $compile(template)(scope);\n return $el.find(\".search-result-table\").html(element);\n };\n $scope.$watch(\"searchResults\", function(data) {\n var activeSection;\n lastSearchResults = data;\n if (!lastSearchResults) {\n return;\n }\n activeSection = getActiveSection(data);\n renderFilterTabs(data);\n renderTableContent(activeSection);\n return markSectionTabActive(activeSection);\n });\n $scope.$watch(\"searchTerm\", function(searchTerm) {\n if (searchTerm !== void 0) {\n return $location.search(\"text\", searchTerm);\n }\n });\n return $el.on(\"click\", \".search-filter li > a\", function(event) {\n var section, sectionData, sectionName, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n sectionName = target.parent().data(\"name\");\n sectionData = !lastSearchResults ? [] : lastSearchResults[sectionName];\n section = {\n name: sectionName,\n value: sectionData\n };\n return $scope.$apply(function() {\n renderTableContent(section);\n return markSectionTabActive(section);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, searchText;\n $ctrl = $el.controller();\n linkTable($scope, $el, $attrs, $ctrl);\n searchText = $routeparams.text;\n return $scope.$watch(\"projectId\", function(projectId) {\n if (projectId != null) {\n return $scope.searchTerm = searchText;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSearch\", [\"$log\", \"$compile\", \"$templateCache\", \"$routeParams\", \"$tgLocation\", SearchDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/taskboard.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTaskboard\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/tasks.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTasks\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/team.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTeam\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/user-settings.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUserSettings\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/userstories.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUserStories\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/wiki.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaWiki\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/analytics.coffee\n */\n\n(function() {\n var AnalyticsService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n AnalyticsService = (function(superClass) {\n extend(AnalyticsService, superClass);\n\n AnalyticsService.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"];\n\n function AnalyticsService(rootscope, log, config, win, doc, location) {\n var conf;\n this.rootscope = rootscope;\n this.log = log;\n this.config = config;\n this.win = win;\n this.doc = doc;\n this.location = location;\n this.initialized = false;\n conf = this.config.get(\"analytics\", {});\n this.accountId = conf.accountId;\n this.pageEvent = conf.pageEvent || \"$routeChangeSuccess\";\n this.trackRoutes = conf.trackRoutes || true;\n this.ignoreFirstPageLoad = conf.ignoreFirstPageLoad || false;\n }\n\n AnalyticsService.prototype.initialize = function() {\n if (!this.accountId) {\n this.log.debug(\"Analytics: no acount id provided. Disabling.\");\n return;\n }\n this.injectAnalytics();\n this.win.ga(\"create\", this.accountId, \"auto\");\n this.win.ga(\"require\", \"displayfeatures\");\n if (this.trackRoutes && (!this.ignoreFirstPageLoad)) {\n this.win.ga(\"send\", \"pageview\", this.getUrl());\n }\n if (this.trackRoutes) {\n this.rootscope.$on(this.pageEvent, (function(_this) {\n return function() {\n return _this.trackPage(_this.getUrl(), \"Taiga\");\n };\n })(this));\n }\n return this.initialized = true;\n };\n\n AnalyticsService.prototype.getUrl = function() {\n return this.location.path();\n };\n\n AnalyticsService.prototype.injectAnalytics = function() {\n var fn;\n fn = (function(i,s,o,g,r,a,m){i[\"GoogleAnalyticsObject\"]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments);},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m);});\n return fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\");\n };\n\n AnalyticsService.prototype.trackPage = function(url, title) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n title = title || this.doc[0].title;\n return this.win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n });\n };\n\n AnalyticsService.prototype.trackEvent = function(category, action, label, value) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga(\"send\", \"event\", category, action, label, value);\n };\n\n return AnalyticsService;\n\n })(taiga.Service);\n\n module.service(\"$tgAnalytics\", AnalyticsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: bind-scope.coffee\n */\n\n(function() {\n var BindScope, module;\n\n module = angular.module(\"taigaCommon\");\n\n BindScope = function(config) {\n var link;\n if (!config.debugInfo) {\n jQuery.fn.scope = function() {\n return this.data('scope');\n };\n }\n link = function($scope, $el) {\n if (!config.debugInfo) {\n return $el.data('scope', $scope).addClass('tg-scope');\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBindScope\", [\"$tgConfig\", BindScope]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Taiga Agile LLC \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: compile-html.directive.coffee\n */\n\n(function() {\n var CompileHtmlDirective;\n\n CompileHtmlDirective = function($compile) {\n var link;\n link = function(scope, element, attrs) {\n return scope.$watch(attrs.tgCompileHtml, function(newValue, oldValue) {\n element.html(newValue);\n return $compile(element.contents())(scope);\n });\n };\n return {\n link: link\n };\n };\n\n CompileHtmlDirective.$inject = [\"$compile\"];\n\n angular.module(\"taigaCommon\").directive(\"tgCompileHtml\", CompileHtmlDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/components.coffee\n */\n\n(function() {\n var AssignedToDirective, BlockButtonDirective, CreatedByDisplayDirective, DateRangeDirective, DateSelectorDirective, DeleteButtonDirective, EditableSubjectDirective, ListItemAssignedtoDirective, ListItemEpicStatusDirective, ListItemIssueStatusDirective, ListItemPriorityDirective, ListItemSeverityDirective, ListItemTaskStatusDirective, ListItemTypeDirective, ListItemUsStatusDirective, SprintProgressBarDirective, TgMainTitleDirective, TgProgressBarDirective, UserDisplayDirective, WatchersDirective, bindOnce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n DateRangeDirective = function($translate) {\n var link, renderRange;\n renderRange = function($el, first, second) {\n var endDate, initDate, prettyDate;\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\");\n initDate = moment(first).format(prettyDate);\n endDate = moment(second).format(prettyDate);\n return $el.html(initDate + \"-\" + endDate);\n };\n link = function($scope, $el, $attrs) {\n var first, ref, second;\n ref = $attrs.tgDateRange.split(\",\"), first = ref[0], second = ref[1];\n return bindOnce($scope, first, function(valFirst) {\n return bindOnce($scope, second, function(valSecond) {\n return renderRange($el, valFirst, valSecond);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateRange\", [\"$translate\", DateRangeDirective]);\n\n DateSelectorDirective = function($rootscope, datePickerConfigService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var initialize, selectedDate, unbind;\n selectedDate = null;\n initialize = function() {\n var datePickerConfig;\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: $el[0]\n });\n return $el.picker = new Pikaday(datePickerConfig);\n };\n unbind = $rootscope.$on(\"$translateChangeEnd\", (function(_this) {\n return function(ctx) {\n if ($el.picker) {\n $el.picker.destroy();\n }\n return initialize();\n };\n })(this));\n $attrs.$observe(\"pickerValue\", function(val) {\n $el.val(val);\n if (val != null) {\n if ($el.picker) {\n $el.picker.destroy();\n }\n initialize();\n }\n return $el.picker.setDate(val);\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n unbind();\n return $el.picker.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateSelector\", [\"$rootScope\", \"tgDatePickerConfigService\", DateSelectorDirective]);\n\n SprintProgressBarDirective = function() {\n var link, renderProgress;\n renderProgress = function($el, percentage, visual_percentage) {\n if ($el.hasClass(\".current-progress\")) {\n return $el.css(\"width\", percentage + \"%\");\n } else {\n $el.find(\".current-progress\").css(\"width\", visual_percentage + \"%\");\n return $el.find(\".number\").html(percentage + \" %\");\n }\n };\n link = function($scope, $el, $attrs) {\n bindOnce($scope, $attrs.tgSprintProgressbar, function(sprint) {\n var closedPoints, percentage, totalPoints, visual_percentage;\n closedPoints = sprint.closed_points;\n totalPoints = sprint.total_points;\n percentage = 0;\n if (totalPoints !== 0) {\n percentage = Math.round(100 * (closedPoints / totalPoints));\n }\n visual_percentage = 0;\n if (totalPoints !== 0) {\n visual_percentage = Math.round(98 * (closedPoints / totalPoints));\n }\n return renderProgress($el, percentage, visual_percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintProgressbar\", SprintProgressBarDirective);\n\n CreatedByDisplayDirective = function($template, $compile, $translate, $navUrls, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n bindOnce($scope, $attrs.ngModel, function(model) {\n var avatar, ref;\n if (model != null) {\n avatar = avatarService.getAvatar(model.owner_extra_info);\n $scope.owner = model.owner_extra_info || {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n };\n $scope.owner.avatar = avatar.url;\n $scope.owner.bg = avatar.bg;\n $scope.url = ((ref = $scope.owner) != null ? ref.is_active : void 0) ? $navUrls.resolve(\"user-profile\", {\n username: $scope.owner.username\n }) : \"\";\n return $scope.date = moment(model.created_date).format($translate.instant(\"COMMON.DATETIME\"));\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n scope: true,\n templateUrl: \"common/components/created-by.html\"\n };\n };\n\n module.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", \"$tgNavUrls\", \"tgAvatarService\", CreatedByDisplayDirective]);\n\n UserDisplayDirective = function($template, $compile, $translate, $navUrls, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var avatar, id;\n id = $attrs.tgUserId;\n $scope.user = $scope.usersById[id] || {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n };\n avatar = avatarService.getAvatar($scope.usersById[id] || null);\n $scope.user.avatar = avatar.url;\n $scope.user.bg = avatar.bg;\n $scope.url = $scope.user.is_active ? $navUrls.resolve(\"user-profile\", {\n username: $scope.user.username\n }) : \"\";\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n scope: true,\n templateUrl: \"common/components/user-display.html\"\n };\n };\n\n module.directive(\"tgUserDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", \"$tgNavUrls\", \"tgAvatarService\", UserDisplayDirective]);\n\n WatchersDirective = function($rootscope, $confirm, $repo, $modelTransform, $template, $compile, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var deleteWatcher, isEditable, renderWatchers, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = function(watchers) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.watchers = watchers;\n return item;\n });\n transform.then(function() {\n watchers = _.map(watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n deleteWatcher = function(watcherIds) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.watchers = watcherIds;\n return item;\n });\n transform.then(function() {\n var item, watchers;\n item = $modelTransform.getObj();\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n renderWatchers = function(watchers) {\n $scope.watchers = watchers;\n return $scope.isEditable = isEditable();\n };\n $el.on(\"click\", \".js-delete-watcher\", function(event) {\n var message, target, title, watcherId;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n watcherId = target.data(\"watcher-id\");\n title = $translate.instant(\"COMMON.WATCHERS.TITLE_LIGHTBOX_DELETE_WARTCHER\");\n message = $scope.usersById[watcherId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var watcherIds;\n askResponse.finish();\n watcherIds = _.clone($model.$modelValue.watchers, false);\n watcherIds = _.pull(watcherIds, watcherId);\n return deleteWatcher(watcherIds);\n };\n })(this));\n });\n $scope.$on(\"watcher:added\", function(ctx, watcherId) {\n var watchers;\n watchers = _.clone($model.$modelValue.watchers, false);\n watchers.push(watcherId);\n watchers = _.uniq(watchers);\n return save(watchers);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var watchers;\n if (item == null) {\n return;\n }\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n watchers = _.filter(watchers, function(it) {\n return !!it;\n });\n return renderWatchers(watchers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n templateUrl: \"common/components/watchers.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", \"$translate\", WatchersDirective]);\n\n AssignedToDirective = function($rootscope, $confirm, $repo, $loading, $modelTransform, $template, $translate, $compile, $currentUserService, avatarService) {\n var link, template;\n template = $template.get(\"common/components/assigned-to.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, renderAssignedTo, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = function(userId) {\n var currentLoading, item, transform;\n item = $model.$modelValue.clone();\n item.assigned_to = userId;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(item) {\n item.assigned_to = userId;\n return item;\n });\n transform.then(function() {\n currentLoading.finish();\n renderAssignedTo($modelTransform.getObj());\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n });\n return transform;\n };\n renderAssignedTo = function(assignedObject) {\n var avatar, bg, ctx, fullName, html, isIocaine, isUnassigned;\n avatar = avatarService.getAvatar(assignedObject != null ? assignedObject.assigned_to_extra_info : void 0);\n bg = null;\n if ((assignedObject != null ? assignedObject.assigned_to : void 0) != null) {\n fullName = assignedObject.assigned_to_extra_info.full_name_display;\n isUnassigned = false;\n bg = avatar.bg;\n } else {\n fullName = $translate.instant(\"COMMON.ASSIGNED_TO.ASSIGN\");\n isUnassigned = true;\n }\n isIocaine = assignedObject != null ? assignedObject.is_iocaine : void 0;\n ctx = {\n fullName: fullName,\n avatar: avatar.url,\n bg: bg,\n isUnassigned: isUnassigned,\n isEditable: isEditable(),\n isIocaine: isIocaine,\n fullNameVisible: !(isUnassigned && !$currentUserService.isAuthenticated())\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n $el.on(\"click\", \".user-assigned\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue);\n });\n });\n $el.on(\"click\", \".assign-to-me\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n $model.$modelValue.assigned_to = $currentUserService.getUser().get('id');\n return save($currentUserService.getUser().get('id'));\n });\n $el.on(\"click\", \".remove-user\", function(event) {\n var title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n title = $translate.instant(\"COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED\");\n return $confirm.ask(title).then((function(_this) {\n return function(response) {\n response.finish();\n $model.$modelValue.assigned_to = null;\n return save(null);\n };\n })(this));\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, item) {\n if (item.id !== $model.$modelValue.id) {\n return;\n }\n return save(userId);\n });\n $scope.$watch($attrs.ngModel, function(instance) {\n return renderAssignedTo(instance);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$translate\", \"$compile\", \"tgCurrentUserService\", \"tgAvatarService\", AssignedToDirective]);\n\n BlockButtonDirective = function($rootscope, $loading, $template) {\n var link, template;\n template = $template.get(\"common/components/block-button.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n $scope.$watch($attrs.ngModel, function(item) {\n if (!item) {\n return;\n }\n if (isEditable()) {\n $el.find('.item-block').addClass('editable');\n }\n if (item.is_blocked) {\n $el.find('.item-block').removeClass('is-active');\n return $el.find('.item-unblock').addClass('is-active');\n } else {\n $el.find('.item-block').addClass('is-active');\n return $el.find('.item-unblock').removeClass('is-active');\n }\n });\n $el.on(\"click\", \".item-block\", function(event) {\n event.preventDefault();\n return $rootscope.$broadcast(\"block\", $model.$modelValue);\n });\n $el.on(\"click\", \".item-unblock\", function(event) {\n var currentLoading, finish;\n event.preventDefault();\n currentLoading = $loading().target($el.find(\".item-unblock\")).start();\n finish = function() {\n return currentLoading.finish();\n };\n return $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective]);\n\n DeleteButtonDirective = function($log, $repo, $confirm, $location, $template) {\n var link, template;\n template = $template.get(\"common/components/delete-button.html\");\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.onDeleteGoToUrl) {\n return $log.error(\"DeleteButtonDirective requires on-delete-go-to-url set in scope.\");\n }\n if (!$attrs.onDeleteTitle) {\n return $log.error(\"DeleteButtonDirective requires on-delete-title set in scope.\");\n }\n $el.on(\"click\", \".button-delete\", function(event) {\n var subtitle, title;\n title = $attrs.onDeleteTitle;\n subtitle = $model.$modelValue.subject;\n return $confirm.askOnDelete(title, subtitle).then((function(_this) {\n return function(askResponse) {\n var promise;\n promise = $repo.remove($model.$modelValue);\n promise.then(function() {\n var url;\n askResponse.finish();\n url = $scope.$eval($attrs.onDeleteGoToUrl);\n return $location.path(url);\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective]);\n\n EditableSubjectDirective = function($rootscope, $repo, $confirm, $loading, $modelTransform, $template) {\n var link, template;\n template = $template.get(\"common/components/editable-subject.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, save;\n $scope.$on(\"object:updated\", function() {\n $el.find('.edit-subject').hide();\n return $el.find('.view-subject').show();\n });\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n save = function(subject) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find('.save-container')).start();\n transform = $modelTransform.save(function(item) {\n item.subject = subject;\n return item;\n });\n transform.then((function(_this) {\n return function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"object:updated\");\n $el.find('.edit-subject').hide();\n return $el.find('.view-subject').show();\n };\n })(this));\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n transform[\"finally\"](function() {\n return currentLoading.finish();\n });\n return transform;\n };\n $el.click(function() {\n if (!isEditable()) {\n return;\n }\n $el.find('.edit-subject').show();\n $el.find('.view-subject').hide();\n return $el.find('input').focus();\n });\n $el.on(\"click\", \".save\", function(e) {\n var subject;\n e.preventDefault();\n subject = $scope.item.subject;\n return save(subject);\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var subject;\n if (event.keyCode === 13) {\n subject = $scope.item.subject;\n return save(subject);\n } else if (event.keyCode === 27) {\n $scope.$apply((function(_this) {\n return function() {\n return $model.$modelValue.revert();\n };\n })(this));\n $el.find('.edit-subject').hide();\n return $el.find('.view-subject').show();\n }\n });\n $el.find('.edit-subject').hide();\n $scope.$watch($attrs.ngModel, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n if (!isEditable()) {\n return $el.find('.view-subject .edit').remove();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgEditableSubject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", EditableSubjectDirective]);\n\n ListItemEpicStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var epic;\n epic = $scope.$eval($attrs.tgListitemEpicStatus);\n return bindOnce($scope, \"epicStatusById\", function(epicStatusById) {\n return $el.html(epicStatusById[epic.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemEpicStatus\", ListItemEpicStatusDirective);\n\n ListItemUsStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var us;\n us = $scope.$eval($attrs.tgListitemUsStatus);\n return bindOnce($scope, \"usStatusById\", function(usStatusById) {\n return $el.html(usStatusById[us.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective);\n\n ListItemTaskStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var task;\n task = $scope.$eval($attrs.tgListitemTaskStatus);\n return bindOnce($scope, \"taskStatusById\", function(taskStatusById) {\n return $el.html(taskStatusById[task.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective);\n\n ListItemAssignedtoDirective = function($template, $translate, avatarService) {\n var link, template;\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"usersById\", function(usersById) {\n var avatar, ctx, item, member;\n item = $scope.$eval($attrs.tgListitemAssignedto);\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\")\n };\n member = usersById[item.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = avatar.bg;\n if (member) {\n ctx.name = member.full_name_display;\n }\n return $el.html(template(ctx));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", \"$translate\", \"tgAvatarService\", ListItemAssignedtoDirective]);\n\n ListItemIssueStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemIssueStatus);\n return bindOnce($scope, \"issueStatusById\", function(issueStatusById) {\n return $el.html(issueStatusById[issue.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective);\n\n ListItemTypeDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issueTypeById, issue) {\n var domNode, type;\n type = issueTypeById[issue.type];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", type.color);\n return domNode.attr(\"title\", type.name);\n };\n bindOnce($scope, \"issueTypeById\", function(issueTypeById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemType);\n return render(issueTypeById, issue);\n });\n return $scope.$watch($attrs.tgListitemType, function(issue) {\n return render($scope.issueTypeById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemType\", ListItemTypeDirective);\n\n ListItemPriorityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(priorityById, issue) {\n var domNode, priority;\n priority = priorityById[issue.priority];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", priority.color);\n return domNode.attr(\"title\", priority.name);\n };\n bindOnce($scope, \"priorityById\", function(priorityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemPriority);\n return render(priorityById, issue);\n });\n return $scope.$watch($attrs.tgListitemPriority, function(issue) {\n return render($scope.priorityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemPriority\", ListItemPriorityDirective);\n\n ListItemSeverityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(severityById, issue) {\n var domNode, severity;\n severity = severityById[issue.severity];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", severity.color);\n return domNode.attr(\"title\", severity.name);\n };\n bindOnce($scope, \"severityById\", function(severityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemSeverity);\n return render(severityById, issue);\n });\n return $scope.$watch($attrs.tgListitemSeverity, function(issue) {\n return render($scope.severityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemSeverity\", ListItemSeverityDirective);\n\n TgProgressBarDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/progress-bar.html\", true);\n render = function(el, percentage) {\n return el.html(template({\n percentage: percentage\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgProgressBar, function(percentage) {\n percentage = _.max([0, percentage]);\n percentage = _.min([100, percentage]);\n return render($el, percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective]);\n\n TgMainTitleDirective = function($translate) {\n var link;\n link = function($scope, $el, $attrs) {\n $attrs.$observe(\"i18nSectionName\", function(i18nSectionName) {\n return $scope.sectionName = i18nSectionName;\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/main-title.html\",\n scope: {\n projectName: \"=projectName\"\n }\n };\n };\n\n module.directive(\"tgMainTitle\", [\"$translate\", TgMainTitleDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/base/confirm.coffee\n */\n\n(function() {\n var ConfirmService, NOTIFICATION_MSG, bindMethods, cancelTimeout, debounce, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n timeout = this.taiga.timeout;\n\n cancelTimeout = this.taiga.cancelTimeout;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n NOTIFICATION_MSG = {\n \"success\": {\n title: \"NOTIFICATION.OK\",\n message: \"NOTIFICATION.SAVED\"\n },\n \"error\": {\n title: \"NOTIFICATION.WARNING\",\n message: \"NOTIFICATION.WARNING_TEXT\"\n },\n \"light-error\": {\n title: \"NOTIFICATION.WARNING\",\n message: \"NOTIFICATION.WARNING_TEXT\"\n }\n };\n\n ConfirmService = (function(superClass) {\n extend(ConfirmService, superClass);\n\n ConfirmService.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\", \"$translate\"];\n\n function ConfirmService(q, lightboxService, loading, translate) {\n this.q = q;\n this.lightboxService = lightboxService;\n this.loading = loading;\n this.translate = translate;\n bindMethods(this);\n }\n\n ConfirmService.prototype.hide = function(el) {\n if (el) {\n this.lightboxService.close(el);\n return el.off(\".confirm-dialog\");\n }\n };\n\n ConfirmService.prototype.ask = function(title, subtitle, message, lightboxSelector) {\n var defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-generic-ask\";\n }\n defered = this.q.defer();\n el = angular.element(lightboxSelector);\n if (title) {\n el.find(\".title\").text(title);\n }\n if (subtitle) {\n el.find(\".subtitle\").text(subtitle);\n }\n if (message) {\n el.find(\".message\").text(message);\n }\n el.on(\"click.confirm-dialog\", \".button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n currentLoading = _this.loading().target(target).start();\n return defered.resolve({\n finish: function(ok) {\n if (ok == null) {\n ok = true;\n }\n currentLoading.finish();\n if (ok) {\n return _this.hide(el);\n }\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \".button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.askOnDelete = function(title, message) {\n return this.ask(title, this.translate.instant(\"NOTIFICATION.ASK_DELETE\"), message);\n };\n\n ConfirmService.prototype.askChoice = function(title, subtitle, choices, replacement, warning, lightboxSelector) {\n var choicesField, defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-ask-choice\";\n }\n defered = this.q.defer();\n el = angular.element(lightboxSelector);\n el.find(\".title\").text(title);\n el.find(\".subtitle\").text(subtitle);\n if (replacement) {\n el.find(\".replacement\").text(replacement);\n } else {\n el.find(\".replacement\").remove();\n }\n if (warning) {\n el.find(\".warning\").text(warning);\n } else {\n el.find(\".warning\").remove();\n }\n choicesField = el.find(\".choices\");\n choicesField.html('');\n _.each(choices, function(value, key) {\n value = _.escape(value);\n return choicesField.append(angular.element(\"\" + value + \"\"));\n });\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n currentLoading = _this.loading().target(target).start();\n return defered.resolve({\n selected: choicesField.val(),\n finish: function(ok) {\n if (ok == null) {\n ok = true;\n }\n currentLoading.finish();\n if (ok) {\n return _this.hide(el);\n }\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \".button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.error = function(message) {\n var defered, el;\n defered = this.q.defer();\n el = angular.element(\".lightbox-generic-error\");\n el.find(\".title\").html(message);\n el.on(\"click.confirm-dialog\", \".button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \".close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.success = function(title, message, icon) {\n var defered, detailImage, el, svgContainer, useSVG;\n defered = this.q.defer();\n el = angular.element(\".lightbox-generic-success\");\n el.find(\"img\").remove();\n el.find(\"svg\").remove();\n if (icon) {\n if (icon.type === \"img\") {\n detailImage = $('').addClass('lb-icon').attr('src', icon.name);\n } else if (icon.type === \"svg\") {\n detailImage = document.createElement(\"div\");\n taiga.addClass(detailImage, \"icon\");\n taiga.addClass(detailImage, icon.name);\n taiga.addClass(detailImage, \"lb-icon\");\n svgContainer = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n useSVG = document.createElementNS('http://www.w3.org/2000/svg', 'use');\n useSVG.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + icon.name);\n detailImage.appendChild(svgContainer).appendChild(useSVG);\n }\n if (detailImage) {\n el.find('section').prepend(detailImage);\n }\n }\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n el.on(\"click.confirm-dialog\", \".button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \".close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.loader = function(title, message, spin) {\n var el;\n if (spin == null) {\n spin = false;\n }\n el = angular.element(\".lightbox-generic-loading\");\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n if (spin) {\n el.find(\".spin\").removeClass(\"hidden\");\n }\n return {\n start: (function(_this) {\n return function() {\n return _this.lightboxService.open(el);\n };\n })(this),\n stop: (function(_this) {\n return function() {\n return _this.lightboxService.close(el);\n };\n })(this),\n update: (function(_this) {\n return function(status, title, message, percent) {\n if (title) {\n el.find(\".title\").html(title);\n }\n if (message) {\n el.find(\".message\").html(message);\n }\n if (percent) {\n el.find(\".spin\").addClass(\"hidden\");\n el.find(\".progress-bar-wrapper\").removeClass(\"hidden\");\n el.find(\".progress-bar-wrapper > .bar\").width(percent + '%');\n return el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%');\n } else {\n el.find(\".spin\").removeClass(\"hidden\");\n return el.find(\".progress-bar-wrapper\").addClass(\"hidden\");\n }\n };\n })(this)\n };\n };\n\n ConfirmService.prototype.notify = function(type, message, title, time) {\n var body, el, selector;\n selector = \".notification-message-\" + type;\n el = angular.element(selector);\n if (el.hasClass(\"active\")) {\n return;\n }\n if (title) {\n el.find(\"h4\").html(title);\n } else {\n el.find(\"h4\").html(this.translate.instant(NOTIFICATION_MSG[type].title));\n }\n if (message) {\n el.find(\"p\").html(message);\n } else {\n el.find(\"p\").html(this.translate.instant(NOTIFICATION_MSG[type].message));\n }\n body = angular.element(\"body\");\n body.find(\".notification-message .notification-light\").removeClass('active').addClass('inactive');\n body.find(selector).removeClass('inactive').addClass('active');\n if (this.tsem) {\n cancelTimeout(this.tsem);\n }\n if (!time) {\n time = type === 'error' || type === 'light-error' ? 3500 : 1500;\n }\n this.tsem = timeout(time, (function(_this) {\n return function() {\n body.find(selector).removeClass('active').addClass('inactive').one('animationend', function() {\n return $(this).removeClass('inactive');\n });\n return delete _this.tsem;\n };\n })(this));\n return el.on(\"click\", \".icon-close, .close\", (function(_this) {\n return function(event) {\n return body.find(selector).removeClass('active').addClass('inactive');\n };\n })(this));\n };\n\n return ConfirmService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaCommon\");\n\n module.service(\"$tgConfirm\", ConfirmService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/custom-field-values.coffee\n */\n\n(function() {\n var CustomAttributeValueDirective, CustomAttributesValuesController, CustomAttributesValuesDirective, DATE_TYPE, MULTILINE_TYPE, RICHTEXT_TYPE, TEXT_TYPE, TYPE_CHOICES, URL_TYPE, bindMethods, bindOnce, debounce, generateHash, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindMethods = this.taiga.bindMethods;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n generateHash = taiga.generateHash;\n\n module = angular.module(\"taigaCommon\");\n\n TEXT_TYPE = \"text\";\n\n RICHTEXT_TYPE = \"url\";\n\n MULTILINE_TYPE = \"multiline\";\n\n DATE_TYPE = \"date\";\n\n URL_TYPE = \"url\";\n\n TYPE_CHOICES = [\n {\n key: TEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT\"\n }, {\n key: MULTILINE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI\"\n }, {\n key: DATE_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE\"\n }, {\n key: URL_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL\"\n }, {\n key: RICHTEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT\"\n }\n ];\n\n CustomAttributesValuesController = (function(superClass) {\n extend(CustomAttributesValuesController, superClass);\n\n CustomAttributesValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"];\n\n function CustomAttributesValuesController(scope1, rootscope, repo, rs, confirm, q) {\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.q = q;\n bindMethods(this);\n this.type = null;\n this.objectId = null;\n this.projectId = null;\n this.customAttributes = [];\n this.customAttributesValues = null;\n }\n\n CustomAttributesValuesController.prototype.initialize = function(type, objectId) {\n this.project = this.scope.project;\n this.type = type;\n this.objectId = objectId;\n return this.projectId = this.scope.projectId;\n };\n\n CustomAttributesValuesController.prototype.loadCustomAttributesValues = function() {\n if (!this.objectId) {\n return this.customAttributesValues;\n }\n return this.rs.customAttributesValues[this.type].get(this.objectId).then((function(_this) {\n return function(customAttributesValues) {\n _this.customAttributes = _this.project[_this.type + \"_custom_attributes\"];\n _this.customAttributesValues = customAttributesValues;\n return customAttributesValues;\n };\n })(this));\n };\n\n CustomAttributesValuesController.prototype.getAttributeValue = function(attribute) {\n var attributeValue;\n attributeValue = _.clone(attribute, false);\n attributeValue.value = this.customAttributesValues.attributes_values[attribute.id];\n return attributeValue;\n };\n\n CustomAttributesValuesController.prototype.updateAttributeValue = function(attributeValue) {\n var attributesValues, onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"custom-attributes-values:edit\");\n };\n })(this);\n onError = (function(_this) {\n return function(response) {\n _this.confirm.notify(\"error\");\n return _this.q.reject();\n };\n })(this);\n attributesValues = _.clone(this.customAttributesValues.attributes_values, true);\n attributesValues[attributeValue.id] = attributeValue.value;\n this.customAttributesValues.attributes_values = attributesValues;\n this.customAttributesValues.id = this.objectId;\n return this.repo.save(this.customAttributesValues).then(onSuccess, onError);\n };\n\n return CustomAttributesValuesController;\n\n })(taiga.Controller);\n\n CustomAttributesValuesDirective = function($templates, $storage) {\n var collapsedHash, link, template, templateFn;\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true);\n collapsedHash = function(type) {\n return generateHash([\"custom-attributes-collapsed\", type]);\n };\n link = function($scope, $el, $attrs, $ctrls) {\n var $ctrl, $model, hash;\n $ctrl = $ctrls[0];\n $model = $ctrls[1];\n hash = collapsedHash($attrs.type);\n $scope.collapsed = $storage.get(hash) || false;\n bindOnce($scope, $attrs.ngModel, function(value) {\n $ctrl.initialize($attrs.type, value.id);\n return $ctrl.loadCustomAttributesValues();\n });\n $scope.toggleCollapse = function() {\n $scope.collapsed = !$scope.collapsed;\n return $storage.set(hash, $scope.collapsed);\n };\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n templateFn = function($el, $attrs) {\n return template({\n requiredEditionPerm: $attrs.requiredEditionPerm\n });\n };\n return {\n require: [\"tgCustomAttributesValues\", \"ngModel\"],\n controller: CustomAttributesValuesController,\n controllerAs: \"ctrl\",\n restrict: \"AE\",\n scope: true,\n link: link,\n template: templateFn\n };\n };\n\n module.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", \"$translate\", CustomAttributesValuesDirective]);\n\n CustomAttributeValueDirective = function($template, $selectedText, $compile, $translate, datePickerConfigService, wysiwygService) {\n var link, template, templateEdit;\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true);\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true);\n link = function($scope, $el, $attrs, $ctrl) {\n var attributeValue, isEditable, prettyDate, render, setFocusAndSelectOnInputField, submit;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n render = function(attributeValue, edit) {\n var ctx, datePickerConfig, editable, html, scope, value;\n if (edit == null) {\n edit = false;\n }\n if (attributeValue.type === DATE_TYPE && attributeValue.value) {\n value = moment(attributeValue.value, \"YYYY-MM-DD\").format(prettyDate);\n } else {\n value = attributeValue.value;\n }\n editable = isEditable();\n ctx = {\n id: attributeValue.id,\n name: attributeValue.name,\n description: attributeValue.description,\n value: value,\n isEditable: editable,\n type: attributeValue.type\n };\n scope = $scope.$new();\n scope.attributeHtml = wysiwygService.getHTML(value);\n if (editable && (edit || !value)) {\n html = templateEdit(ctx);\n html = $compile(html)(scope);\n $el.html(html);\n if (attributeValue.type === DATE_TYPE) {\n datePickerConfig = datePickerConfigService.get();\n _.merge(datePickerConfig, {\n field: $el.find(\"input[name=value]\")[0],\n onSelect: (function(_this) {\n return function(date) {\n var selectedDate;\n return selectedDate = date;\n };\n })(this),\n onOpen: (function(_this) {\n return function() {\n if (typeof selectedDate !== \"undefined\" && selectedDate !== null) {\n return $el.picker.setDate(selectedDate);\n }\n };\n })(this)\n });\n return $el.picker = new Pikaday(datePickerConfig);\n }\n } else {\n html = template(ctx);\n html = $compile(html)(scope);\n return $el.html(html);\n }\n };\n isEditable = function() {\n var permissions, requiredEditionPerm;\n permissions = $scope.project.my_permissions;\n requiredEditionPerm = $attrs.requiredEditionPerm;\n return permissions.indexOf(requiredEditionPerm) > -1;\n };\n $scope.saveCustomRichText = (function(_this) {\n return function(markdown, callback) {\n attributeValue.value = markdown;\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n callback();\n return render(attributeValue, false);\n });\n };\n })(this);\n $scope.cancelCustomRichText = (function(_this) {\n return function() {\n render(attributeValue, false);\n return null;\n };\n })(this);\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var form, input;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n input = $el.find(\"input[name=value], textarea[name='value']\");\n attributeValue.value = input.val();\n if (attributeValue.type === DATE_TYPE) {\n if (moment(attributeValue.value, prettyDate).isValid()) {\n attributeValue.value = moment(attributeValue.value, prettyDate).format(\"YYYY-MM-DD\");\n }\n }\n return $scope.$apply(function() {\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n return render(attributeValue, false);\n });\n });\n };\n })(this));\n setFocusAndSelectOnInputField = function() {\n return $el.find(\"input[name='value'], textarea[name='value']\").focus().select();\n };\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue);\n if (attributeValue.value === null || attributeValue.value === void 0) {\n attributeValue.value = \"\";\n }\n $scope.customAttributeValue = attributeValue;\n render(attributeValue);\n $el.on(\"click\", \".js-value-view-mode span a\", function(event) {\n return event.stopPropagation();\n });\n $el.on(\"click\", \".js-value-view-mode\", function() {\n if (!isEditable()) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n render(attributeValue, true);\n return setFocusAndSelectOnInputField();\n });\n $el.on(\"click\", \".js-edit-description\", function(event) {\n event.preventDefault();\n render(attributeValue, true);\n return setFocusAndSelectOnInputField();\n });\n $el.on(\"keyup\", \"input[name=value], textarea[name='value']\", function(event) {\n if (event.keyCode === 13 && event.currentTarget.type !== \"textarea\") {\n return submit(event);\n } else if (event.keyCode === 27) {\n return render(attributeValue, false);\n }\n });\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \".js-save-description\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"^tgCustomAttributesValues\",\n restrict: \"AE\"\n };\n };\n\n module.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", \"$compile\", \"$translate\", \"tgDatePickerConfigService\", \"tgWysiwygService\", CustomAttributeValueDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/estimation.coffee\n */\n\n(function() {\n var EstimationsService, LbUsEstimationDirective, UsEstimationDirective, groupBy, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaCommon\");\n\n LbUsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $template, $compile) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n us.points = points;\n estimationProcess.render();\n return $scope.$apply(function() {\n return $model.$setViewValue(us);\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable,\n loading: false\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n html = $compile(html)($scope);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgTemplate\", \"$compile\", LbUsEstimationDirective]);\n\n UsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $template, $compile, $modelTransform, $confirm) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var save;\n save = function(points) {\n var onError, transform;\n transform = $modelTransform.save((function(_this) {\n return function(us) {\n us.points = points;\n return us;\n };\n })(this));\n onError = (function(_this) {\n return function() {\n return $confirm.notify(\"error\");\n };\n })(this);\n return transform.then(null, onError);\n };\n $scope.$watchCollection(function() {\n return $model.$modelValue && $model.$modelValue.points;\n }, function() {\n var estimationProcess, us;\n us = $model.$modelValue;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n estimationProcess.loading = roleId;\n estimationProcess.render();\n return save(points).then(function() {\n estimationProcess.loading = false;\n $rootScope.$broadcast(\"object:updated\");\n return estimationProcess.render();\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable,\n loading: estimationProcess.loading\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n html = $compile(html)($scope);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgTemplate\", \"$compile\", \"$tgQueueModelTransformation\", \"$tgConfirm\", UsEstimationDirective]);\n\n EstimationsService = function($template, $repo, $confirm, $q, $qqueue) {\n var EstimationProcess, create, pointsTemplate;\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true);\n EstimationProcess = (function() {\n function EstimationProcess($el1, us1, project1) {\n this.$el = $el1;\n this.us = us1;\n this.project = project1;\n this.bindClickEvents = bind(this.bindClickEvents, this);\n this.isEditable = this.project.my_permissions.indexOf(\"modify_us\") !== -1;\n this.roles = this.project.roles;\n this.points = this.project.points;\n this.loading = false;\n this.pointsById = groupBy(this.points, function(x) {\n return x.id;\n });\n this.onSelectedPointForRole = function(roleId, pointId) {};\n this.render = function() {};\n }\n\n EstimationProcess.prototype.save = function(roleId, pointId) {\n var deferred;\n deferred = $q.defer();\n $qqueue.add((function(_this) {\n return function() {\n var onError, onSuccess;\n onSuccess = function() {\n deferred.resolve();\n return _this.render();\n };\n onError = function() {\n $confirm.notify(\"error\");\n _this.us.revert();\n _this.render();\n return deferred.reject();\n };\n return $repo.save(_this.us).then(onSuccess, onError);\n };\n })(this));\n return deferred.promise;\n };\n\n EstimationProcess.prototype.calculateTotalPoints = function() {\n var notNullValues, values;\n values = _.map(this.us.points, (function(_this) {\n return function(v, k) {\n var ref;\n return (ref = _this.pointsById[v]) != null ? ref.value : void 0;\n };\n })(this));\n if (values.length === 0) {\n return \"?\";\n }\n notNullValues = _.filter(values, function(v) {\n return v != null;\n });\n if (notNullValues.length === 0) {\n return \"?\";\n }\n return _.reduce(notNullValues, function(acc, num) {\n return acc + num;\n });\n };\n\n EstimationProcess.prototype.calculateRoles = function() {\n var computableRoles, roles;\n computableRoles = _.filter(this.project.roles, \"computable\");\n roles = _.map(computableRoles, (function(_this) {\n return function(role) {\n var pointId, pointObj;\n pointId = _this.us.points[role.id];\n pointObj = _this.pointsById[pointId];\n role = _.clone(role, true);\n role.points = (pointObj != null) && (pointObj.name != null) ? pointObj.name : \"?\";\n return role;\n };\n })(this));\n return roles;\n };\n\n EstimationProcess.prototype.bindClickEvents = function() {\n this.$el.on(\"click\", \".total.clickable\", (function(_this) {\n return function(event) {\n var roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n _this.renderPointsSelector(roleId, target);\n target.siblings().removeClass('active');\n return target.addClass('active');\n };\n })(this));\n return this.$el.on(\"click\", \".point\", (function(_this) {\n return function(event) {\n var pointId, points, roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n pointId = target.data(\"point-id\");\n _this.$el.find(\".popover\").popover().close();\n points = _.clone(_this.us.points, true);\n points[roleId] = pointId;\n return _this.onSelectedPointForRole(roleId, pointId, points);\n };\n })(this));\n };\n\n EstimationProcess.prototype.renderPointsSelector = function(roleId, target) {\n var horizontalList, html, maxPointLength, points, pop;\n points = _.map(this.points, (function(_this) {\n return function(point) {\n point = _.clone(point, true);\n point.selected = _this.us.points[roleId] === point.id ? false : true;\n return point;\n };\n })(this));\n maxPointLength = 5;\n horizontalList = _.some(points, (function(_this) {\n return function(point) {\n return point.name.length > maxPointLength;\n };\n })(this));\n html = pointsTemplate({\n \"points\": points,\n roleId: roleId,\n horizontal: horizontalList\n });\n this.$el.find(\".popover\").popover().close();\n this.$el.find(\".pop-points-open\").remove();\n if (target != null) {\n this.$el.find(target).append(html);\n } else {\n this.$el.append(html);\n }\n this.$el.find(\".pop-points-open\").popover().open(function() {\n return $(this).removeClass(\"active\").closest(\"li\").removeClass(\"active\");\n });\n this.$el.find(\".pop-points-open\").show();\n pop = this.$el.find(\".pop-points-open\");\n if (pop.offset().top + pop.height() > document.body.clientHeight) {\n return pop.addClass('pop-bottom');\n }\n };\n\n return EstimationProcess;\n\n })();\n create = function($el, us, project) {\n var estimationProcess;\n $el.unbind(\"click\");\n estimationProcess = new EstimationProcess($el, us, project);\n if (estimationProcess.isEditable) {\n estimationProcess.bindClickEvents();\n }\n return estimationProcess;\n };\n return {\n create: create\n };\n };\n\n module.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgRepo\", \"$tgConfirm\", \"$q\", \"$tgQqueue\", EstimationsService]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/filters.coffee\n */\n\n(function() {\n var byRefFilter, darkerFilter, defaultFilter, inArray, markdownToHTML, module, momentFormat, momentFromNow, sizeFormat, taiga, toMutableFilter, unslugify, yesNoFilter;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n defaultFilter = function() {\n return function(value, defaultValue) {\n if (value === [null, void 0]) {\n return defaultValue;\n }\n return value;\n };\n };\n\n module.filter(\"default\", defaultFilter);\n\n yesNoFilter = function($translate) {\n return function(value) {\n if (value) {\n return $translate.instant(\"COMMON.YES\");\n }\n return $translate.instant(\"COMMON.NO\");\n };\n };\n\n module.filter(\"yesNo\", [\"$translate\", yesNoFilter]);\n\n unslugify = function() {\n return taiga.unslugify;\n };\n\n module.filter(\"unslugify\", unslugify);\n\n momentFormat = function() {\n return function(input, format) {\n if (input) {\n return moment(input).format(format);\n }\n return \"\";\n };\n };\n\n module.filter(\"momentFormat\", momentFormat);\n\n momentFromNow = function() {\n return function(input, without_suffix) {\n if (input) {\n return moment(input).fromNow(without_suffix || false);\n }\n return \"\";\n };\n };\n\n module.filter(\"momentFromNow\", momentFromNow);\n\n sizeFormat = (function(_this) {\n return function() {\n return _this.taiga.sizeFormat;\n };\n })(this);\n\n module.filter(\"sizeFormat\", sizeFormat);\n\n toMutableFilter = function() {\n var memoizedMutable, toMutable;\n toMutable = function(js) {\n return js.toJS();\n };\n memoizedMutable = _.memoize(toMutable);\n return function(input) {\n if (input instanceof Immutable.List) {\n return memoizedMutable(input);\n }\n return input;\n };\n };\n\n module.filter(\"toMutable\", toMutableFilter);\n\n byRefFilter = function($filterFilter) {\n return function(userstories, filter) {\n var cleanRef;\n if (filter != null ? filter.startsWith(\"#\") : void 0) {\n cleanRef = filter.substr(1);\n return _.filter(userstories, (function(_this) {\n return function(us) {\n return String(us.ref).startsWith(cleanRef);\n };\n })(this));\n }\n return $filterFilter(userstories, filter);\n };\n };\n\n module.filter(\"byRef\", [\"filterFilter\", byRefFilter]);\n\n darkerFilter = function() {\n return function(color, luminosity) {\n var black, c, i, j, len, newColor, ref, white;\n color = new String(color).replace(/[^0-9a-f]/gi, '');\n if (color.length < 6) {\n color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n }\n luminosity = luminosity || 0;\n newColor = \"#\";\n c = 0;\n i = 0;\n black = 0;\n white = 255;\n ref = [0, 1, 2];\n for (j = 0, len = ref.length; j < len; j++) {\n i = ref[j];\n c = parseInt(color.substr(i * 2, 2), 16);\n c = Math.round(Math.min(Math.max(black, c + (luminosity * white)), white)).toString(16);\n newColor += (\"00\" + c).substr(c.length);\n }\n return newColor;\n };\n };\n\n module.filter(\"darker\", darkerFilter);\n\n markdownToHTML = function(wysiwigService) {\n return function(input) {\n if (input) {\n return wysiwigService.getHTML(input);\n }\n return \"\";\n };\n };\n\n module.filter(\"markdownToHTML\", [\"tgWysiwygService\", markdownToHTML]);\n\n inArray = function($filter) {\n return function(list, arrayFilter, element) {\n var filter;\n if (arrayFilter) {\n filter = $filter(\"filter\");\n return filter(list, function(listItem) {\n return arrayFilter.indexOf(listItem[element]) !== -1;\n });\n }\n };\n };\n\n module.filter(\"inArray\", [\"$filter\", inArray]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/lightboxes.coffee\n */\n\n(function() {\n var AssignedToLightboxDirective, BlockLightboxDirective, BlockingMessageInputDirective, CreateBulkUserstoriesDirective, CreateEditUserstoryDirective, LightboxDirective, LightboxKeyboardNavigationService, LightboxLeaveProjectWarningDirective, LightboxService, WatchersLightboxDirective, bindOnce, debounce, module, sizeFormat, timeout, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n module = angular.module(\"taigaCommon\");\n\n bindOnce = this.taiga.bindOnce;\n\n timeout = this.taiga.timeout;\n\n debounce = this.taiga.debounce;\n\n sizeFormat = this.taiga.sizeFormat;\n\n trim = this.taiga.trim;\n\n LightboxService = (function(superClass) {\n extend(LightboxService, superClass);\n\n function LightboxService(animationFrame, q, rootScope) {\n this.animationFrame = animationFrame;\n this.q = q;\n this.rootScope = rootScope;\n }\n\n LightboxService.prototype.open = function($el, onClose, onEsc) {\n var defered, docEl, lightboxContent;\n this.onClose = onClose;\n if (_.isString($el)) {\n $el = $($el);\n }\n defered = this.q.defer();\n lightboxContent = $el.children().not(\".close\");\n lightboxContent.hide();\n this.animationFrame.add(function() {\n return $el.css('display', 'flex');\n });\n this.animationFrame.add(function() {\n $el.addClass(\"open\");\n return $el.one(\"transitionend\", (function(_this) {\n return function() {\n var firstField;\n firstField = $el.find('input,textarea').first();\n if (firstField.length) {\n return $el.find('input,textarea').first().focus();\n } else if (document.activeElement) {\n return $(document.activeElement).blur();\n }\n };\n })(this));\n });\n this.animationFrame.add((function(_this) {\n return function() {\n lightboxContent.show();\n return defered.resolve();\n };\n })(this));\n docEl = angular.element(document);\n docEl.on(\"keydown.lightbox\", (function(_this) {\n return function(e) {\n var code;\n code = e.keyCode ? e.keyCode : e.which;\n if (code === 27) {\n if (onEsc) {\n return _this.rootScope.$applyAsync(onEsc);\n } else {\n return _this.close($el);\n }\n }\n };\n })(this));\n return defered.promise;\n };\n\n LightboxService.prototype.close = function($el) {\n return new Promise((function(_this) {\n return function(resolve) {\n var docEl, scope;\n if (_.isString($el)) {\n $el = $($el);\n }\n docEl = angular.element(document);\n docEl.off(\".lightbox\");\n docEl.off(\".keyboard-navigation\");\n $el.addClass('close-started');\n _this.animationFrame.add(function() {\n $el.addClass('close');\n return $el.one(\"transitionend\", function() {\n $el.removeAttr('style');\n $el.removeClass(\"open\").removeClass('close').removeClass('close-started');\n if (_this.onClose) {\n _this.rootScope.$apply(_this.onClose);\n }\n return resolve();\n });\n });\n if ($el.hasClass(\"remove-on-close\")) {\n scope = $el.data(\"scope\");\n if (scope) {\n scope.$destroy();\n }\n return $el.remove();\n }\n };\n })(this));\n };\n\n LightboxService.prototype.getLightboxOpen = function() {\n return $(\".lightbox.open:not(.close-started)\");\n };\n\n LightboxService.prototype.closeAll = function() {\n var docEl, i, len, lightboxEl, ref, results;\n docEl = angular.element(document);\n ref = docEl.find(\".lightbox.open\");\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n lightboxEl = ref[i];\n results.push(this.close($(lightboxEl)));\n }\n return results;\n };\n\n return LightboxService;\n\n })(taiga.Service);\n\n module.service(\"lightboxService\", [\"animationFrame\", \"$q\", \"$rootScope\", LightboxService]);\n\n LightboxKeyboardNavigationService = (function(superClass) {\n extend(LightboxKeyboardNavigationService, superClass);\n\n function LightboxKeyboardNavigationService() {\n return LightboxKeyboardNavigationService.__super__.constructor.apply(this, arguments);\n }\n\n LightboxKeyboardNavigationService.prototype.stop = function() {\n var docEl;\n docEl = angular.element(document);\n return docEl.off(\".keyboard-navigation\");\n };\n\n LightboxKeyboardNavigationService.prototype.dispatch = function($el, code) {\n var activeElement, next, prev;\n activeElement = $el.find(\".selected\");\n if (code === 13) {\n if ($el.find(\".user-list-single\").length === 1) {\n return $el.find('.user-list-single:first').trigger(\"click\");\n } else {\n return activeElement.trigger(\"click\");\n }\n } else if (code === 40) {\n if (!activeElement.length) {\n return $el.find('.user-list-single:not(\".is-active\"):first').addClass('selected');\n } else {\n next = activeElement.next('.user-list-single');\n if (next.length) {\n activeElement.removeClass('selected');\n return next.addClass('selected');\n }\n }\n } else if (code === 38) {\n if (!activeElement.length) {\n return $el.find('.user-list-single:last').addClass('selected');\n } else {\n prev = activeElement.prev('.user-list-single:not(\".is-active\")');\n if (prev.length) {\n activeElement.removeClass('selected');\n return prev.addClass('selected');\n }\n }\n }\n };\n\n LightboxKeyboardNavigationService.prototype.init = function($el) {\n var docEl;\n this.stop();\n docEl = angular.element(document);\n return docEl.on(\"keydown.keyboard-navigation\", (function(_this) {\n return function(event) {\n var code;\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 40 || code === 38 || code === 13) {\n event.preventDefault();\n return _this.dispatch($el, code);\n }\n };\n })(this));\n };\n\n return LightboxKeyboardNavigationService;\n\n })(taiga.Service);\n\n module.service(\"lightboxKeyboardNavigationService\", LightboxKeyboardNavigationService);\n\n LightboxDirective = function(lightboxService) {\n var link;\n link = function($scope, $el, $attrs) {\n if (!$attrs.$attr.visible) {\n return $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n }\n };\n return {\n restrict: \"C\",\n link: link\n };\n };\n\n module.directive(\"lightbox\", [\"lightboxService\", LightboxDirective]);\n\n BlockLightboxDirective = function($rootscope, $tgrepo, $confirm, lightboxService, $loading, $modelTransform, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var block, title, unblock;\n title = $translate.instant($attrs.title);\n $el.find(\"h2.title\").text(title);\n unblock = (function(_this) {\n return function(finishCallback) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.is_blocked = false;\n item.blocked_note = \"\";\n return item;\n });\n transform.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"object:updated\");\n return finishCallback();\n });\n transform.then(null, function() {\n $confirm.notify(\"error\");\n return item.revert();\n });\n transform[\"finally\"](function() {\n return finishCallback();\n });\n return transform;\n };\n })(this);\n block = function() {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\".button-green\")).start();\n transform = $modelTransform.save(function(item) {\n item.is_blocked = true;\n item.blocked_note = $el.find(\".reason\").val();\n return item;\n });\n transform.then(function() {\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](function() {\n currentLoading.finish();\n return lightboxService.close($el);\n });\n };\n $scope.$on(\"block\", function() {\n $el.find(\".reason\").val($model.$modelValue.blocked_note);\n return lightboxService.open($el);\n });\n $scope.$on(\"unblock\", (function(_this) {\n return function(event, model, finishCallback) {\n return unblock(finishCallback);\n };\n })(this));\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return block();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-block.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbBlock\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"lightboxService\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$translate\", BlockLightboxDirective]);\n\n BlockingMessageInputDirective = function($log, $template, $compile) {\n var link, template, templateFn;\n template = $template.get(\"common/lightbox/lightbox-blocking-message-input.html\", true);\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.watch) {\n return $log.error(\"No watch attribute on tg-blocking-message-input directive\");\n }\n return $scope.$watch($attrs.watch, function(value) {\n if (value === !void 0 && value === true) {\n return $el.find(\".blocked-note\").removeClass(\"hidden\");\n } else {\n return $el.find(\".blocked-note\").addClass(\"hidden\");\n }\n });\n };\n templateFn = function($el, $attrs) {\n return template({\n ngmodel: $attrs.ngModel\n });\n };\n return {\n template: templateFn,\n link: link,\n require: \"ngModel\",\n restrict: \"EA\"\n };\n };\n\n module.directive(\"tgBlockingMessageInput\", [\"$log\", \"$tgTemplate\", \"$compile\", BlockingMessageInputDirective]);\n\n CreateEditUserstoryDirective = function($repo, $model, $rs, $rootScope, lightboxService, $loading, $translate, $confirm, $q, attachmentsService) {\n var link;\n link = function($scope, $el, attrs) {\n var attachmentsToAdd, attachmentsToDelete, createAttachments, deleteAttachments, form, resetAttachments, submit, submitButton;\n form = null;\n $scope.createEditUs = {};\n $scope.isNew = true;\n attachmentsToAdd = Immutable.List();\n attachmentsToDelete = Immutable.List();\n resetAttachments = function() {\n attachmentsToAdd = Immutable.List();\n return attachmentsToDelete = Immutable.List();\n };\n $scope.addAttachment = function(attachment) {\n return attachmentsToAdd = attachmentsToAdd.push(attachment);\n };\n $scope.deleteAttachment = function(attachment) {\n attachmentsToAdd = attachmentsToAdd.filter(function(it) {\n return it.get('name') !== attachment.get('name');\n });\n if (attachment.get(\"id\")) {\n return attachmentsToDelete = attachmentsToDelete.push(attachment);\n }\n };\n $scope.addTag = function(tag, color) {\n var inserted, itemtags, projectTags, tags, value;\n value = trim(tag.toLowerCase());\n tags = $scope.project.tags;\n projectTags = $scope.project.tags_colors;\n if (tags == null) {\n tags = [];\n }\n if (projectTags == null) {\n projectTags = {};\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n projectTags[tag] = color || null;\n $scope.project.tags = tags;\n itemtags = _.clone($scope.us.tags);\n inserted = _.find(itemtags, function(it) {\n return it[0] === value;\n });\n if (!inserted) {\n itemtags.push([value, color]);\n return $scope.us.tags = itemtags;\n }\n };\n $scope.deleteTag = function(tag) {\n var itemtags, tags, value;\n value = trim(tag[0].toLowerCase());\n tags = $scope.project.tags;\n itemtags = _.clone($scope.us.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === value;\n });\n $scope.us.tags = itemtags;\n return _.pull($scope.us.tags, value);\n };\n $scope.$on(\"usform:new\", function(ctx, projectId, status, statusList) {\n if (form) {\n form.reset();\n }\n $scope.isNew = true;\n $scope.usStatusList = statusList;\n $scope.attachments = Immutable.List();\n resetAttachments();\n $scope.us = $model.make_model(\"userstories\", {\n project: projectId,\n points: {},\n status: status,\n is_archived: false,\n tags: []\n });\n $el.find(\".button-green\").html($translate.instant(\"COMMON.CREATE\"));\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.NEW_US\"));\n $el.find(\".tag-input\").val(\"\");\n $el.find(\".blocked-note\").addClass(\"hidden\");\n $el.find(\"label.blocked\").removeClass(\"selected\");\n $el.find(\"label.team-requirement\").removeClass(\"selected\");\n $el.find(\"label.client-requirement\").removeClass(\"selected\");\n $scope.createEditUsOpen = true;\n return lightboxService.open($el, function() {\n return $scope.createEditUsOpen = false;\n });\n });\n $scope.$on(\"usform:edit\", function(ctx, us, attachments) {\n if (form) {\n form.reset();\n }\n $scope.us = us;\n $scope.attachments = Immutable.fromJS(attachments);\n $scope.isNew = false;\n resetAttachments();\n $el.find(\".button-green\").html($translate.instant(\"COMMON.SAVE\"));\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.EDIT_US\"));\n $el.find(\".tag-input\").val(\"\");\n if (us.is_blocked) {\n $el.find(\".blocked-note\").removeClass(\"hidden\");\n $el.find(\"label.blocked\").addClass(\"selected\");\n } else {\n $el.find(\".blocked-note\").addClass(\"hidden\");\n $el.find(\"label.blocked\").removeClass(\"selected\");\n }\n if (us.team_requirement) {\n $el.find(\"label.team-requirement\").addClass(\"selected\");\n } else {\n $el.find(\"label.team-requirement\").removeClass(\"selected\");\n }\n if (us.client_requirement) {\n $el.find(\"label.client-requirement\").addClass(\"selected\");\n } else {\n $el.find(\"label.client-requirement\").removeClass(\"selected\");\n }\n $scope.createEditUsOpen = true;\n return lightboxService.open($el, function() {\n return $scope.createEditUsOpen = false;\n });\n });\n createAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToAdd.toJS(), function(attachment) {\n return attachmentsService.upload(attachment.file, obj.id, $scope.us.project, 'us');\n });\n return $q.all(promises);\n };\n deleteAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToDelete.toJS(), function(attachment) {\n return attachmentsService[\"delete\"](\"us\", attachment.id);\n });\n return $q.all(promises);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var broadcastEvent, currentLoading, params, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n params = {\n include_attachments: true,\n include_tasks: true\n };\n if ($scope.isNew) {\n promise = $repo.create(\"userstories\", $scope.us);\n broadcastEvent = \"usform:new:success\";\n } else {\n promise = $repo.save($scope.us, true);\n broadcastEvent = \"usform:edit:success\";\n }\n promise.then(function(data) {\n return deleteAttachments(data).then((function(_this) {\n return function() {\n return createAttachments(data);\n };\n })(this)).then((function(_this) {\n return function() {\n currentLoading.finish();\n lightboxService.close($el);\n return $rs.userstories.getByRef(data.project, data.ref, params).then(function(us) {\n return $rootScope.$broadcast(broadcastEvent, us);\n });\n };\n })(this));\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n $scope.$apply(function() {\n return $scope.us.revert();\n });\n return lightboxService.close($el);\n });\n $el.keydown(function(event) {\n var code;\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 27) {\n lightboxService.close($el);\n return $scope.$apply(function() {\n return $scope.us.revert();\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateEditUserstory\", [\"$tgRepo\", \"$tgModel\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$translate\", \"$tgConfirm\", \"$q\", \"tgAttachmentsService\", CreateEditUserstoryDirective]);\n\n CreateBulkUserstoriesDirective = function($repo, $rs, $rootscope, lightboxService, $loading, $model) {\n var link;\n link = function($scope, $el, attrs) {\n var form, submit, submitButton;\n form = null;\n $scope.$on(\"usform:bulk\", function(ctx, projectId, status) {\n if (form) {\n form.reset();\n }\n $scope[\"new\"] = {\n projectId: projectId,\n statusId: status,\n bulk: \"\"\n };\n return lightboxService.open($el);\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $rs.userstories.bulkCreate($scope[\"new\"].projectId, $scope[\"new\"].statusId, $scope[\"new\"].bulk);\n promise.then(function(result) {\n result = _.map(result.data, (function(_this) {\n return function(x) {\n return $model.make_model('userstories', x);\n };\n })(this));\n currentLoading.finish();\n $rootscope.$broadcast(\"usform:bulk:success\", result);\n return lightboxService.close($el);\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateBulkUserstories\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$tgModel\", CreateBulkUserstoriesDirective]);\n\n AssignedToLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, filterUsers, normalizeString, render, selectedItem, selectedUser, usersTemplate;\n selectedUser = null;\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true);\n normalizeString = function(string) {\n var normalizedString;\n normalizedString = string;\n normalizedString = normalizedString.replace(\"Á\", \"A\").replace(\"Ä\", \"A\").replace(\"À\", \"A\");\n normalizedString = normalizedString.replace(\"É\", \"E\").replace(\"Ë\", \"E\").replace(\"È\", \"E\");\n normalizedString = normalizedString.replace(\"Í\", \"I\").replace(\"Ï\", \"I\").replace(\"Ì\", \"I\");\n normalizedString = normalizedString.replace(\"Ó\", \"O\").replace(\"Ö\", \"O\").replace(\"Ò\", \"O\");\n normalizedString = normalizedString.replace(\"Ú\", \"U\").replace(\"Ü\", \"U\").replace(\"Ù\", \"U\");\n return normalizedString;\n };\n filterUsers = function(text, user) {\n var username;\n username = user.full_name_display.toUpperCase();\n username = normalizeString(username);\n text = text.toUpperCase();\n text = normalizeString(text);\n return _.includes(username, text);\n };\n render = function(selected, text) {\n var ctx, html, users, visibleUsers;\n users = _.clone($scope.activeUsers, true);\n if (selected != null) {\n users = _.reject(users, {\n \"id\": selected.id\n });\n }\n users = _.sortBy(users, function(o) {\n if (o.id === $scope.user.id) {\n return 0;\n } else {\n return o.id;\n }\n });\n if (text != null) {\n users = _.filter(users, _.partial(filterUsers, text));\n }\n visibleUsers = _.slice(users, 0, 5);\n visibleUsers = _.map(visibleUsers, function(user) {\n return user.avatar = avatarService.getAvatar(user);\n });\n if (selected) {\n if (selected) {\n selected.avatar = avatarService.getAvatar(selected);\n }\n }\n ctx = {\n selected: selected,\n users: _.slice(users, 0, 5),\n showMore: users.length > 5\n };\n html = usersTemplate(ctx);\n html = $compile(html)($scope);\n return $el.find(\".assigned-to-list\").html(html);\n };\n closeLightbox = function() {\n lightboxKeyboardNavigationService.stop();\n return lightboxService.close($el);\n };\n $scope.$on(\"assigned-to:add\", function(ctx, item) {\n var assignedToId;\n selectedItem = item;\n assignedToId = item.assigned_to;\n selectedUser = $scope.usersById[assignedToId];\n render(selectedUser);\n return lightboxService.open($el).then(function() {\n $el.find('input').focus();\n return lightboxKeyboardNavigationService.init($el);\n });\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n if (searchingText != null) {\n render(selectedUser, searchingText);\n return $el.find('input').focus();\n }\n });\n $el.on(\"click\", \".user-list-single\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n closeLightbox();\n return $scope.$apply(function() {\n $scope.$broadcast(\"assigned-to:added\", target.data(\"user-id\"), selectedItem);\n return $scope.usersSearch = null;\n });\n });\n $el.on(\"click\", \".remove-assigned-to\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n closeLightbox();\n return $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"assigned-to:added\", null, selectedItem);\n });\n });\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n closeLightbox();\n return $scope.$apply(function() {\n return $scope.usersSearch = null;\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-to.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbAssignedto\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", AssignedToLightboxDirective]);\n\n WatchersLightboxDirective = function($repo, lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, getFilteredUsers, render, selectedItem, usersTemplate;\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true);\n getFilteredUsers = function(text) {\n var _filterUsers, users;\n if (text == null) {\n text = \"\";\n }\n _filterUsers = function(text, user) {\n var username;\n if (selectedItem && _.find(selectedItem.watchers, function(x) {\n return x === user.id;\n })) {\n return false;\n }\n username = user.full_name_display.toUpperCase();\n text = text.toUpperCase();\n return _.includes(username, text);\n };\n users = _.clone($scope.activeUsers, true);\n users = _.filter(users, _.partial(_filterUsers, text));\n return users;\n };\n render = function(users) {\n var ctx, html, visibleUsers;\n visibleUsers = _.slice(users, 0, 5);\n visibleUsers = _.map(visibleUsers, function(user) {\n user.avatar = avatarService.getAvatar(user);\n return user;\n });\n ctx = {\n selected: false,\n users: visibleUsers,\n showMore: users.length > 5\n };\n html = usersTemplate(ctx);\n html = $compile(html)($scope);\n return $el.find(\".ticket-watchers\").html(html);\n };\n closeLightbox = function() {\n lightboxKeyboardNavigationService.stop();\n return lightboxService.close($el);\n };\n $scope.$on(\"watcher:add\", function(ctx, item) {\n var users;\n selectedItem = item;\n users = getFilteredUsers();\n render(users);\n return lightboxService.open($el).then(function() {\n $el.find(\"input\").focus();\n return lightboxKeyboardNavigationService.init($el);\n });\n });\n $scope.$watch(\"usersSearch\", function(searchingText) {\n var users;\n if (searchingText == null) {\n return;\n }\n users = getFilteredUsers(searchingText);\n render(users);\n return $el.find(\"input\").focus();\n });\n $el.on(\"click\", \".user-list-single\", debounce(200, function(event) {\n var target;\n closeLightbox();\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"watcher:added\", target.data(\"user-id\"));\n });\n }));\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n closeLightbox();\n return $scope.$apply(function() {\n return $scope.usersSearch = null;\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-users.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbWatchers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", WatchersLightboxDirective]);\n\n LightboxLeaveProjectWarningDirective = function(lightboxService, $template, $compile) {\n var link;\n link = function($scope, $el, attrs) {\n return lightboxService.open($el);\n };\n return {\n templateUrl: 'common/lightbox/lightbox-leave-project-warning.html',\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgLightboxLeaveProjectWarning\", [\"lightboxService\", LightboxLeaveProjectWarningDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/loader.coffee\n */\n\n(function() {\n var Loader, LoaderDirective, module, sizeFormat, taiga, timeout;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaCommon\");\n\n LoaderDirective = function(tgLoader, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n tgLoader.onStart(function() {\n $(document.body).addClass(\"loader-active\");\n return $el.addClass(\"active\");\n });\n return tgLoader.onEnd(function() {\n $(document.body).removeClass(\"loader-active\");\n return $el.removeClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective]);\n\n Loader = function($rootscope) {\n var autoClose, config, lastResponseDate, open, pageLoaded, requestCount, start, startLoadTime;\n config = {\n minTime: 300\n };\n open = false;\n startLoadTime = 0;\n requestCount = 0;\n lastResponseDate = 0;\n pageLoaded = function(force) {\n var diff, endTime, timeoutValue;\n if (force == null) {\n force = false;\n }\n if (startLoadTime) {\n timeoutValue = 0;\n if (!force) {\n endTime = new Date().getTime();\n diff = endTime - startLoadTime;\n if (diff < config.minTime) {\n timeoutValue = config.minTime - diff;\n }\n }\n timeout(timeoutValue, function() {\n $rootscope.$broadcast(\"loader:end\");\n open = false;\n return window.prerenderReady = true;\n });\n }\n startLoadTime = 0;\n requestCount = 0;\n return lastResponseDate = 0;\n };\n autoClose = function() {\n var intervalAuto;\n return intervalAuto = setInterval((function() {\n if (lastResponseDate && requestCount === 0) {\n pageLoaded();\n return clearInterval(intervalAuto);\n }\n }), 50);\n };\n start = function() {\n startLoadTime = new Date().getTime();\n $rootscope.$broadcast(\"loader:start\");\n return open = true;\n };\n return {\n pageLoaded: pageLoaded,\n open: function() {\n return open;\n },\n start: function(auto) {\n if (auto == null) {\n auto = false;\n }\n if (!open) {\n start();\n if (auto) {\n return autoClose();\n }\n }\n },\n onStart: function(fn) {\n return $rootscope.$on(\"loader:start\", fn);\n },\n onEnd: function(fn) {\n return $rootscope.$on(\"loader:end\", fn);\n },\n logRequest: function() {\n return requestCount++;\n },\n logResponse: function() {\n requestCount--;\n return lastResponseDate = new Date().getTime();\n }\n };\n };\n\n Loader.$inject = [\"$rootScope\"];\n\n module.factory(\"tgLoader\", Loader);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/lightboxes.coffee\n */\n\n(function() {\n var LoadingDirective, TgLoadingService, module,\n slice = [].slice;\n\n module = angular.module(\"taigaCommon\");\n\n TgLoadingService = function($compile) {\n var spinner;\n spinner = \"\";\n return function() {\n var service;\n service = {\n settings: {\n target: null,\n scope: null,\n classes: [],\n timeout: 0,\n template: null\n },\n target: function(target) {\n service.settings.target = target;\n return service;\n },\n scope: function(scope) {\n service.settings.scope = scope;\n return service;\n },\n template: function(template) {\n service.settings.template = template;\n return service;\n },\n removeClasses: function() {\n var classess;\n classess = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n service.settings.classes = classess;\n return service;\n },\n timeout: function(timeout) {\n service.settings.timeout = timeout;\n return service;\n },\n start: function() {\n var target, timeoutId;\n target = service.settings.target;\n service.settings.classes.map(function(className) {\n return target.removeClass(className);\n });\n if (!target.hasClass('loading') && !service.settings.template) {\n service.settings.template = target.html();\n }\n timeoutId = setTimeout((function() {\n if (!target.hasClass('loading')) {\n target.addClass('loading');\n return target.html(spinner);\n }\n }), service.settings.timeout);\n service.settings.timeoutId = timeoutId;\n return service;\n },\n finish: function() {\n var removeClasses, target, timeoutId;\n target = service.settings.target;\n timeoutId = service.settings.timeoutId;\n if (timeoutId) {\n clearTimeout(timeoutId);\n removeClasses = service.settings.classes;\n removeClasses.map(function(className) {\n return service.settings.target.addClass(className);\n });\n target.html(service.settings.template);\n target.removeClass('loading');\n if (service.settings.scope) {\n $compile(target.contents())(service.settings.scope);\n }\n }\n return service;\n }\n };\n return service;\n };\n };\n\n TgLoadingService.$inject = [\"$compile\"];\n\n module.factory(\"$tgLoading\", TgLoadingService);\n\n LoadingDirective = function($loading) {\n var link;\n link = function($scope, $el, attr) {\n var currentLoading, template;\n currentLoading = null;\n template = $el.html();\n return $scope.$watch(attr.tgLoading, (function(_this) {\n return function(showLoading) {\n if (showLoading) {\n return currentLoading = $loading().target($el).timeout(100).template(template).scope($scope).start();\n } else if (currentLoading) {\n return currentLoading.finish();\n }\n };\n })(this));\n };\n return {\n priority: 99999,\n link: link\n };\n };\n\n module.directive(\"tgLoading\", [\"$tgLoading\", LoadingDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/popovers.coffee\n */\n\n(function() {\n var RelatedTaskStatusDirective, UsStatusDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaCommon\");\n\n UsStatusDirective = function($repo, $template) {\n\n /*\n Print the status of a US and a popover to change it.\n - tg-us-status: The user story\n - on-update: Method call after US is updated\n \n Example:\n \n div.status(tg-us-status=\"us\" on-update=\"ctrl.loadSprintState()\")\n a.us-status(href=\"\", title=\"Status Name\")\n \n NOTE: This directive need 'usStatusById' and 'project'.\n */\n var link, template;\n template = $template.get(\"common/popover/popover-us-status.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, render, us;\n $ctrl = $el.controller();\n render = function(us) {\n var usStatusById, usStatusDom, usStatusDomParent;\n usStatusDomParent = $el.find(\".us-status\");\n usStatusDom = $el.find(\".us-status .us-status-bind\");\n usStatusById = $scope.usStatusById;\n if (usStatusById[us.status]) {\n usStatusDom.text(usStatusById[us.status].name);\n return usStatusDomParent.css(\"color\", usStatusById[us.status].color);\n }\n };\n $el.on(\"click\", \".us-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgUsStatus);\n us.status = target.data(\"status-id\");\n render(us);\n $el.find(\".pop-status\").popover().close();\n return $scope.$apply(function() {\n return $repo.save(us).then(function() {\n return $scope.$eval($attrs.onUpdate);\n });\n });\n }));\n $scope.$on(\"userstories:loaded\", function() {\n return render($scope.$eval($attrs.tgUsStatus));\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n us = $scope.$eval($attrs.tgUsStatus);\n render(us);\n return bindOnce($scope, \"project\", function(project) {\n var html;\n html = template({\n \"statuses\": project.us_statuses\n });\n $el.append(html);\n if ($scope.project.my_permissions.indexOf(\"modify_us\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective]);\n\n RelatedTaskStatusDirective = function($repo, $template) {\n\n /*\n Print the status of a related task and a popover to change it.\n - tg-related-task-status: The related task\n - on-update: Method call after US is updated\n \n Example:\n \n div.status(tg-related-task-status=\"task\" on-update=\"ctrl.loadSprintState()\")\n a.task-status(href=\"\", title=\"Status Name\")\n \n NOTE: This directive need 'taskStatusById' and 'project'.\n */\n var link, selectionTemplate, updateTaskStatus;\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true);\n updateTaskStatus = function($el, task, taskStatusById) {\n var taskStatusDom, taskStatusDomParent;\n taskStatusDomParent = $el.find(\".us-status\");\n taskStatusDom = $el.find(\".task-status .task-status-bind\");\n if (taskStatusById[task.status]) {\n taskStatusDom.text(taskStatusById[task.status].name);\n return taskStatusDomParent.css('color', taskStatusById[task.status].color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task;\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $el.on(\"click\", \".task-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n task.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (autoSave) {\n return $scope.$apply(function() {\n return $repo.save(task).then(function() {\n $scope.$eval($attrs.onUpdate);\n return $scope.$emit(\"related-tasks:status-changed\");\n });\n });\n }\n }));\n $scope.$watch($attrs.tgRelatedTaskStatus, function() {\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n return updateTaskStatus($el, task, $scope.taskStatusById);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.task_statuses\n }));\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective]);\n\n $.fn.popover = function() {\n var $el, close, closeAll, closePopover, isVisible, open;\n $el = this;\n isVisible = (function(_this) {\n return function() {\n var docViewBottom, docViewLeft, docViewRight, docViewTop, docViewWidth, elemBottom, elemLeft, elemRight, elemTop, elemWidth;\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n });\n docViewTop = $(window).scrollTop();\n docViewBottom = docViewTop + $(window).height();\n docViewWidth = $(window).width();\n docViewRight = docViewWidth;\n docViewLeft = 0;\n elemTop = $el.offset().top;\n elemBottom = elemTop + $el.height();\n elemWidth = $el.width();\n elemLeft = $el.offset().left;\n elemRight = $el.offset().left + elemWidth;\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n });\n return (elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight);\n };\n })(this);\n closePopover = (function(_this) {\n return function(onClose) {\n if (onClose) {\n onClose.call($el);\n }\n $el.fadeOut(function() {\n return $el.removeClass(\"active\").removeClass(\"fix\");\n });\n return $el.off(\"popup:close\");\n };\n })(this);\n closeAll = (function(_this) {\n return function() {\n return $(\".popover.active\").each(function() {\n return $(this).trigger(\"popup:close\");\n });\n };\n })(this);\n open = (function(_this) {\n return function(onClose) {\n if ($el.hasClass(\"active\")) {\n return close();\n } else {\n closeAll();\n if (!isVisible()) {\n $el.addClass(\"fix\");\n }\n $el.fadeIn(function() {\n $el.addClass(\"active\");\n $(document.body).off(\"popover\");\n return $(document.body).one(\"click.popover\", function() {\n return closeAll();\n });\n });\n return $el.on(\"popup:close\", function(e) {\n return closePopover(onClose);\n });\n }\n };\n })(this);\n close = (function(_this) {\n return function() {\n return $el.trigger(\"popup:close\");\n };\n })(this);\n return {\n open: open,\n close: close,\n closeAll: closeAll\n };\n };\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/raven-logger.coffee\n */\n\n(function() {\n var ExceptionHandlerFactory, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n ExceptionHandlerFactory = function($log, config) {\n var ravenConfig;\n this.config = config;\n ravenConfig = this.config.get(\"ravenConfig\", null);\n if (ravenConfig) {\n $log.debug(\"Using the RavenJS exception handler.\");\n Raven.config(ravenConfig).install();\n return function(exception, cause) {\n $log.error.apply($log, arguments);\n return Raven.captureException(exception);\n };\n } else {\n $log.debug(\"Using the default logging exception handler.\");\n return function(exception, cause) {\n return $log.error.apply($log, arguments);\n };\n }\n };\n\n module.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/common/tags.coffee\n */\n\n(function() {\n var ColorizeTagsBacklogDirective, LbTagLineDirective, TagsDirective, bindOnce, module, taiga, trim,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n TagsDirective = function() {\n var formatter, link, parser;\n formatter = function(v) {\n if (_.isArray(v)) {\n return v.join(\", \");\n }\n return \"\";\n };\n parser = function(v) {\n var result;\n if (!v) {\n return [];\n }\n result = _(v.split(\",\")).map(function(x) {\n return _.trim(x);\n });\n return result.value();\n };\n link = function($scope, $el, $attrs, $ctrl) {\n $ctrl.$formatters.push(formatter);\n $ctrl.$parsers.push(parser);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n require: \"ngModel\",\n link: link\n };\n };\n\n module.directive(\"tgTags\", TagsDirective);\n\n ColorizeTagsBacklogDirective = function() {\n var link, template;\n template = _.template(\"<% _.each(tags, function(tag) { %>\\n <% if (tag[1] !== null) { %>\\n \\\"\\n title=\\\"<%- tag[0] %>\\\">\\n <%- tag[0] %>\\n \\n <% } %>\\n<% }) %>\\n<% _.each(tags, function(tag) { %>\\n <% if (tag[1] === null) { %>\\n \\\">\\n <%- tag[0] %>\\n \\n <% } %>\\n<% }) %>\");\n link = function($scope, $el, $attrs, $ctrl) {\n var render;\n render = function(tags) {\n var html;\n html = template({\n tags: tags\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.tgColorizeBacklogTags, function(tags) {\n if (tags != null) {\n return render(tags);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgColorizeBacklogTags\", ColorizeTagsBacklogDirective);\n\n LbTagLineDirective = function($rs, $template, $compile) {\n var COMMA_KEY, ENTER_KEY, autocomplete, link, templateTags;\n ENTER_KEY = 13;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true);\n autocomplete = null;\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideSaveButton, renderTags, resetInput, saveInputTag, showSaveButton, withoutColors;\n withoutColors = _.has($attrs, \"withoutColors\");\n renderTags = function(tags, tagsColors) {\n var color, ctx, html;\n if (tagsColors == null) {\n tagsColors = [];\n }\n color = !withoutColors ? tagsColors[t] : null;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n style: color ? \"border-left: 5px solid \" + color : \"\"\n };\n })\n };\n html = $compile(templateTags(ctx))($scope);\n return $el.find(\".tags-container\").html(html);\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return autocomplete.close();\n };\n addValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n return hideSaveButton();\n };\n deleteValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n tags = _.pull(tags, value);\n return $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n };\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n $el.on(\"keypress\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n event.preventDefault();\n return saveInputTag();\n } else if (String.fromCharCode(event.keyCode) === ',') {\n event.preventDefault();\n return saveInputTag();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".remove-tag\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var input;\n input = $el.find(\"input\");\n autocomplete = new Awesomplete(input[0], {\n list: _.keys(project.tags_colors)\n });\n return input.on(\"awesomplete-selectcomplete\", function() {\n addValue(input.val());\n return input.val(\"\");\n });\n });\n $scope.$watch($attrs.ngModel, function(tags) {\n var ref, tagsColors;\n tagsColors = ((ref = $scope.project) != null ? ref.tags_colors : void 0) || [];\n return renderTags(tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/lb-tag-line.html\"\n };\n };\n\n module.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", \"$compile\", LbTagLineDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/lightboxes.coffee\n */\n\n(function() {\n var CreateEditSprint, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaBacklog\");\n\n CreateEditSprint = function($repo, $confirm, $rs, $rootscope, lightboxService, $loading, $translate) {\n var link;\n link = function($scope, $el, attrs) {\n var createSprint, form, getLastSprint, hasErrors, remove, resetSprint, submit, ussToAdd;\n hasErrors = false;\n createSprint = true;\n form = null;\n $scope.newSprint = {};\n ussToAdd = null;\n resetSprint = function() {\n if (form) {\n form.reset();\n }\n return $scope.newSprint = {\n project: null,\n name: null,\n estimated_start: null,\n estimated_finish: null\n };\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var broadcastEvent, currentLoading, estimated_end, estimated_start, newSprint, prettyDate, promise, submitButton, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n submitButton = $el.find(\".submit-button\");\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n hasErrors = true;\n $el.find(\".last-sprint-name\").addClass(\"disappear\");\n return;\n }\n hasErrors = false;\n broadcastEvent = null;\n estimated_start = $('.date-start').val();\n estimated_end = $('.date-end').val();\n if (createSprint) {\n newSprint = angular.copy($scope.newSprint);\n newSprint.estimated_start = moment(estimated_start, prettyDate).format(\"YYYY-MM-DD\");\n newSprint.estimated_finish = moment(estimated_end, prettyDate).format(\"YYYY-MM-DD\");\n promise = $repo.create(\"milestones\", newSprint);\n broadcastEvent = \"sprintform:create:success\";\n } else {\n newSprint = $scope.newSprint.realClone();\n newSprint.estimated_start = moment(estimated_start, prettyDate).format(\"YYYY-MM-DD\");\n newSprint.estimated_finish = moment(estimated_end, prettyDate).format(\"YYYY-MM-DD\");\n promise = $repo.save(newSprint);\n broadcastEvent = \"sprintform:edit:success\";\n }\n currentLoading = $loading().target(submitButton).start();\n promise.then(function(data) {\n currentLoading.finish();\n if (createSprint) {\n $scope.sprintsCounter += 1;\n }\n $scope.sprints = _.map($scope.sprints, function(it) {\n if (it.id === data.id) {\n return data;\n } else {\n return it;\n }\n });\n if (broadcastEvent === \"sprintform:create:success\" && ussToAdd) {\n $rootscope.$broadcast(broadcastEvent, data, ussToAdd);\n } else {\n $rootscope.$broadcast(broadcastEvent, data);\n }\n return lightboxService.close($el);\n });\n return promise.then(null, function(data) {\n currentLoading.finish();\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"light-error\", data._error_message);\n } else if (data.__all__) {\n return $confirm.notify(\"light-error\", data.__all__[0]);\n }\n });\n };\n })(this));\n remove = function() {\n var message, title;\n title = $translate.instant(\"LIGHTBOX.DELETE_SPRINT.TITLE\");\n message = $scope.newSprint.name;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onSuccess = function() {\n askResponse.finish();\n $scope.milestonesCounter -= 1;\n lightboxService.close($el);\n return $rootscope.$broadcast(\"sprintform:remove:success\", $scope.newSprint);\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove($scope.newSprint).then(onSuccess, onError);\n };\n })(this));\n };\n getLastSprint = function() {\n var openSprints, sortedSprints;\n openSprints = _.filter($scope.sprints, function(sprint) {\n return !sprint.closed;\n });\n sortedSprints = _.sortBy(openSprints, function(sprint) {\n return moment(sprint.estimated_finish, 'YYYY-MM-DD').format('X');\n });\n return sortedSprints[sortedSprints.length - 1];\n };\n $scope.$on(\"sprintform:create\", function(event, projectId, uss) {\n var estimatedFinish, estimatedStart, lastSprint, lastSprintNameDom, prettyDate, text;\n ussToAdd = uss;\n resetSprint();\n form = $el.find(\"form\").checksley();\n form.reset();\n createSprint = true;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n $scope.newSprint.project = projectId;\n $scope.newSprint.name = null;\n $scope.newSprint.slug = null;\n lastSprint = getLastSprint();\n estimatedStart = moment();\n if (lastSprint) {\n estimatedStart = moment(lastSprint.estimated_finish);\n } else if ($scope.newSprint.estimated_start) {\n estimatedStart = moment($scope.newSprint.estimated_start);\n }\n $scope.newSprint.estimated_start = estimatedStart.format(prettyDate);\n estimatedFinish = moment().add(2, \"weeks\");\n if (lastSprint) {\n estimatedFinish = moment(lastSprint.estimated_finish).add(2, \"weeks\");\n } else if ($scope.newSprint.estimated_finish) {\n estimatedFinish = moment($scope.newSprint.estimated_finish);\n }\n $scope.newSprint.estimated_finish = estimatedFinish.format(prettyDate);\n lastSprintNameDom = $el.find(\".last-sprint-name\");\n if ((lastSprint != null ? lastSprint.name : void 0) != null) {\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME\", {\n lastSprint: lastSprint.name\n });\n lastSprintNameDom.html(text);\n }\n $el.find(\".delete-sprint\").addClass(\"hidden\");\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.TITLE\");\n $el.find(\".title\").text(text);\n text = $translate.instant(\"COMMON.CREATE\");\n $el.find(\".button-green\").text(text);\n lightboxService.open($el);\n $el.find(\".sprint-name\").focus();\n return $el.find(\".last-sprint-name\").removeClass(\"disappear\");\n });\n $scope.$on(\"sprintform:edit\", function(ctx, sprint) {\n var editSprint, prettyDate, save;\n resetSprint();\n createSprint = false;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n $scope.$apply(function() {\n $scope.newSprint = sprint.realClone();\n $scope.newSprint.estimated_start = moment($scope.newSprint.estimated_start).format(prettyDate);\n return $scope.newSprint.estimated_finish = moment($scope.newSprint.estimated_finish).format(prettyDate);\n });\n $el.find(\".delete-sprint\").removeClass(\"hidden\");\n editSprint = $translate.instant(\"BACKLOG.EDIT_SPRINT\");\n $el.find(\".title\").text(editSprint);\n save = $translate.instant(\"COMMON.SAVE\");\n $el.find(\".button-green\").text(save);\n lightboxService.open($el);\n $el.find(\".sprint-name\").focus().select();\n return $el.find(\".last-sprint-name\").addClass(\"disappear\");\n });\n $el.on(\"keyup\", \".sprint-name\", function(event) {\n if ($el.find(\".sprint-name\").val().length > 0 || hasErrors) {\n return $el.find(\".last-sprint-name\").addClass(\"disappear\");\n } else {\n return $el.find(\".last-sprint-name\").removeClass(\"disappear\");\n }\n });\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \".delete-sprint\", function(event) {\n event.preventDefault();\n return remove();\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return resetSprint();\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateEditSprint\", [\"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$translate\", CreateEditSprint]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/main.coffee\n */\n\n(function() {\n var BacklogController, BacklogDirective, BurndownBacklogGraphDirective, TgBacklogProgressBarDirective, ToggleBurndownVisibility, UsPointsDirective, UsRolePointsSelectorDirective, bindMethods, bindOnce, generateHash, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n generateHash = this.taiga.generateHash;\n\n module = angular.module(\"taigaBacklog\");\n\n BacklogController = (function(superClass) {\n extend(BacklogController, superClass);\n\n BacklogController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"$tgLoading\", \"tgResources\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\"];\n\n BacklogController.prototype.storeCustomFiltersName = 'backlog-custom-filters';\n\n BacklogController.prototype.storeFiltersName = 'backlog-filters';\n\n BacklogController.prototype.backlogOrder = {};\n\n BacklogController.prototype.milestonesOrder = {};\n\n function BacklogController(scope1, rootscope, repo, confirm, rs, params1, q, location, appMetaService, navUrls, events, analytics, translate, loading, rs2, modelTransform, errorHandlingService, storage, filterRemoteStorageService, projectService) {\n var promise;\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params1;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.loading = loading;\n this.rs2 = rs2;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService;\n bindMethods(this);\n this.backlogOrder = {};\n this.milestonesOrder = {};\n this.page = 1;\n this.disablePagination = false;\n this.firstLoadComplete = false;\n this.scope.userstories = [];\n if (this.applyStoredFilters(this.params.pslug, \"backlog-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"BACKLOG.SECTION_NAME\");\n this.showTags = false;\n this.activeFilters = false;\n this.scope.showGraphPlaceholder = null;\n this.displayVelocity = false;\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n _this.firstLoadComplete = true;\n title = _this.translate.instant(\"BACKLOG.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"BACKLOG.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n _this.appMetaService.setAll(title, description);\n if (_this.rs.userstories.getShowTags(_this.scope.projectId)) {\n _this.showTags = true;\n return _this.scope.$broadcast(\"showTags\", _this.showTags);\n }\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n BacklogController.prototype.filtersReloadContent = function() {\n return this.loadUserstories(true);\n };\n\n BacklogController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"usform:bulk:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:create:success\", (function(_this) {\n return function(e, data, ussToMove) {\n _this.loadSprints().then(function() {\n return _this.scope.$broadcast(\"sprintform:create:success:callback\", ussToMove);\n });\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"sprint\", \"create\", \"create sprint on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"usform:new:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.rootscope.$broadcast(\"filters:update\");\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:edit:success\", (function(_this) {\n return function() {\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"sprintform:remove:success\", (function(_this) {\n return function(event, sprint) {\n _this.loadSprints();\n _this.loadProjectStats();\n _this.loadUserstories(true);\n if (sprint.closed) {\n _this.loadClosedSprints();\n }\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"usform:edit:success\", (function(_this) {\n return function(event, data) {\n var index;\n index = _.findIndex(_this.scope.userstories, function(us) {\n return us.id === data.id;\n });\n _this.scope.userstories[index] = data;\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"sprint:us:move\", this.moveUs);\n this.scope.$on(\"sprint:us:moved\", (function(_this) {\n return function() {\n _this.loadSprints();\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"backlog:load-closed-sprints\", this.loadClosedSprints);\n return this.scope.$on(\"backlog:unload-closed-sprints\", this.unloadClosedSprints);\n };\n\n BacklogController.prototype.initializeSubscription = function() {\n var routingKey1, routingKey2;\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n this.events.subscribe(this.scope, routingKey1, (function(_this) {\n return function(message) {\n _this.loadAllPaginatedUserstories();\n return _this.loadSprints();\n };\n })(this));\n routingKey2 = \"changes.project.\" + this.scope.projectId + \".milestones\";\n return this.events.subscribe(this.scope, routingKey2, (function(_this) {\n return function(message) {\n return _this.loadSprints();\n };\n })(this));\n };\n\n BacklogController.prototype.toggleShowTags = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.showTags = !_this.showTags;\n return _this.rs.userstories.storeShowTags(_this.scope.projectId, _this.showTags);\n };\n })(this));\n };\n\n BacklogController.prototype.toggleActiveFilters = function() {\n return this.activeFilters = !this.activeFilters;\n };\n\n BacklogController.prototype.toggleVelocityForecasting = function() {\n this.displayVelocity = !this.displayVelocity;\n if (!this.displayVelocity) {\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n } else {\n this.scope.visibleUserStories = _.map(this.forecastedStories, function(it) {\n return it.ref;\n });\n }\n return scopeDefer(this.scope, (function(_this) {\n return function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.loadProjectStats = function() {\n return this.rs.projects.stats(this.scope.projectId).then((function(_this) {\n return function(stats) {\n var totalPoints;\n _this.scope.stats = stats;\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n if (totalPoints) {\n _this.scope.stats.completedPercentage = Math.round(100 * stats.closed_points / totalPoints);\n } else {\n _this.scope.stats.completedPercentage = 0;\n }\n _this.scope.showGraphPlaceholder = !((stats.total_points != null) && (stats.total_milestones != null));\n _this.calculateForecasting();\n return stats;\n };\n })(this));\n };\n\n BacklogController.prototype.setMilestonesOrder = function(sprints) {\n var it, j, len, results, sprint;\n results = [];\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n this.milestonesOrder[sprint.id] = {};\n results.push((function() {\n var l, len1, ref1, results1;\n ref1 = sprint.user_stories;\n results1 = [];\n for (l = 0, len1 = ref1.length; l < len1; l++) {\n it = ref1[l];\n results1.push(this.milestonesOrder[sprint.id][it.id] = it.sprint_order);\n }\n return results1;\n }).call(this));\n }\n return results;\n };\n\n BacklogController.prototype.unloadClosedSprints = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.scope.closedSprints = [];\n return _this.rootscope.$broadcast(\"closed-sprints:reloaded\", []);\n };\n })(this));\n };\n\n BacklogController.prototype.loadClosedSprints = function() {\n var params;\n params = {\n closed: true\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalClosedMilestones = result.closed;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.closedSprints = sprints;\n _this.scope.closedSprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"closed-sprints:reloaded\", sprints);\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.loadSprints = function() {\n var params;\n params = {\n closed: false\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalMilestones = sprints;\n _this.scope.totalClosedMilestones = result.closed;\n _this.scope.totalOpenMilestones = result.open;\n _this.scope.totalMilestones = _this.scope.totalOpenMilestones + _this.scope.totalClosedMilestones;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.sprints = sprints;\n if (!_this.scope.closedSprints) {\n _this.scope.closedSprints = [];\n }\n _this.scope.sprintsCounter = sprints.length;\n _this.scope.sprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"sprints:loaded\", sprints);\n _this.scope.currentSprint = _this.findCurrentSprint();\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.openSprints = function() {\n return _.filter(this.scope.sprints, (function(_this) {\n return function(sprint) {\n return !sprint.closed;\n };\n })(this)).reverse();\n };\n\n BacklogController.prototype.loadAllPaginatedUserstories = function() {\n var page;\n page = this.page;\n return this.loadUserstories(true, this.scope.userstories.length).then((function(_this) {\n return function() {\n return _this.page = page;\n };\n })(this));\n };\n\n BacklogController.prototype.loadUserstories = function(resetPagination, pageSize) {\n var params, promise;\n if (resetPagination == null) {\n resetPagination = false;\n }\n if (!this.scope.projectId) {\n return null;\n }\n this.loadingUserstories = true;\n this.disablePagination = true;\n params = _.clone(this.location.search());\n this.rs.userstories.storeQueryParams(this.scope.projectId, params);\n if (resetPagination) {\n this.page = 1;\n }\n params.page = this.page;\n promise = this.rs.userstories.listUnassigned(this.scope.projectId, params, pageSize);\n return promise.then((function(_this) {\n return function(result) {\n var header, it, j, len, ref1, userstories;\n userstories = result[0];\n header = result[1];\n if (resetPagination) {\n _this.scope.userstories = [];\n }\n _this.scope.userstories = _this.scope.userstories.concat(_.sortBy(userstories, \"backlog_order\"));\n _this.scope.visibleUserStories = _.map(_this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = _this.scope.userstories;\n for (j = 0, len = ref1.length; j < len; j++) {\n it = ref1[j];\n _this.backlogOrder[it.id] = it.backlog_order;\n }\n _this.loadingUserstories = false;\n if (header('x-pagination-next')) {\n _this.disablePagination = false;\n _this.page++;\n }\n scopeDefer(_this.scope, function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n });\n return userstories;\n };\n })(this));\n };\n\n BacklogController.prototype.loadBacklog = function() {\n return this.q.all([this.loadProjectStats(), this.loadSprints(), this.loadUserstories()]).then(this.calculateForecasting);\n };\n\n BacklogController.prototype.calculateForecasting = function() {\n var backlog_points_sum, current_sum, j, len, ref1, results, stats, total_points, us;\n stats = this.scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n backlog_points_sum = 0;\n this.forecastedStories = [];\n ref1 = this.scope.userstories;\n results = [];\n for (j = 0, len = ref1.length; j < len; j++) {\n us = ref1[j];\n current_sum += us.total_points;\n backlog_points_sum += us.total_points;\n this.forecastedStories.push(us);\n if (stats.speed > 0 && backlog_points_sum > stats.speed) {\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n\n BacklogController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_backlog_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.closedMilestones = !!project.total_closed_milestones;\n this.scope.$emit('project:loaded', project);\n this.scope.points = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(project.points, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"id\");\n return project;\n };\n\n BacklogController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n return this.loadBacklog().then((function(_this) {\n return function() {\n return _this.generateFilters();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.scope.$emit(\"backlog:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.prepareBulkUpdateData = function(uses, field) {\n if (field == null) {\n field = \"backlog_order\";\n }\n return _.map(uses, function(x) {\n return {\n \"us_id\": x.id,\n \"order\": x[field]\n };\n });\n };\n\n BacklogController.prototype.moveUs = function(ctx, usList, newUsIndex, newSprintId) {\n var afterDestination, beforeDestination, currentSprintId, data, it, j, key, l, len, len1, len2, len3, len4, len5, len6, list, m, modifiedUs, n, newSprint, o, oldSprintId, options, orderField, orderList, p, previous, previousWithTheSameOrder, project, promise, q, ref1, ref2, setOrders, setPreviousOrders, sprint, startIndex, us;\n oldSprintId = usList[0].milestone;\n project = usList[0].project;\n if (oldSprintId) {\n sprint = this.scope.sprintsById[oldSprintId] || this.scope.closedSprintsById[oldSprintId];\n }\n if (newSprintId) {\n newSprint = this.scope.sprintsById[newSprintId] || this.scope.closedSprintsById[newSprintId];\n }\n currentSprintId = newSprintId !== oldSprintId ? newSprintId : oldSprintId;\n orderList = null;\n orderField = \"\";\n if (newSprintId !== oldSprintId) {\n if (newSprintId === null) {\n for (key = j = 0, len = usList.length; j < len; key = ++j) {\n us = usList[key];\n _.remove(sprint.user_stories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n beforeDestination = _.slice(this.scope.userstories, 0, newUsIndex);\n afterDestination = _.slice(this.scope.userstories, newUsIndex);\n this.scope.userstories = this.scope.userstories.concat(usList);\n } else {\n for (l = 0, len1 = usList.length; l < len1; l++) {\n us = usList[l];\n _.remove(this.scope.userstories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[newSprint.id];\n beforeDestination = _.slice(newSprint.user_stories, 0, newUsIndex);\n afterDestination = _.slice(newSprint.user_stories, newUsIndex);\n newSprint.user_stories = newSprint.user_stories.concat(usList);\n }\n } else {\n if (oldSprintId === null) {\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n list = _.filter(this.scope.userstories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n } else {\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[sprint.id];\n list = _.filter(newSprint.user_stories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n }\n }\n previous = beforeDestination[beforeDestination.length - 1];\n setPreviousOrders = [];\n if (!previous) {\n startIndex = 0;\n } else if (previous) {\n startIndex = orderList[previous.id] + 1;\n previousWithTheSameOrder = _.filter(beforeDestination, function(it) {\n return it[orderField] === orderList[previous.id];\n });\n if (previousWithTheSameOrder.length > 1) {\n setPreviousOrders = _.map(previousWithTheSameOrder, function(it) {\n return {\n us_id: it.id,\n order: orderList[it.id]\n };\n });\n }\n }\n modifiedUs = [];\n for (key = m = 0, len2 = usList.length; m < len2; key = ++m) {\n us = usList[key];\n us.milestone = currentSprintId;\n us[orderField] = startIndex + key;\n orderList[us.id] = us[orderField];\n modifiedUs.push({\n us_id: us.id,\n order: us[orderField]\n });\n }\n startIndex = orderList[usList[usList.length - 1].id];\n for (key = n = 0, len3 = afterDestination.length; n < len3; key = ++n) {\n it = afterDestination[key];\n orderList[it.id] = startIndex + key + 1;\n }\n this.scope.userstories = _.sortBy(this.scope.userstories, (function(_this) {\n return function(it) {\n return _this.backlogOrder[it.id];\n };\n })(this));\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = this.scope.sprints;\n for (o = 0, len4 = ref1.length; o < len4; o++) {\n sprint = ref1[o];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n ref2 = this.scope.closedSprints;\n for (p = 0, len5 = ref2.length; p < len5; p++) {\n sprint = ref2[p];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n if (usList.length > 1 && (newSprintId !== oldSprintId)) {\n data = modifiedUs.concat(setPreviousOrders);\n promise = this.rs.userstories.bulkUpdateMilestone(project, newSprintId, data);\n } else if (usList.length > 1) {\n data = modifiedUs.concat(setPreviousOrders);\n promise = this.rs.userstories.bulkUpdateBacklogOrder(project, data);\n } else {\n setOrders = {};\n for (q = 0, len6 = setPreviousOrders.length; q < len6; q++) {\n it = setPreviousOrders[q];\n setOrders[it.us_id] = it.order;\n }\n options = {\n headers: {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n promise = this.repo.save(usList[0], true, {}, options, true);\n }\n promise.then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"sprint:us:moved\");\n if (_this.scope.closedSprintsById && _this.scope.closedSprintsById[oldSprintId]) {\n return _this.rootscope.$broadcast(\"backlog:load-closed-sprints\");\n }\n };\n })(this));\n return promise;\n };\n\n BacklogController.prototype.updateUserStoryStatus = function() {\n return this.generateFilters().then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"filters:update\");\n return _this.loadProjectStats();\n };\n })(this));\n };\n\n BacklogController.prototype.editUserStory = function(projectId, ref, $event) {\n var currentLoading, target;\n target = $($event.target);\n currentLoading = this.loading().target(target).removeClasses(\"edit-story\").timeout(200).start();\n return this.rs.userstories.getByRef(projectId, ref).then((function(_this) {\n return function(us) {\n return _this.rs2.attachments.list(\"us\", us.id, projectId).then(function(attachments) {\n _this.rootscope.$broadcast(\"usform:edit\", us, attachments.toJS());\n return currentLoading.finish();\n });\n };\n })(this));\n };\n\n BacklogController.prototype.deleteUserStory = function(us) {\n var message, title;\n title = this.translate.instant(\"US.TITLE_DELETE_ACTION\");\n message = us.subject;\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var promise;\n _this.scope.userstories = _.without(_this.scope.userstories, us);\n promise = _this.repo.remove(us);\n promise.then(function() {\n askResponse.finish();\n return _this.q.all([_this.loadProjectStats(), _this.loadSprints()]);\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return _this.confirm.notify(\"error\");\n });\n };\n })(this));\n };\n\n BacklogController.prototype.addNewUs = function(type) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"usform:new\", this.scope.projectId, this.scope.project.default_us_status, this.scope.usStatusList);\n case \"bulk\":\n return this.rootscope.$broadcast(\"usform:bulk\", this.scope.projectId, this.scope.project.default_us_status);\n }\n };\n\n BacklogController.prototype.addNewSprint = function() {\n return this.rootscope.$broadcast(\"sprintform:create\", this.scope.projectId);\n };\n\n BacklogController.prototype.findCurrentSprint = function() {\n var currentDate;\n currentDate = new Date().getTime();\n return _.find(this.scope.sprints, function(sprint) {\n var end, start;\n start = moment(sprint.estimated_start, 'YYYY-MM-DD').format('x');\n end = moment(sprint.estimated_finish, 'YYYY-MM-DD').format('x');\n return currentDate >= start && currentDate <= end;\n });\n };\n\n return BacklogController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin, taiga.UsFiltersMixin));\n\n module.controller(\"BacklogController\", BacklogController);\n\n BacklogDirective = function($repo, $rootscope, $translate, $rs) {\n var doomLineTemplate, link, linkDoomLine, linkFilters, linkToolbar, openFilterInit, showHideFilter, showHideTags;\n doomLineTemplate = _.template(\"<%- text %>\");\n linkDoomLine = function($scope, $el, $attrs, $ctrl) {\n var addDoomLineDom, getUsItems, reloadDoomLine, removeDoomlineDom;\n reloadDoomLine = function() {\n var current_sum, domElement, i, j, len, ref1, results, stats, total_points, us;\n if ($scope.displayVelocity) {\n removeDoomlineDom();\n }\n if (($scope.stats != null) && ($scope.stats.total_points != null) && $scope.stats.total_points !== 0 && ($scope.displayVelocity == null)) {\n removeDoomlineDom();\n stats = $scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n if (!$scope.userstories) {\n return;\n }\n ref1 = $scope.userstories;\n results = [];\n for (i = j = 0, len = ref1.length; j < len; i = ++j) {\n us = ref1[i];\n current_sum += us.total_points;\n if (current_sum > total_points) {\n domElement = $el.find('.backlog-table-body .us-item-row')[i];\n addDoomLineDom(domElement);\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n }\n };\n removeDoomlineDom = function() {\n return $el.find(\".doom-line\").remove();\n };\n addDoomLineDom = function(element) {\n var text;\n text = $translate.instant(\"BACKLOG.DOOMLINE\");\n return $(element).before(doomLineTemplate({\n \"text\": text\n }));\n };\n getUsItems = function() {\n var rowElements;\n rowElements = $el.find('.backlog-table-body .us-item-row');\n return _.map(rowElements, function(x) {\n return angular.element(x);\n });\n };\n $scope.$on(\"userstories:loaded\", reloadDoomLine);\n $scope.$on(\"userstories:forecast\", removeDoomlineDom);\n return $scope.$watch(\"stats\", reloadDoomLine);\n };\n linkToolbar = function($scope, $el, $attrs, $ctrl) {\n var checkSelected, getUsToMove, lastChecked, moveToCurrentSprint, moveToLatestSprint, moveUssToSprint, shiftPressed;\n getUsToMove = function() {\n var ussDom;\n ussDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n return _.map(ussDom, function(item) {\n var itemScope;\n item = $(item).closest('.tg-scope');\n itemScope = item.scope();\n itemScope.us.milestone = $scope.sprints[0].id;\n return itemScope.us;\n });\n };\n moveUssToSprint = function(selectedUss, sprint) {\n var data, extraPoints, totalExtraPoints, ussCurrent;\n ussCurrent = _($scope.userstories);\n $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value();\n extraPoints = _.map(selectedUss, function(v, k) {\n return v.total_points;\n });\n totalExtraPoints = _.reduce(extraPoints, function(acc, num) {\n return acc + num;\n });\n sprint.user_stories = _.union(sprint.user_stories, selectedUss);\n sprint.total_points += totalExtraPoints;\n data = _.map(selectedUss, function(us) {\n return {\n us_id: us.id,\n order: us.sprint_order\n };\n });\n $rs.userstories.bulkUpdateMilestone($scope.project.id, $scope.sprints[0].id, data).then((function(_this) {\n return function() {\n $ctrl.loadSprints();\n $ctrl.loadProjectStats();\n $ctrl.toggleVelocityForecasting();\n return $ctrl.calculateForecasting();\n };\n })(this));\n return $el.find(\".move-to-sprint\").hide();\n };\n moveToCurrentSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.currentSprint);\n };\n moveToLatestSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.sprints[0]);\n };\n $scope.$on(\"sprintform:create:success:callback\", function(e, ussToMove) {\n return _.partial(moveToCurrentSprint, ussToMove)();\n });\n shiftPressed = false;\n lastChecked = null;\n checkSelected = function(target) {\n var moveToSprintDom, selectedUsDom;\n lastChecked = target.closest(\".us-item-row\");\n target.closest('.us-item-row').toggleClass('ui-multisortable-multiple');\n moveToSprintDom = $el.find(\".move-to-sprint\");\n selectedUsDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n if (selectedUsDom.length > 0 && $scope.sprints.length > 0) {\n return moveToSprintDom.show();\n } else {\n return moveToSprintDom.hide();\n }\n };\n $(window).on(\"keydown.shift-pressed keyup.shift-pressed\", function(event) {\n shiftPressed = !!event.shiftKey;\n return true;\n });\n $el.on(\"change\", \".backlog-table-body input:checkbox\", function(event) {\n var current, elements, nextAll, prevAll, target;\n if (lastChecked && shiftPressed) {\n elements = [];\n current = $(event.currentTarget).closest(\".us-item-row\");\n nextAll = lastChecked.nextAll();\n prevAll = lastChecked.prevAll();\n if (_.some(nextAll, function(next) {\n return next === current[0];\n })) {\n elements = lastChecked.nextUntil(current);\n } else if (_.some(prevAll, function(prev) {\n return prev === current[0];\n })) {\n elements = lastChecked.prevUntil(current);\n }\n _.map(elements, function(elm) {\n var input;\n input = $(elm).find(\"input:checkbox\");\n input.prop('checked', true);\n return checkSelected(input);\n });\n }\n target = angular.element(event.currentTarget);\n target.closest(\".us-item-row\").toggleClass('is-checked');\n return checkSelected(target);\n });\n $el.on(\"click\", \"#move-to-latest-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToLatestSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#move-to-current-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#show-tags\", function(event) {\n event.preventDefault();\n $ctrl.toggleShowTags();\n return showHideTags($ctrl);\n });\n return $el.on(\"click\", \".forecasting-add-sprint\", function(event) {\n var ussToMove, ussToMoveList;\n ussToMoveList = $ctrl.forecastedStories;\n if ($scope.currentSprint) {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.milestone = $scope.currentSprint.id;\n us.order = index;\n return us;\n });\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n } else {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.order = index;\n return us;\n });\n return $rootscope.$broadcast(\"sprintform:create\", $scope.projectId, ussToMove);\n }\n });\n };\n showHideTags = function($ctrl) {\n var elm, text;\n elm = angular.element(\"#show-tags\");\n if ($ctrl.showTags) {\n elm.addClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.HIDE\");\n return elm.text(text);\n } else {\n elm.removeClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.SHOW\");\n return elm.text(text);\n }\n };\n openFilterInit = function($scope, $el, $ctrl) {\n var sidebar;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.addClass(\"active\");\n return $ctrl.activeFilters = true;\n };\n showHideFilter = function($scope, $el, $ctrl) {\n var hideText, showText, sidebar, target;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.one(\"transitionend\", function() {\n return timeout(150, function() {\n $rootscope.$broadcast(\"resize\");\n return $('.burndown').css(\"visibility\", \"visible\");\n });\n });\n target = angular.element(\"#show-filters-button\");\n $('.burndown').css(\"visibility\", \"hidden\");\n sidebar.toggleClass(\"active\");\n target.toggleClass(\"active\");\n hideText = $translate.instant(\"BACKLOG.FILTERS.HIDE\");\n showText = $translate.instant(\"BACKLOG.FILTERS.SHOW\");\n toggleText(target, [hideText, showText]);\n return $ctrl.toggleActiveFilters();\n };\n linkFilters = function($scope, $el, $attrs, $ctrl) {\n $scope.filtersSearch = {};\n return $el.on(\"click\", \"#show-filters-button\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n return showHideFilter($scope, $el, $ctrl);\n });\n });\n };\n link = function($scope, $el, $attrs, $rootscope) {\n var $ctrl, filters;\n $ctrl = $el.controller();\n linkToolbar($scope, $el, $attrs, $ctrl);\n linkFilters($scope, $el, $attrs, $ctrl);\n linkDoomLine($scope, $el, $attrs, $ctrl);\n filters = $ctrl.location.search();\n if (filters.status || filters.tags || filters.q || filters.assigned_to || filters.owner) {\n openFilterInit($scope, $el, $ctrl);\n }\n $scope.$on(\"showTags\", function() {\n return showHideTags($ctrl);\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return $(window).off(\".shift-pressed\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklog\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"$tgResources\", BacklogDirective]);\n\n UsRolePointsSelectorDirective = function($rootscope, $template, $compile, $translate) {\n var link, selectionTemplate;\n selectionTemplate = $template.get(\"backlog/us-role-points-popover.html\", true);\n link = function($scope, $el, $attrs) {\n bindOnce($scope, \"project\", function(project) {\n var numberOfRoles, roles;\n roles = _.filter(project.roles, \"computable\");\n numberOfRoles = _.size(roles);\n if (numberOfRoles > 1) {\n return $el.append($compile(selectionTemplate({\n \"roles\": roles\n }))($scope));\n } else {\n $el.find(\".icon-arrow-down\").remove();\n return $el.find(\".header-points\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n $el.find(\".popover\").popover().close();\n return $el.find(\".header-points\").html(roleName + \"/Total\");\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx, roleId) {\n var text;\n $el.find(\".popover\").popover().close();\n text = $translate.instant(\"COMMON.FIELDS.POINTS\");\n return $el.find(\".header-points\").text(text);\n });\n $el.on(\"click\", function(event) {\n var target;\n target = angular.element(event.target);\n if (target.is(\"span\") || target.is(\"div\")) {\n event.stopPropagation();\n }\n return $el.find(\".popover\").popover().open();\n });\n $el.on(\"click\", \".clear-selection\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $rootscope.$broadcast(\"uspoints:clear-selection\");\n });\n $el.on(\"click\", \".role\", function(event) {\n var rolScope, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n rolScope = target.scope();\n return $rootscope.$broadcast(\"uspoints:select\", target.data(\"role-id\"), target.text());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsRolePointsSelector\", [\"$rootScope\", \"$tgTemplate\", \"$compile\", \"$translate\", UsRolePointsSelectorDirective]);\n\n UsPointsDirective = function($tgEstimationsService, $repo, $tgTemplate) {\n var link, rolesTemplate;\n rolesTemplate = $tgTemplate.get(\"common/estimation/us-points-roles-popover.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, bindClickElements, estimationProcess, filteringRoleId, renderRolesSelector, selectedRoleId, updatingSelectedRoleId;\n $ctrl = $el.controller();\n updatingSelectedRoleId = null;\n selectedRoleId = null;\n filteringRoleId = null;\n estimationProcess = null;\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = roleId;\n return estimationProcess.render();\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = null;\n return estimationProcess.render();\n });\n $scope.$watch($attrs.tgBacklogUsPoints, function(us) {\n var roles;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n roles = estimationProcess.calculateRoles();\n if (roles.length === 0) {\n $el.find(\".icon-arrow-bottom\").remove();\n $el.find(\"a.us-points\").addClass(\"not-clickable\");\n } else if (roles.length === 1) {\n selectedRoleId = _.keys(us.points)[0];\n }\n if (estimationProcess.isEditable) {\n bindClickElements();\n }\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n us.points = points;\n estimationProcess.render();\n return this.save(roleId, pointId).then(function() {\n return $ctrl.loadProjectStats();\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, pointId, pointObj, template, text, title, totalPoints;\n totalPoints = this.calculateTotalPoints();\n if ((selectedRoleId == null) || roles.length === 1) {\n text = totalPoints;\n title = totalPoints;\n } else {\n pointId = this.us.points[selectedRoleId];\n pointObj = this.pointsById[pointId];\n text = pointObj.name + \" / \" + totalPoints + \"\";\n title = pointObj.name + \" / \" + totalPoints;\n }\n ctx = {\n totalPoints: totalPoints,\n roles: this.calculateRoles(),\n editable: this.isEditable,\n text: text,\n title: title\n };\n mainTemplate = \"common/estimation/us-estimation-total.html\";\n template = $tgTemplate.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n renderRolesSelector = function() {\n var html, roles;\n roles = estimationProcess.calculateRoles();\n html = rolesTemplate({\n \"roles\": roles\n });\n $el.append(html);\n return $el.find(\".pop-role\").popover().open(function() {\n return $(this).remove();\n });\n };\n bindClickElements = function() {\n $el.on(\"click\", \"a.us-points\", function(event) {\n var us;\n event.preventDefault();\n event.stopPropagation();\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = selectedRoleId;\n if (selectedRoleId != null) {\n return estimationProcess.renderPointsSelector(selectedRoleId);\n } else {\n return renderRolesSelector();\n }\n });\n return $el.on(\"click\", \".role\", function(event) {\n var popRolesDom, target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = target.data(\"role-id\");\n popRolesDom = $el.find(\".pop-role\");\n popRolesDom.find(\"a\").removeClass(\"active\");\n popRolesDom.find(\"a[data-role-id='\" + updatingSelectedRoleId + \"']\").addClass(\"active\");\n return estimationProcess.renderPointsSelector(updatingSelectedRoleId);\n });\n };\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogUsPoints\", [\"$tgEstimationsService\", \"$tgRepo\", \"$tgTemplate\", UsPointsDirective]);\n\n ToggleBurndownVisibility = function($storage) {\n var hide, link, show;\n hide = function() {\n $(\".js-burndown-graph\").removeClass(\"shown\");\n $(\".js-toggle-burndown-visibility-button\").removeClass(\"active\");\n return $(\".js-burndown-graph\").removeClass(\"open\");\n };\n show = function(firstLoad) {\n $(\".js-toggle-burndown-visibility-button\").addClass(\"active\");\n if (firstLoad) {\n return $(\".js-burndown-graph\").addClass(\"shown\");\n } else {\n return $(\".js-burndown-graph\").addClass(\"open\");\n }\n };\n link = function($scope, $el, $attrs) {\n var firstLoad, hash, toggleGraph;\n firstLoad = true;\n hash = generateHash([\"is-burndown-grpahs-collapsed\"]);\n $scope.isBurndownGraphCollapsed = $storage.get(hash) || false;\n toggleGraph = function() {\n if ($scope.isBurndownGraphCollapsed) {\n hide(firstLoad);\n } else {\n show(firstLoad);\n }\n return firstLoad = false;\n };\n $scope.$watch(\"showGraphPlaceholder\", function() {\n if ($scope.showGraphPlaceholder != null) {\n $scope.isBurndownGraphCollapsed = $scope.isBurndownGraphCollapsed || $scope.showGraphPlaceholder;\n return toggleGraph();\n }\n });\n $el.on(\"click\", \".js-toggle-burndown-visibility-button\", function() {\n $scope.isBurndownGraphCollapsed = !$scope.isBurndownGraphCollapsed;\n $storage.set(hash, $scope.isBurndownGraphCollapsed);\n return toggleGraph();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleBurndownVisibility\", [\"$tgStorage\", ToggleBurndownVisibility]);\n\n BurndownBacklogGraphDirective = function($translate) {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var client_increment_line, colors, data, evolution_line, j, milestonesRange, optimal_line, options, ref1, results, team_increment_line, width, zero_line;\n width = element.width();\n element.height(width / 6);\n milestonesRange = (function() {\n results = [];\n for (var j = 0, ref1 = dataToDraw.milestones.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; 0 <= ref1 ? j++ : j--){ results.push(j); }\n return results;\n }).apply(this);\n data = [];\n zero_line = _.map(dataToDraw.milestones, function(ml) {\n return 0;\n });\n data.push({\n data: _.zip(milestonesRange, zero_line),\n lines: {\n fillColor: \"rgba(0,0,0,0)\"\n },\n points: {\n show: false\n }\n });\n optimal_line = _.map(dataToDraw.milestones, function(ml) {\n return ml.optimal;\n });\n data.push({\n data: _.zip(milestonesRange, optimal_line),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n evolution_line = _.filter(_.map(dataToDraw.milestones, function(ml) {\n return ml.evolution;\n }), function(evolution) {\n return evolution != null;\n });\n data.push({\n data: _.zip(milestonesRange, evolution_line),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n client_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"] - ml[\"client-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, client_increment_line),\n lines: {\n fillColor: \"rgba(255,51,51,0.3)\"\n }\n });\n team_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, team_increment_line),\n lines: {\n fillColor: \"rgba(153,51,51,0.3)\"\n }\n });\n colors = [\"rgba(0,0,0,1)\", \"rgba(120,120,120,0.2)\", \"rgba(102,153,51,1)\", \"rgba(153,51,51,1)\", \"rgba(255,51,51,1)\"];\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: \"#ccc\",\n hoverable: true\n },\n xaxis: {\n ticks: dataToDraw.milestones.length,\n axisLabel: $translate.instant(\"BACKLOG.CHART.XAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5,\n tickFormatter: function(val, axis) {\n return \"\";\n }\n },\n yaxis: {\n axisLabel: $translate.instant(\"BACKLOG.CHART.YAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5\n },\n series: {\n shadowSize: 0,\n lines: {\n show: true,\n fill: true\n },\n points: {\n show: true,\n fill: true,\n radius: 4,\n lineWidth: 2\n }\n },\n colors: colors,\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var ctx;\n if (flotItem.seriesIndex === 1) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.OPTIMAL\", ctx);\n } else if (flotItem.seriesIndex === 2) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.REAL\", ctx);\n } else if (flotItem.seriesIndex === 3) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_CLIENT\", ctx);\n } else {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_TEAM\", ctx);\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch(\"stats\", function(value) {\n if ($scope.stats != null) {\n redrawChart(element, $scope.stats);\n return $scope.$on(\"resize\", function() {\n return redrawChart(element, $scope.stats);\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBurndownBacklogGraph\", [\"$translate\", BurndownBacklogGraphDirective]);\n\n TgBacklogProgressBarDirective = function($template, $compile) {\n var adjustPercentaje, link, render, template;\n template = $template.get(\"backlog/progress-bar.html\", true);\n render = function(scope, el, projectPointsPercentaje, closedPointsPercentaje) {\n var html;\n html = template({\n projectPointsPercentaje: projectPointsPercentaje,\n closedPointsPercentaje: closedPointsPercentaje\n });\n html = $compile(html)(scope);\n return el.html(html);\n };\n adjustPercentaje = function(percentage) {\n var adjusted;\n adjusted = _.max([0, percentage]);\n adjusted = _.min([100, adjusted]);\n return Math.round(adjusted);\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgBacklogProgressBar, function(stats) {\n var closedPoints, closedPointsPercentaje, definedPoints, projectPointsPercentaje, totalPoints;\n if (stats != null) {\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n definedPoints = stats.defined_points;\n closedPoints = stats.closed_points;\n if (definedPoints > totalPoints) {\n projectPointsPercentaje = totalPoints * 100 / definedPoints;\n closedPointsPercentaje = closedPoints * 100 / definedPoints;\n } else {\n projectPointsPercentaje = 100;\n closedPointsPercentaje = closedPoints * 100 / totalPoints;\n }\n projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje - 3);\n closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje - 3);\n return render($scope, $el, projectPointsPercentaje, closedPointsPercentaje);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogProgressBar\", [\"$tgTemplate\", \"$compile\", TgBacklogProgressBarDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino