diff --git a/dist/images b/dist/images
index ad3ce9e..4118897 120000
--- a/dist/images
+++ b/dist/images
@@ -1 +1 @@
-./v-1520418874500/images
\ No newline at end of file
+./v-1521124836513/images
\ No newline at end of file
diff --git a/dist/index.html b/dist/index.html
index f39f8a7..6c32d83 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -8,8 +8,8 @@
Taiga
-
-
+
+
-
-
+
+
+
iocaine
diff --git a/dist/v-1520418874500/js/maps/app.js.map b/dist/v-1520418874500/js/maps/app.js.map
deleted file mode 100644
index f05d567..0000000
--- a/dist/v-1520418874500/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","emojis","window","taigaContribPlugins","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","epic","role","filterRemoteStorageService","storeCustomFiltersName","userFilters","removeCustomFilter","isFilterDataTypeSelected","filterDataType","milestone","loadFilters","storeFiltersName","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","analytics","userModel","_currentTheme","_getUserTheme","setUserdata","userData","Immutable","fromJS","getAttrs","setUser","setUserId","theme","_setTheme","newTheme","use","_setLocales","make_model","auth","remove","setToken","token","getToken","auth_token","$broadcast","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","trackEvent","href","onKeyUp","target","currentTarget","iscapsLockActivated","loginFormType","validate","username","password","on","prerenderReady","off","onErrorSubmit","onSuccessSubmit","onlyOneErrorElement","_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","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","$emojis","templateEdit","templateView","renderEdit","renderView","saveTask","childScope","$new","$destroy","html","keyCode","$modelValue","perms","modify_task","delete_task","emojify","replaceEmojiNameByHtmlImgs","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","trackPage","sectionData","searchText","AnalyticsService","doc","conf","initialized","accountId","pageEvent","trackRoutes","ignoreFirstPageLoad","injectAnalytics","ga","getUrl","ref1","uuid","s","o","g","r","m","createElement","getElementsByTagName","async","parentNode","insertBefore","document","page","action","label","ecViewPlan","plan","plan_id","quantity","position","ecClickPlan","ecListPlans","arg","plans","ecAddToCart","plan_name","plan_price","price","ecConfirmChange","step","ecPurchase","revenue","BindScope","jQuery","CompileHtmlDirective","tgCompileHtml","oldValue","contents","AssignedToDirective","BlockButtonDirective","CreatedByDisplayDirective","DateRangeDirective","DateSelectorDirective","DeleteButtonDirective","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","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","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","EmojisService","replaceEmojiNameByImgs","replaceImgsByEmojiName","getEmojiByName","getEmojiById","searchByName","emojisById","keyBy","emojisByName","emoji","emojiId","emojiIds","regexImgs","escapeRegExp","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","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","isModified","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","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","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","initialLength","setNextOrders","usByStatusWithoutMoved","bulkOrders","moveToEnd","getUs","findedUs","usModel","KanbanArchivedStatusHeaderDirective","KanbanArchivedStatusIntroDirective","KanbanController","KanbanDirective","KanbanSquishColumnDirective","KanbanWipLimitDirective","kanbanUserstoriesService1","kanbanUserstoriesService","cleanSelectedUss","toggleSelectedUs","openArchived","loadUserStoriesForStatus","hideUserStoriesForStatus","editUs","editingUserStory","changeUsAssignedTo","listAll","filteredStatus","loadKanban","bulkUpdateKanbanOrder","hideArchivedText","showArchivedText","hidden","tgKanbanArchivedStatusHeader","userStories","hiddenUserStoriexText","updateIntroText","tgKanbanArchivedStatusIntro","hasArchived","itemUs","userStoriesLoaded","updateTableWidth","folds","kanban","redrawWipLimit","tgKanbanWipLimit","wip_limit","KanbanSortableDirective","dropTarget","finalUsList","newStatus","oldStatus","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","privacyChanged","isAttributeModified","newUrl","is_private","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","regenerateUuid","sectionTitle","showSizeInfo","click","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","cat","activePermissions","getActivePermissions","categoryId","anon_permissions","BitbucketController","BitbucketWebhooksDirective","GithubController","GithubWebhooksDirective","GitlabController","GitlabWebhooksDirective","GogsController","GogsWebhooksDirective","NewWebhookDirective","SelectInputText","ValidOriginIpsDirective","WebhookDirective","WebhooksController","loadWebhooks","openHistory","showEditMode","showVisualizationMode","updateLogs","updateShowHideHistoryText","webhook","tgWebhook","validStatus","prettySentHeaders","toPairs","request_headers","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","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","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","immutable_epics","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","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","saveSnippet","codePre","saving","outdated","onCancel","pasteHTML","store","getMarkdown","throttle","imageDragging","placeholder","autolist","AutoList","alignright","mediumMention","MentionExtension","getItems","mentionCb","changeMarkdown","getAttribute","onUploadFile","currentCodeLanguage","unwatchLoader","WysiwygService","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","progress","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","_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","userCanSort","loadRelatedUserstories","RelatedUserstoriesCreateController","projectUserstories","filterUss","selectedProjectId","filterText","excludeIds","filteredData","saveRelatedUserStory","selectedUserstoryId","onSavedRelatedUserstory","validateExistingUserstoryForm","setExistingUserstoryFormErrors","addRelatedUserstory","bulkCreateRelatedUserStories","userstoriesText","onCreatedRelatedUserstory","validateNewUserstoryForm","setNewUserstoryFormErrors","RelatedUserstoriesCreateDirective","existingUserstoryForm","newUserstoryForm","showLightbox","selectProject","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","supportUrl","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","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","listAllInProject","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 taiga.emojis = window.emojis;\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 filters.epic = urlfilters.epic;\n filters.role = urlfilters.role;\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.isFilterDataTypeSelected = function(filterDataType) {\n var filter, i, len, ref;\n ref = this.selectedFilters;\n for (i = 0, len = ref.length; i < len; i++) {\n filter = ref[i];\n if (filter['dataType'] === filterDataType) {\n return true;\n }\n }\n return false;\n };\n\n UsFiltersMixin.prototype.generateFilters = function(milestone) {\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.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n if (milestone) {\n loadFilters.milestone = milestone;\n }\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, role, 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 role = _.map(data.roles, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.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 if (loadFilters.role) {\n selected = _this.formatSelectedFilters(\"role\", role, loadFilters.role);\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.ROLE\"),\n dataType: \"role\",\n content: role\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\", \"$tgAnalytics\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls, config1, translate, currentUserService1, themeService, analytics) {\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 this.analytics = analytics;\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 this.currentUserService.setUser(this.userData);\n } else {\n this.userData = null;\n }\n return this.analytics.setUserId();\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 _this.rootscope.$broadcast(\"auth:refresh\", 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 _this.rootscope.$broadcast(\"auth:login\", 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 this._setLocales();\n this.rootscope.$broadcast(\"auth:logout\");\n return this.analytics.setUserId();\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 _this.rootscope.$broadcast(\"auth:register\", 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, $analytics) {\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 $analytics.trackEvent(\"auth\", \"login\", \"user login\", 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 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\", \"$tgAnalytics\", 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 };\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.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 this.startHeartBeatMessages();\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, $emojis) {\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 emojify: function(text) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(text));\n }\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\", \"$tgEmojis\", 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, $analytics) {\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 $location.search(\"text\", searchTerm);\n }\n return $analytics.trackPage($location.url(), \"Search\");\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\", \"$tgAnalytics\", 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\", \"ec\");\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 this.initialized = true;\n return this.setUserId();\n };\n\n AnalyticsService.prototype.setUserId = function() {\n var ref, ref1;\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga('set', 'userId', (ref = this.rootscope) != null ? (ref1 = ref.user) != null ? ref1.uuid : void 0 : void 0);\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 AnalyticsService.prototype.ecViewPlan = function(plan) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'detail');\n return this.trackEvent(\"ecommerce\", \"view-product-detail\", plan.name, plan.plan_id);\n };\n\n AnalyticsService.prototype.ecClickPlan = function(plan) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'click');\n return this.trackEvent(\"ecommerce\", \"click-product\", plan.name, plan.plan_id);\n };\n\n AnalyticsService.prototype.ecListPlans = function(arg, page) {\n var i, len, plan, plans, position;\n plans = arg[0];\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n position = 1;\n for (i = 0, len = plans.length; i < len; i++) {\n plan = plans[i];\n this.win.ga('ec:addImpression', {\n 'id': plan.plan_id,\n 'name': plan.name,\n 'list': page,\n 'position': position\n });\n position++;\n }\n return this.trackEvent(\"ecommerce\", \"list-plans\");\n };\n\n AnalyticsService.prototype.ecAddToCart = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'add');\n return this.trackEvent('ecommerce', 'add-to-cart', 'Collect Payment Info', null);\n };\n\n AnalyticsService.prototype.ecConfirmChange = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'checkout', {\n 'step': 1\n });\n return this.trackEvent(\"ecommerce\", \"start-checkout\", \"start\", 1);\n };\n\n AnalyticsService.prototype.ecPurchase = function(plan_id, plan_name, plan_price) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'checkout', {\n 'step': 2\n });\n this.trackEvent(\"ecommerce\", \"end-checkout\", \"end\", 2);\n this.win.ga('ec:addProduct', {\n 'id': plan_id,\n 'name': plan_name,\n 'price': plan_price,\n 'category': \"plans\",\n 'quantity': 1,\n 'position': 1\n });\n this.win.ga('ec:setAction', 'purchase', {\n 'id': plan_id,\n 'revenue': plan_price\n });\n return this.trackEvent('ecommerce', 'checkout', 'Plan checkout', null);\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, 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 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/analytics.coffee\n */\n\n(function() {\n var EmojisService, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\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 EmojisService = (function(superClass) {\n extend(EmojisService, superClass);\n\n EmojisService.$inject = [];\n\n function EmojisService() {\n this.replaceEmojiNameByHtmlImgs = bind(this.replaceEmojiNameByHtmlImgs, this);\n this.replaceEmojiNameByImgs = bind(this.replaceEmojiNameByImgs, this);\n this.replaceImgsByEmojiName = bind(this.replaceImgsByEmojiName, this);\n this.getEmojiByName = bind(this.getEmojiByName, this);\n this.getEmojiById = bind(this.getEmojiById, this);\n this.searchByName = bind(this.searchByName, this);\n this.emojis = _.map(taiga.emojis, function(it) {\n it.image = (\"/\" + window._version + \"/emojis/\") + it.image;\n return it;\n });\n this.emojisById = _.keyBy(this.emojis, 'id');\n this.emojisByName = _.keyBy(this.emojis, 'name');\n }\n\n EmojisService.prototype.searchByName = function(name) {\n return _.filter(this.emojis, function(it) {\n return it.name.indexOf(name) !== -1;\n });\n };\n\n EmojisService.prototype.getEmojiById = function(id) {\n return this.emojisById[id];\n };\n\n EmojisService.prototype.getEmojiByName = function(name) {\n return this.emojisByName[name];\n };\n\n EmojisService.prototype.replaceImgsByEmojiName = function(html) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(html, /emojis\\/([^\"]+).png\"/gi);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(' ]+\\>', 'g');\n emoji = this.getEmojiById(emojiId);\n html = html.replace(regexImgs, ':' + emoji.name + ':');\n }\n return html;\n };\n\n EmojisService.prototype.replaceEmojiNameByImgs = function(text) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(text, /:([\\w +-]*):/g);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(':' + emojiId + ':', 'g');\n emoji = this.getEmojiByName(emojiId);\n if (emoji) {\n text = text.replace(regexImgs, '');\n }\n }\n return text;\n };\n\n EmojisService.prototype.replaceEmojiNameByHtmlImgs = function(text) {\n var emoji, emojiId, emojiIds, i, len, regexImgs;\n emojiIds = taiga.getMatches(text, /:([\\w +-]*):/g);\n for (i = 0, len = emojiIds.length; i < len; i++) {\n emojiId = emojiIds[i];\n regexImgs = new RegExp(':' + _.escapeRegExp(emojiId) + ':', 'g');\n emoji = this.getEmojiByName(emojiId);\n if (emoji) {\n text = text.replace(regexImgs, ' ');\n }\n }\n return text;\n };\n\n return EmojisService;\n\n })(taiga.Service);\n\n module.service(\"$tgEmojis\", EmojisService);\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, emojify, 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 emojify = function($emojis) {\n return function(input) {\n if (input) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(input));\n }\n return \"\";\n };\n };\n\n module.filter(\"emojify\", [\"$tgEmojis\", emojify]);\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, close, 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 subject: \"\",\n description: \"\"\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 close = (function(_this) {\n return function() {\n if (!$scope.us.isModified()) {\n lightboxService.close($el);\n return $scope.$apply(function() {\n return $scope.us.revert();\n });\n } else {\n return $confirm.ask($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.CONFIRM_CLOSE\")).then(function(result) {\n lightboxService.close($el);\n $scope.us.revert();\n return result.finish();\n });\n }\n };\n })(this);\n $el.on(\"submit\", \"form\", submit);\n $el.find('.close').on(\"click\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return close();\n });\n $el.keydown(function(event) {\n var code;\n event.stopPropagation();\n code = event.keyCode ? event.keyCode : event.which;\n if (code === 27) {\n return close();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.find('.close').off();\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($emojis) {\n var link, template;\n template = _.template(\"<% _.each(tags, function(tag) { %>\\n <% if (tag[1] !== null) { %>\\n \\\"\\n title=\\\"<%- tag[0] %>\\\">\\n <%= emojify(tag[0]) %>\\n \\n <% } %>\\n<% }) %>\\n<% _.each(tags, function(tag) { %>\\n <% if (tag[1] === null) { %>\\n \\\">\\n <%= emojify(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 emojify: function(text) {\n return $emojis.replaceEmojiNameByHtmlImgs(_.escape(text));\n }\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\", [\"$tgEmojis\", 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