diff --git a/dist/images b/dist/images deleted file mode 120000 index d9a522d..0000000 --- a/dist/images +++ /dev/null @@ -1 +0,0 @@ -./v-1530768461671/images \ No newline at end of file diff --git a/dist/v-1530768461671/images/attachment-gallery.png b/dist/images/attachment-gallery.png similarity index 100% rename from dist/v-1530768461671/images/attachment-gallery.png rename to dist/images/attachment-gallery.png diff --git a/dist/v-1530768461671/images/bg.png b/dist/images/bg.png similarity index 100% rename from dist/v-1530768461671/images/bg.png rename to dist/images/bg.png diff --git a/dist/v-1530768461671/images/discover.png b/dist/images/discover.png similarity index 100% rename from dist/v-1530768461671/images/discover.png rename to dist/images/discover.png diff --git a/dist/v-1530768461671/images/empty/empty_contact.png b/dist/images/empty/empty_contact.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_contact.png rename to dist/images/empty/empty_contact.png diff --git a/dist/v-1530768461671/images/empty/empty_des.png b/dist/images/empty/empty_des.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_des.png rename to dist/images/empty/empty_des.png diff --git a/dist/v-1530768461671/images/empty/empty_field.png b/dist/images/empty/empty_field.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_field.png rename to dist/images/empty/empty_field.png diff --git a/dist/v-1530768461671/images/empty/empty_like.png b/dist/images/empty/empty_like.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_like.png rename to dist/images/empty/empty_like.png diff --git a/dist/v-1530768461671/images/empty/empty_mex.png b/dist/images/empty/empty_mex.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_mex.png rename to dist/images/empty/empty_mex.png diff --git a/dist/v-1530768461671/images/empty/empty_moon.png b/dist/images/empty/empty_moon.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_moon.png rename to dist/images/empty/empty_moon.png diff --git a/dist/v-1530768461671/images/empty/empty_sprint.png b/dist/images/empty/empty_sprint.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_sprint.png rename to dist/images/empty/empty_sprint.png diff --git a/dist/v-1530768461671/images/empty/empty_tex.png b/dist/images/empty/empty_tex.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_tex.png rename to dist/images/empty/empty_tex.png diff --git a/dist/v-1530768461671/images/empty/empty_upvote.png b/dist/images/empty/empty_upvote.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_upvote.png rename to dist/images/empty/empty_upvote.png diff --git a/dist/v-1530768461671/images/empty/empty_watch.png b/dist/images/empty/empty_watch.png similarity index 100% rename from dist/v-1530768461671/images/empty/empty_watch.png rename to dist/images/empty/empty_watch.png diff --git a/dist/v-1530768461671/images/epics-empty.png b/dist/images/epics-empty.png similarity index 100% rename from dist/v-1530768461671/images/epics-empty.png rename to dist/images/epics-empty.png diff --git a/dist/v-1530768461671/images/favicon.png b/dist/images/favicon.png similarity index 100% rename from dist/v-1530768461671/images/favicon.png rename to dist/images/favicon.png diff --git a/dist/v-1530768461671/images/import-logos/asana.png b/dist/images/import-logos/asana.png similarity index 100% rename from dist/v-1530768461671/images/import-logos/asana.png rename to dist/images/import-logos/asana.png diff --git a/dist/v-1530768461671/images/import-logos/github.png b/dist/images/import-logos/github.png similarity index 100% rename from dist/v-1530768461671/images/import-logos/github.png rename to dist/images/import-logos/github.png diff --git a/dist/v-1530768461671/images/import-logos/jira.png b/dist/images/import-logos/jira.png similarity index 100% rename from dist/v-1530768461671/images/import-logos/jira.png rename to dist/images/import-logos/jira.png diff --git a/dist/v-1530768461671/images/import-logos/trello.png b/dist/images/import-logos/trello.png similarity index 100% rename from dist/v-1530768461671/images/import-logos/trello.png rename to dist/images/import-logos/trello.png diff --git a/dist/v-1530768461671/images/invitation_bg.jpg b/dist/images/invitation_bg.jpg similarity index 100% rename from dist/v-1530768461671/images/invitation_bg.jpg rename to dist/images/invitation_bg.jpg diff --git a/dist/v-1530768461671/images/logo-color.png b/dist/images/logo-color.png similarity index 100% rename from dist/v-1530768461671/images/logo-color.png rename to dist/images/logo-color.png diff --git a/dist/v-1530768461671/images/logo.png b/dist/images/logo.png similarity index 100% rename from dist/v-1530768461671/images/logo.png rename to dist/images/logo.png diff --git a/dist/v-1530768461671/images/looking-for-people.png b/dist/images/looking-for-people.png similarity index 100% rename from dist/v-1530768461671/images/looking-for-people.png rename to dist/images/looking-for-people.png diff --git a/dist/v-1530768461671/images/markitup/bg-container.png b/dist/images/markitup/bg-container.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-container.png rename to dist/images/markitup/bg-container.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-bbcode.png b/dist/images/markitup/bg-editor-bbcode.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-bbcode.png rename to dist/images/markitup/bg-editor-bbcode.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-dotclear.png b/dist/images/markitup/bg-editor-dotclear.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-dotclear.png rename to dist/images/markitup/bg-editor-dotclear.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-html.png b/dist/images/markitup/bg-editor-html.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-html.png rename to dist/images/markitup/bg-editor-html.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-json.png b/dist/images/markitup/bg-editor-json.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-json.png rename to dist/images/markitup/bg-editor-json.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-markdown.png b/dist/images/markitup/bg-editor-markdown.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-markdown.png rename to dist/images/markitup/bg-editor-markdown.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-textile.png b/dist/images/markitup/bg-editor-textile.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-textile.png rename to dist/images/markitup/bg-editor-textile.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-wiki.png b/dist/images/markitup/bg-editor-wiki.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-wiki.png rename to dist/images/markitup/bg-editor-wiki.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor-xml.png b/dist/images/markitup/bg-editor-xml.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor-xml.png rename to dist/images/markitup/bg-editor-xml.png diff --git a/dist/v-1530768461671/images/markitup/bg-editor.png b/dist/images/markitup/bg-editor.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bg-editor.png rename to dist/images/markitup/bg-editor.png diff --git a/dist/images/markitup/body.png b/dist/images/markitup/body.png new file mode 100755 index 0000000..fe5d064 Binary files /dev/null and b/dist/images/markitup/body.png differ diff --git a/dist/v-1530768461671/images/markitup/bold.png b/dist/images/markitup/bold.png similarity index 100% rename from dist/v-1530768461671/images/markitup/bold.png rename to dist/images/markitup/bold.png diff --git a/dist/v-1530768461671/images/markitup/clean.png b/dist/images/markitup/clean.png similarity index 100% rename from dist/v-1530768461671/images/markitup/clean.png rename to dist/images/markitup/clean.png diff --git a/dist/v-1530768461671/images/markitup/code.png b/dist/images/markitup/code.png similarity index 100% rename from dist/v-1530768461671/images/markitup/code.png rename to dist/images/markitup/code.png diff --git a/dist/v-1530768461671/images/markitup/h1.png b/dist/images/markitup/h1.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h1.png rename to dist/images/markitup/h1.png diff --git a/dist/v-1530768461671/images/markitup/h2.png b/dist/images/markitup/h2.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h2.png rename to dist/images/markitup/h2.png diff --git a/dist/v-1530768461671/images/markitup/h3.png b/dist/images/markitup/h3.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h3.png rename to dist/images/markitup/h3.png diff --git a/dist/v-1530768461671/images/markitup/h4.png b/dist/images/markitup/h4.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h4.png rename to dist/images/markitup/h4.png diff --git a/dist/v-1530768461671/images/markitup/h5.png b/dist/images/markitup/h5.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h5.png rename to dist/images/markitup/h5.png diff --git a/dist/v-1530768461671/images/markitup/h6.png b/dist/images/markitup/h6.png similarity index 100% rename from dist/v-1530768461671/images/markitup/h6.png rename to dist/images/markitup/h6.png diff --git a/dist/v-1530768461671/images/markitup/handle.png b/dist/images/markitup/handle.png similarity index 100% rename from dist/v-1530768461671/images/markitup/handle.png rename to dist/images/markitup/handle.png diff --git a/dist/v-1530768461671/images/markitup/help.png b/dist/images/markitup/help.png similarity index 100% rename from dist/v-1530768461671/images/markitup/help.png rename to dist/images/markitup/help.png diff --git a/dist/v-1530768461671/images/markitup/image.png b/dist/images/markitup/image.png similarity index 100% rename from dist/v-1530768461671/images/markitup/image.png rename to dist/images/markitup/image.png diff --git a/dist/v-1530768461671/images/markitup/italic.png b/dist/images/markitup/italic.png similarity index 100% rename from dist/v-1530768461671/images/markitup/italic.png rename to dist/images/markitup/italic.png diff --git a/dist/v-1530768461671/images/markitup/jaysalvat.png b/dist/images/markitup/jaysalvat.png similarity index 100% rename from dist/v-1530768461671/images/markitup/jaysalvat.png rename to dist/images/markitup/jaysalvat.png diff --git a/dist/v-1530768461671/images/markitup/link.png b/dist/images/markitup/link.png similarity index 100% rename from dist/v-1530768461671/images/markitup/link.png rename to dist/images/markitup/link.png diff --git a/dist/v-1530768461671/images/markitup/list-bullet.png b/dist/images/markitup/list-bullet.png similarity index 100% rename from dist/v-1530768461671/images/markitup/list-bullet.png rename to dist/images/markitup/list-bullet.png diff --git a/dist/v-1530768461671/images/markitup/list-numeric.png b/dist/images/markitup/list-numeric.png similarity index 100% rename from dist/v-1530768461671/images/markitup/list-numeric.png rename to dist/images/markitup/list-numeric.png diff --git a/dist/v-1530768461671/images/markitup/markitup.png b/dist/images/markitup/markitup.png similarity index 100% rename from dist/v-1530768461671/images/markitup/markitup.png rename to dist/images/markitup/markitup.png diff --git a/dist/v-1530768461671/images/markitup/menu.png b/dist/images/markitup/menu.png similarity index 100% rename from dist/v-1530768461671/images/markitup/menu.png rename to dist/images/markitup/menu.png diff --git a/dist/v-1530768461671/images/markitup/picture.png b/dist/images/markitup/picture.png similarity index 100% rename from dist/v-1530768461671/images/markitup/picture.png rename to dist/images/markitup/picture.png diff --git a/dist/v-1530768461671/images/markitup/preview.png b/dist/images/markitup/preview.png similarity index 100% rename from dist/v-1530768461671/images/markitup/preview.png rename to dist/images/markitup/preview.png diff --git a/dist/v-1530768461671/images/markitup/preview_ico.png b/dist/images/markitup/preview_ico.png similarity index 100% rename from dist/v-1530768461671/images/markitup/preview_ico.png rename to dist/images/markitup/preview_ico.png diff --git a/dist/v-1530768461671/images/markitup/quotes.png b/dist/images/markitup/quotes.png similarity index 100% rename from dist/v-1530768461671/images/markitup/quotes.png rename to dist/images/markitup/quotes.png diff --git a/dist/v-1530768461671/images/markitup/stroke.png b/dist/images/markitup/stroke.png similarity index 100% rename from dist/v-1530768461671/images/markitup/stroke.png rename to dist/images/markitup/stroke.png diff --git a/dist/v-1530768461671/images/markitup/submenu.png b/dist/images/markitup/submenu.png similarity index 100% rename from dist/v-1530768461671/images/markitup/submenu.png rename to dist/images/markitup/submenu.png diff --git a/dist/v-1530768461671/images/menu-vert.png b/dist/images/menu-vert.png similarity index 100% rename from dist/v-1530768461671/images/menu-vert.png rename to dist/images/menu-vert.png diff --git a/dist/v-1530768461671/images/menu.png b/dist/images/menu.png similarity index 100% rename from dist/v-1530768461671/images/menu.png rename to dist/images/menu.png diff --git a/dist/v-1530768461671/images/monster-fight.png b/dist/images/monster-fight.png similarity index 100% rename from dist/v-1530768461671/images/monster-fight.png rename to dist/images/monster-fight.png diff --git a/dist/v-1530768461671/images/notification-decoration.png b/dist/images/notification-decoration.png similarity index 100% rename from dist/v-1530768461671/images/notification-decoration.png rename to dist/images/notification-decoration.png diff --git a/dist/v-1530768461671/images/project-logos/project-logo-01.png b/dist/images/project-logos/project-logo-01.png similarity index 100% rename from dist/v-1530768461671/images/project-logos/project-logo-01.png rename to dist/images/project-logos/project-logo-01.png diff --git a/dist/v-1530768461671/images/project-logos/project-logo-02.png b/dist/images/project-logos/project-logo-02.png similarity index 100% rename from dist/v-1530768461671/images/project-logos/project-logo-02.png rename to dist/images/project-logos/project-logo-02.png diff --git a/dist/v-1530768461671/images/project-logos/project-logo-03.png b/dist/images/project-logos/project-logo-03.png similarity index 100% rename from dist/v-1530768461671/images/project-logos/project-logo-03.png rename to dist/images/project-logos/project-logo-03.png diff --git a/dist/v-1530768461671/images/project-logos/project-logo-04.png b/dist/images/project-logos/project-logo-04.png similarity index 100% rename from dist/v-1530768461671/images/project-logos/project-logo-04.png rename to dist/images/project-logos/project-logo-04.png diff --git a/dist/v-1530768461671/images/project-logos/project-logo-05.png b/dist/images/project-logos/project-logo-05.png similarity index 100% rename from dist/v-1530768461671/images/project-logos/project-logo-05.png rename to dist/images/project-logos/project-logo-05.png diff --git a/dist/v-1530768461671/images/quote.png b/dist/images/quote.png similarity index 100% rename from dist/v-1530768461671/images/quote.png rename to dist/images/quote.png diff --git a/dist/v-1530768461671/images/tribe-logo.png b/dist/images/tribe-logo.png similarity index 100% rename from dist/v-1530768461671/images/tribe-logo.png rename to dist/images/tribe-logo.png diff --git a/dist/v-1530768461671/images/unnamed.png b/dist/images/unnamed.png similarity index 100% rename from dist/v-1530768461671/images/unnamed.png rename to dist/images/unnamed.png diff --git a/dist/v-1530768461671/images/user-avatars/user-avatar-01.png b/dist/images/user-avatars/user-avatar-01.png similarity index 100% rename from dist/v-1530768461671/images/user-avatars/user-avatar-01.png rename to dist/images/user-avatars/user-avatar-01.png diff --git a/dist/v-1530768461671/images/user-avatars/user-avatar-02.png b/dist/images/user-avatars/user-avatar-02.png similarity index 100% rename from dist/v-1530768461671/images/user-avatars/user-avatar-02.png rename to dist/images/user-avatars/user-avatar-02.png diff --git a/dist/v-1530768461671/images/user-avatars/user-avatar-03.png b/dist/images/user-avatars/user-avatar-03.png similarity index 100% rename from dist/v-1530768461671/images/user-avatars/user-avatar-03.png rename to dist/images/user-avatars/user-avatar-03.png diff --git a/dist/v-1530768461671/images/user-avatars/user-avatar-04.png b/dist/images/user-avatars/user-avatar-04.png similarity index 100% rename from dist/v-1530768461671/images/user-avatars/user-avatar-04.png rename to dist/images/user-avatars/user-avatar-04.png diff --git a/dist/v-1530768461671/images/user-avatars/user-avatar-05.png b/dist/images/user-avatars/user-avatar-05.png similarity index 100% rename from dist/v-1530768461671/images/user-avatars/user-avatar-05.png rename to dist/images/user-avatars/user-avatar-05.png diff --git a/dist/v-1530768461671/images/user-noimage.png b/dist/images/user-noimage.png similarity index 100% rename from dist/v-1530768461671/images/user-noimage.png rename to dist/images/user-noimage.png diff --git a/dist/index.html b/dist/index.html index 4bcbfec..e3ccff0 100644 --- a/dist/index.html +++ b/dist/index.html @@ -8,8 +8,8 @@ Taiga - - + + - - + + + iocaine diff --git a/dist/v-1530768461671/images/markitup/body.png b/dist/v-1530768461671/images/markitup/body.png deleted file mode 100755 index 20a9233..0000000 Binary files a/dist/v-1530768461671/images/markitup/body.png and /dev/null differ diff --git a/dist/v-1530768461671/js/app.js b/dist/v-1530768461671/js/app.js deleted file mode 100644 index ef397c5..0000000 --- a/dist/v-1530768461671/js/app.js +++ /dev/null @@ -1,23 +0,0 @@ -(function(){var t,e,r,n,i,o,s,a;this.taiga=a={},a.emojis=window.emojis,this.taigaContribPlugins=this.taigaContribPlugins||window.taigaContribPlugins||[],a.generateHash=function(t){return null==t&&(t=[]),t=_.map(t,function(t){return JSON.stringify(t)}),hex_sha1(t.join(":"))},a.generateUniqueSessionIdentifier=function(){var t,e;return t=(new Date).getTime(),e=Math.floor(150994944*Math.random()),a.generateHash([t,e])},a.sessionId=a.generateUniqueSessionIdentifier(),t=function(t,e,r,n,i,o,s,c,u){var l,p,h,f,d,g,m,v,y;return u.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/),g=t.when,t.when=function(e,r){return r.resolve||(r.resolve={}),angular.extend(r.resolve,{languageLoad:["$q","$translate",function(t,e){var r;return r=t.defer(),e().then(function(){return r.resolve()}),r.promise}],projectLoaded:["$q","tgProjectService","$route",function(t,e,r){var n,i;return n=t.defer(),e.setSection(null!=(i=r.current.$$route)?i.section:void 0),r.current.params.pslug?e.setProjectBySlug(r.current.params.pslug).then(n.resolve):(e.cleanProject(),n.resolve()),n.promise}]}),g.call(t,e,r)},t.when("/",{templateUrl:"home/home.html",controller:"Home",controllerAs:"vm",loader:!0,title:"HOME.PAGE_TITLE",loader:!0,description:"HOME.PAGE_DESCRIPTION",joyride:"dashboard"}),t.when("/discover",{templateUrl:"discover/discover-home/discover-home.html",controller:"DiscoverHome",controllerAs:"vm",title:"PROJECT.NAVIGATION.DISCOVER",loader:!0}),t.when("/discover/search",{templateUrl:"discover/discover-search/discover-search.html",title:"PROJECT.NAVIGATION.DISCOVER",loader:!0,controller:"DiscoverSearch",controllerAs:"vm",reloadOnSearch:!1}),t.when("/projects/",{templateUrl:"projects/listing/projects-listing.html",access:{requiresLogin:!0},title:"PROJECTS.PAGE_TITLE",description:"PROJECTS.PAGE_DESCRIPTION",loader:!0,controller:"ProjectsListing",controllerAs:"vm"}),t.when("/project/new",{title:"PROJECT.CREATE.TITLE",templateUrl:"projects/create/create-project.html",loader:!0,controller:"CreateProjectCtrl",controllerAs:"vm"}),t.when("/project/new/scrum",{title:"PROJECT.CREATE.TITLE",template:'',loader:!0}),t.when("/project/new/kanban",{title:"PROJECT.CREATE.TITLE",template:'',loader:!0}),t.when("/project/new/duplicate",{title:"PROJECT.CREATE.TITLE",template:"",loader:!0}),t.when("/project/new/import/:platform?",{title:"PROJECT.CREATE.TITLE",template:"",loader:!0}),t.when("/project/:pslug/",{templateUrl:"projects/project/project.html",loader:!0,controller:"Project",controllerAs:"vm",section:"project-timeline"}),t.when("/project/:pslug/t/:ref",{loader:!0,controller:"DetailController",template:""}),t.when("/project/:pslug/search",{templateUrl:"search/search.html",reloadOnSearch:!1,section:"search",loader:!0}),t.when("/project/:pslug/epics",{section:"epics",templateUrl:"epics/dashboard/epics-dashboard.html",loader:!0,controller:"EpicsDashboardCtrl",controllerAs:"vm"}),t.when("/project/:pslug/epic/:epicref",{templateUrl:"epic/epic-detail.html",loader:!0,section:"epics"}),t.when("/project/:pslug/backlog",{templateUrl:"backlog/backlog.html",loader:!0,section:"backlog",joyride:"backlog"}),t.when("/project/:pslug/kanban",{templateUrl:"kanban/kanban.html",loader:!0,section:"kanban",joyride:"kanban"}),t.when("/project/:pslug/taskboard/:sslug",{templateUrl:"taskboard/taskboard.html",loader:!0,section:"backlog"}),t.when("/project/:pslug/us/:usref",{templateUrl:"us/us-detail.html",loader:!0,section:"backlog-kanban"}),t.when("/project/:pslug/task/:taskref",{templateUrl:"task/task-detail.html",loader:!0,section:"backlog-kanban"}),t.when("/project/:pslug/wiki",{redirectTo:function(t){return"/project/"+t.pslug+"/wiki/home"}}),t.when("/project/:pslug/wiki-list",{templateUrl:"wiki/wiki-list.html",loader:!0,section:"wiki"}),t.when("/project/:pslug/wiki/:slug",{templateUrl:"wiki/wiki.html",loader:!0,section:"wiki"}),t.when("/project/:pslug/team",{templateUrl:"team/team.html",loader:!0,section:"team"}),t.when("/project/:pslug/issues",{templateUrl:"issue/issues.html",loader:!0,section:"issues"}),t.when("/project/:pslug/issue/:issueref",{templateUrl:"issue/issues-detail.html",loader:!0,section:"issues"}),t.when("/project/:pslug/admin/project-profile/details",{templateUrl:"admin/admin-project-profile.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/default-values",{templateUrl:"admin/admin-project-default-values.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/modules",{templateUrl:"admin/admin-project-modules.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/export",{templateUrl:"admin/admin-project-export.html",section:"admin"}),t.when("/project/:pslug/admin/project-profile/reports",{templateUrl:"admin/admin-project-reports.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/status",{templateUrl:"admin/admin-project-values-status.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/points",{templateUrl:"admin/admin-project-values-points.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/priorities",{templateUrl:"admin/admin-project-values-priorities.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/severities",{templateUrl:"admin/admin-project-values-severities.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/types",{templateUrl:"admin/admin-project-values-types.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/custom-fields",{templateUrl:"admin/admin-project-values-custom-fields.html",section:"admin"}),t.when("/project/:pslug/admin/project-values/tags",{templateUrl:"admin/admin-project-values-tags.html",section:"admin"}),t.when("/project/:pslug/admin/memberships",{templateUrl:"admin/admin-memberships.html",section:"admin"}),t.when("/project/:pslug/admin/roles",{templateUrl:"admin/admin-roles.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/webhooks",{templateUrl:"admin/admin-third-parties-webhooks.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/github",{templateUrl:"admin/admin-third-parties-github.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/gitlab",{templateUrl:"admin/admin-third-parties-gitlab.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/bitbucket",{templateUrl:"admin/admin-third-parties-bitbucket.html",section:"admin"}),t.when("/project/:pslug/admin/third-parties/gogs",{templateUrl:"admin/admin-third-parties-gogs.html",section:"admin"}),t.when("/project/:pslug/admin/contrib/:plugin",{templateUrl:"contrib/main.html"}),t.when("/project/:pslug/transfer/:token",{templateUrl:"projects/transfer/transfer-page.html",loader:!0,controller:"Project",controllerAs:"vm"}),t.when("/user-settings/user-profile",{templateUrl:"user/user-profile.html"}),t.when("/user-settings/user-change-password",{templateUrl:"user/user-change-password.html"}),t.when("/user-settings/mail-notifications",{templateUrl:"user/mail-notifications.html"}),t.when("/user-settings/live-notifications",{templateUrl:"user/live-notifications.html"}),t.when("/change-email/:email_token",{templateUrl:"user/change-email.html"}),t.when("/cancel-account/:cancel_token",{templateUrl:"user/cancel-account.html"}),t.when("/user-settings/contrib/:plugin",{templateUrl:"contrib/user-settings.html"}),t.when("/profile",{templateUrl:"profile/profile.html",loader:!0,access:{requiresLogin:!0},controller:"Profile",controllerAs:"vm"}),t.when("/profile/:slug",{templateUrl:"profile/profile.html",loader:!0,controller:"Profile",controllerAs:"vm"}),t.when("/login",{templateUrl:"auth/login.html",title:"LOGIN.PAGE_TITLE",description:"LOGIN.PAGE_DESCRIPTION",disableHeader:!0,controller:"LoginPage"}),t.when("/register",{templateUrl:"auth/register.html",title:"REGISTER.PAGE_TITLE",description:"REGISTER.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/forgot-password",{templateUrl:"auth/forgot-password.html",title:"FORGOT_PASSWORD.PAGE_TITLE",description:"FORGOT_PASSWORD.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/change-password/:token",{templateUrl:"auth/change-password-from-recovery.html",title:"CHANGE_PASSWORD.PAGE_TITLE",description:"CHANGE_PASSWORD.PAGE_TITLE",disableHeader:!0}),t.when("/invitation/:token",{templateUrl:"auth/invitation.html",title:"INVITATION.PAGE_TITLE",description:"INVITATION.PAGE_DESCRIPTION",disableHeader:!0}),t.when("/external-apps",{templateUrl:"external-apps/external-app.html",title:"EXTERNAL_APP.PAGE_TITLE",description:"EXTERNAL_APP.PAGE_DESCRIPTION",controller:"ExternalApp",controllerAs:"vm",disableHeader:!0,mobileViewport:!0}),t.when("/blocked-project/:pslug/",{templateUrl:"projects/project/blocked-project.html",loader:!0}),t.when("/error",{templateUrl:"error/error.html"}),t.when("/not-found",{templateUrl:"error/not-found.html"}),t.when("/permission-denied",{templateUrl:"error/permission-denied.html"}),t.otherwise({templateUrl:"error/not-found.html"}),e.html5Mode({enabled:!0,requireBase:!1}),f={"Content-Type":"application/json","Accept-Language":window.taigaConfig.defaultLanguage||"en","X-Session-Id":a.sessionId},r.defaults.headers["delete"]=f,r.defaults.headers.patch=f,r.defaults.headers.post=f,r.defaults.headers.put=f,r.defaults.headers.get={"X-Session-Id":a.sessionId},r.useApplyAsync(!0),i.setSessionId(a.sessionId),l=function(t,e,r,n,i){var o;return o=function(o){var s,a;return 0===o.status||o.status===-1&&!o.config.cancelable?(n.closeAll(),i.error()):401===o.status&&e.url().indexOf("/login")===-1&&(s=e.url(),a=e.search(),a.force_next?e.url(r.resolve("login")).search("force_next",a.force_next):e.url(r.resolve("login")).search({unauthorized:!0,next:s})),t.reject(o)},{responseError:o}},n.factory("authHttpIntercept",["$q","$location","$tgNavUrls","lightboxService","tgErrorHandlingService",l]),r.interceptors.push("authHttpIntercept"),d=function(t,e){return{request:function(t){return e.logRequest(),t},requestError:function(r){return e.logResponse(),t.reject(r)},responseError:function(r){return e.logResponse(),t.reject(r)},response:function(t){return e.logResponse(),t}}},n.factory("loaderIntercept",["$q","tgLoader",d]),r.interceptors.push("loaderIntercept"),y=function(t){var e;return e=function(e){var r;return 400===e.status&&e.data.version&&(r=angular.element("body").injector(),r.invoke(["$tgConfirm","$translate",function(t){return function(t,e){var r;return r=e.instant("ERROR.VERSION_ERROR"),t.notify("error",r,null,1e4)}}(this)])),t.reject(e)},{responseError:e}},n.factory("versionCheckHttpIntercept",["$q",y]),r.interceptors.push("versionCheckHttpIntercept"),p=function(t,e){var r,n,i;return r=function(){return e.block()},i=function(t){return t.data.blocked_code&&r(),t},n=function(e){return 451===e.status&&r(),t.reject(e)},{response:i,responseError:n}},n.factory("blockingIntercept",["$q","tgErrorHandlingService",p]),r.interceptors.push("blockingIntercept"),o.debugInfoEnabled(window.taigaConfig.debugInfo||!1),localStorage.userInfo&&(v=JSON.parse(localStorage.userInfo)),m=(null!=v?v.lang:void 0)||window.taigaConfig.defaultLanguage||"en",c.addPart("taiga"),s.useLoader("$translatePartialLoader",{urlTemplate:"/"+window._version+"/locales/{part}/locale-{lang}.json"}).useSanitizeValueStrategy("escapeParameters").addInterpolation("$translateMessageFormatInterpolation").preferredLanguage(m),s.fallbackLanguage(m),h=window.getDecorators(),_.each(h,function(t){return n.decorator(t.provider,t.decorator)})},e=function(t,e){var r;return moment.locale(t),"en"!==t&&ljs.load("/"+window._version+"/locales/moment-locales/"+t+".js"),r={defaultMessage:e.instant("COMMON.FORM_ERRORS.DEFAULT_MESSAGE"),type:{email:e.instant("COMMON.FORM_ERRORS.TYPE_EMAIL"),url:e.instant("COMMON.FORM_ERRORS.TYPE_URL"),urlstrict:e.instant("COMMON.FORM_ERRORS.TYPE_URLSTRICT"),number:e.instant("COMMON.FORM_ERRORS.TYPE_NUMBER"),digits:e.instant("COMMON.FORM_ERRORS.TYPE_DIGITS"),dateIso:e.instant("COMMON.FORM_ERRORS.TYPE_DATEISO"),alphanum:e.instant("COMMON.FORM_ERRORS.TYPE_ALPHANUM"),phone:e.instant("COMMON.FORM_ERRORS.TYPE_PHONE")},notnull:e.instant("COMMON.FORM_ERRORS.NOTNULL"),notblank:e.instant("COMMON.FORM_ERRORS.NOT_BLANK"),required:e.instant("COMMON.FORM_ERRORS.REQUIRED"),regexp:e.instant("COMMON.FORM_ERRORS.REGEXP"),min:e.instant("COMMON.FORM_ERRORS.MIN"),max:e.instant("COMMON.FORM_ERRORS.MAX"),range:e.instant("COMMON.FORM_ERRORS.RANGE"),minlength:e.instant("COMMON.FORM_ERRORS.MIN_LENGTH"),maxlength:e.instant("COMMON.FORM_ERRORS.MAX_LENGTH"),rangelength:e.instant("COMMON.FORM_ERRORS.RANGE_LENGTH"),mincheck:e.instant("COMMON.FORM_ERRORS.MIN_CHECK"),maxcheck:e.instant("COMMON.FORM_ERRORS.MAX_CHECK"),rangecheck:e.instant("COMMON.FORM_ERRORS.RANGE_CHECK"),equalto:e.instant("COMMON.FORM_ERRORS.EQUAL_TO"),linewidth:e.instant("COMMON.FORM_ERRORS.LINEWIDTH"),pikaday:e.instant("COMMON.FORM_ERRORS.PIKADAY")},checksley.updateMessages("default",r)},r=function(t,r,n,i,o,s,c,u,l,p,h,f,d,g){var m,v,y;return t.debug("Initialize application"),r.$on("$translatePartialLoaderStructureChanged",function(){return s.refresh()}),y={linewidth:function(t,e){var r,n;return r=a.nl2br(t).split("
"),n=_.every(r,function(t){return t.length-1}),Promise.setScheduler(function(t){return r.$evalAsync(t)}),i.setupConnection(),n.isAuthenticated()&&(v=n.getUser(),n.showTerms()),o.initialize(),r.$on("$locationChangeStart",function(t){if(f.init(),d.getLightboxOpen().length)return t.preventDefault(),d.closeAll()}),m=r.$on("$routeChangeStart",function(t,e){return e.loader&&p.start(!0),m()}),r.$on("$routeChangeSuccess",function(t,e){var r,i;return e.loader&&p.start(!0),e.access&&e.access.requiresLogin&&(n.isAuthenticated()||c.path(u.resolve("login"))),(e.title||e.description)&&(i=s.instant(e.title||""),r=s.instant(e.description||""),l.setAll(i,r)),e.mobileViewport?l.addMobileViewport():l.removeMobileViewport(),e.disableHeader?h.disableHeader():h.enableHeader()})},angular.module("infinite-scroll").value("THROTTLE_MILLISECONDS",500),s=_.filter(this.taigaContribPlugins,function(t){return t.module}),o=_.map(s,function(t){return t.module}),i=["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(o),n=angular.module("taiga",i),n.config(["$routeProvider","$locationProvider","$httpProvider","$provide","$tgEventsProvider","$compileProvider","$translateProvider","$translatePartialLoaderProvider","$animateProvider",t]),n.run(["$log","$rootScope","$tgAuth","$tgEvents","$tgAnalytics","$translate","$tgLocation","$tgNavUrls","tgAppMetaService","tgLoader","tgNavigationBarService","tgErrorHandlingService","lightboxService","$tgConfig",r])}).call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=function(t,e){return function(){return t.apply(e,arguments)}};t=function(){function t(){}return t}(),r=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e}(t),e=function(t){function e(){return this.onInitialDataError=o(this.onInitialDataError,this),e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.onInitialDataError=function(t){return t&&(404===t.status?this.errorHandlingService.notfound():403===t.status&&this.errorHandlingService.permissionDenied()),this.q.reject(t)},e}(t),this.taiga.Base=t,this.taiga.Service=r,this.taiga.Controller=e}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w,A,O,R,M=[].indexOf||function(t){for(var e=0,r=this.length;e\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+e+"$2")}}(this),r=function(t){return function(t){var e,r;return e=_.keys(t),r=[],_.forIn(t,function(t,n){if(M.call(e,n)<0&&_.isFunction(t))return r.push(n)}),_.bindAll(t,r)}}(this),n=function(t){return function(t,e,r){var n,i;return i=t.$eval(e),void 0!==i?r(i):(n=null,n=t.$watch(e,function(t){if(void 0!==t)return r(t),n?n():void 0}))}}(this),m=function(){var t,e,r,n,i,o,s,a;for(e=arguments[0],o=2<=arguments.length?U.call(arguments,1):[],t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return D(e,t),e}(e),r=o.length-1;r>=0;r+=-1){i=o[r],a=i.prototype;for(s in a)n=a[s],t.prototype[s]=n}return t},A=function(t,e){return _.trim(t,e)},$=function(t){return t.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-")},R=function(t){return t?_.capitalize(t.replace(/-/g," ")):t},w=function(t,e){var r,n;return r=t.data("nextTextPosition"),(null==r||r>=e.length)&&(r=0),n=e[r],t.data("nextTextPosition",r+1),t.text(n)},p=function(t,e){var r,n,i,o;for(o={},r=0,i=t.length;re&&(n=n.substring(0,e+1),n=n.substring(0,Math.min(n.length,n.lastIndexOf(" "))),n+=r),n):t},k=function(t,e){var r,n,i;return null==e&&(e=1),isNaN(parseFloat(t))||!isFinite(t)?"-":0===t?"0 bytes":(i=["bytes","KB","MB","GB","TB","PB"],r=Math.floor(Math.log(t)/Math.log(1024)),r>5&&(r=5),n=(t/Math.pow(1024,r)).toFixed(e),n+" "+i[r])},E=function(t,e){var r;return e?(r=new RegExp("<(?!"+e+"s*/?)[^>]+>","gi"),String(t).replace(r,"")):String(t).replace(/<\/?[^>]+>/g,"")},S=function(t,e,r){var n;return n=new RegExp("<("+e+")>","gi"),t=t.replace(n,"<"+r+">"),n=new RegExp("","gi"),t=t.replace(n,"")},a=function(t){return function(t,e,r){return Object.defineProperty(t,e,{get:function(){var t;if(!_.isFunction(r))throw"defineImmutableProperty third param must be a function";if(t=r(),t&&_.isObject(t)&&void 0===t.size)throw"defineImmutableProperty must return immutable data";return t}})}}(this),_.mixin({removeKeys:function(t,e){return _.chain([e]).flatten().reduce(function(t,e){return delete t[e],t},t).value()},cartesianProduct:function(){return _.reduceRight(arguments,function(t,e){return _.flatten(_.map(t,function(t){return _.map(e,function(e){return[e].concat(t)})}),!0)},[[]])}}),f=function(t){return null!==t.match(/\.(jpe?g|png|gif|gifv|webm|svg|psd)/i)},h=function(t){return null!=t&&null!==t.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,}))$/)},d=function(t){return null!==t.match(/\.(pdf)/i)},y=function(t,e){var r;return r={},e.forEach(function(e,n){if(e!==t.get(n))return e.toJS?r[n]=e.toJS():r[n]=e}),r},t=["#fce94f","#edd400","#c4a000","#8ae234","#73d216","#4e9a06","#d3d7cf","#fcaf3e","#f57900","#ce5c00","#729fcf","#3465a4","#204a87","#888a85","#ad7fa8","#75507b","#5c3566","#ef2929","#cc0000","#a40000","#222222"],l=function(){return _.sample(t)},c=function(){return _.clone(t)},u=function(t,e,r){var n,i;for(r||(r=1),i=[],n=null;n=e.exec(t);)r===-1?i.push(n):i.push(n[r]);return i},b=function(t,e){var r;return r=e-t,t+Math.floor(Math.random()*(r+1))},T=this.taiga,T.addClass=e,T.nl2br=v,T.bindMethods=r,T.bindOnce=n,T.mixOf=m,T.trim=A,T.slugify=$,T.unslugify=R,T.toggleText=w,T.groupBy=p,T.timeout=C,T.cancelTimeout=i,T.scopeDefer=j,T.toString=P,T.joinStr=g,T.truncate=O,T.debounce=o,T.debounceLeading=s,T.startswith=I,T.sizeFormat=k,T.stripTags=E,T.replaceTags=S,T.defineImmutableProperty=a,T.isImage=f,T.isEmail=h,T.isPdf=d,T.patch=y,T.getRandomDefaultColor=l,T.getDefaulColorList=c,T.getMatches=u,T.randomInt=b}.call(this),function(){var t,e,r,n,i,o,s,a;o=this.taiga,n=this.taiga.groupBy,i=this.taiga.joinStr,a=this.taiga.trim,s=this.taiga.toString,e=function(){function t(){}return t.prototype.fillUsersAndRoles=function(t,e){var r,i;return r=_.filter(t,function(t){return function(t){return t.is_active}}(this)),this.scope.activeUsers=_.sortBy(r,"full_name_display"),this.scope.activeUsersById=n(this.scope.activeUsers,function(t){return t.id}),this.scope.users=_.sortBy(t,"full_name_display"),this.scope.usersById=n(this.scope.users,function(t){return t.id}),this.scope.roles=_.sortBy(e,"order"),i=_(this.scope.project.members).map("role").uniq().value(),this.scope.computableRoles=_(e).filter("computable").filter(function(t){return _.includes(i,t.id)}).value()},t.prototype.loadUsersAndRoles=function(){var t;return t=this.q.all([this.rs.projects.usersList(this.scope.projectId),this.rs.projects.rolesList(this.scope.projectId)]),t.then(function(t){return function(e){var r,n;return n=e[0],r=e[1],t.fillUsersAndRoles(n,r),e}}(this))},t}(),o.PageMixin=e,t=function(){function t(){}return t.prototype.selectFilter=function(t,e,r){var n,s,c;if(null==r&&(r=!1),c=this.location.search(),void 0!==c[t]&&"page"!==t&&(n=_.map(o.toString(c[t]).split(","),function(t){return a(t)}),n.push(o.toString(e)),n=_.compact(n),e=i(",",_.uniq(n))),!this.location.isInCurrentRouteParams(t,e))return s=r?this.location:this.location.noreload(this.scope),s.search(t,e)},t.prototype.replaceFilter=function(t,e,r){var n;if(null==r&&(r=!1),!this.location.isInCurrentRouteParams(t,e))return n=r?this.location:this.location.noreload(this.scope),n.search(t,e)},t.prototype.replaceAllFilters=function(t,e){var r;return null==e&&(e=!1),r=e?this.location:this.location.noreload(this.scope),r.search(t)},t.prototype.unselectFilter=function(t,e,r){var n,s,c,u;if(null==r&&(r=!1),c=this.location.search(),void 0!==c[t])return void 0!==e&&null!==e||delete c[t],u=_.map(o.toString(c[t]).split(","),function(t){return a(t)}),s=_.reject(u,function(t){return t===o.toString(e)}),s=_.compact(s),e=_.isEmpty(s)?null:i(",",_.uniq(s)),n=r?this.location:this.location.noreload(this.scope),n.search(t,e)},t.prototype.applyStoredFilters=function(t,e){var r;return!(!_.isEmpty(this.location.search())||(r=this.getFilters(t,e),!Object.keys(r).length))&&(this.location.search(r),this.location.replace(),!0)},t.prototype.storeFilters=function(t,e,r){var n,i;return i=t+":"+r,n=o.generateHash([t,i]),this.storage.set(n,e)},t.prototype.getFilters=function(t,e){var r,n;return n=t+":"+e,r=o.generateHash([t,n]),this.storage.get(r)||{}},t.prototype.formatSelectedFilters=function(t,e,r){var n,i,o,s,a;return s=r.split(","),o=_.filter(e,function(t){return s.indexOf(_.toString(t.id))!==-1}),i=_.filter(s,function(t){return!_.find(o,function(e){return _.toString(e.id)===t})}),n=_.map(i,function(e){return{id:e,key:t+":"+e,dataType:t,name:e}}),a=_.map(o,function(e){return{id:e.id,key:t+":"+e.id,dataType:t,name:e.name,color:e.color}}),n.concat(a)},t}(),o.FiltersMixin=t,r=function(){function t(){}return t.prototype.changeQ=function(t){return this.replaceFilter("q",t),this.filtersReloadContent(),this.generateFilters()},t.prototype.removeFilter=function(t){return this.unselectFilter(t.dataType,t.id),this.filtersReloadContent(),this.generateFilters()},t.prototype.addFilter=function(t){return this.selectFilter(t.category.dataType,t.filter.id),this.filtersReloadContent(),this.generateFilters()},t.prototype.selectCustomFilter=function(t){return this.replaceAllFilters(t.filter),this.filtersReloadContent(),this.generateFilters()},t.prototype.saveCustomFilter=function(t){var e,r;return e={},r=this.location.search(),e.tags=r.tags,e.status=r.status,e.assigned_to=r.assigned_to,e.owner=r.owner,e.epic=r.epic,e.role=r.role,this.filterRemoteStorageService.getFilters(this.scope.projectId,this.storeCustomFiltersName).then(function(r){return function(n){return n[t]=e,r.filterRemoteStorageService.storeFilters(r.scope.projectId,n,r.storeCustomFiltersName).then(r.generateFilters)}}(this))},t.prototype.removeCustomFilter=function(t){return this.filterRemoteStorageService.getFilters(this.scope.projectId,this.storeCustomFiltersName).then(function(e){return function(r){return delete r[t.id],e.filterRemoteStorageService.storeFilters(e.scope.projectId,r,e.storeCustomFiltersName).then(e.generateFilters),e.generateFilters()}}(this))},t.prototype.isFilterDataTypeSelected=function(t){var e,r,n,i;for(i=this.selectedFilters,r=0,n=i.length;r0}),i=_.map(s.assigned_users,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),n=_.map(s.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),u=_.map(s.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),c=_.map(s.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),a=_.map(s.epics,function(t){return t.id?(t.id=t.id.toString(),t.name="#"+t.ref+" "+t.subject):(t.id="null",t.name="Not in an epic"),t}),t.selectedFilters=[],e.status&&(l=t.formatSelectedFilters("status",p,e.status),t.selectedFilters=t.selectedFilters.concat(l)),e.tags&&(l=t.formatSelectedFilters("tags",h,e.tags),t.selectedFilters=t.selectedFilters.concat(l)),e.assigned_users&&(l=t.formatSelectedFilters("assigned_users",i,e.assigned_users),t.selectedFilters=t.selectedFilters.concat(l)),e.assigned_to&&(l=t.formatSelectedFilters("assigned_to",n,e.assigned_to),t.selectedFilters=t.selectedFilters.concat(l)),e.owner&&(l=t.formatSelectedFilters("owner",c,e.owner),t.selectedFilters=t.selectedFilters.concat(l)),e.epic&&(l=t.formatSelectedFilters("epic",a,e.epic),t.selectedFilters=t.selectedFilters.concat(l)),e.role&&(l=t.formatSelectedFilters("role",u,e.role),t.selectedFilters=t.selectedFilters.concat(l)),t.filterQ=e.q,t.filters=[{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:p},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:h,hideEmpty:!0,totalTaggedElements:f.length},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_USERS"),dataType:"assigned_users",content:i},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:u},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:c},{title:t.translate.instant("COMMON.FILTERS.CATEGORIES.EPIC"),dataType:"epic",content:a}],t.customFilters=[],_.forOwn(o,function(e,r){return t.customFilters.push({id:r,name:r,filter:e})})}}(this))},t}(),o.UsFiltersMixin=r}.call(this),function(){var t;t=angular.module("taigaAdmin",[])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f=function(t,e){function r(){this.constructor=t}for(var n in e)d.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},d={}.hasOwnProperty;h=this.taiga,l=this.taiga.debounce,p=angular.module("taigaAuth",["taigaResources"]),a=function(){function t(t,e,r,n,i){var o;t.isAuthenticated()&&(n.force_login||(o=r.resolve("home"),n.next&&(o=decodeURIComponent(n.next),e.search("next",null)),n.unauthorized?(i.clear(),i.removeToken()):e.url(o)))}return t.$inject=["tgCurrentUserService","$location","$tgNavUrls","$routeParams","$tgAuth"],t}(),p.controller("LoginPage",a),t=function(t){function e(t,r,n,i,o,s,a,c,u,l,p,h){var f;this.rootscope=t,this.storage=r,this.model=n,this.rs=i,this.http=o,this.urls=s,this.config=a,this.translate=c,this.currentUserService=u,this.themeService=l,this.analytics=p,this.termsAnnouncementService=h,e.__super__.constructor.call(this),f=this.getUser(),this._currentTheme=this._getUserTheme(),this.setUserdata(f)}return f(e,t),e.$inject=["$rootScope","$tgStorage","$tgModel","$tgResources","$tgHttp","$tgUrls","$tgConfig","$translate","tgCurrentUserService","tgThemeService","$tgAnalytics","tgTermsAnnouncementService"],e.prototype.setUserdata=function(t){return t?(this.userData=Immutable.fromJS(t.getAttrs()),this.currentUserService.setUser(this.userData)):this.userData=null,this.analytics.setUserId()},e.prototype._getUserTheme=function(){var t;return(null!=(t=this.rootscope.user)?t.theme:void 0)||this.config.get("defaultTheme")||"taiga"},e.prototype._setTheme=function(){var t;if(t=this._getUserTheme(),this._currentTheme!==t)return this._currentTheme=t,this.themeService.use(this._currentTheme)},e.prototype._setLocales=function(){var t,e;return t=(null!=(e=this.rootscope.user)?e.lang:void 0)||this.config.get("defaultLanguage")||"en",this.translate.preferredLanguage(t),this.translate.use(t)},e.prototype.getUser=function(){var t,e;return this.rootscope.user?this.rootscope.user:(e=this.storage.get("userInfo"))?(t=this.model.make_model("users",e),this.rootscope.user=t,this._setLocales(),this._setTheme(),t):(this._setTheme(),null)},e.prototype.setUser=function(t){return this.rootscope.auth=t,this.storage.set("userInfo",t.getAttrs()),this.rootscope.user=t,this.setUserdata(t),this._setLocales(),this._setTheme()},e.prototype.clear=function(){return this.rootscope.auth=null,this.rootscope.user=null,this.storage.remove("userInfo")},e.prototype.setToken=function(t){return this.storage.set("token",t)},e.prototype.getToken=function(){return this.storage.get("token")},e.prototype.removeToken=function(){return this.storage.remove("token")},e.prototype.isAuthenticated=function(){return null!==this.getUser()},e.prototype.refresh=function(){var t;return t=this.urls.resolve("user-me"),this.http.get(t).then(function(t){return function(e,r){var n;return n=e.data,n.token=t.getUser().auth_token,n=t.model.make_model("users",n),t.setUser(n),t.rootscope.$broadcast("auth:refresh",n),n}}(this))},e.prototype.login=function(t,e){var r;return r=this.urls.resolve("auth"),t=_.clone(t,!1),t.type=e?e:"normal",this.removeToken(),this.http.post(r,t).then(function(t){ -return function(e,r){var n;return n=t.model.make_model("users",e.data),t.setToken(n.auth_token),t.setUser(n),t.rootscope.$broadcast("auth:login",n),n}}(this))},e.prototype.logout=function(){return this.removeToken(),this.clear(),this.currentUserService.removeUser(),this._setTheme(),this._setLocales(),this.rootscope.$broadcast("auth:logout"),this.analytics.setUserId()},e.prototype.register=function(t,e,r){var n;return n=this.urls.resolve("auth-register"),t=_.clone(t,!1),t.type=e?e:"public","private"===e&&(t.existing=!!r&&r),this.removeToken(),this.http.post(n,t).then(function(t){return function(e){var r;return r=t.model.make_model("users",e.data),t.setToken(r.auth_token),t.setUser(r),t.rootscope.$broadcast("auth:register",r),r}}(this))},e.prototype.getInvitation=function(t){return this.rs.invitations.get(t)},e.prototype.acceptInvitiationWithNewUser=function(t){return this.register(t,"private",!1)},e.prototype.forgotPassword=function(t){var e;return e=this.urls.resolve("users-password-recovery"),t=_.clone(t,!1),this.removeToken(),this.http.post(e,t)},e.prototype.changePasswordFromRecovery=function(t){var e;return e=this.urls.resolve("users-change-password-from-recovery"),t=_.clone(t,!1),this.removeToken(),this.http.post(e,t)},e.prototype.changeEmail=function(t){var e;return e=this.urls.resolve("users-change-email"),t=_.clone(t,!1),this.http.post(e,t)},e.prototype.cancelAccount=function(t){var e;return e=this.urls.resolve("users-cancel-account"),t=_.clone(t,!1),this.http.post(e,t)},e.prototype.exportProfile=function(){var t;return t=this.urls.resolve("users-export"),this.http.post(t)},e.prototype.showTerms=function(t){var e;if(e=this.getUser(),e&&!e.read_new_terms)return this.termsAnnouncementService.show()},e}(h.Service),p.service("$tgAuth",t),c=function(t,e,r,n){var i,o;return i=n.get("auth/login-text.html",!0),o=function(){var n,o,s;return(o=t.get("publicRegisterEnabled"))?(s=e.resolve("register"),r.force_next&&(n=encodeURIComponent(r.force_next),s+="?next="+n),i({url:s})):""},{restrict:"AE",scope:{},template:o}},p.directive("tgPublicRegisterMessage",["$tgConfig","$tgNavUrls","$routeParams","$tgTemplate",c]),s=function(t,e,r,n,i,o,s,a,c,u){var p;return p=function(p,h,f){var d,g,m,v;return d=new checksley.Form(h.find("form.login-form")),i.next&&i.next!==o.resolve("login")?p.nextUrl=decodeURIComponent(i.next):p.nextUrl=o.resolve("home"),i.force_next&&(p.nextUrl=decodeURIComponent(i.force_next)),m=function(e){return s.setupConnection(),u.trackEvent("auth","login","user login",1),t.showTerms(),0===p.nextUrl.indexOf("http")?c.location.href=p.nextUrl:r.url(p.nextUrl)},g=function(t){return e.notify("light-error",a.instant("LOGIN_FORM.ERROR_AUTH_INCORRECT"))},p.onKeyUp=function(t){var e,r;if(e=angular.element(t.currentTarget),r=e.val(),p.iscapsLockActivated=!1,r!==r.toLowerCase())return p.iscapsLockActivated=!0},v=l(2e3,function(e){return function(e){var r,i,o;if(e.preventDefault(),d.validate())return r={username:h.find("form.login-form input[name=username]").val(),password:h.find("form.login-form input[name=password]").val()},i=n.get("loginFormType","normal"),o=t.login(r,i),o.then(m,g)}}(this)),h.on("submit","form",v),window.prerenderReady=!0,p.$on("$destroy",function(){return h.off()})},{link:p}},p.directive("tgLogin",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgEvents","$translate","$window","$tgAnalytics",s]),u=function(t,e,r,n,i,o,s,a,c){var u;return u=function(u,p,h){var f,d,g,m;return i.get("publicRegisterEnabled")||(r.path(n.resolve("not-found")),r.replace()),u.data={},f=p.find("form").checksley({onlyOneErrorElement:!0}),o.next&&o.next!==n.resolve("login")?u.nextUrl=decodeURIComponent(o.next):u.nextUrl=n.resolve("home"),g=function(t){return s.trackEvent("auth","register","user registration",1),0===u.nextUrl.indexOf("http")?c.location.href=u.nextUrl:r.url(u.nextUrl)},d=function(t){var r;return t.data._error_message&&(r=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),e.notify("light-error",r)),f.setErrors(t.data)},m=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),f.validate())return r=t.register(u.data),r.then(g,d)}}(this)),p.on("submit","form",m),u.$on("$destroy",function(){return p.off()}),window.prerenderReady=!0},{link:u}},p.directive("tgRegister",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$tgConfig","$routeParams","$tgAnalytics","$translate","$window",u]),i=function(t,e,r,n,i){var o;return o=function(o,s,a){var c,u,p,h;return o.data={},c=s.find("form").checksley(),p=function(t){var o,s;return r.path(n.resolve("login")),s=i.instant("FORGOT_PASSWORD_FORM.SUCCESS_TITLE"),o=i.instant("FORGOT_PASSWORD_FORM.SUCCESS_TEXT"),e.success(s,o)},u=function(t){var r;return r=i.instant("FORGOT_PASSWORD_FORM.ERROR"),e.notify("light-error",r)},h=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),c.validate())return r=t.forgotPassword(o.data),r.then(p,u)}}(this)),s.on("submit","form",h),o.$on("$destroy",function(){return s.off()}),window.prerenderReady=!0},{link:o}},p.directive("tgForgotPassword",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$translate",i]),n=function(t,e,r,n,i,o){var s;return s=function(s,a,c){var u,p,h,f,d;return s.data={},null!=n.token?(s.tokenInParams=!0,s.data.token=n.token):(r.path(i.resolve("login")),d=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.ERROR"),e.notify("light-error",d)),u=a.find("form").checksley(),h=function(t){return r.path(i.resolve("login")),d=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS"),e.success(d)},p=function(t){return d=o.instant("CHANGE_PASSWORD_RECOVERY_FORM.ERROR"),e.notify("light-error",d)},f=l(2e3,function(e){return function(e){var r;if(e.preventDefault(),u.validate())return r=t.changePasswordFromRecovery(s.data),r.then(h,p)}}(this)),a.on("submit","form",f),s.$on("$destroy",function(){return a.off()})},{link:s}},p.directive("tgChangePasswordFromRecovery",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$translate",n]),o=function(t,e,r,n,i,o,s,a,c){var u;return u=function(u,p,h){var f,d,g,m,v,y,b,S,j,k;return k=i.token,y=t.getInvitation(k),y.then(function(t){return u.invitation=t,u.publicRegisterEnabled=c.get("publicRegisterEnabled")}),y.then(null,function(t){var n;return r.path(o.resolve("login")),n=a.instant("INVITATION_LOGIN_FORM.NOT_FOUND"),e.notify("light-error",n)}),u.dataLogin={token:k},f=p.find("form.login-form").checksley({onlyOneErrorElement:!0}),m=function(t){var n;return s.trackEvent("auth","invitationAccept","invitation accept with existing user",1),r.path(o.resolve("project",{project:u.invitation.project_slug})),n=a.instant("INVITATION_LOGIN_FORM.SUCCESS",{project_name:u.invitation.project_name}),e.notify("success",n)},d=function(t){return e.notify("light-error",t.data._error_message)},S=l(2e3,function(e){return function(e){var r,i;if(e.preventDefault(),f.validate())return i=n.get("loginFormType","normal"),r=u.dataLogin,y=t.login({username:r.username,password:r.password,invitation_token:r.token},i),y.then(m,d)}}(this)),p.on("submit","form.login-form",S),p.on("click",".button-login",S),u.dataRegister={token:k},b=p.find("form.register-form").checksley({onlyOneErrorElement:!0}),v=function(t){return s.trackEvent("auth","invitationAccept","invitation accept with new user",1),r.path(o.resolve("project",{project:u.invitation.project_slug})),e.notify("success","You've successfully joined this project","Welcome to "+_.escape(u.invitation.project_name))},g=function(t){var r;return t.data._error_message&&(r=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),e.notify("light-error",r)),b.setErrors(t.data)},j=l(2e3,function(e){return function(e){if(e.preventDefault(),b.validate())return y=t.acceptInvitiationWithNewUser(u.dataRegister),y.then(v,g)}}(this)),p.on("submit","form.register-form",j),p.on("click",".button-register",j),u.$on("$destroy",function(){return p.off()})},{link:u}},p.directive("tgInvitation",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgAnalytics","$translate","$tgConfig",o]),r=function(t,e,r,n,i,o,s,a){var c;return c=function(e,c,u){var l,p,h,f;return e.data={},e.data.email_token=o.email_token,l=c.find("form").checksley(),h=function(e){var o;return r.isAuthenticated()?t.queryOne("users",r.getUser().id).then(function(t){return function(t){return r.setUser(t),i.path(s.resolve("home")),i.replace()}}(this)):(i.path(s.resolve("login")),i.replace()),o=a.instant("CHANGE_EMAIL_FORM.SUCCESS"),n.success(o)},p=function(t){var e;return e=a.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),n.notify("light-error",e)},f=function(){var t;if(l.validate())return t=r.changeEmail(e.data),t.then(h,p)},c.on("submit",function(t){return t.preventDefault(),f()}),c.on("click","a.button-change-email",function(t){return t.preventDefault(),f()}),e.$on("$destroy",function(){return c.off()})},{link:c}},p.directive("tgChangeEmail",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$translate",r]),e=function(t,e,r,n,i,o,s){var a;return a=function(t,e,a){var c,u,p,h;return t.data={},t.data.cancel_token=o.cancel_token,c=e.find("form").checksley(),p=function(t){var e;return r.logout(),i.path(s.resolve("home")),e=$translate.instant("CANCEL_ACCOUNT.SUCCESS"),n.success(e)},u=function(t){var e;return e=$translate.instant("COMMON.GENERIC_ERROR",{error:t.data._error_message}),n.notify("error",e)},h=l(2e3,function(e){return function(e){var n;if(e.preventDefault(),c.validate())return n=r.cancelAccount(t.data),n.then(p,u)}}(this)),e.on("submit","form",h),t.$on("$destroy",function(){return e.off()})},{link:a}},p.directive("tgCancelAccount",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",e])}.call(this),function(){var t;t=angular.module("taigaBacklog",[])}.call(this),function(){var t,e,r,n,i,o,s;o=this.taiga,r=this.taiga.groupBy,e=this.taiga.bindOnce,i=angular.module("taigaBase",[]),t=function(t,e){var r;return r=function(r,n,i){return e.onresize=function(){return t.$broadcast("resize")}},{link:r}},i.directive("tgMain",["$rootScope","$window",t]),s={home:"/",projects:"/projects",error:"/error","not-found":"/not-found","permission-denied":"/permission-denied",discover:"/discover","discover-search":"/discover/search",login:"/login","forgot-password":"/forgot-password","change-password":"/change-password/:token","change-email":"/change-email/:token","cancel-account":"/cancel-account/:token",register:"/register",invitation:"/invitation/:token","create-project":"/project/new","create-project-scrum":"/project/new/scrum","create-project-kanban":"/project/new/kanban","create-project-duplicate":"/project/new/duplicate","create-project-import":"/project/new/import","create-project-import-platform":"/project/new/import/:platform",profile:"/profile","user-profile":"/profile/:username","blocked-project":"/blocked-project/:project",project:"/project/:project","project-detail-ref":"/project/:project/t/:ref","project-backlog":"/project/:project/backlog","project-taskboard":"/project/:project/taskboard/:sprint","project-kanban":"/project/:project/kanban","project-issues":"/project/:project/issues","project-epics":"/project/:project/epics","project-search":"/project/:project/search","project-epics-detail":"/project/:project/epic/:ref","project-userstories-detail":"/project/:project/us/:ref","project-tasks-detail":"/project/:project/task/:ref","project-issues-detail":"/project/:project/issue/:ref","project-wiki":"/project/:project/wiki","project-wiki-list":"/project/:project/wiki-list","project-wiki-page":"/project/:project/wiki/:slug","project-team":"/project/:project/team","project-admin-home":"/project/:project/admin/project-profile/details","project-admin-project-profile-details":"/project/:project/admin/project-profile/details","project-admin-project-profile-default-values":"/project/:project/admin/project-profile/default-values","project-admin-project-profile-modules":"/project/:project/admin/project-profile/modules","project-admin-project-profile-export":"/project/:project/admin/project-profile/export","project-admin-project-profile-reports":"/project/:project/admin/project-profile/reports","project-admin-project-values-status":"/project/:project/admin/project-values/status","project-admin-project-values-points":"/project/:project/admin/project-values/points","project-admin-project-values-priorities":"/project/:project/admin/project-values/priorities","project-admin-project-values-severities":"/project/:project/admin/project-values/severities","project-admin-project-values-types":"/project/:project/admin/project-values/types","project-admin-project-values-custom-fields":"/project/:project/admin/project-values/custom-fields","project-admin-project-values-tags":"/project/:project/admin/project-values/tags","project-admin-memberships":"/project/:project/admin/memberships","project-admin-roles":"/project/:project/admin/roles","project-admin-third-parties-webhooks":"/project/:project/admin/third-parties/webhooks","project-admin-third-parties-github":"/project/:project/admin/third-parties/github","project-admin-third-parties-gitlab":"/project/:project/admin/third-parties/gitlab","project-admin-third-parties-bitbucket":"/project/:project/admin/third-parties/bitbucket","project-admin-third-parties-gogs":"/project/:project/admin/third-parties/gogs","project-admin-contrib":"/project/:project/admin/contrib/:plugin","user-settings-user-profile":"/user-settings/user-profile","user-settings-user-change-password":"/user-settings/user-change-password","user-settings-user-avatar":"/user-settings/user-avatar","user-settings-mail-notifications":"/user-settings/mail-notifications","user-settings-live-notifications":"/user-settings/live-notifications","user-settings-contrib":"/user-settings/contrib/:plugin"},n=function(t,e){return t.debug("Initialize navigation urls"),e.update(s)},i.run(["$log","$tgNavUrls",n])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v=[].slice,y=function(t,e){function r(){this.constructor=t}for(var n in e)b.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},b={}.hasOwnProperty;m=this.taiga,g=angular.module("taigaCommon",[]),s=function(t,e,r){return{get:function(){var n,i,o,s;return s=r.getUser(),i=s.lang||t.preferredLanguage(),o=e.get("rtlLanguages",[]),n=o.indexOf(i)>-1,{i18n:{previousMonth:t.instant("COMMON.PICKERDATE.PREV_MONTH"),nextMonth:t.instant("COMMON.PICKERDATE.NEXT_MONTH"),months:[t.instant("COMMON.PICKERDATE.MONTHS.JAN"),t.instant("COMMON.PICKERDATE.MONTHS.FEB"),t.instant("COMMON.PICKERDATE.MONTHS.MAR"),t.instant("COMMON.PICKERDATE.MONTHS.APR"),t.instant("COMMON.PICKERDATE.MONTHS.MAY"),t.instant("COMMON.PICKERDATE.MONTHS.JUN"),t.instant("COMMON.PICKERDATE.MONTHS.JUL"),t.instant("COMMON.PICKERDATE.MONTHS.AUG"),t.instant("COMMON.PICKERDATE.MONTHS.SEP"),t.instant("COMMON.PICKERDATE.MONTHS.OCT"),t.instant("COMMON.PICKERDATE.MONTHS.NOV"),t.instant("COMMON.PICKERDATE.MONTHS.DEC")],weekdays:[t.instant("COMMON.PICKERDATE.WEEK_DAYS.SUN"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.MON"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.TUE"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.WED"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.THU"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.FRI"),t.instant("COMMON.PICKERDATE.WEEK_DAYS.SAT")],weekdaysShort:[t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI"),t.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT")]},isRTL:n,firstDay:parseInt(t.instant("COMMON.PICKERDATE.FIRST_DAY_OF_WEEK"),10),format:t.instant("COMMON.PICKERDATE.FORMAT")}}}},g.factory("tgDatePickerConfigService",["$translate","$tgConfig","$tgAuth",s]),p=function(t,e){var r;return r=function(){return t.getSelection?t.getSelection().toString():e.selection?e.selection.createRange().text:""},{get:r}},g.factory("$selectedText",["$window","$document",p]),n=function(t){var e,r;return r=function(t,e,r){if(e&&r&&e.get("my_permissions").indexOf(r)>-1)return t.removeClass("hidden")},e=function(e,n,i){var o,s,a;return n.addClass("hidden"),o=i.tgCheckPermission,a=e.$watch(function(){return t.project},function(){if(t.project)return r(n,t.project,o),a()}),s=i.$observe("tgCheckPermission",function(e){if(e)return r(n,t.project,e),s()}),e.$on("$destroy",function(){return n.off()})},{link:e}},n.$inject=["tgProjectService"],g.directive("tgCheckPermission",n),i=function(){var t,e;return e="tgClassPermission",t=function(t,r,n){var i,o,s;return i=function(t,e,n){var i;return i="!"===n[0],i&&(n=n.slice(1)),i&&t.my_permissions.indexOf(n)===-1?r.addClass(e):i||t.my_permissions.indexOf(n)===-1?r.removeClass(e):r.addClass(e)},o=function(r){var o,a,c,u;if(r){s(),a=t.$eval(n[e]),u=[];for(o in a)c=a[o],u.push(i(r,o,c));return u}},s=t.$watch("project",o)},{link:t}},g.directive("tgClassPermission",i),t=function(){var t,e,r,n;return e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,r=function(t){return function(t){var i;if(i=n.shift(),i(),n.length)return e(r)}}(this),n=[],t=function(){var t,i,o,s;for(s=[],i=0,o=arguments.length;i-1?t.resolve("project-backlog",r):e.is_kanban_activated&&e.my_permissions.indexOf("view_us")>-1?t.resolve("project-kanban",r):e.is_wiki_activated&&e.my_permissions.indexOf("view_wiki_pages")>-1?t.resolve("project-wiki",r):e.is_issues_activated&&e.my_permissions.indexOf("view_issues")>-1?t.resolve("project-issues",r):t.resolve("project",r)},{get:e}},g.factory("$projectUrl",["$tgNavUrls",c]),u=function(t){var e,r,n;return e=t.defer(),e.resolve(),r=e.promise,n={bindAdd:function(t){return function(e){return function(){var n;return n=1<=arguments.length?v.call(arguments,0):[],r=r.then(function(){return e.apply(t,n)})}}}(this),add:function(t){return function(t){return r=r?r.then(t):t(),n}}(this)}},g.factory("$tgQqueue",["$q",u]),l=function(t){function e(t,e,r,n){this.qqueue=t,this.repo=e,this.q=r,this.model=n}return y(e,t),e.$inject=["$tgQqueue","$tgRepo","$q","$tgModel"],e.prototype.setObject=function(t,e){this.scope=t,this.prop=e},e.prototype.clone=function(){var t,e;return t=_.cloneDeep(this.scope[this.prop]._attrs),e=this.model.make_model(this.scope[this.prop]._name,t)},e.prototype.getObj=function(){return this.scope[this.prop]},e.prototype.save=function(t){var e;return e=this.q.defer(),this.qqueue.add(function(r){return function(){var n,i,o,s,a;return s=r.getObj(),i=s.comment,s.comment="",n=r.clone(),o=_.omit(s._modifiedAttrs,["version"]),n=_.assign(n,o),t(n),i.length&&(n.comment=i),a=function(){return r.scope[r.prop]=n,e.resolve.apply(null,arguments)},r.repo.save(n).then(a,e.reject)}}(this)),e.promise},e}(m.Service),g.service("$tgQueueModelTransformation",l),f=function(t){return{get:function(e){return function(e,r){var n;return null==r&&(r=!1),n=t.get(e),r&&(n=_.template(n)),n}}(this)}},g.factory("$tgTemplate",["$templateCache",f]),r=function(){var t;return t="",{template:t}},g.directive("tgCapslock",[r]),a=function(){var t,e;return e='\n \n',t=function(t,e,r){},{scope:{onClose:"&"},link:t,template:e}},g.directive("tgLightboxClose",[a]),h=function(){var t;return t='\n \n {{svgTitle}}\n {{svgTitleTranslate | translate: svgTitleTranslateValues}}\n \n',{scope:{svgIcon:"@",svgTitle:"@",svgTitleTranslate:"@",svgTitleTranslateValues:"="},template:t}},g.directive("tgSvg",[h]),e=function(t,e,r){return{restrict:"A",link:function(r,n,i){var o;return i.ngShow?(o=e(i.ngShow),r.$watch(o,function(e){if(e===!0)return t(function(){return n[0].focus()})})):t(function(){return n[0].focus()})}}},g.directive("tgAutofocus",["$timeout","$parse","animationFrame",e]),g.directive("tgPreloadImage",function(){var t,e,r;return e="loading...",r="
\n \n
",t=function(t,e){var r;return r=new Image,r.onload=e,r.src=t,r},{template:r,transclude:!0,replace:!0,link:function(r,n,i){var o,s,a;return o=n.find("img:last"),a=null,s=function(){if(n.find(".loading-spinner").remove(),o.show(),a)return clearTimeout(a),a=null},i.$observe("preloadSrc",function(r){return a&&clearTimeout(a),n.find(".loading-spinner").remove(),a=setTimeout(function(){return n.prepend(e)},200),o.hide(),t(r,s)})}}}),o=function(){var t;return t=function(t,e,r){return e.on("click",function(t){if(t.ctrlKey||t.metaKey)return t.preventDefault()})},{link:t}},g.directive("tgCtrlClickDisable",o)}.call(this),function(){var t,e,r,n,i,o,s,a,c;a=this.taiga,o=this.taiga.mixOf,c=this.taiga.toString,i=this.taiga.joinStr,n=this.taiga.groupBy,r=this.taiga.bindOnce,e=this.taiga.bindMethods,s=angular.module("taigaCommon"),t=function(){function t(t,e,r,n,i){this.params=t,this.repo=e,this.projectService=r,this.navurls=n,this.location=i,this.repo.resolve({pslug:this.params.pslug,ref:this.params.ref}).then(function(t){return function(e){var r;return e.issue?r=t.navurls.resolve("project-issues-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.task?r=t.navurls.resolve("project-tasks-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.us?r=t.navurls.resolve("project-userstories-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.epic?r=t.navurls.resolve("project-epics-detail",{project:t.projectService.project.get("slug"),ref:t.params.ref}):e.wikipage&&(r=t.navurls.resolve("project-wiki-page",{project:t.projectService.project.get("slug"),slug:t.params.ref})),t.location.path(r)}}(this))}return t.$inject=["$routeParams","$tgRepo","tgProjectService","$tgNavUrls","$location"],t}(),s.controller("DetailController",t)}.call(this),function(){var t;t=angular.module("taigaEpics",[])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){return function(){return t.apply(e,arguments)}};o=this.taiga,i=this.taiga.startswith,r=this.taiga.bindMethods,n=angular.module("taigaEvents",[]),e=function(){function t(t,e,n,i,o,a){this.win=t,this.log=e,this.config=n,this.auth=i,this.liveAnnouncementService=o,this.rootScope=a,this.processMessage=s(this.processMessage,this),r(this)}return t.prototype.initialize=function(t){if(this.sessionId=t,this.subscriptions={},this.connected=!1,this.error=!1,this.pendingMessages=[],this.missedHeartbeats=0,this.heartbeatInterval=null,void 0===this.win.WebSocket)return this.log.info("WebSockets not supported on your browser")},t.prototype.setupConnection=function(){var t,e,r,n;if(this.stopExistingConnection(),n=this.config.get("eventsUrl"))return i(n,"ws:")||i(n,"wss:")||(t=this.win.location,r="https:"===t.protocol?"wss:":"ws:",e=_.trimStart(n,"/"),n=r+"//"+t.host+"/"+e),this.error=!1,this.ws=new this.win.WebSocket(n),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)},t.prototype.stopExistingConnection=function(){if(void 0!==this.ws)return this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("close",this.onClose),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("message",this.onMessage),this.stopHeartBeatMessages(),this.ws.close(),delete this.ws},t.prototype.notifications=function(){return this.subscribe(null,"notifications",function(t){return function(e){return t.liveAnnouncementService.show(e.title,e.desc),t.rootScope.$digest()}}(this))},t.prototype.liveNotifications=function(){var t,e;if(null!=this.auth.userData)return e=this.auth.userData.get("id"),t=function(t){return function(){return t.subscribe(null,"live_notifications."+e,function(t){var e;if(e=new Notification(t.title,{icon:"/"+window._version+"/images/favicon.png",body:t.body,tag:t.id}),e.onshow=function(){if(t.timeout&&t.timeout>0)return setTimeout(function(){return e.close()},t.timeout)},t.url)return e.onclick=function(){return window.open(t.url)}})}}(this),Notification?"granted"===Notification.permission?t():"denied"!==Notification.permission?Notification.requestPermission(function(e){return function(e){if("granted"===e)return t()}}(this)):void 0:console.log("This browser does not support desktop notification")},t.prototype.startHeartBeatMessages=function(){var t,e,r;if(!this.heartbeatInterval)return e=this.config.get("eventsMaxMissedHeartbeats",5),t=this.config.get("eventsHeartbeatIntervalTime",6e4),r=this.config.get("eventsReconnectTryInterval",1e4),this.missedHeartbeats=0,this.heartbeatInterval=setInterval(function(t){return function(){var r;try{if(t.missedHeartbeats>=e)throw new Error("Too many missed heartbeats PINGs.");return t.missedHeartbeats++,t.sendMessage({cmd:"ping"}),t.log.debug("HeartBeat send PING")}catch(n){return r=n,t.log.error("HeartBeat error: "+r.message),t.setupConnection()}}}(this),t),this.log.debug("HeartBeat enabled")},t.prototype.stopHeartBeatMessages=function(){if(this.heartbeatInterval)return clearInterval(this.heartbeatInterval),this.heartbeatInterval=null,this.log.debug("HeartBeat disabled")},t.prototype.processHeartBeatPongMessage=function(t){return this.missedHeartbeats=0,this.log.debug("HeartBeat recived PONG")},t.prototype.serialize=function(t){return _.isObject(t)?JSON.stringify(t):t},t.prototype.sendMessage=function(t){var e,r,n,i,o;if(this.pendingMessages.push(t),this.connected){for(n=_.map(this.pendingMessages,this.serialize),this.pendingMessages=[],o=[],e=0,r=n.length;e\n
<%- name %>
'),i=function(i,c,u){var l,p,h,f,d;return d=function(t){var e,o,a;return o={name:r.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},a=i.usersById[t.assigned_to],e=n.getAvatar(a),o.imgurl=e.url,o.bg=e.bg,a&&(o.name=a.full_name_display),c.find(".avatar").html(s(o)),c.find(".task-assignedto").attr("title",o.name)},l=c.controller(),f=i.$eval(u.tgRelatedTaskAssignedToInlineEdition),h=i.$eval(u.notAutoSave),p=!h,i.$watch(u.tgRelatedTaskAssignedToInlineEdition,function(){return f=i.$eval(u.tgRelatedTaskAssignedToInlineEdition),d(f)}),d(f),c.on("click",".task-assignedto",function(t){return e.$broadcast("assigned-to:add",f)}),a.bindOnce(i,"project",function(t){if(t.my_permissions.indexOf("modify_task")===-1)return c.unbind("click"),c.find("a").addClass("not-clickable")}),i.$on("assigned-to:added",o(2e3,function(e){return function(e,r,n){if(n.id===f.id)return n.assigned_to=r,p&&t.save(n).then(function(){return i.$emit("related-tasks:assigned-to-changed")}),d(n)}}(this))),i.$on("$destroy",function(){return c.off()})},{link:i}},s.directive("tgRelatedTaskAssignedToInlineEdition",["$tgRepo","$rootScope","$translate","tgAvatarService",t])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){function r(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty;i=this.taiga,t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return s(e,t),e}(i.Service),o={auth:"/auth","auth-register":"/auth/register",invitations:"/invitations",users:"/users",by_username:"/users/by_username","users-password-recovery":"/users/password_recovery","users-change-password-from-recovery":"/users/change_password_from_recovery","users-change-password":"/users/change_password","users-change-email":"/users/change_email","users-cancel-account":"/users/cancel","users-export":"/users/export","user-stats":"/users/%s/stats","user-liked":"/users/%s/liked","user-voted":"/users/%s/voted","user-watched":"/users/%s/watched","user-contacts":"/users/%s/contacts","user-me":"/users/me",permissions:"/permissions","notify-policies":"/notify-policies","user-storage":"/user-storage",memberships:"/memberships","bulk-create-memberships":"/memberships/bulk_create",roles:"/roles",permissions:"/permissions",resolver:"/resolver",projects:"/projects","project-templates":"/project-templates","project-modules":"/projects/%s/modules","bulk-update-projects-order":"/projects/bulk_update_order","project-like":"/projects/%s/like","project-unlike":"/projects/%s/unlike","project-watch":"/projects/%s/watch","project-unwatch":"/projects/%s/unwatch","project-contact":"contact","project-transfer-validate-token":"/projects/%s/transfer_validate_token","project-transfer-accept":"/projects/%s/transfer_accept","project-transfer-reject":"/projects/%s/transfer_reject","project-transfer-request":"/projects/%s/transfer_request","project-transfer-start":"/projects/%s/transfer_start","epic-statuses":"/epic-statuses","userstory-statuses":"/userstory-statuses",points:"/points","task-statuses":"/task-statuses","issue-statuses":"/issue-statuses","issue-types":"/issue-types",priorities:"/priorities",severities:"/severities",milestones:"/milestones",epics:"/epics","epic-upvote":"/epics/%s/upvote","epic-downvote":"/epics/%s/downvote","epic-watch":"/epics/%s/watch","epic-unwatch":"/epics/%s/unwatch","epic-related-userstories":"/epics/%s/related_userstories","epic-related-userstories-bulk-create":"/epics/%s/related_userstories/bulk_create",userstories:"/userstories","bulk-create-us":"/userstories/bulk_create","bulk-update-us-backlog-order":"/userstories/bulk_update_backlog_order","bulk-update-us-milestone":"/userstories/bulk_update_milestone","bulk-update-us-miles-order":"/userstories/bulk_update_sprint_order","bulk-update-us-kanban-order":"/userstories/bulk_update_kanban_order","bulk-update-us-milestone":"/userstories/bulk_update_milestone","userstories-filters":"/userstories/filters_data","userstory-upvote":"/userstories/%s/upvote","userstory-downvote":"/userstories/%s/downvote","userstory-watch":"/userstories/%s/watch","userstory-unwatch":"/userstories/%s/unwatch",tasks:"/tasks","bulk-create-tasks":"/tasks/bulk_create","bulk-update-task-taskboard-order":"/tasks/bulk_update_taskboard_order","task-upvote":"/tasks/%s/upvote","task-downvote":"/tasks/%s/downvote","task-watch":"/tasks/%s/watch","task-unwatch":"/tasks/%s/unwatch","task-filters":"/tasks/filters_data",issues:"/issues","bulk-create-issues":"/issues/bulk_create","issues-filters":"/issues/filters_data","issue-upvote":"/issues/%s/upvote","issue-downvote":"/issues/%s/downvote","issue-watch":"/issues/%s/watch","issue-unwatch":"/issues/%s/unwatch",wiki:"/wiki","wiki-restore":"/wiki/%s/restore","wiki-links":"/wiki-links","history/epic":"/history/epic","history/us":"/history/userstory","history/issue":"/history/issue","history/task":"/history/task","history/wiki":"/history/wiki/%s","attachments/epic":"/epics/attachments","attachments/us":"/userstories/attachments","attachments/issue":"/issues/attachments","attachments/task":"/tasks/attachments","attachments/wiki_page":"/wiki/attachments","custom-attributes/epic":"/epic-custom-attributes","custom-attributes/userstory":"/userstory-custom-attributes","custom-attributes/task":"/task-custom-attributes","custom-attributes/issue":"/issue-custom-attributes","custom-attributes-values/epic":"/epics/custom-attributes-values","custom-attributes-values/userstory":"/userstories/custom-attributes-values","custom-attributes-values/task":"/tasks/custom-attributes-values","custom-attributes-values/issue":"/issues/custom-attributes-values",webhooks:"/webhooks","webhooks-test":"/webhooks/%s/test",webhooklogs:"/webhooklogs","webhooklogs-resend":"/webhooklogs/%s/resend","epics-csv":"/epics/csv?uuid=%s","userstories-csv":"/userstories/csv?uuid=%s","tasks-csv":"/tasks/csv?uuid=%s","issues-csv":"/issues/csv?uuid=%s","timeline-profile":"/timeline/profile","timeline-user":"/timeline/user","timeline-project":"/timeline/project",search:"/search",exporter:"/exporter",importer:"/importer/load_dump",feedback:"/feedback",locales:"/locales",applications:"/applications","application-tokens":"/application-tokens","stats-discover":"/stats/discover","importers-trello-auth-url":"/importers/trello/auth_url","importers-trello-authorize":"/importers/trello/authorize","importers-trello-list-projects":"/importers/trello/list_projects","importers-trello-list-users":"/importers/trello/list_users","importers-trello-import-project":"/importers/trello/import_project","importers-jira-auth-url":"/importers/jira/auth_url","importers-jira-authorize":"/importers/jira/authorize","importers-jira-list-projects":"/importers/jira/list_projects","importers-jira-list-users":"/importers/jira/list_users","importers-jira-import-project":"/importers/jira/import_project","importers-github-auth-url":"/importers/github/auth_url","importers-github-authorize":"/importers/github/authorize","importers-github-list-projects":"/importers/github/list_projects","importers-github-list-users":"/importers/github/list_users","importers-github-import-project":"/importers/github/import_project","importers-asana-auth-url":"/importers/asana/auth_url","importers-asana-authorize":"/importers/asana/authorize","importers-asana-list-projects":"/importers/asana/list_projects","importers-asana-list-users":"/importers/asana/list_users","importers-asana-import-project":"/importers/asana/import_project"},r=function(t,e){return t.debug("Initialize api urls"),e.update(o)},e=function(t,e){var r,n,i,o,s;for(t.debug("Initialize resources"),o=_.toArray(arguments).slice(2),s=[],r=0,n=o.length;rn){n=a.length,s.name=i,s.value=a;break}return 0===n?s:s},d=function(t){var e,r,n;r=[];for(e in t)n=t[e],m.find("li."+e).show(),r.push(m.find("li."+e+" .num").html(n.length));return r},f=function(t){return m.find("a.active").removeClass("active"),m.find("li."+t.name+" a").addClass("active"),u=!1,c=t.name},v={epics:r.get("search-epics"),issues:r.get("search-issues"),tasks:r.get("search-tasks"),userstories:r.get("search-userstories"),wikipages:r.get("search-wikipages")},g=function(r){var i,o,s,a,c;return o=n.find(".search-result-table").children(),s=o.scope(),s&&(s.$destroy(),o.remove()),a=t.$new(),a[r.name]=r.value,c=angular.element.parseHTML(l(v[r.name])),i=e(c)(a),n.find(".search-result-table").html(i)},t.$watch("searchResults",function(t){var e;if(h=t)return e=p(t),d(t),g(e),f(e)}),t.$watch("searchTerm",function(t){return void 0!==t&&i.search("text",t),o.trackPage(i.url(),"Search")}),n.on("click",".search-filter li > a",function(e){var r,n,i,o;return e.preventDefault(),o=angular.element(e.currentTarget),i=o.parent().data("name"),n=h?h[i]:[],r={name:i,value:n},t.$apply(function(){return g(r),f(r)})})},s=function(t,e,r){var i,o;return i=e.controller(),a(t,e,r,i),o=n.text,t.$watch("projectId",function(e){if(null!=e)return t.searchTerm=o})},{link:s}},c.directive("tgSearch",["$log","$compile","$templateCache","$routeParams","$tgLocation","$tgAnalytics",r])}.call(this),function(){var t;t=angular.module("taigaTaskboard",[])}.call(this),function(){var t;t=angular.module("taigaTasks",[])}.call(this),function(){var t;t=angular.module("taigaTeam",[])}.call(this),function(){var t;t=angular.module("taigaUserSettings",[])}.call(this),function(){var t;t=angular.module("taigaUserStories",[])}.call(this),function(){var t;t=angular.module("taigaWiki",[])}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=angular.module("taigaCommon"),t=function(t){function e(t,e,r,n,i,o){var s;this.rootscope=t,this.log=e,this.config=r,this.win=n,this.doc=i,this.location=o,this.initialized=!1,s=this.config.get("analytics",{}),this.accountId=s.accountId,this.pageEvent=s.pageEvent||"$routeChangeSuccess",this.trackRoutes=s.trackRoutes||!0,this.ignoreFirstPageLoad=s.ignoreFirstPageLoad||!1}return n(e,t),e.$inject=["$rootScope","$log","$tgConfig","$window","$document","$location"],e.prototype.initialize=function(){return this.accountId?(this.injectAnalytics(),this.win.ga("create",this.accountId,"auto"),this.win.ga("require","ec"),this.win.ga("require","displayfeatures"),this.trackRoutes&&!this.ignoreFirstPageLoad&&this.win.ga("send","pageview",this.getUrl()),this.trackRoutes&&this.rootscope.$on(this.pageEvent,function(t){return function(){return t.trackPage(t.getUrl(),"Taiga")}}(this)),this.initialized=!0,this.setUserId()):void this.log.debug("Analytics: no acount id provided. Disabling.")},e.prototype.setUserId=function(){var t,e;if(this.initialized&&this.win.ga)return this.win.ga("set","userId",null!=(t=this.rootscope)&&null!=(e=t.user)?e.uuid:void 0)},e.prototype.getUrl=function(){return this.location.path()},e.prototype.injectAnalytics=function(){var t;return(t=function(t,e,r,n,i,o,s){t.GoogleAnalyticsObject=i,t[i]=t[i]||function(){(t[i].q=t[i].q||[]).push(arguments)},t[i].l=1*new Date,o=e.createElement(r),s=e.getElementsByTagName(r)[0],o.async=1,o.src=n,s.parentNode.insertBefore(o,s)})(window,document,"script","//www.google-analytics.com/analytics.js","ga")},e.prototype.trackPage=function(t,e){if(this.initialized&&this.win.ga)return e=e||this.doc[0].title,this.win.ga("send","pageview",{page:t,title:e})},e.prototype.trackEvent=function(t,e,r,n){if(this.initialized&&this.win.ga)return this.win.ga("send","event",t,e,r,n)},e.prototype.ecViewPlan=function(t){if(this.initialized&&this.win.ga)return this.win.ga("ec:addProduct",{id:t.plan_id,name:t.name,category:"plans",quantity:1,position:1}),this.win.ga("ec:setAction","detail"),this.trackEvent("ecommerce","view-product-detail",t.name,t.plan_id)},e.prototype.ecClickPlan=function(t){if(this.initialized&&this.win.ga)return this.win.ga("ec:addProduct",{id:t.plan_id,name:t.name,category:"plans",quantity:1,position:1}),this.win.ga("ec:setAction","click"),this.trackEvent("ecommerce","click-product",t.name,t.plan_id)},e.prototype.ecListPlans=function(t,e){var r,n,i,o,s;if(o=t[0],this.initialized&&this.win.ga){for(s=1,r=0,n=o.length;r0},g=function(i,o){var s;return s=n.save(function(t){return t.assigned_users=i,t.assigned_to||(t.assigned_to=o),t}),s.then(function(){var e;return i=_.map(i,function(t){return r.usersById[t]}),d(i),e=t.$broadcast("object:updated")}),s.then(null,function(){return e.notify("error")})},f=function(){var e;return e=_.clone(c.$modelValue,!1),t.$broadcast("assigned-user:add",e)},u=function(){var t,e;if(h())return e=a.getUser().get("id"),t=_.clone(c.$modelValue.assigned_users,!1),t.push(e),t=_.uniq(t),g(t,e)},l=function(i){var o;return o=n.save(function(t){var e;return t.assigned_users=i,e=t.assigned_to,$.call(i,e)<0&&i.length>0&&(t.assigned_to=i[0]),0===i.length&&(t.assigned_to=null),t}),o.then(function(){var e,i;return i=n.getObj(),e=_.map(i.assignedUsers,function(t){return r.usersById[t]}),d(e),t.$broadcast("object:updated")}),o.then(null,function(){return item.revert(),e.notify("error")})},d=function(t){return r.assignedUsers=t,r.isEditable=h(),r.isAssigned=p(),r.openAssignedUsers=f,r.assignToMe=u},i.on("click",".remove-user",function(t){var n,i,o,a;if(t.preventDefault(),h())return o=angular.element(t.currentTarget),n=o.data("assigned-user-id"),a=s.instant("COMMON.ASSIGNED_USERS.TITLE_LIGHTBOX_DELETE_ASSIGNED"),i=r.usersById[n].full_name_display,e.askOnDelete(a,i).then(function(t){return function(t){var e;return t.finish(),e=_.clone(c.$modelValue.assigned_users,!1),e=_.pull(e,n),l(e)}}(this))}),r.$on("assigned-user:deleted",function(t,e){var r;return r=_.clone(c.$modelValue.assigned_users,!1),r=_.pull(r,e),r=_.uniq(r),l(r)}),r.$on("assigned-user:added",function(t,e){var r;return r=_.clone(c.$modelValue.assigned_users,!1),r.push(e),r=_.uniq(r),g(r,e)}),r.$watch(o.ngModel,function(t){var e;if(null!=t)return e=_.map(t.assigned_users,function(t){return r.usersById[t]}),e=_.filter(e,function(t){return!!t}),d(e)}),r.$on("$destroy",function(){return i.off()})},{scope:!0,templateUrl:"common/components/assigned-users.html",link:c,require:"ngModel"}},j.directive("tgAssignedUsers",["$rootScope","$tgConfirm","$tgRepo","$tgQueueModelTransformation","$tgTemplate","$compile","$translate","tgCurrentUserService",e]),t=function(t,e,r,n,i,o,s,a,c,u){var l,p;return p=o.get("common/components/assigned-to.html",!0),l=function(r,o,l,h){var f,d,g;return f=function(){var t,e;return(null!=(t=r.project)&&null!=(e=t.my_permissions)?e.indexOf(l.requiredPerm):void 0)!==-1},g=function(r){var s,a,c;return a=h.$modelValue.clone(),a.assigned_to=r,s=n().target(o).start(),c=i.save(function(t){return t.assigned_to=r,t}),c.then(function(){return s.finish(),d(i.getObj()),t.$broadcast("object:updated")}),c.then(null,function(){return e.notify("error"),s.finish()}),c},d=function(t){var e,n,i,l,h,d,g;return e=u.getAvatar(null!=t?t.assigned_to_extra_info:void 0),n=null,null!=(null!=t?t.assigned_to:void 0)?(l=t.assigned_to_extra_info.full_name_display,g=!1,n=e.bg):(l=s.instant("COMMON.ASSIGNED_TO.ASSIGN"),g=!0),d=null!=t?t.is_iocaine:void 0,i={fullName:l,avatar:e.url,bg:n,isUnassigned:g,isEditable:f(),isIocaine:d,fullNameVisible:!(g&&!c.isAuthenticated())},h=a(p(i))(r),o.html(h)},o.on("click",".user-assigned",function(e){if(e.preventDefault(),f())return r.$apply(function(){return t.$broadcast("assigned-to:add",h.$modelValue)})}),o.on("click",".assign-to-me",function(t){if(t.preventDefault(),f())return h.$modelValue.assigned_to=c.getUser().get("id"),g(c.getUser().get("id"))}),o.on("click",".remove-user",function(t){var r;if(t.preventDefault(),f())return r=s.instant("COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED"),e.ask(r).then(function(t){return function(t){return t.finish(),h.$modelValue.assigned_to=null,g(null)}}(this))}),r.$on("assigned-to:added",function(t,e,r){if(r.id===h.$modelValue.id)return g(e)}),r.$watch(l.ngModel,function(t){return d(t)}),r.$on("$destroy",function(){return o.off()})},{link:l,require:"ngModel"}},j.directive("tgAssignedTo",["$rootScope","$tgConfirm","$tgRepo","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$translate","$compile","tgCurrentUserService","tgAvatarService",t]),r=function(t,e,r){var n,i;return i=r.get("common/components/block-button.html"),n=function(r,n,i,o){var s;return s=function(){return r.project.my_permissions.indexOf("modify_us")!==-1},r.$watch(i.ngModel,function(t){if(t)return s()&&n.find(".item-block").addClass("editable"),t.is_blocked?(n.find(".item-block").removeClass("is-active"),n.find(".item-unblock").addClass("is-active")):(n.find(".item-block").addClass("is-active"),n.find(".item-unblock").removeClass("is-active"))}),n.on("click",".item-block",function(e){return e.preventDefault(),t.$broadcast("block",o.$modelValue)}),n.on("click",".item-unblock",function(r){var i,s;return r.preventDefault(),i=e().target(n.find(".item-unblock")).start(),s=function(){return i.finish()},t.$broadcast("unblock",o.$modelValue,s)}),r.$on("$destroy",function(){return n.off()})},{link:n,restrict:"EA",require:"ngModel",template:i}},j.directive("tgBlockButton",["$rootScope","$tgLoading","$tgTemplate",r]),s=function(t,e,r,n,i){var o,s;return s=i.get("common/components/delete-button.html"),o=function(i,o,s,a){return s.onDeleteGoToUrl?s.onDeleteTitle?(o.on("click",".button-delete",function(t){var o,c;return c=s.onDeleteTitle,o=a.$modelValue.subject,r.askOnDelete(c,o).then(function(t){return function(t){var o;return o=e.remove(a.$modelValue),o.then(function(){var e;return t.finish(),e=i.$eval(s.onDeleteGoToUrl),n.path(e)}),o.then(null,function(){return t.finish(!1),r.notify("error")})}}(this))}),i.$on("$destroy",function(){return o.off()})):t.error("DeleteButtonDirective requires on-delete-title set in scope."):t.error("DeleteButtonDirective requires on-delete-go-to-url set in scope."); -},{link:o,restrict:"EA",require:"ngModel",template:s}},j.directive("tgDeleteButton",["$log","$tgRepo","$tgConfirm","$tgLocation","$tgTemplate",s]),c=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemEpicStatus),S(t,"epicStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},j.directive("tgListitemEpicStatus",c),d=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemUsStatus),S(t,"usStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},j.directive("tgListitemUsStatus",d),h=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemTaskStatus),S(t,"taskStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},j.directive("tgListitemTaskStatus",h),a=function(t,e,r){var n,i;return i=t.get("common/components/list-item-assigned-to-avatar.html",!0),n=function(t,n,o){return S(t,"usersById",function(s){var a,c,u,l;return u=t.$eval(o.tgListitemAssignedto),c={name:e.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},l=s[u.assigned_to],a=r.getAvatar(l),c.imgurl=a.url,c.bg=a.bg,l&&(c.name=l.full_name_display),n.html(i(c))})},{link:n}},j.directive("tgListitemAssignedto",["$tgTemplate","$translate","tgAvatarService",a]),u=function(){var t;return t=function(t,e,r){var n;return n=t.$eval(r.tgListitemIssueStatus),S(t,"issueStatusById",function(t){return e.html(t[n.status].name)})},{link:t}},j.directive("tgListitemIssueStatus",u),f=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.type],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},S(t,"issueTypeById",function(e){var i;return i=t.$eval(r.tgListitemType),n(e,i)}),t.$watch(r.tgListitemType,function(e){return n(t.issueTypeById,e)})},{link:t,templateUrl:"common/components/level.html"}},j.directive("tgListitemType",f),l=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.priority],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},S(t,"priorityById",function(e){var i;return i=t.$eval(r.tgListitemPriority),n(e,i)}),t.$watch(r.tgListitemPriority,function(e){return n(t.priorityById,e)})},{link:t,templateUrl:"common/components/level.html"}},j.directive("tgListitemPriority",l),p=function(){var t;return t=function(t,e,r){var n;return n=function(t,r){var n,i;return i=t[r.severity],n=e.find(".level"),n.css("background-color",i.color),n.attr("title",i.name)},S(t,"severityById",function(e){var i;return i=t.$eval(r.tgListitemSeverity),n(e,i)}),t.$watch(r.tgListitemSeverity,function(e){return n(t.severityById,e)})},{link:t,templateUrl:"common/components/level.html"}},j.directive("tgListitemSeverity",p),v=function(t){var e,r,n;return n=t.get("common/components/progress-bar.html",!0),r=function(t,e){return t.html(n({percentage:e}))},e=function(t,e,n){var i;return i=angular.element(e),t.$watch(n.tgProgressBar,function(t){return t=_.max([0,t]),t=_.min([100,t]),r(e,t)}),t.$on("$destroy",function(){return e.off()})},{link:e}},j.directive("tgProgressBar",["$tgTemplate",v]),m=function(t){var e;return e=function(t,e,r){return r.$observe("i18nSectionName",function(e){return t.sectionName=e}),t.$on("$destroy",function(){return e.off()})},{link:e,templateUrl:"common/components/main-title.html",scope:{projectName:"=projectName"}}},j.directive("tgMainTitle",["$translate",m])}.call(this),function(){var t,e,r,n,i,o,s,a,c=function(t,e){function r(){this.constructor=t}for(var n in e)u.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},u={}.hasOwnProperty;s=this.taiga,a=this.taiga.timeout,n=this.taiga.cancelTimeout,i=this.taiga.debounce,r=this.taiga.bindMethods,e={success:{title:"NOTIFICATION.OK",message:"NOTIFICATION.SAVED"},error:{title:"NOTIFICATION.WARNING",message:"NOTIFICATION.WARNING_TEXT"},"light-error":{title:"NOTIFICATION.WARNING",message:"NOTIFICATION.WARNING_TEXT"}},t=function(t){function o(t,e,n,i){this.q=t,this.lightboxService=e,this.loading=n,this.translate=i,r(this)}return c(o,t),o.$inject=["$q","lightboxService","$tgLoading","$translate"],o.prototype.hide=function(t){if(t)return this.lightboxService.close(t),t.off(".confirm-dialog")},o.prototype.ask=function(t,e,r,n){var o,s;return null==n&&(n=".lightbox-generic-ask"),o=this.q.defer(),s=angular.element(n),t&&s.find(".title").text(t),e&&s.find(".subtitle").text(e),r&&s.find(".message").text(r),s.on("click.confirm-dialog",".button-green",i(2e3,function(t){return function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=t.loading().target(n).start(),o.resolve({finish:function(e){if(null==e&&(e=!0),r.finish(),e)return t.hide(s)}})}}(this))),s.on("click.confirm-dialog",".button-red",function(t){return function(e){return e.preventDefault(),o.reject(),t.hide(s)}}(this)),this.lightboxService.open(s),o.promise},o.prototype.askOnDelete=function(t,e,r){return null==r&&(r=this.translate.instant("NOTIFICATION.ASK_DELETE")),this.ask(t,r,e)},o.prototype.askChoice=function(t,e,r,n,o,s){var a,c,u;return null==s&&(s=".lightbox-ask-choice"),c=this.q.defer(),u=angular.element(s),u.find(".title").text(t),u.find(".subtitle").text(e),n?u.find(".replacement").text(n):u.find(".replacement").remove(),o?u.find(".warning").text(o):u.find(".warning").remove(),a=u.find(".choices"),a.html(""),_.each(r,function(t,e){return t=_.escape(t),a.append(angular.element(""))}),u.on("click.confirm-dialog","a.button-green",i(2e3,function(t){return function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=t.loading().target(n).start(),c.resolve({selected:a.val(),finish:function(e){if(null==e&&(e=!0),r.finish(),e)return t.hide(u)}})}}(this))),u.on("click.confirm-dialog",".button-red",function(t){return function(e){return e.preventDefault(),c.reject(),t.hide(u)}}(this)),this.lightboxService.open(u),c.promise},o.prototype.error=function(t){var e,r;return e=this.q.defer(),r=angular.element(".lightbox-generic-error"),r.find(".title").html(t),r.on("click.confirm-dialog",".button-green",function(t){return function(n){return n.preventDefault(),e.resolve(),t.hide(r)}}(this)),r.on("click.confirm-dialog",".close",function(t){return function(n){return n.preventDefault(),e.resolve(),t.hide(r)}}(this)),this.lightboxService.open(r),e.promise},o.prototype.success=function(t,e,r){var n,i,o,a,c;return n=this.q.defer(),o=angular.element(".lightbox-generic-success"),o.find("img").remove(),o.find("svg").remove(),r&&("img"===r.type?i=$("").addClass("lb-icon").attr("src",r.name):"svg"===r.type&&(i=document.createElement("div"),s.addClass(i,"icon"),s.addClass(i,r.name),s.addClass(i,"lb-icon"),a=document.createElementNS("http://www.w3.org/2000/svg","svg"),c=document.createElementNS("http://www.w3.org/2000/svg","use"),c.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+r.name),i.appendChild(a).appendChild(c)),i&&o.find("section").prepend(i)),t&&o.find(".title").html(t),e&&o.find(".message").html(e),o.on("click.confirm-dialog",".button-green",function(t){return function(e){return e.preventDefault(),n.resolve(),t.hide(o)}}(this)),o.on("click.confirm-dialog",".close",function(t){return function(e){return e.preventDefault(),n.resolve(),t.hide(o)}}(this)),this.lightboxService.open(o),n.promise},o.prototype.loader=function(t,e,r){var n;return null==r&&(r=!1),n=angular.element(".lightbox-generic-loading"),t&&n.find(".title").html(t),e&&n.find(".message").html(e),r&&n.find(".spin").removeClass("hidden"),{start:function(t){return function(){return t.lightboxService.open(n)}}(this),stop:function(t){return function(){return t.lightboxService.close(n)}}(this),update:function(t){return function(t,e,r,i){return e&&n.find(".title").html(e),r&&n.find(".message").html(r),i?(n.find(".spin").addClass("hidden"),n.find(".progress-bar-wrapper").removeClass("hidden"),n.find(".progress-bar-wrapper > .bar").width(i+"%"),n.find(".progress-bar-wrapper > span").html(i+"%").css("left",i-9+"%")):(n.find(".spin").removeClass("hidden"),n.find(".progress-bar-wrapper").addClass("hidden"))}}(this)}},o.prototype.notify=function(t,r,i,o){var s,c,u;if(u=".notification-message-"+t,c=angular.element(u),!c.hasClass("active"))return i?c.find("h4").html(i):c.find("h4").html(this.translate.instant(e[t].title)),r?c.find("p").html(r):c.find("p").html(this.translate.instant(e[t].message)),s=angular.element("body"),s.find(".notification-message .notification-light").removeClass("active").addClass("inactive"),s.find(u).removeClass("inactive").addClass("active"),this.tsem&&n(this.tsem),o||(o="error"===t||"light-error"===t?3500:1500),this.tsem=a(o,function(t){return function(){return s.find(u).removeClass("active").addClass("inactive").one("animationend",function(){return $(this).removeClass("inactive")}),delete t.tsem}}(this)),c.on("click",".icon-close, .close",function(t){return function(t){return s.find(u).removeClass("active").addClass("inactive")}}(this))},o}(s.Service),o=angular.module("taigaCommon"),o.service("$tgConfirm",t)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g=function(t,e){function r(){this.constructor=t}for(var n in e)m.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},m={}.hasOwnProperty;d=this.taiga,u=this.taiga.bindMethods,l=this.taiga.bindOnce,p=this.taiga.debounce,h=d.generateHash,f=angular.module("taigaCommon"),s="text",o="url",i="multiline",n="date",c="url",a=[{key:s,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT"},{key:i,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI"},{key:n,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE"},{key:c,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL"},{key:o,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT"}],e=function(t){function e(t,e,r,n,i,o){this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.confirm=i,this.q=o,u(this),this.type=null,this.objectId=null,this.projectId=null,this.customAttributes=[],this.customAttributesValues=null}return g(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$tgConfirm","$q"],e.prototype.initialize=function(t,e){return this.project=this.scope.project,this.type=t,this.objectId=e,this.projectId=this.scope.projectId},e.prototype.loadCustomAttributesValues=function(){return this.objectId?this.rs.customAttributesValues[this.type].get(this.objectId).then(function(t){return function(e){return t.customAttributes=t.project[t.type+"_custom_attributes"],t.customAttributesValues=e,e}}(this)):this.customAttributesValues},e.prototype.getAttributeValue=function(t){var e;return e=_.clone(t,!1),e.value=this.customAttributesValues.attributes_values[t.id],e},e.prototype.updateAttributeValue=function(t){var e,r,n;return n=function(t){return function(){return t.rootscope.$broadcast("custom-attributes-values:edit")}}(this),r=function(t){return function(e){return t.confirm.notify("error"),t.q.reject()}}(this),e=_.clone(this.customAttributesValues.attributes_values,!0),e[t.id]=t.value,this.customAttributesValues.attributes_values=e,this.customAttributesValues.id=this.objectId,this.repo.save(this.customAttributesValues).then(n,r)},e}(d.Controller),r=function(t,r){var n,i,o,s;return o=t.get("custom-attributes/custom-attributes-values.html",!0),n=function(t){return h(["custom-attributes-collapsed",t])},i=function(t,e,i,o){var s,a,c;return s=o[0],a=o[1],c=n(i.type),t.collapsed=r.get(c)||!1,l(t,i.ngModel,function(t){return s.initialize(i.type,t.id),s.loadCustomAttributesValues()}),t.toggleCollapse=function(){return t.collapsed=!t.collapsed,r.set(c,t.collapsed)},t.$on("$destroy",function(){return e.off()})},s=function(t,e){return o({requiredEditionPerm:e.requiredEditionPerm})},{require:["tgCustomAttributesValues","ngModel"],controller:e,controllerAs:"ctrl",restrict:"AE",scope:!0,link:i,template:s}},f.directive("tgCustomAttributesValues",["$tgTemplate","$tgStorage","$translate",r]),t=function(t,e,r,i,o,s){var a,c,u;return c=t.get("custom-attributes/custom-attribute-value.html",!0),u=t.get("custom-attributes/custom-attribute-value-edit.html",!0),a=function(t,a,l,h){var f,d,g,m,v,y;return g=i.instant("COMMON.PICKERDATE.FORMAT"),m=function(e,i){var l,p,h,f,m,v;return null==i&&(i=!1),v=e.type===n&&e.value?moment(e.value,"YYYY-MM-DD").format(g):e.value,h=d(),l={id:e.id,name:e.name,description:e.description,value:v,isEditable:h,type:e.type},m=t.$new(),m.attributeHtml=s.getHTML(v),!h||!i&&v?(f=c(l),f=r(f)(m),a.html(f)):(f=u(l),f=r(f)(m),a.html(f),e.type===n?(p=o.get(),_.merge(p,{field:a.find("input[name=value]")[0],onSelect:function(t){return function(t){var e;return e=t}}(this),onOpen:function(t){return function(){if("undefined"!=typeof selectedDate&&null!==selectedDate)return a.picker.setDate(selectedDate)}}(this)}),a.picker=new Pikaday(p)):void 0)},d=function(){var e,r;return e=t.project.my_permissions,r=l.requiredEditionPerm,e.indexOf(r)>-1},t.saveCustomRichText=function(t){return function(t,e){return f.value=t,h.updateAttributeValue(f).then(function(){return e(),m(f,!1)})}}(this),t.cancelCustomRichText=function(t){return function(){return m(f,!1),null}}(this),y=p(2e3,function(e){return function(e){var r,i;if(e.preventDefault(),r=a.find("form").checksley(),r.validate())return i=a.find("input[name=value], textarea[name='value']"),f.value=i.val(),f.type===n&&moment(f.value,g).isValid()&&(f.value=moment(f.value,g).format("YYYY-MM-DD")),t.$apply(function(){return h.updateAttributeValue(f).then(function(){return m(f,!1)})})}}(this)),v=function(){return a.find("input[name='value'], textarea[name='value']").focus().select()},f=t.$eval(l.tgCustomAttributeValue),null!==f.value&&void 0!==f.value||(f.value=""),t.customAttributeValue=f,m(f),a.on("click",".js-value-view-mode span a",function(t){return t.stopPropagation()}),a.on("click",".js-value-view-mode",function(){if(d()&&!e.get().length)return m(f,!0),v()}),a.on("click",".js-edit-description",function(t){return t.preventDefault(),m(f,!0),v()}),a.on("keyup","input[name=value], textarea[name='value']",function(t){return 13===t.keyCode&&"textarea"!==t.currentTarget.type?y(t):27===t.keyCode?m(f,!1):void 0}),a.on("submit","form",y),a.on("click",".js-save-description",y),t.$on("$destroy",function(){return a.off()})},{link:a,require:"^tgCustomAttributesValues",restrict:"AE"}},f.directive("tgCustomAttributeValue",["$tgTemplate","$selectedText","$compile","$translate","tgDatePickerConfigService","tgWysiwygService",t])}.call(this),function(){var t,e,r,n=function(t,e){return function(){return t.apply(e,arguments)}},i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;r=this.taiga,e=angular.module("taigaCommon"),t=function(t){function e(){this.replaceEmojiNameByHtmlImgs=n(this.replaceEmojiNameByHtmlImgs,this),this.replaceEmojiNameByImgs=n(this.replaceEmojiNameByImgs,this),this.replaceImgsByEmojiName=n(this.replaceImgsByEmojiName,this),this.getEmojiByName=n(this.getEmojiByName,this),this.getEmojiById=n(this.getEmojiById,this),this.searchByName=n(this.searchByName,this),this.emojis=_.map(r.emojis,function(t){return t.image="/"+window._version+"/emojis/"+t.image,t}),this.emojisById=_.keyBy(this.emojis,"id"),this.emojisByName=_.keyBy(this.emojis,"name")}return i(e,t),e.$inject=[],e.prototype.searchByName=function(t){return _.filter(this.emojis,function(e){return e.name.indexOf(t)!==-1})},e.prototype.getEmojiById=function(t){return this.emojisById[t]},e.prototype.getEmojiByName=function(t){return this.emojisByName[t]},e.prototype.replaceImgsByEmojiName=function(t){var e,n,i,o,s,a;for(i=r.getMatches(t,/emojis\/([^"]+).png"/gi),o=0,s=i.length;o]+>","g"),e=this.getEmojiById(n),t=t.replace(a,":"+e.name+":");return t},e.prototype.replaceEmojiNameByImgs=function(t){var e,n,i,o,s,a;for(i=r.getMatches(t,/:([\w +-]*):/g),o=0,s=i.length;o'));return t},e}(r.Service),e.service("$tgEmojis",t)}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){return function(){return t.apply(e,arguments)}};o=this.taiga,n=this.taiga.groupBy,i=angular.module("taigaCommon"),e=function(t,e,r,n,i){var o;return o=function(e,r,o,s){return e.$watch(o.ngModel,function(o){var a;if(o)return a=t.create(r,o,e.project),a.onSelectedPointForRole=function(t,r,n){return o.points=n,a.render(),e.$apply(function(){return s.$setViewValue(o)})},a.render=function(){var t,r,o,s;return t={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable,loading:!1},o="common/estimation/us-estimation-points-per-role.html",s=n.get(o,!0),r=s(t),r=i(r)(e),this.$el.html(r)},a.render()}),e.$on("$destroy",function(){return r.off()})},{link:o,restrict:"EA",require:"ngModel"}},i.directive("tgLbUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgTemplate","$compile",e]),r=function(t,e,r,n,i,o,s){var a;return a=function(r,a,c,u){var l;return l=function(t){var e,r;return r=o.save(function(e){return function(e){return e.points=t,e}}(this)),e=function(t){return function(){return s.notify("error")}}(this),r.then(null,e)},r.$watchCollection(function(){return u.$modelValue&&u.$modelValue.points},function(){var o,s;if(s=u.$modelValue)return o=t.create(a,s,r.project),o.onSelectedPointForRole=function(t,r,n){return o.loading=t,o.render(),l(n).then(function(){return o.loading=!1,e.$broadcast("object:updated"),o.render()})},o.render=function(){var t,e,s,a;return t={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable,loading:o.loading},s="common/estimation/us-estimation-points-per-role.html",a=n.get(s,!0),e=a(t),e=i(e)(r),this.$el.html(e)},o.render()}),r.$on("$destroy",function(){return a.off()})},{link:a,restrict:"EA",require:"ngModel"}},i.directive("tgUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgTemplate","$compile","$tgQueueModelTransformation","$tgConfirm",r]),t=function(t,e,r,i,o){var a,c,u;return u=t.get("common/estimation/us-estimation-points.html",!0),a=function(){function t(t,e,r){this.$el=t,this.us=e,this.project=r,this.bindClickEvents=s(this.bindClickEvents,this),this.isEditable=this.project.my_permissions.indexOf("modify_us")!==-1,this.roles=this.project.roles,this.points=this.project.points,this.loading=!1,this.pointsById=n(this.points,function(t){return t.id}),this.onSelectedPointForRole=function(t,e){},this.render=function(){}}return t.prototype.save=function(t,n){var s;return s=i.defer(),o.add(function(t){return function(){var n,i;return i=function(){return s.resolve(),t.render()},n=function(){return r.notify("error"),t.us.revert(),t.render(),s.reject()},e.save(t.us).then(i,n)}}(this)),s.promise},t.prototype.calculateTotalPoints=function(){var t,e;return e=_.map(this.us.points,function(t){return function(e,r){var n;return null!=(n=t.pointsById[e])?n.value:void 0}}(this)),0===e.length?"?":(t=_.filter(e,function(t){return null!=t}),0===t.length?"?":_.reduce(t,function(t,e){return t+e}))},t.prototype.calculateRoles=function(){var t,e;return t=_.filter(this.project.roles,"computable"),e=_.map(t,function(t){return function(e){var r,n;return r=t.us.points[e.id],n=t.pointsById[r],e=_.clone(e,!0),e.points=null!=n&&null!=n.name?n.name:"?",e}}(this))},t.prototype.bindClickEvents=function(){return this.$el.on("click",".total.clickable",function(t){return function(e){var r,n;return e.preventDefault(),e.stopPropagation(),n=angular.element(e.currentTarget),r=n.data("role-id"),t.renderPointsSelector(r,n),n.siblings().removeClass("active"),n.addClass("active")}}(this)),this.$el.on("click",".point",function(t){return function(e){var r,n,i,o;return e.preventDefault(),e.stopPropagation(),o=angular.element(e.currentTarget),i=o.data("role-id"),r=o.data("point-id"),t.$el.find(".popover").popover().close(),n=_.clone(t.us.points,!0),n[i]=r,t.onSelectedPointForRole(i,r,n)}}(this))},t.prototype.renderPointsSelector=function(t,e){var r,n,i,o,s;if(o=_.map(this.points,function(e){return function(r){return r=_.clone(r,!0),r.selected=e.us.points[t]!==r.id,r}}(this)),i=5,r=_.some(o,function(t){return function(t){return t.name.length>i}}(this)),n=u({points:o,roleId:t,horizontal:r}),this.$el.find(".popover").popover().close(),this.$el.find(".pop-points-open").remove(),null!=e?this.$el.find(e).append(n):this.$el.append(n),this.$el.find(".pop-points-open").popover().open(function(){return $(this).removeClass("active").closest("li").removeClass("active")}),this.$el.find(".pop-points-open").show(),s=this.$el.find(".pop-points-open"),s.offset().top+s.height()>document.body.clientHeight)return s.addClass("pop-bottom")},t}(),c=function(t,e,r){var n;return t.unbind("click"),n=new a(t,e,r),n.isEditable&&n.bindClickEvents(),n},{create:c}},i.factory("$tgEstimationsService",["$tgTemplate","$tgRepo","$tgConfirm","$q","$tgQqueue",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f;l=this.taiga,s=angular.module("taigaCommon"),r=function(){return function(t,e){return t===[null,void 0]?e:t}},s.filter("default",r),f=function(t){return function(e){return e?t.instant("COMMON.YES"):t.instant("COMMON.NO")}},s.filter("yesNo",["$translate",f]),h=function(){return l.unslugify},s.filter("unslugify",h),a=function(){return function(t,e){return t?moment(t).format(e):""}},s.filter("momentFormat",a),c=function(){return function(t,e){return t?moment(t).fromNow(e||!1):""}},s.filter("momentFromNow",c),u=function(t){return function(){return t.taiga.sizeFormat}}(this),s.filter("sizeFormat",u),p=function(){var t,e;return e=function(t){return t.toJS()},t=_.memoize(e),function(e){return e instanceof Immutable.List?t(e):e}},s.filter("toMutable",p),t=function(t){return function(e,r){var n;return(null!=r?r.startsWith("#"):void 0)?(n=r.substr(1),_.filter(e,function(t){return function(t){return String(t.ref).startsWith(n)}}(this))):t(e,r)}},s.filter("byRef",["filterFilter",t]),e=function(){return function(t,e){var r,n,i,o,s,a,c,u;for(t=new String(t).replace(/[^0-9a-f]/gi,""),t.length<6&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),e=e||0,a="#",n=0,i=0,r=0,u=255,c=[0,1,2],o=0,s=c.length;o5},a=d(r),a=n(a)(o),s.find(".assigned-to-list").html(a)},c=function(){return e.stop(),t.close(s)},o.$on("assigned-to:add",function(r,n){var i;return h=n,i=n.assigned_to,f=o.usersById[i],p(f),t.open(s).then(function(){return s.find("input").focus(),e.init(s)})}),o.$watch("usersSearch",function(t){if(null!=t)return p(f,t),s.find("input").focus()}),s.on("click",".user-list-single",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),c(),o.$apply(function(){return o.$broadcast("assigned-to:added",e.data("user-id"),h),o.usersSearch=null})}),s.on("click",".remove-assigned-to",function(t){return t.preventDefault(),t.stopPropagation(),c(),o.$apply(function(){return o.usersSearch=null,o.$broadcast("assigned-to:added",null,h)})}),s.on("click",".close",function(t){return t.preventDefault(),c(),o.$apply(function(){return o.usersSearch=null})}),o.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-assigned-to.html",link:o}},d.directive("tgLbAssignedto",["lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",t]),e=function(t,e,r,n,i,o){var s;return s=function(t,s,a){var c,u,l,p,h,d,g;return d=[],h=null,g=n.get("common/lightbox/lightbox-assigned-users-users.html",!0),l=function(t){var e;return e=t,e=e.replace("Á","A").replace("Ä","A").replace("À","A"),e=e.replace("É","E").replace("Ë","E").replace("È","E"),e=e.replace("Í","I").replace("Ï","I").replace("Ì","I"),e=e.replace("Ó","O").replace("Ö","O").replace("Ò","O"),e=e.replace("Ú","U").replace("Ü","U").replace("Ù","U")},u=function(t,e){var r;return r=e.full_name_display.toUpperCase(),r=l(r),t=t.toUpperCase(),t=l(t),_.includes(r,t)},p=function(e,r){var n,a,c,l,p;return l=_.clone(t.activeUsers,!0),l=_.sortBy(l,function(e){return e.id===t.user.id?0:e.id}),null!=r&&(l=_.filter(l,_.partial(u,r))),c=[],_.map(l,function(t){var r;if(r=t.id,S.call(e,r)>=0)return t.avatar=o.getAvatar(t),c.push(t)}),p=[],_.map(l,function(t){var r;if(r=t.id,S.call(e,r)<0)return t.avatar=o.getAvatar(t),p.push(t)}),n={selected:c,users:_.slice(p,0,5),showMore:l.length>5},a=g(n),a=i(a)(t),s.find(".assigned-to-list").html(a)},c=function(){return r.stop(),e.close(s)},t.$on("assigned-user:add",function(t,n){return h=n,d=n.assigned_users,p(d),e.open(s).then(function(){return s.find("input").focus(),r.init(s)})}),t.$watch("usersSearch",function(t){if(null!=t)return p(d,t),s.find("input").focus()}),s.on("click",".user-list-single",f(200,function(e){var r;return c(),e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return t.usersSearch=null,t.$broadcast("assigned-user:added",r.data("user-id"),h)})})),s.on("click",".remove-assigned-to",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),e.stopPropagation(),t.$apply(function(){return t.usersSearch=null,t.$broadcast("assigned-user:deleted",r.data("user-id"),h)}),c()}),s.on("click",".close",function(t){return t.preventDefault(),c()}),t.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-assigned-users.html",link:s}},d.directive("tgLbAssignedUsers",["$tgRepo","lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",e]),p=function(t,e,r,n,i,o){var s;return s=function(t,s,a){var c,u,l,p,h;return p=null,h=n.get("common/lightbox/lightbox-assigned-to-users.html",!0),u=function(e){var r,n;return null==e&&(e=""),r=function(t,e){var r;return(!p||!_.find(p.watchers,function(t){return t===e.id}))&&(r=e.full_name_display.toUpperCase(),t=t.toUpperCase(),_.includes(r,t))},n=_.clone(t.activeUsers,!0),n=_.filter(n,_.partial(r,e))},l=function(e){var r,n,a;return a=_.slice(e,0,5),a=_.map(a,function(t){return t.avatar=o.getAvatar(t),t}),r={selected:!1,users:a,showMore:e.length>5},n=h(r),n=i(n)(t),s.find(".ticket-watchers").html(n)},c=function(){return r.stop(),e.close(s)},t.$on("watcher:add",function(t,n){var i;return p=n,i=u(),l(i),e.open(s).then(function(){return s.find("input").focus(),r.init(s)})}),t.$watch("usersSearch",function(t){var e;if(null!=t)return e=u(t),l(e),s.find("input").focus()}),s.on("click",".user-list-single",f(200,function(e){var r;return c(),e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return t.usersSearch=null,t.$broadcast("watcher:added",r.data("user-id"))})})),s.on("click",".close",function(e){return e.preventDefault(),c(),t.$apply(function(){return t.usersSearch=null})}),t.$on("$destroy",function(){return s.off()})},{templateUrl:"common/lightbox/lightbox-users.html",link:s}},d.directive("tgLbWatchers",["$tgRepo","lightboxService","lightboxKeyboardNavigationService","$tgTemplate","$compile","tgAvatarService",p]),c=function(t,e,r){var n;return n=function(e,r,n){return t.open(r)},{templateUrl:"common/lightbox/lightbox-leave-project-warning.html",link:n,scope:!0}},d.directive("tgLightboxLeaveProjectWarning",["lightboxService",c]),l=function(t,e,r,n,i){var o;return o=function(o,s,a){var c,u,l;return c=r.instant("COMMON.PICKERDATE.FORMAT"),t.open(s),o.object.due_date&&(o.new_due_date=moment(o.object.due_date).format(c)),s.on("click",".suggestion",function(t){var e,r,n,i;return r=angular.element(t.currentTarget),e=r.data("quantity"),n=r.data("unit"),i=moment().add(e,n).format(c),s.find(".due-date").val(i)}),l=function(){var r,o;return r=e().target(s.find(".submit-button")).start(),o=i.save(function(t){var e;return e=$(".due-date").val(),t.due_date=e?moment(e,c).format("YYYY-MM-DD"):null,t}),o.then(function(){return n.notify("success")}),o.then(null,function(){return n.notify("error")}),o["finally"](function(){return r.finish(),t.close(s)})},s.on("click",".submit-button",function(t){return t.preventDefault(),l()}),u=function(){var t,e,i;return i=r.instant("LIGHTBOX.DELETE_DUE_DATE.TITLE"),e=r.instant("LIGHTBOX.DELETE_DUE_DATE.SUBTITLE"),t=moment(o.object.due_date).format(c),n.askOnDelete(i,t,e).then(function(t){return t.finish(),$(".due-date").val(null),o.object.due_date_reason=null,l()})},s.on("click",".delete-due-date",function(t){return t.preventDefault(),u()})},{templateUrl:"common/lightbox/lightbox-due-date.html",link:o,scope:!0}},d.directive("tgLbSetDueDate",["lightboxService","$tgLoading","$translate","$tgConfirm","$tgQueueModelTransformation",l])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,n=this.taiga.sizeFormat,o=this.taiga.timeout,r=angular.module("taigaCommon"),e=function(t,e){var r;return r=function(e,r,n){return t.onStart(function(){return $(document.body).addClass("loader-active"),r.addClass("active")}),t.onEnd(function(){return $(document.body).removeClass("loader-active"),r.removeClass("active")})},{link:r}},r.directive("tgLoader",["tgLoader","$rootScope",e]),t=function(t){var e,r,n,i,s,a,c,u;return r={minTime:300},i=!1,u=0,a=0,n=0,s=function(e){var s,c,l;return null==e&&(e=!1),u&&(l=0,e||(c=(new Date).getTime(),s=c-u,s",function(){var r;return r={settings:{target:null,scope:null,classes:[],timeout:0,template:null},target:function(t){return r.settings.target=t,r},scope:function(t){return r.settings.scope=t,r},template:function(t){return r.settings.template=t,r},removeClasses:function(){var t;return t=1<=arguments.length?n.call(arguments,0):[],r.settings.classes=t,r},timeout:function(t){return r.settings.timeout=t,r},start:function(){var t,n;return t=r.settings.target,r.settings.classes.map(function(e){return t.removeClass(e)}),t.hasClass("loading")||r.settings.template||(r.settings.template=t.html()),n=setTimeout(function(){if(!t.hasClass("loading"))return t.addClass("loading"),t.html(e)},r.settings.timeout),r.settings.timeoutId=n,r},finish:function(){var e,n,i;return n=r.settings.target,i=r.settings.timeoutId,i&&(clearTimeout(i),e=r.settings.classes,e.map(function(t){return r.settings.target.addClass(t)}),n.html(r.settings.template),n.removeClass("loading"),r.settings.scope&&t(n.contents())(r.settings.scope)),r}}}},e.$inject=["$compile"],r.factory("$tgLoading",e),t=function(t){var e;return e=function(e,r,n){var i,o;return i=null,o=r.html(),e.$watch(n.tgLoading,function(n){return function(n){return n?i=t().target(r).timeout(100).template(o).scope(e).start():i?i.finish():void 0}}(this))},{priority:99999,link:e}},r.directive("tgLoading",["$tgLoading",t])}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,r=this.taiga.bindOnce,n=this.taiga.debounce,i=angular.module("taigaCommon"),e=function(t,e){var i,o;return o=e.get("common/popover/popover-us-status.html",!0),i=function(e,i,s){var a,c,u;return a=i.controller(),c=function(t){var r,n,o;if(o=i.find(".us-status"),n=i.find(".us-status .us-status-bind"),r=e.usStatusById,r[t.status])return n.text(r[t.status].name),o.css("color",r[t.status].color)},i.on("click",".us-status",function(t){return t.preventDefault(),t.stopPropagation(),i.find(".pop-status").popover().open()}),i.on("click",".status",n(2e3,function(r){var n,o;return r.preventDefault(),r.stopPropagation(),n=angular.element(r.currentTarget),o=e.$eval(s.tgUsStatus),o.status=n.data("status-id"),c(o),i.find(".pop-status").popover().close(),e.$apply(function(){return t.save(o).then(function(){return e.$eval(s.onUpdate)})})})),e.$on("userstories:loaded",function(){return c(e.$eval(s.tgUsStatus))}),e.$on("$destroy",function(){return i.off()}),u=e.$eval(s.tgUsStatus),c(u),r(e,"project",function(t){var r;if(r=o({statuses:t.us_statuses}),i.append(r),e.project.my_permissions.indexOf("modify_us")===-1)return i.unbind("click"),i.find("a").addClass("not-clickable")})},{link:i}},i.directive("tgUsStatus",["$tgRepo","$tgTemplate",e]),t=function(t,e){var r,i,s;return i=e.get("common/popover/popover-related-task-status.html",!0),s=function(t,e,r){var n,i;if(i=t.find(".us-status"),n=t.find(".task-status .task-status-bind"),r[e.status])return n.text(r[e.status].name),i.css("color",r[e.status].color)},r=function(e,r,a){var c,u,l,p;return c=r.controller(),p=e.$eval(a.tgRelatedTaskStatus),l=e.$eval(a.notAutoSave),u=!l,r.on("click",".task-status",function(t){return t.preventDefault(),t.stopPropagation(),r.find(".pop-status").popover().open()}),r.on("click",".status",n(2e3,function(n){var i;if(n.preventDefault(),n.stopPropagation(),i=angular.element(n.currentTarget),p.status=i.data("status-id"),r.find(".pop-status").popover().close(),s(r,p,e.taskStatusById),u)return e.$apply(function(){return t.save(p).then(function(){return e.$eval(a.onUpdate),e.$emit("related-tasks:status-changed")})})})),e.$watch(a.tgRelatedTaskStatus,function(){return p=e.$eval(a.tgRelatedTaskStatus),s(r,p,e.taskStatusById)}),o.bindOnce(e,"project",function(t){if(r.append(i({statuses:t.task_statuses})),s(r,p,e.taskStatusById),t.my_permissions.indexOf("modify_task")===-1)return r.unbind("click"),r.find("a").addClass("not-clickable")}),e.$on("$destroy",function(){return r.off()})},{link:r}},i.directive("tgRelatedTaskStatus",["$tgRepo","$tgTemplate",t]),$.fn.popover=function(){var t,e,r,n,i,o;return t=this,i=function(e){return function(){var e,r,n,i,o,s,a,c,u,l;return t.css({display:"block",visibility:"hidden"}),i=$(window).scrollTop(),e=i+$(window).height(),o=$(window).width(),n=o,r=0,u=t.offset().top,s=u+t.height(),l=t.width(),a=t.offset().left,c=t.offset().left+l,t.css({display:"none",visibility:"visible"}),s<=e&&u>=i&&a>=r&&c<=n}}(this),n=function(e){return function(e){return e&&e.call(t),t.fadeOut(function(){return t.removeClass("active").removeClass("fix")}),t.off("popup:close")}}(this),r=function(t){return function(){return $(".popover.active").each(function(){return $(this).trigger("popup:close")})}}(this),o=function(o){return function(o){return t.hasClass("active")?e():(r(),i()||t.addClass("fix"),t.fadeIn(function(){return t.addClass("active"),$(document.body).off("popover"),$(document.body).one("click.popover",function(){return r()})}),t.on("popup:close",function(t){return n(o)}))}}(this),e=function(e){return function(){return t.trigger("popup:close")}}(this),{open:o,close:e,closeAll:r}}}.call(this),function(){var t,e,r;r=this.taiga,e=angular.module("taigaCommon"),t=function(t,e){var r;return this.config=e,r=this.config.get("ravenConfig",null),r?(t.debug("Using the RavenJS exception handler."),Raven.config(r).install(),function(e,r){return t.error.apply(t,arguments),Raven.captureException(e)}):(t.debug("Using the default logging exception handler."),function(e,r){return t.error.apply(t,arguments)})},e.factory("$exceptionHandler",["$log","$tgConfig",t])}.call(this),function(){var e,r,n,i,o,s,a,c=[].indexOf||function(t){for(var e=0,r=this.length;e\n <% if (tag[1] !== null) { %>\n \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<% }) %>'),e=function(e,n,i,o){var s;return s=function(e){var i;return i=r({tags:e,emojify:function(e){return t.replaceEmojiNameByHtmlImgs(_.escape(e))}}),n.html(i)},e.$watch(i.tgColorizeBacklogTags,function(t){if(null!=t)return s(t)}),e.$on("$destroy",function(){return n.off()})},{link:e}},o.directive("tgColorizeBacklogTags",["$tgEmojis",e]),r=function(e,r,n){var o,s,u,l,p;return s=13,o=188,p=r.get("common/tag/lb-tag-line-tags.html",!0),u=null,l=function(e,r,o,l){var h,f,d,g,m,v,y,b;return b=_.has(o,"withoutColors"),g=function(i,o){var s,a,c;return null==o&&(o=[]),s=b?null:o[t],a={tags:_.map(i,function(t){return{name:t,style:s?"border-left: 5px solid "+s:""}})},c=n(p(a))(e),r.find(".tags-container").html(c)},y=function(){return r.find(".save").removeClass("hidden")},d=function(){return r.find(".save").addClass("hidden")},m=function(){return r.find("input").val(""),u.close()},h=function(t){var r;if(t=a(t.toLowerCase()),0!==t.length)return r=_.clone(l.$modelValue,!1),null==r&&(r=[]),c.call(r,t)<0&&r.push(t),e.$apply(function(){return l.$setViewValue(r)}),d()},f=function(t){var r;if(t=a(t.toLowerCase()),0!==t.length)return r=_.clone(l.$modelValue,!1),r=_.pull(r,t),e.$apply(function(){return l.$setViewValue(r)})},v=function(){var t;return t=r.find("input").val(),h(t),m()},r.on("keypress","input",function(t){var e;return e=angular.element(t.currentTarget),t.keyCode===s?(t.preventDefault(),v()):","===String.fromCharCode(t.keyCode)?(t.preventDefault(),v()):e.val().length?y():d()}),r.on("click",".save",function(t){return t.preventDefault(),v()}),r.on("click",".remove-tag",function(t){var e,r;return t.preventDefault(),e=angular.element(t.currentTarget),r=e.siblings(".tag-name").text(),f(r)}),i(e,"project",function(t){var e;return e=r.find("input"),u=new Awesomplete(e[0],{list:_.keys(t.tags_colors)}),e.on("awesomplete-selectcomplete",function(){return h(e.val()),e.val("")})}),e.$watch(o.ngModel,function(t){var r,n;return n=(null!=(r=e.project)?r.tags_colors:void 0)||[],g(t,n)}),e.$on("$destroy",function(){return r.off()})},{link:l,require:"ngModel",templateUrl:"common/tag/lb-tag-line.html"}},o.directive("tgLbTagLine",["$tgResources","$tgTemplate","$compile",r])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,n=angular.module("taigaBacklog"),t=function(t,e,n,i,o,s,a){var c;return c=function(n,c,u){var l,p,h,f,d,g,m,v;return f=!1,l=!0,p=null,n.newSprint={},v=null,g=function(){return p&&p.reset(),n.newSprint={project:null,name:null,estimated_start:null,estimated_finish:null}},m=r(2e3,function(r){return function(r){var u,h,d,g,m,y,b,S,j;return r.preventDefault(),j=angular.element(r.currentTarget),y=a.instant("COMMON.PICKERDATE.FORMAT"),S=c.find(".submit-button"),p=c.find("form").checksley(),p.validate()?(f=!1,u=null,g=$(".date-start").val(),d=$(".date-end").val(),l?(m=angular.copy(n.newSprint),m.estimated_start=moment(g,y).format("YYYY-MM-DD"),m.estimated_finish=moment(d,y).format("YYYY-MM-DD"),b=t.create("milestones",m),u="sprintform:create:success"):(m=n.newSprint.realClone(),m.estimated_start=moment(g,y).format("YYYY-MM-DD"),m.estimated_finish=moment(d,y).format("YYYY-MM-DD"),b=t.save(m),u="sprintform:edit:success"),h=s().target(S).start(),b.then(function(t){return h.finish(),l&&(n.sprintsCounter+=1),n.sprints=_.map(n.sprints,function(e){return e.id===t.id?t:e}),"sprintform:create:success"===u&&v?i.$broadcast(u,t,v):i.$broadcast(u,t),o.close(c)}),b.then(null,function(t){return h.finish(),p.setErrors(t),t._error_message?e.notify("light-error",t._error_message):t.__all__?e.notify("light-error",t.__all__[0]):void 0})):(f=!0,void c.find(".last-sprint-name").addClass("disappear"))}}(this)),d=function(){var r,s;return s=a.instant("LIGHTBOX.DELETE_SPRINT.TITLE"),r=n.newSprint.name,e.askOnDelete(s,r).then(function(r){return function(r){var s,a;return a=function(){return r.finish(),n.milestonesCounter-=1,o.close(c),i.$broadcast("sprintform:remove:success",n.newSprint)},s=function(){return r.finish(!1),e.notify("error")},t.remove(n.newSprint).then(a,s)}}(this))},h=function(){var t,e;return t=_.filter(n.sprints,function(t){return!t.closed}),e=_.sortBy(t,function(t){return moment(t.estimated_finish,"YYYY-MM-DD").format("X")}),e[e.length-1]},n.$on("sprintform:create",function(t,e,r){var i,s,u,f,d,m;return v=r,g(),p=c.find("form").checksley(),p.reset(),l=!0,d=a.instant("COMMON.PICKERDATE.FORMAT"),n.newSprint.project=e,n.newSprint.name=null,n.newSprint.slug=null,u=h(),s=moment(),u?s=moment(u.estimated_finish):n.newSprint.estimated_start&&(s=moment(n.newSprint.estimated_start)),n.newSprint.estimated_start=s.format(d),i=moment().add(2,"weeks"),u?i=moment(u.estimated_finish).add(2,"weeks"):n.newSprint.estimated_finish&&(i=moment(n.newSprint.estimated_finish)),n.newSprint.estimated_finish=i.format(d),f=c.find(".last-sprint-name"),null!=(null!=u?u.name:void 0)&&(m=a.instant("LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME",{lastSprint:u.name}),f.html(m)),c.find(".delete-sprint").addClass("hidden"),m=a.instant("LIGHTBOX.ADD_EDIT_SPRINT.TITLE"),c.find(".title").text(m),m=a.instant("COMMON.CREATE"),c.find(".button-green").text(m),o.open(c),c.find(".sprint-name").focus(),c.find(".last-sprint-name").removeClass("disappear")}),n.$on("sprintform:edit",function(t,e){var r,i,s;return g(),l=!1,i=a.instant("COMMON.PICKERDATE.FORMAT"),n.$apply(function(){return n.newSprint=e.realClone(),n.newSprint.estimated_start=moment(n.newSprint.estimated_start).format(i),n.newSprint.estimated_finish=moment(n.newSprint.estimated_finish).format(i)}),c.find(".delete-sprint").removeClass("hidden"),r=a.instant("BACKLOG.EDIT_SPRINT"),c.find(".title").text(r),s=a.instant("COMMON.SAVE"),c.find(".button-green").text(s),o.open(c),c.find(".sprint-name").focus().select(),c.find(".last-sprint-name").addClass("disappear")}),c.on("keyup",".sprint-name",function(t){return c.find(".sprint-name").val().length>0||f?c.find(".last-sprint-name").addClass("disappear"):c.find(".last-sprint-name").removeClass("disappear")}),c.on("submit","form",m),c.on("click",".delete-sprint",function(t){return t.preventDefault(),d()}),n.$on("$destroy",function(){return c.off()}),g()},{link:c}},n.directive("tgLbCreateEditSprint",["$tgRepo","$tgConfirm","$tgResources","$rootScope","lightboxService","$tgLoading","$translate",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v=function(t,e){function r(){this.constructor=t}for(var n in e)y.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},y={}.hasOwnProperty;d=this.taiga,p=this.taiga.mixOf,m=this.taiga.toggleText,f=this.taiga.scopeDefer,c=this.taiga.bindOnce,l=this.taiga.groupBy,g=this.taiga.timeout,a=this.taiga.bindMethods,u=this.taiga.generateHash,h=angular.module("taigaBacklog"),t=function(t){function e(t,e,r,n,i,o,s,c,u,l,p,h,f,d,g,m,v,y,_,b){var S;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=c,this.appMetaService=u,this.navUrls=l,this.events=p,this.analytics=h,this.translate=f,this.loading=d,this.rs2=g,this.modelTransform=m,this.errorHandlingService=v,this.storage=y,this.filterRemoteStorageService=_,this.projectService=b,a(this),this.backlogOrder={},this.milestonesOrder={},this.page=1,this.disablePagination=!1,this.firstLoadComplete=!1,this.scope.userstories=[],this.applyStoredFilters(this.params.pslug,"backlog-filters")||(this.scope.sectionName=this.translate.instant("BACKLOG.SECTION_NAME"),this.showTags=!1,this.activeFilters=!1,this.scope.showGraphPlaceholder=null,this.displayVelocity=!1,this.initializeEventHandlers(),S=this.loadInitialData(),S.then(function(t){return function(){var e,r;if(t.firstLoadComplete=!0,r=t.translate.instant("BACKLOG.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.translate.instant("BACKLOG.PAGE_DESCRIPTION",{projectName:t.scope.project.name,projectDescription:t.scope.project.description}),t.appMetaService.setAll(r,e),t.rs.userstories.getShowTags(t.scope.projectId))return t.showTags=!0,t.scope.$broadcast("showTags",t.showTags)}}(this)),S.then(null,this.onInitialDataError.bind(this)))}return v(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","tgAppMetaService","$tgNavUrls","$tgEvents","$tgAnalytics","$translate","$tgLoading","tgResources","$tgQueueModelTransformation","tgErrorHandlingService","$tgStorage","tgFilterRemoteStorageService","tgProjectService"],e.prototype.storeCustomFiltersName="backlog-custom-filters",e.prototype.storeFiltersName="backlog-filters",e.prototype.backlogOrder={},e.prototype.milestonesOrder={},e.prototype.filtersReloadContent=function(){return this.loadUserstories(!0)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("usform:bulk:success",function(t){return function(){return t.loadUserstories(!0),t.loadProjectStats(),t.confirm.notify("success"),t.analytics.trackEvent("userstory","create","bulk create userstory on backlog",1)}}(this)),this.scope.$on("sprintform:create:success",function(t){return function(e,r,n){return t.loadSprints().then(function(){return t.scope.$broadcast("sprintform:create:success:callback",n)}),t.loadProjectStats(),t.confirm.notify("success"),t.analytics.trackEvent("sprint","create","create sprint on backlog",1)}}(this)),this.scope.$on("usform:new:success",function(t){return function(){return t.loadUserstories(!0),t.loadProjectStats(),t.rootscope.$broadcast("filters:update"),t.confirm.notify("success"),t.analytics.trackEvent("userstory","create","create userstory on backlog",1)}}(this)),this.scope.$on("sprintform:edit:success",function(t){return function(){return t.loadProjectStats()}}(this)),this.scope.$on("sprintform:remove:success",function(t){return function(e,r){return t.loadSprints(),t.loadProjectStats(),t.loadUserstories(!0),r.closed&&t.loadClosedSprints(),t.rootscope.$broadcast("filters:update")}}(this)),this.scope.$on("usform:edit:success",function(t){return function(e,r){var n;return n=_.findIndex(t.scope.userstories,function(t){return t.id===r.id}),t.scope.userstories[n]=r,t.rootscope.$broadcast("filters:update")}}(this)),this.scope.$on("sprint:us:move",this.moveUs),this.scope.$on("sprint:us:moved",function(t){return function(){return t.loadSprints(),t.loadProjectStats()}}(this)),this.scope.$on("backlog:load-closed-sprints",this.loadClosedSprints),this.scope.$on("backlog:unload-closed-sprints",this.unloadClosedSprints)},e.prototype.initializeSubscription=function(){var t,e;return t="changes.project."+this.scope.projectId+".userstories",this.events.subscribe(this.scope,t,function(t){return function(e){return t.loadAllPaginatedUserstories(),t.loadSprints()}}(this)),e="changes.project."+this.scope.projectId+".milestones",this.events.subscribe(this.scope,e,function(t){return function(e){return t.loadSprints()}}(this))},e.prototype.toggleShowTags=function(){return this.scope.$apply(function(t){return function(){return t.showTags=!t.showTags,t.rs.userstories.storeShowTags(t.scope.projectId,t.showTags)}}(this))},e.prototype.toggleActiveFilters=function(){return this.activeFilters=!this.activeFilters},e.prototype.toggleVelocityForecasting=function(){return this.displayVelocity=!this.displayVelocity,this.displayVelocity?this.scope.visibleUserStories=_.map(this.forecastedStories,function(t){return t.ref}):this.scope.visibleUserStories=_.map(this.scope.userstories,function(t){return t.ref}),f(this.scope,function(t){return function(){return t.scope.$broadcast("userstories:loaded")}}(this))},e.prototype.loadProjectStats=function(){return this.rs.projects.stats(this.scope.projectId).then(function(t){return function(e){var r;return t.scope.stats=e,r=e.total_points?e.total_points:e.defined_points,r?t.scope.stats.completedPercentage=Math.round(100*e.closed_points/r):t.scope.stats.completedPercentage=0,t.scope.showGraphPlaceholder=!(null!=e.total_points&&null!=e.total_milestones),t.calculateForecasting(),e}}(this))},e.prototype.setMilestonesOrder=function(t){var e,r,n,i,o;for(i=[],r=0,n=t.length;r0&&t>s.speed));r++)o.push(void 0);return o},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_backlog_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.closedMilestones=!!t.total_closed_milestones,this.scope.$emit("project:loaded",t), -this.scope.points=_.sortBy(t.points,"order"),this.scope.pointsById=l(t.points,function(t){return t.id}),this.scope.usStatusById=l(t.us_statuses,function(t){return t.id}),this.scope.usStatusList=_.sortBy(t.us_statuses,"id"),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.loadBacklog().then(function(t){return function(){var e;return t.generateFilters(e="null")}}(this)).then(function(t){return function(){return t.scope.$emit("backlog:loaded")}}(this))},e.prototype.prepareBulkUpdateData=function(t,e){return null==e&&(e="backlog_order"),_.map(t,function(t){return{us_id:t.id,order:t[e]}})},e.prototype.moveUs=function(t,e,r,n){var i,o,s,a,c,u,l,p,h,f,d,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w,A,O,R,M,U,D,N,L,x,F,B,H;if(E=e[0].milestone,R=e[0].project,E&&(F=this.scope.sprintsById[E]||this.scope.closedSprintsById[E]),n&&($=this.scope.sprintsById[n]||this.scope.closedSprintsById[n]),s=n!==E?n:E,P=null,C="",n!==E)if(null===n){for(l=u=0,h=e.length;u1&&(x=_.map(O,function(t){return{us_id:t.id,order:P[t.id]}}))):B=0,j=[],l=S=0,d=e.length;S1&&n!==E)a=j.concat(x),M=this.rs.userstories.bulkUpdateMilestone(R,n,a);else if(e.length>1)a=j.concat(x),M=this.rs.userstories.bulkUpdateBacklogOrder(R,a);else{for(L={},U=0,y=x.length;U=n&&t<=r})},e}(p(d.Controller,d.PageMixin,d.FiltersMixin,d.UsFiltersMixin)),h.controller("BacklogController",t),e=function(t,e,r,n){var i,o,s,a,c,u,l,p;return i=_.template('
<%- text %>
'),s=function(t,e,n,o){var s,a,c,u;return c=function(){var r,n,i,o,a,c,l,p,h,f;if(t.displayVelocity&&u(),null!=t.stats&&null!=t.stats.total_points&&0!==t.stats.total_points&&null==t.displayVelocity){if(u(),p=t.stats,h=p.total_points,r=p.assigned_points,!t.userstories)return;for(c=t.userstories,l=[],i=o=0,a=c.length;oh){n=e.find(".backlog-table-body .us-item-row")[i],s(n);break}l.push(void 0)}return l}},u=function(){return e.find(".doom-line").remove()},s=function(t){var e;return e=r.instant("BACKLOG.DOOMLINE"),$(t).before(i({text:e}))},a=function(){var t;return t=e.find(".backlog-table-body .us-item-row"),_.map(t,function(t){return angular.element(t)})},t.$on("userstories:loaded",c),t.$on("userstories:forecast",u),t.$watch("stats",c)},c=function(t,r,i,o){var s,a,c,u,l,h,f;return a=function(){var e;return e=r.find(".backlog-table-body input:checkbox:checked"),_.map(e,function(e){var r;return e=$(e).closest(".tg-scope"),r=e.scope(),r.us.milestone=t.sprints[0].id,r.us})},h=function(e,i){var s,a,c,u;return u=_(t.userstories),t.userstories=u.without.apply(u,e).value(),a=_.map(e,function(t,e){return t.total_points}),c=_.reduce(a,function(t,e){return t+e}),i.user_stories=_.union(i.user_stories,e),i.total_points+=c,s=_.map(e,function(t){return{us_id:t.id,order:t.sprint_order}}),n.userstories.bulkUpdateMilestone(t.project.id,t.sprints[0].id,s).then(function(t){return function(){return o.loadSprints(),o.loadProjectStats(),o.toggleVelocityForecasting(),o.calculateForecasting()}}(this)),r.find(".move-to-sprint").hide()},u=function(e){return h(e,t.currentSprint)},l=function(e){return h(e,t.sprints[0])},t.$on("sprintform:create:success:callback",function(t,e){return _.partial(u,e)()}),f=!1,c=null,s=function(e){var n,i;return c=e.closest(".us-item-row"),e.closest(".us-item-row").toggleClass("ui-multisortable-multiple"),n=r.find(".move-to-sprint"),i=r.find(".backlog-table-body input:checkbox:checked"),i.length>0&&t.sprints.length>0?n.show():n.hide()},$(window).on("keydown.shift-pressed keyup.shift-pressed",function(t){return f=!!t.shiftKey,!0}),r.on("change",".backlog-table-body input:checkbox",function(t){var e,r,n,i,o;return c&&f&&(r=[],e=$(t.currentTarget).closest(".us-item-row"),n=c.nextAll(),i=c.prevAll(),_.some(n,function(t){return t===e[0]})?r=c.nextUntil(e):_.some(i,function(t){return t===e[0]})&&(r=c.prevUntil(e)),_.map(r,function(t){var e;return e=$(t).find("input:checkbox"),e.prop("checked",!0),s(e)})),o=angular.element(t.currentTarget),o.closest(".us-item-row").toggleClass("is-checked"),s(o)}),r.on("click","#move-to-latest-sprint",function(e){return function(e){var r;return r=a(),t.$apply(_.partial(l,r))}}(this)),r.on("click","#move-to-current-sprint",function(e){return function(e){var r;return r=a(),t.$apply(_.partial(u,r))}}(this)),r.on("click","#show-tags",function(t){return t.preventDefault(),o.toggleShowTags(),p(o)}),r.on("click",".forecasting-add-sprint",function(r){var n,i;return i=o.forecastedStories,t.currentSprint?(n=_.map(i,function(e,r){return e.milestone=t.currentSprint.id,e.order=r,e}),t.$apply(_.partial(u,n))):(n=_.map(i,function(t,e){return t.order=e,t}),e.$broadcast("sprintform:create",t.projectId,n))})},p=function(t){var e,n;return e=angular.element("#show-tags"),t.showTags?(e.addClass("active"),n=r.instant("BACKLOG.TAGS.HIDE"),e.text(n)):(e.removeClass("active"),n=r.instant("BACKLOG.TAGS.SHOW"),e.text(n))},u=function(t,e,r){var n;return n=e.find("sidebar.backlog-filter"),n.addClass("active"),r.activeFilters=!0},l=function(t,n,i){var o,s,a,c;return a=n.find("sidebar.backlog-filter"),a.one("transitionend",function(){return g(150,function(){return e.$broadcast("resize"),$(".burndown").css("visibility","visible")})}),c=angular.element("#show-filters-button"),$(".burndown").css("visibility","hidden"),a.toggleClass("active"),c.toggleClass("active"),o=r.instant("BACKLOG.FILTERS.HIDE"),s=r.instant("BACKLOG.FILTERS.SHOW"),m(c,[o,s]),i.toggleActiveFilters()},a=function(t,e,r,n){return t.filtersSearch={},e.on("click","#show-filters-button",function(r){return r.preventDefault(),t.$apply(function(){return l(t,e,n)})})},o=function(t,e,r,n){var i,o;return i=e.controller(),c(t,e,r,i),a(t,e,r,i),s(t,e,r,i),o=i.location.search(),(o.status||o.tags||o.q||o.assigned_to||o.owner)&&u(t,e,i),t.$on("showTags",function(){return p(i)}),t.$on("$destroy",function(){return e.off(),$(window).off(".shift-pressed")})},{link:o}},h.directive("tgBacklog",["$tgRepo","$rootScope","$translate","$tgResources",e]),s=function(t,e,r,n){var i,o;return o=e.get("backlog/us-role-points-popover.html",!0),i=function(e,i,s){return c(e,"project",function(t){var n,s;return s=_.filter(t.roles,"computable"),n=_.size(s),n>1?i.append(r(o({roles:s}))(e)):(i.find(".icon-arrow-down").remove(),i.find(".header-points").addClass("not-clickable"))}),e.$on("uspoints:select",function(t,e,r){return i.find(".popover").popover().close(),i.find(".header-points").html(r+"/Total")}),e.$on("uspoints:clear-selection",function(t,e){var r;return i.find(".popover").popover().close(),r=n.instant("COMMON.FIELDS.POINTS"),i.find(".header-points").text(r)}),i.on("click",function(t){var e;return e=angular.element(t.target),(e.is("span")||e.is("div"))&&t.stopPropagation(),i.find(".popover").popover().open()}),i.on("click",".clear-selection",function(e){return e.preventDefault(),e.stopPropagation(),t.$broadcast("uspoints:clear-selection")}),i.on("click",".role",function(e){var r,n;return e.preventDefault(),e.stopPropagation(),n=angular.element(e.currentTarget),r=n.scope(),t.$broadcast("uspoints:select",n.data("role-id"),n.text())}),e.$on("$destroy",function(){return i.off()})},{link:i}},h.directive("tgUsRolePointsSelector",["$rootScope","$tgTemplate","$compile","$translate",s]),o=function(t,e,r){var n,i;return i=r.get("common/estimation/us-points-roles-popover.html",!0),n=function(e,n,o){var s,a,c,u,l,p,h;return s=n.controller(),h=null,p=null,u=null,c=null,e.$on("uspoints:select",function(t,r,n){var i;return i=e.$eval(o.tgBacklogUsPoints),p=r,c.render()}),e.$on("uspoints:clear-selection",function(t){var r;return r=e.$eval(o.tgBacklogUsPoints),p=null,c.render()}),e.$watch(o.tgBacklogUsPoints,function(i){var o;if(i)return c=t.create(n,i,e.project),o=c.calculateRoles(),0===o.length?(n.find(".icon-arrow-bottom").remove(),n.find("a.us-points").addClass("not-clickable")):1===o.length&&(p=_.keys(i.points)[0]),c.isEditable&&a(),c.onSelectedPointForRole=function(t,e,r){return i.points=r,c.render(),this.save(t,e).then(function(){return s.loadProjectStats()})},c.render=function(){var t,e,n,i,s,a,c,u,l;return l=this.calculateTotalPoints(),null==p||1===o.length?(c=l,u=l):(i=this.us.points[p],s=this.pointsById[i],c=s.name+" / "+l+"",u=s.name+" / "+l),t={totalPoints:l,roles:this.calculateRoles(),editable:this.isEditable,text:c,title:u},n="common/estimation/us-estimation-total.html",a=r.get(n,!0),e=a(t),this.$el.html(e)},c.render()}),l=function(){var t,e;return e=c.calculateRoles(),t=i({roles:e}),n.append(t),n.find(".pop-role").popover().open(function(){return $(this).remove()})},a=function(){return n.on("click","a.us-points",function(t){var r;return t.preventDefault(),t.stopPropagation(),r=e.$eval(o.tgBacklogUsPoints),h=p,null!=p?c.renderPointsSelector(p):l()}),n.on("click",".role",function(t){var r,i,s;return t.preventDefault(),t.stopPropagation(),i=angular.element(t.currentTarget),s=e.$eval(o.tgBacklogUsPoints),h=i.data("role-id"),r=n.find(".pop-role"),r.find("a").removeClass("active"),r.find("a[data-role-id='"+h+"']").addClass("active"),c.renderPointsSelector(h)})},e.$on("$destroy",function(){return n.off()})},{link:n}},h.directive("tgBacklogUsPoints",["$tgEstimationsService","$tgRepo","$tgTemplate",o]),i=function(t){var e,r,n;return e=function(){return $(".js-burndown-graph").removeClass("shown"),$(".js-toggle-burndown-visibility-button").removeClass("active"),$(".js-burndown-graph").removeClass("open")},n=function(t){return $(".js-toggle-burndown-visibility-button").addClass("active"),t?$(".js-burndown-graph").addClass("shown"):$(".js-burndown-graph").addClass("open")},r=function(r,i,o){var s,a,c;return s=!0,a=u(["is-burndown-grpahs-collapsed"]),r.isBurndownGraphCollapsed=t.get(a)||!1,c=function(){return r.isBurndownGraphCollapsed?e(s):n(s),s=!1},r.$watch("showGraphPlaceholder",function(){if(null!=r.showGraphPlaceholder)return r.isBurndownGraphCollapsed=r.isBurndownGraphCollapsed||r.showGraphPlaceholder,c()}),i.on("click",".js-toggle-burndown-visibility-button",function(){return r.isBurndownGraphCollapsed=!r.isBurndownGraphCollapsed,t.set(a,r.isBurndownGraphCollapsed),c()}),r.$on("$destroy",function(){return i.off()})},{link:r}},h.directive("tgToggleBurndownVisibility",["$tgStorage",i]),r=function(t){var e,r;return r=function(e,r){var n,i,o,s,a,c,u,l,p,h,f;return h=e.width(),e.height(h/6),a=function(){l=[];for(var t=0,e=r.milestones.length-1;0<=e?t<=e:t>=e;0<=e?t++:t--)l.push(t);return l}.apply(this),o=[],f=_.map(r.milestones,function(t){return 0}),o.push({data:_.zip(a,f),lines:{fillColor:"rgba(0,0,0,0)"},points:{show:!1}}),c=_.map(r.milestones,function(t){return t.optimal}),o.push({data:_.zip(a,c),lines:{fillColor:"rgba(120,120,120,0.2)"}}),s=_.filter(_.map(r.milestones,function(t){return t.evolution}),function(t){return null!=t}),o.push({data:_.zip(a,s),lines:{fillColor:"rgba(102,153,51,0.3)"}}),n=_.map(r.milestones,function(t){return-t["team-increment"]-t["client-increment"]}),o.push({data:_.zip(a,n),lines:{fillColor:"rgba(255,51,51,0.3)"}}),p=_.map(r.milestones,function(t){return-t["team-increment"]}),o.push({data:_.zip(a,p),lines:{fillColor:"rgba(153,51,51,0.3)"}}),i=["rgba(0,0,0,1)","rgba(120,120,120,0.2)","rgba(102,153,51,1)","rgba(153,51,51,1)","rgba(255,51,51,1)"],u={grid:{borderWidth:{top:0,right:1,left:0,bottom:0},borderColor:"#ccc",hoverable:!0},xaxis:{ticks:r.milestones.length,axisLabel:t.instant("BACKLOG.CHART.XAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5,tickFormatter:function(t,e){return""}},yaxis:{axisLabel:t.instant("BACKLOG.CHART.YAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},series:{shadowSize:0,lines:{show:!0,fill:!0},points:{show:!0,fill:!0,radius:4,lineWidth:2}},colors:i,tooltip:!0,tooltipOpts:{content:function(e,n,i,o){var s;return 1===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.OPTIMAL",s)):2===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.REAL",s)):3===o.seriesIndex?(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.INCREMENT_CLIENT",s)):(s={sprintName:r.milestones[n].name,value:Math.abs(i)},t.instant("BACKLOG.CHART.INCREMENT_TEAM",s))}}},e.empty(),e.plot(o,u).data("plot")},e=function(t,e,n){var i;return i=angular.element(e),t.$watch("stats",function(e){if(null!=t.stats)return r(i,t.stats),t.$on("resize",function(){return r(i,t.stats)})}),t.$on("$destroy",function(){return e.off()})},{link:e}},h.directive("tgBurndownBacklogGraph",["$translate",r]),n=function(t,e){var r,n,i,o;return o=t.get("backlog/progress-bar.html",!0),i=function(t,r,n,i){var s;return s=o({projectPointsPercentaje:n,closedPointsPercentaje:i}),s=e(s)(t),r.html(s)},r=function(t){var e;return e=_.max([0,t]),e=_.min([100,e]),Math.round(e)},n=function(t,e,n){var o;return o=angular.element(e),t.$watch(n.tgBacklogProgressBar,function(n){var o,s,a,c,u;if(null!=n)return u=n.total_points?n.total_points:n.defined_points,a=n.defined_points,o=n.closed_points,a>u?(c=100*u/a,s=100*o/a):(c=100,s=100*o/u),c=r(c-3),s=r(s-3),i(t,e,c,s)}),t.$on("$destroy",function(){return e.off()})},{link:n}},h.directive("tgBacklogProgressBar",["$tgTemplate","$compile",n])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,n=angular.module("taigaBacklog"),r=function(t){return $(t).scope().$destroy(),$(t).off(),$(t).remove()},t=function(){var t;return t=function(t,n,i){return e(t,"project",function(e){var i,o,s;if(e.my_permissions.indexOf("modify_us")>-1)return o=!1,i=dragula([n[0],$(".js-empty-backlog")[0]],{copySortSource:!1,copy:!1,isContainer:function(t){return t.classList.contains("sprint-table")},moves:function(t){return!!$(t).hasClass("row")}}),i.on("drag",function(t,e){var r,n;return n=$(t).parent(),o=n.hasClass("backlog-table-body"),$(document.body).addClass("drag-active"),r=$(t).find("input[type='checkbox']").is(":checked"),window.dragMultiple.start(t,e)}),i.on("cloned",function(t){return $(t).addClass("multiple-drag-mirror")}),i.on("dragend",function(e){var n,i,s,a,c,u,l,p;return c=$(e).parent(),$(".doom-line").remove(),c=$(e).parent(),a=c.hasClass("backlog-table-body")||c.hasClass("js-empty-backlog"),u=o||a?o===a:$(e).scope().sprint.id===c.scope().sprint.id,n=window.dragMultiple.stop(),$(document.body).removeClass("drag-active"),l=null,i=n.length?n[0]:e,a?s=$(i).index(".backlog-table-body .row"):(s=$(i).index(),l=c.scope().sprint.id),u?p=n.length?_.map(n,function(t){return t=$(t).scope().us}):[$(e).scope().us]:(p=n.length?_.map(n,function(t){return t=$(t).scope().us}):[$(e).scope().us],n.length?_.each(n,function(t){return r(t)}):r(e)),t.$emit("sprint:us:move",p,s,l)}),s=autoScroll([window],{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&i.dragging}}),t.$on("$destroy",function(){return n.off(),i.destroy()})})},{link:t}},n.directive("tgBacklogSortable",t)}.call(this),function(){var t,e,r,n,i;i=this.taiga,n=angular.module("taigaBacklog"),t=function(t,e){var r,n,i,o;return i=50,n={duration:500,easing:"linear"},o=function(t){return function(t){var e,r;return r=t.find(".sprint-table"),e=t.find(".compact-sprint"),e.toggleClass("active"),r.toggleClass("open")}}(this),r=function(t,r,i){return t.$watch(i.tgBacklogSprint,function(e){return e=t.$eval(i.tgBacklogSprint),e.closed?r.addClass("sprint-closed"):o(r)}),r.on("click",".sprint-name > .compact-sprint",function(t){return t.preventDefault(),o(r),r.find(".sprint-table").slideToggle(n)}),r.on("click",".edit-sprint",function(r){var n;return r.preventDefault(),n=t.$eval(i.tgBacklogSprint),e.$broadcast("sprintform:edit",n)}),t.$on("$destroy",function(){return r.off()})},{link:r}},n.directive("tgBacklogSprint",["$tgRepo","$rootScope",t]),e=function(t,e,r,n){var i,o;return o=e.get("backlog/sprint-header.html"),i=function(e,i,s,a){var c,u,l,p;return l=n.instant("BACKLOG.SPRINTS.DATE"),c=function(){return e.project.my_permissions.indexOf("modify_milestone")!==-1},u=function(){return e.project.my_permissions.indexOf("view_milestones")!==-1},p=function(n){var s,a,p,h,f,d,g;return d=t.resolve("project-taskboard",{project:e.project.slug,sprint:n.slug}),f=moment(n.estimated_start).format(l),h=moment(n.estimated_finish).format(l),p=f+"-"+h,a={name:n.name,taskboardUrl:d,estimatedDateRange:p,closedPoints:n.closed_points||0,totalPoints:n.total_points||0,isVisible:u(),isEditable:c()},g=e.$new(),_.assign(g,a),s=r(o)(g),i.html(s)},e.$watch("sprint",function(t){return p(t)}),e.$on("$destroy",function(){return i.off()})},{link:i,restrict:"EA"}},n.directive("tgBacklogSprintHeader",["$tgNavUrls","$tgTemplate","$compile","$translate",e]),r=function(t,e,r){var n,i;return n=!0,i=function(i,o,s){var a,c;return c=$("
"),o.after(c),a=null,o.on("click",function(r){return r.preventDefault(),n=!n,a=e().target(c).start(),n?t.$broadcast("backlog:unload-closed-sprints"):t.$broadcast("backlog:load-closed-sprints")}),i.$on("$destroy",function(){return o.off()}),i.$on("closed-sprints:reloaded",function(t){return function(t,e){var n,i;return a.finish(),n=e.length>0?"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS":"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS",i=r.instant(n),o.find(".text").text(i)}}(this))},{link:i}},n.directive("tgBacklogToggleClosedSprintsVisualization",["$rootScope","$tgLoading","$translate",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c;s=this.taiga,n=this.taiga.mixOf,c=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,a=this.taiga.timeout,i=angular.module("taigaTaskboard"),t=function(t){var e,r;return r=function(e,r){var n,i,o,s;return s=e.width(),e.height(240),i=_.map(r,function(t){return moment(new Date(t.day).getTime())}),n=[],n.unshift({data:_.zip(i,_.map(r,function(t){return t.optimal_points})),lines:{fillColor:"rgba(120,120,120,0.2)"}}),n.unshift({data:_.zip(i,_.map(r,function(t){return t.open_points})),lines:{fillColor:"rgba(102,153,51,0.3)"}}),o={grid:{borderWidth:{top:0,right:1,left:0,bottom:0},borderColor:"#ccc",hoverable:!0},xaxis:{tickSize:[1,"day"],min:i[0],max:_.last(i),mode:"time",daysNames:i,axisLabel:t.instant("TASKBOARD.CHARTS.XAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},yaxis:{min:0,axisLabel:t.instant("TASKBOARD.CHARTS.YAXIS_LABEL"),axisLabelUseCanvas:!0,axisLabelFontSizePixels:12,axisLabelFontFamily:"Verdana, Arial, Helvetica, Tahoma, sans-serif",axisLabelPadding:5},series:{shadowSize:0,lines:{show:!0,fill:!0},points:{show:!0,fill:!0,radius:4,lineWidth:2}},colors:["rgba(102,153,51,1)","rgba(120,120,120,0.2)"],tooltip:!0,tooltipOpts:{content:function(e,r,n,i){var o,s;return o=moment(r).format(t.instant("TASKBOARD.CHARTS.DATE")),s=Math.round(n),1===i.seriesIndex?t.instant("TASKBOARD.CHARTS.OPTIMAL",{formattedDate:o,roundedValue:s}):t.instant("TASKBOARD.CHARTS.REAL",{formattedDate:o,roundedValue:s})}}},e.empty(),e.plot(n,o).data("plot")},e=function(t,e,n){var i;return i=angular.element(e),t.$on("resize",function(){if(t.stats)return r(i,t.stats.days)}),t.$on("taskboard:graph:toggle-visibility",function(){return e.parent().toggleClass("open"),a(100,function(){if(t.stats)return r(i,t.stats.days)})}),t.$watch("stats",function(e){if(null!=t.stats)return r(i,t.stats.days)}),t.$on("$destroy",function(){return e.off()})},{link:e}},i.directive("tgSprintGraph",["$translate",t])}.call(this),function(){var t,e,r,n,i,o,s,a=[].indexOf||function(t){for(var e=0,r=this.length;e1&&r<=1&&(this.zoomLoading=!0,this.loadTasks().then(function(t){return function(){return t.zoomLoading=!1,t.taskboardTasksService.resetFolds()}}(this))),"0"===this.zoomLevel?this.rootscope.$broadcast("sprint:zoom0"):void 0)},e.prototype.changeQ=function(t){return this.replaceFilter("q",t),this.loadTasks(),this.generateFilters()},e.prototype.removeFilter=function(t){return this.unselectFilter(t.dataType,t.id),this.loadTasks(),this.generateFilters()},e.prototype.addFilter=function(t){return this.selectFilter(t.category.dataType,t.filter.id),this.loadTasks(),this.generateFilters()},e.prototype.selectCustomFilter=function(t){return this.replaceAllFilters(t.filter),this.loadTasks(),this.generateFilters()},e.prototype.removeCustomFilter=function(t){return this.filterRemoteStorageService.getFilters(this.scope.projectId,"tasks-custom-filters").then(function(e){return function(r){return delete r[t.id],e.filterRemoteStorageService.storeFilters(e.scope.projectId,r,"tasks-custom-filters").then(e.generateFilters)}}(this))},e.prototype.isFilterDataTypeSelected=function(t){var e,r,n,i;for(i=this.selectedFilters,r=0,n=i.length;r0}),n=_.map(o.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),a=_.map(o.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),s=_.map(o.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),e.selectedFilters=[],t.status&&(c=e.formatSelectedFilters("status",u,t.status),e.selectedFilters=e.selectedFilters.concat(c)),t.tags&&(c=e.formatSelectedFilters("tags",l,t.tags),e.selectedFilters=e.selectedFilters.concat(c)),t.assigned_to&&(c=e.formatSelectedFilters("assigned_to",n,t.assigned_to),e.selectedFilters=e.selectedFilters.concat(c)),t.owner&&(c=e.formatSelectedFilters("owner",s,t.owner),e.selectedFilters=e.selectedFilters.concat(c)),t.role&&(c=e.formatSelectedFilters("role",a,t.role),e.selectedFilters=e.selectedFilters.concat(c)),e.filterQ=t.q,e.filters=[{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:u},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:l,hideEmpty:!0,totalTaggedElements:p.length},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_TO"),dataType:"assigned_to",content:n},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:a},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:s}],e.customFilters=[],_.forOwn(i,function(t,r){return e.customFilters.push({id:r,name:r,filter:t})})}}(this))},e.prototype._setMeta=function(){var t,e,r;return e=this.translate.instant("BACKLOG.SPRINTS.DATE"),r=this.translate.instant("TASKBOARD.PAGE_TITLE",{projectName:this.scope.project.name,sprintName:this.scope.sprint.name}),t=this.translate.instant("TASKBOARD.PAGE_DESCRIPTION",{projectName:this.scope.project.name,sprintName:this.scope.sprint.name,startDate:moment(this.scope.sprint.estimated_start).format(e),endDate:moment(this.scope.sprint.estimated_finish).format(e),completedPercentage:this.scope.stats.completedPercentage||"0",completedPoints:this.scope.stats.completedPointsSum||"--",totalPoints:this.scope.stats.totalPointsSum||"--",openTasks:this.scope.stats.openTasks||"--",totalTasks:this.scope.stats.total_tasks||"--"}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("taskform:bulk:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.add(r)}),t.analytics.trackEvent("task","create","bulk create task on taskboard",1)}}(this)),this.scope.$on("taskform:new:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.add(r)}),t.analytics.trackEvent("task","create","create task on taskboard",1)}}(this)),this.scope.$on("taskform:edit:success",function(t){return function(e,r){return t.refreshTagsColors().then(function(){return t.taskboardTasksService.replaceModel(r)})}}(this)),this.scope.$on("taskboard:task:deleted",function(t){return function(e,r){return t.loadTasks()}}(this)),this.scope.$on("taskboard:task:move",this.taskMove),this.scope.$on("assigned-to:added",this.onAssignedToChanged)},e.prototype.onAssignedToChanged=function(t,e,r){return r.assigned_to=e,this.taskboardTasksService.replaceModel(r),this.repo.save(r).then(function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_to")||t.isFilterDataTypeSelected("role"))return t.loadTasks()}}(this))},e.prototype.initializeSubscription=function(){var t,e;return t="changes.project."+this.scope.projectId+".tasks",this.events.subscribe(this.scope,t,o(500,function(t){return function(e){return t.loadTaskboard()}}(this))),e="changes.project."+this.scope.projectId+".userstories",this.events.subscribe(this.scope,e,function(t){return function(e){return t.refreshTagsColors(),t.loadSprintStats(),t.loadSprint()}}(this))},e.prototype.loadProject=function(){return this.rs.projects.get(this.scope.projectId).then(function(t){return function(e){return e.is_backlog_activated||t.errorHandlingService.permissionDenied(),t.scope.project=e,t.scope.pointsList=_.sortBy(e.points,"order"),t.scope.pointsById=s(e.points,function(t){return t.id}),t.scope.roleById=s(e.roles,function(t){return t.id}),t.scope.taskStatusList=_.sortBy(e.task_statuses,"order"),t.scope.usStatusList=_.sortBy(e.us_statuses,"order"),t.scope.usStatusById=s(e.us_statuses,function(t){return t.id}),t.scope.$emit("project:loaded",e),t.fillUsersAndRoles(e.members,e.roles),e}}(this))},e.prototype.loadSprintStats=function(){return this.rs.sprints.stats(this.scope.projectId,this.scope.sprintId).then(function(t){return function(e){var r,n,i,o;return o=_.reduce(_.values(e.total_points),function(t,e){return t+e},0),r=_.reduce(_.values(e.completed_points),function(t,e){return t+e},0),n=o-r,i=e.total_tasks-e.completed_tasks,t.scope.stats=e,t.scope.stats.totalPointsSum=o,t.scope.stats.completedPointsSum=r,t.scope.stats.remainingPointsSum=n,t.scope.stats.remainingTasks=i,e.totalPointsSum?t.scope.stats.completedPercentage=Math.round(100*e.completedPointsSum/e.totalPointsSum):t.scope.stats.completedPercentage=0,t.scope.stats.openTasks=e.total_tasks-e.completed_tasks,e}}(this))},e.prototype.refreshTagsColors=function(){return this.rs.projects.tagsColors(this.scope.projectId).then(function(t){return function(e){return t.scope.project.tags_colors=e._attrs}}(this))},e.prototype.loadSprint=function(){return this.rs.sprints.get(this.scope.projectId,this.scope.sprintId).then(function(t){return function(e){return t.scope.sprint=e,t.scope.userstories=_.sortBy(e.user_stories,"sprint_order"),t.taskboardTasksService.setUserstories(t.scope.userstories),e}}(this))},e.prototype.loadTasks=function(){var t;return t={},this.zoomLevel>1&&(t.include_attachments=1),t=_.merge(t,this.location.search()),this.rs.tasks.list(this.scope.projectId,this.scope.sprintId,null,t).then(function(t){return function(e){return t.taskboardTasksService.init(t.scope.project,t.scope.usersById),t.taskboardTasksService.set(e)}}(this))},e.prototype.loadTaskboard=function(){return this.q.all([this.refreshTagsColors(),this.loadSprintStats(),this.loadSprint().then(function(t){return function(){return t.loadTasks()}}(this))])},e.prototype.loadInitialData=function(){var t,e;return t={pslug:this.params.pslug,sslug:this.params.sslug},e=this.repo.resolve(t).then(function(t){return function(e){return t.scope.projectId=e.project,t.scope.sprintId=e.milestone,t.initializeSubscription(),e}}(this)),e.then(function(t){return function(){return t.loadProject()}}(this)).then(function(t){return function(){return t.generateFilters(),t.loadTaskboard().then(function(){return t.setRolePoints()})}}(this))},e.prototype.showPlaceHolder=function(t,e){return!(this.taskboardTasksService.tasksRaw.length||this.scope.taskStatusList[0].id!==t||this.scope.userstories.length&&this.scope.userstories[0].id!==e)},e.prototype.editTask=function(t){var e;return e=this.taskboardTasksService.getTask(t),e=e.set("loading-edit",!0),this.taskboardTasksService.replace(e),this.rs.tasks.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){return t.rs2.attachments.list("task",e.get("id"),e.getIn(["model","project"])).then(function(n){return t.rootscope.$broadcast("taskform:edit",r,n.toJS()),e=e.set("loading",!1),t.taskboardTasksService.replace(e)})}}(this))},e.prototype.deleteTask=function(t){var e;return e=this.taskboardTasksService.getTask(t),e=e.set("loading-delete",!0),this.rs.tasks.getByRef(e.getIn(["model","project"]),e.getIn(["model","ref"])).then(function(t){return function(r){var n,i;return e=e.set("loading-delete",!1),i=t.translate.instant("TASK.TITLE_DELETE_ACTION"),n=r.subject,t.confirm.askOnDelete(i,n).then(function(e){var n;return n=t.repo.remove(r),n.then(function(){return t.scope.$broadcast("taskboard:task:deleted"),e.finish()}),n.then(null,function(){return e.finish(!1),this.confirm.notify("error")})})}}(this))},e.prototype.taskMove=function(t,e,r,n,i,o){var s,a,c,u;return e=this.taskboardTasksService.getTaskModel(e.get("id")),s=this.taskboardTasksService.move(e.id,n,i,o),c={status__is_archived:!1,include_attachments:!0},a={headers:{"set-orders":JSON.stringify(s.set_orders)}},u=this.repo.save(e,!0,c,a,!0).then(function(t){return function(e){var r;if(r=e[1],r&&r["taiga-info-order-updated"]&&(o=JSON.parse(r["taiga-info-order-updated"]),t.taskboardTasksService.assignOrders(o)),t.loadSprintStats(),t.generateFilters(),t.isFilterDataTypeSelected("status"))return t.loadTasks()}}(this))},e.prototype.addNewTask=function(t,e){switch(t){case"standard":return this.rootscope.$broadcast("taskform:new",this.scope.sprintId,null!=e?e.id:void 0);case"bulk":return this.rootscope.$broadcast("taskform:bulk",this.scope.sprintId,null!=e?e.id:void 0)}},e.prototype.toggleFold=function(t){return this.taskboardTasksService.toggleFold(t)},e.prototype.changeTaskAssignedTo=function(t){var e;return e=this.taskboardTasksService.getTaskModel(t),this.rootscope.$broadcast("assigned-to:add",e)},e.prototype.setRolePoints=function(){var t,e,r,n;return t=_.filter(this.scope.project.roles,"computable"),r=function(e){return function(e){return e=parseInt(e,10),_.find(t,function(t){return t.id===e})}}(this),e=function(t){return function(e){var r;return r=parseInt(e,10),_.find(t.scope.project.points,function(t){return t.id===e})}}(this),n=_.reduce(this.scope.userstories,function(t){return function(t,n,i){return _.forOwn(n.points,function(n,i){var o,s;return s=r(i),o=e(n),t[s.id]||(t[s.id]=s,t[s.id].points=0),t[s.id].points+=o.value}),t}}(this),{}),this.scope.pointsByRole=Object.keys(n).map(function(t){return n[t]})},e}(a(l.Controller,l.PageMixin,l.FiltersMixin)),c.controller("TaskboardController",t),e=function(t){var e;return e=function(e,r,n){var i,o;return i=r.controller(),r.on("click",".toggle-analytics-visibility",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),r.toggleClass("active"),t.$broadcast("taskboard:graph:toggle-visibility")}),o=r.find(".taskboard-table-body"),o.on("scroll",function(t){var e,n;return n=angular.element(t.currentTarget),e=r.find(".taskboard-table-header .taskboard-table-inner"),e.css("left",-1*n.scrollLeft())}),e.$on("$destroy",function(){return r.off()})},{link:e}},c.directive("tgTaskboard",["$rootScope",e]),r=function(t){var e,r,n;return e=40,n=300,r=function(r,i,o){var s,a,c,u,l;return r.$on("sprint:zoom0",function(t){return function(){return c()}}(this)),r.$on("sprint:task:moved",function(t){return function(){return c()}}(this)),r.$watch("usTasks",function(){if(r.project)return r.statusesFolded=t.tasks.getStatusColumnModes(r.project.id),r.usFolded=t.tasks.getUsRowModes(r.project.id,r.sprintId),c()}),r.foldStatus=function(e){return r.statusesFolded[e.id]=!r.statusesFolded[e.id],t.tasks.storeStatusColumnModes(r.projectId,r.statusesFolded),c()},r.foldUs=function(e){return e?r.usFolded[e.id]=!r.usFolded[e.id]:r.usFolded[null]=!r.usFolded[null],t.tasks.storeUsRowModes(r.projectId,r.sprintId,r.usFolded),c()},s=function(t){return function(t,n){var i,o,s;return i=t?r.usTasks.getIn([t.toString(),n.toString()]).size:r.usTasks.getIn(["null",n.toString()]).size,r.statusesFolded[n]?(i&&r.usFolded[t]?(o=Math.round(Math.sqrt(i)),s=e*o):s=e,s):0}}(this),l=function(t){return function(t,e){var o;return o=i.find(".squish-status-"+t),e?o.css("max-width",e):"0"===r.ctrl.zoomLevel?o.css("max-width",148):o.css("max-width",n)}}(this),u=function(t){return function(){var t,e,r;return t=[],e=i.find(".task-colum-name"),t=_.map(e,function(t){return $(t).outerWidth(!0)}),r=_.reduce(t,function(t,e){return t+e}),i.find(".taskboard-table-inner").css("width",r)}}(this),a=function(t){return function(t){var e;return e=s(null,t),_.forEach(r.userstories,function(r){var n;if(n=s(r.id,t),n>e)return e=n}),l(t,e)}}(this),c=function(t){return function(){_.forEach(r.taskStatusList,function(t){return a(t.id)}),u()}}(this)},{link:r}},c.directive("tgTaskboardSquishColumn",["$tgResources",r])}.call(this),function(){var t,e,r,n,i,o,s,a;s=this.taiga,n=this.taiga.mixOf,a=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,i=angular.module("taigaBacklog"),t=function(t,e,r,n){var i;return i=function(t,e,i){var o;return o=t.$watch("usTasks",function(i){var s,a,c,u,l,p,h,f,d;if(i&&i.size&&(o(),t.project.my_permissions.indexOf("modify_task")>-1))return h=null,p=null,l=null,d=e,u=function(){var t;return t=n.instant("BACKLOG.SORTABLE_FILTER_ERROR"),$tgConfirm.notify("error",t)},a=function(t){return t.scope().$destroy(),t.off(),t.remove()},s=_.map(e.find(".task-column"),function(t){return t}),c=dragula(s,{copySortSource:!1,copy:!1,accepts:function(t,e){return!$(e).hasClass("taskboard-userstory-box")},moves:function(t){return $(t).is("tg-card")}}),c.on("drag",function(t){if(h=$(t).parent().scope(),e.hasClass("active-filters"))return u(),setTimeout(function(){return c.cancel(!0)},0),!1}),c.on("dragend",function(e){var n,i,o,s,c,u,f;return f=$(e).parent(),l=$(e),i=l.scope().task,n=l.index(),p=f.scope(),u=h.us?h.us.id:null,c=h.st.id,s=p.us?p.us.id:null,o=p.st.id,o===c&&s===u||a(l),t.$apply(function(){return r.$broadcast("taskboard:task:move",i,i.getIn(["model","status"]),s,o,n)})}),f=autoScroll([$(".taskboard-table-body")[0]],{margin:100,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&c.dragging}}),t.$on("$destroy",function(){return e.off(),c.destroy()})})},{link:i}},i.directive("tgTaskboardSortable",["$tgRepo","$tgResources","$rootScope","$translate",t])}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga.groupBy,t=function(t){function e(){this.reset()}return r(e,t),e.$inject=[],e.prototype.reset=function(){return this.tasksRaw=[],this.foldStatusChanged={},this.usTasks=Immutable.Map()},e.prototype.init=function(t,e){return this.project=t,this.usersById=e},e.prototype.resetFolds=function(){return this.foldStatusChanged={},this.refresh()},e.prototype.toggleFold=function(t){return this.foldStatusChanged[t]=!this.foldStatusChanged[t],this.refresh()},e.prototype.add=function(t){return this.tasksRaw=this.tasksRaw.concat(t),this.refresh()},e.prototype.set=function(t){return this.tasksRaw=t,this.refreshRawOrder(),this.refresh()},e.prototype.setUserstories=function(t){return this.userstories=t},e.prototype.refreshRawOrder=function(){var t,e,r,n,i;for(this.order={},r=this.tasksRaw,n=[],t=0,e=r.length;t1)for(s=0,l=f.length;s1)for(o=0,p=m.length;o1&&(b=_.map(m,function(t){return function(e){return{us_id:e.id,order:t.order[e.id]}}}(this)))}}else S=0;for(l=u=0,f=t.length;u1&&r<=1?(this.zoomLoading=!0,this.loadUserstories().then(function(t){return function(){return t.zoomLoading=!1,t.kanbanUserstoriesService.resetFolds()}}(this))):void 0)},e.prototype.filtersReloadContent=function(){return this.loadUserstories().then(function(t){return function(){var e,r,n,i,o;if(n=_.difference(t.kanbanUserstoriesService.archivedStatus,t.kanbanUserstoriesService.statusHide),n.length){for(i=[],e=0,r=n.length;e0&&(r.assigned_to=n[0]),0===n.length&&(r.assigned_to=null),this.kanbanUserstoriesService.replaceModel(r),this.repo.save(r).then(function(t){return function(){if(t.generateFilters(),t.isFilterDataTypeSelected("assigned_users")||t.isFilterDataTypeSelected("role"))return t.filtersReloadContent()}}(this))},e.prototype.refreshTagsColors=function(){return this.rs.projects.tagsColors(this.scope.projectId).then(function(t){return function(e){return t.scope.project.tags_colors=e._attrs}}(this))},e.prototype.loadUserstories=function(){var t,e;return t={status__is_archived:!1},this.zoomLevel>1&&(t.include_attachments=1,t.include_tasks=1),t=_.merge(t,this.location.search()),e=this.rs.userstories.listAll(this.scope.projectId,t).then(function(t){return function(e){return t.kanbanUserstoriesService.init(t.scope.project,t.scope.usersById),t.kanbanUserstoriesService.set(e),h(t.scope,function(){return t.scope.$broadcast("userstories:loaded",e)}),e}}(this)),e.then(function(t){return function(){return t.scope.$broadcast("redraw:wip")}}(this)),e},e.prototype.loadUserStoriesForStatus=function(t,e){var r,n;if(r=this.location.search().status,!r||(r=r.split(",").map(function(t){return parseInt(t,10)}),r.indexOf(e)!==-1))return n={status:e,include_attachments:!0,include_tasks:!0},n=_.merge(n,this.location.search()),this.rs.userstories.listAll(this.scope.projectId,n).then(function(t){return function(r){return t.scope.$broadcast("kanban:shown-userstories-for-status",e,r),r}}(this))},e.prototype.hideUserStoriesForStatus=function(t,e){return this.scope.$broadcast("kanban:hidden-userstories-for-status",e)},e.prototype.loadKanban=function(){return this.q.all([this.refreshTagsColors(),this.loadUserstories()])},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_kanban_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.projectId=t.id,this.scope.points=_.sortBy(t.points,"order"),this.scope.pointsById=u(t.points,function(t){return t.id}),this.scope.usStatusById=u(t.us_statuses,function(t){return t.id}),this.scope.usStatusList=_.sortBy(t.us_statuses,"order"),this.scope.$emit("project:loaded",t),t},e.prototype.initializeSubscription=function(){var t,e;return e="changes.project."+this.scope.projectId+".userstories",t=f.randomInt(700,1e3),this.events.subscribe(this.scope,e,c(t,function(t){return function(e){return t.loadUserstories()}}(this)))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.loadKanban(),this.generateFilters()},e.prototype.prepareBulkUpdateData=function(t,e){return null==e&&(e="kanban_order"), -_.map(t,function(t){return{us_id:t.id,order:t[e]}})},e.prototype.moveUs=function(t,e,r,n){var i,o;return this.cleanSelectedUss(),e=_.map(e,function(t){return function(e){return t.kanbanUserstoriesService.getUsModel(e.id)}}(this)),i=this.kanbanUserstoriesService.move(e,r,n),o=this.rs.userstories.bulkUpdateKanbanOrder(this.scope.projectId,r,i.bulkOrders),o.then(function(t){return function(){var r,n,s;return r={headers:{"set-orders":JSON.stringify(i.setOrders)}},n={include_attachments:!0,include_tasks:!0},s=_.map(e,function(e){return t.repo.save(e,!0,n,r,!0)}),o=t.q.all(s),o.then(function(e){var r,n;return r=e[1],r&&r["taiga-info-order-updated"]&&(n=JSON.parse(r["taiga-info-order-updated"]),t.kanbanUserstoriesService.assignOrders(n)),t.scope.$broadcast("redraw:wip"),t.generateFilters(),t.isFilterDataTypeSelected("status")&&t.filtersReloadContent(),o})}}(this))},e}(l(f.Controller,f.PageMixin,f.FiltersMixin,f.UsFiltersMixin)),p.controller("KanbanController",r),n=function(t,e){var r;return r=function(t,e,r){var n;return n=e.find(".kanban-table-body"),n.on("scroll",function(t){var r,n;return n=angular.element(t.currentTarget),r=e.find(".kanban-table-header .kanban-table-inner"),r.css("left",-1*n.scrollLeft())}),t.$on("$destroy",function(){return e.off()})},{link:r}},p.directive("tgKanban",["$tgRepo","$rootScope",n]),t=function(t,e,r){var n,i,o;return o=e.instant("KANBAN.ACTION_SHOW_ARCHIVED"),n=e.instant("KANBAN.ACTION_HIDE_ARCHIVED"),i=function(e,i,s){var a,c;return c=e.$eval(s.tgKanbanArchivedStatusHeader),a=!0,r.addArchivedStatus(c.id),r.hideStatus(c.id),e["class"]="icon-watch",e.title=o,i.on("click",function(i){return a=!a,e.$apply(function(){return a?(e["class"]="icon-watch",e.title=o,t.$broadcast("kanban:hide-userstories-for-status",c.id),r.hideStatus(c.id)):(e["class"]="icon-unwatch",e.title=n,t.$broadcast("kanban:show-userstories-for-status",c.id),r.showStatus(c.id))})}),e.$on("$destroy",function(){return i.off()})},{link:i}},p.directive("tgKanbanArchivedStatusHeader",["$rootScope","$translate","tgKanbanUserstories",t]),e=function(t,e){var r,n;return n=[],r=function(r,n,i){var o,s,a;return o=t.instant("KANBAN.HIDDEN_USER_STORIES"),s=r.$eval(i.tgKanbanArchivedStatusIntro),n.text(o),a=function(t){return t?n.text(""):n.text(o)},r.$on("kanban:us:move",function(t,r,n,i,o){var s;return s=!!e.getStatus(i).length,a(s)}),r.$on("kanban:shown-userstories-for-status",function(t,r,n){var i;if(r===s.id)return e.deleteStatus(r),e.add(n),i=!!e.getStatus(r).length,a(i)}),r.$on("kanban:hidden-userstories-for-status",function(t,e){if(e===s.id)return a(!1)}),r.$on("$destroy",function(){return n.off()})},{link:r}},p.directive("tgKanbanArchivedStatusIntro",["$translate","tgKanbanUserstories",e]),i=function(t,e){var r;return r=function(r,n,i){var o,s;return r.foldStatus=function(e){r.folds[e.id]=!r.folds[e.id],t.kanban.storeStatusColumnModes(r.projectId,r.folds),s()},s=function(){var t,e;return t=_.map(r.usStatusList,function(t){return r.folds[t.id]?40:310}),e=_.reduce(t,function(t,e){return t+e}),n.find(".kanban-table-inner").css("width",e)},o=r.$watch("usByStatus",function(n){if(n.size)return r.folds=t.kanban.getStatusColumnModes(e.project.get("id")),s(),o()})},{link:r}},p.directive("tgKanbanSquishColumn",["$tgResources","tgProjectService",i]),o=function(t){var e;return e=function(e,r,n){var i,o;return o=e.$eval(n.tgKanbanWipLimit),i=function(e){return function(){return r.find(".kanban-wip-limit").remove(),t(function(){var t;if(t=r.find("tg-card")[o.wip_limit])return angular.element(t).before("
")})}}(this),o&&!o.is_archived&&(e.$on("redraw:wip",i),e.$on("kanban:us:move",i),e.$on("usform:new:success",i),e.$on("usform:bulk:success",i)),e.$on("$destroy",function(){return r.off()})},{link:e}},p.directive("tgKanbanWipLimit",["$timeout",o])}.call(this),function(){var t,e,r,n,i,o,s,a,c;s=this.taiga,n=this.taiga.mixOf,c=this.taiga.toggleText,o=this.taiga.scopeDefer,e=this.taiga.bindOnce,r=this.taiga.groupBy,a=this.taiga.timeout,i=angular.module("taigaKanban"),t=function(t,e,r){var n;return n=function(t,e,n){var i;return i=t.$watch("usByStatus",function(n){var o,s,a,c,u,l,p;if(n&&n.size&&(i(),t.project.my_permissions.indexOf("modify_us")>-1))return u=null,c=null,p=e,s=function(t){return t.scope().$destroy(),t.off(),t.remove()},o=_.map(e.find(".task-column"),function(t){return t}),a=dragula(o,{copySortSource:!1,copy:!1,moves:function(t){return $(t).is("tg-card")}}),a.on("drag",function(t){return window.dragMultiple.start(t,o)}),a.on("cloned",function(t,e){return $(t).addClass("multiple-drag-mirror")}),a.on("dragend",function(e){var n,i,o,a,l,p,h,f;return h=$(e).parent(),u=h.scope(),p=u.s.id,n=window.dragMultiple.stop(),n.length||(n=[e]),o=n[0],a=$(o).index(),l=u.s.id,f=_.map(n,function(t){return $(t).scope().us}),i=_.map(f,function(t){return{id:t.get("id"),oldStatusId:t.getIn(["model","status"])}}),t.$apply(function(){return _.each(f,function(t){return function(t,e){var r,i;if(r=t.getIn(["model","status"]),i=l===r,!i)return c=$(n[e]),s(c)}}(this)),r.$broadcast("kanban:us:move",i,l,a)})}),l=autoScroll(o,{margin:100,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&a.dragging}}),t.$on("$destroy",function(){return e.off(),a.destroy()})})},{link:n}},i.directive("tgKanbanSortable",["$tgRepo","$tgResources","$rootScope",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){function r(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},h={}.hasOwnProperty;u=this.taiga,a=this.taiga.mixOf,l=this.taiga.toString,s=this.taiga.joinStr,o=this.taiga.groupBy,i=this.taiga.bindOnce,n=this.taiga.bindMethods,c=angular.module("taigaEpics"),t=function(t){function e(t,e,r,i,o,s,a,c,u,l,p,h,f,d,g,m,v){var y;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=i,this.rs=o,this.rs2=s,this.params=a,this.q=c,this.location=u,this.log=l,this.appMetaService=p,this.analytics=h,this.navUrls=f,this.translate=d,this.modelTransform=g,this.errorHandlingService=m,this.projectService=v,n(this),this.scope.epicRef=this.params.epicref,this.scope.sectionName=this.translate.instant("EPIC.SECTION_NAME"),this.initializeEventHandlers(),y=this.loadInitialData(),y.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),y.then(null,this.onInitialDataError.bind(this))}return p(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgAnalytics","$tgNavUrls","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r;return r=this.translate.instant("EPIC.PAGE_TITLE",{epicRef:"#"+this.scope.epic.ref,epicSubject:this.scope.epic.subject,projectName:this.scope.project.name}),t=this.translate.instant("EPIC.PAGE_DESCRIPTION",{epicStatus:(null!=(e=this.scope.statusById[this.scope.epic.status])?e.name:void 0)||"--",epicDescription:angular.element(this.scope.epic.description_html||"").text()}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on epic",1)}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadEpic()}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-epics",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.immutableProject=this.projectService.project,this.scope.$emit("project:loaded",t),this.scope.statusList=t.epic_statuses,this.scope.statusById=o(t.epic_statuses,function(t){return t.id}),t},e.prototype.loadEpic=function(){return this.rs.epics.getByRef(this.scope.projectId,this.params.epicref).then(function(t){return function(e){var r,n,i;if(t.scope.epic=e,t.scope.immutableEpic=Immutable.fromJS(e._attrs),t.scope.epicId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"epic"),null!=(null!=(n=t.scope.epic.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.epic.neighbors.previous.ref},t.scope.previousUrl=t.navUrls.resolve("project-epics-detail",r)),null!=(null!=(i=t.scope.epic.neighbors.next)?i.ref:void 0))return r={project:t.scope.project.slug,ref:t.scope.epic.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-epics-detail",r)}}(this))},e.prototype.loadUserstories=function(){return this.rs2.userstories.listInEpic(this.scope.epicId).then(function(t){return function(e){return t.scope.userstories=e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadEpic().then(function(t){return function(){return t.loadUserstories()}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.upvote(this.scope.epicId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.downvote(this.scope.epicId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.watch(this.scope.epicId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadEpic(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.epics.unwatch(this.scope.epicId).then(e,t)},e.prototype.onSelectColor=function(t){var e,r,n;return r=function(t){return function(){return t.rootscope.$broadcast("object:updated"),t.confirm.notify("success")}}(this),e=function(t){return function(){return t.confirm.notify("error")}}(this),n=this.modelTransform.save(function(e){return e.color=t,e}),n.then(r,e)},e}(a(u.Controller,u.PageMixin)),c.controller("EpicDetailController",t),r=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},c.directive("tgEpicStatusDisplay",["$tgTemplate","$compile",r]),e=function(t,e,r,n,i,o,s,a){var c,u;return u=a.get("common/components/status-button.html",!0),c=function(e,s,a,c){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_epic")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=o(u({status:n,statuses:e.statusList,editable:l()}))(e),s.html(r)}}(this),h=function(e){var o,a,c,u;return o=n().target(s).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),o.finish()},a=function(){return r.notify("error"),o.finish()},u.then(c,a)},s.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return s.find(".pop-status").popover().open()}),s.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),$.fn.popover().closeAll(),h(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=c.$modelValue)?t.status:void 0},function(){var t;if(t=c.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:c,restrict:"EA",require:"ngModel"}},c.directive("tgEpicStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$translate","$tgTemplate",e])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g=function(t,e){function r(){this.constructor=t}for(var n in e)m.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},m={}.hasOwnProperty;f=this.taiga,p=this.taiga.mixOf,d=this.taiga.toString,l=this.taiga.joinStr,u=this.taiga.groupBy,c=this.taiga.bindOnce,a=this.taiga.bindMethods,h=angular.module("taigaIssues"),t=function(t){function e(t,e,r,n,i,o,s,c,u,l,p,h,f,d,g,m){var v;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=c,this.log=u,this.appMetaService=l,this.analytics=p,this.navUrls=h,this.translate=f,this.modelTransform=d,this.errorHandlingService=g,this.projectService=m,a(this),this.scope.issueRef=this.params.issueref,this.scope.sectionName=this.translate.instant("ISSUES.SECTION_NAME"),this.initializeEventHandlers(),v=this.loadInitialData(),v.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),v.then(null,this.onInitialDataError.bind(this))}return g(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgAnalytics","$tgNavUrls","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r,n,i,o;return o=this.translate.instant("ISSUE.PAGE_TITLE",{issueRef:"#"+this.scope.issue.ref,issueSubject:this.scope.issue.subject,projectName:this.scope.project.name}),t=this.translate.instant("ISSUE.PAGE_DESCRIPTION",{issueStatus:(null!=(e=this.scope.statusById[this.scope.issue.status])?e.name:void 0)||"--",issueType:(null!=(r=this.scope.typeById[this.scope.issue.type])?r.name:void 0)||"--",issueSeverity:(null!=(n=this.scope.severityById[this.scope.issue.severity])?n.name:void 0)||"--",issuePriority:(null!=(i=this.scope.priorityById[this.scope.issue.priority])?i.name:void 0)||"--",issueDescription:angular.element(this.scope.issue.description_html||"").text()}),this.appMetaService.setAll(o,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on issue",1)}}(this)),this.scope.$on("promote-issue-to-us:success",function(t){return function(){return t.analytics.trackEvent("issue","promoteToUserstory","promote issue to userstory",1),t.rootscope.$broadcast("object:updated"),t.loadIssue()}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadIssue()}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.project.is_issues_activated?this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-issues",t):this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.issue_statuses,this.scope.statusById=u(t.issue_statuses,function(t){return t.id}),this.scope.typeById=u(t.issue_types,function(t){return t.id}),this.scope.typeList=_.sortBy(t.issue_types,"order"),this.scope.severityList=t.severities,this.scope.severityById=u(t.severities,function(t){return t.id}),this.scope.priorityList=t.priorities,this.scope.priorityById=u(t.priorities,function(t){return t.id}),t},e.prototype.loadIssue=function(){return this.rs.issues.getByRef(this.scope.projectId,this.params.issueref).then(function(t){return function(e){var r,n,i;if(t.scope.issue=e,t.scope.issueId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"issue"),null!=(null!=(n=t.scope.issue.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.issue.neighbors.previous.ref},t.scope.previousUrl=t.navUrls.resolve("project-issues-detail",r)),null!=(null!=(i=t.scope.issue.neighbors.next)?i.ref:void 0))return r={project:t.scope.project.slug,ref:t.scope.issue.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-issues-detail",r)}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadIssue()},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.upvote(this.scope.issueId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.downvote(this.scope.issueId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.watch(this.scope.issueId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadIssue(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.issues.unwatch(this.scope.issueId).then(e,t)},e}(p(f.Controller,f.PageMixin)),h.controller("IssueDetailController",t),i=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},h.directive("tgIssueStatusDisplay",["$tgTemplate","$compile",i]),n=function(t,e,r,n,i,o,s){var a,c;return c=o.get("common/components/status-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=c({status:n,statuses:e.statusList,editable:l()}),r=s(r)(e),o.html(r)}}(this),h=function(e){var s,a,c,u;return $.fn.popover().closeAll(),s=n().target(o).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)},o.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-status").popover().open()}),o.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),h(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.status:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},h.directive("tgIssueStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",n]),o=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-type-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},p=function(t){return function(t){var r,n;return n=e.typeById[t.type],r=c({type:n,typees:e.typeList,editable:l()}),r=s(r)(e),o.html(r)}}(this),h=function(e){var s,a,c,u;return $.fn.popover().closeAll(),s=n().target(o.find(".level-name")).start(),u=i.save(function(t){return t.type=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)},o.on("click",".type-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-type").popover().open()}),o.on("click",".type",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),r=e.data("type-id"),h(r)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.type:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},h.directive("tgIssueTypeButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",o]),r=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-severity-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},p=function(t){return function(t){var r,n;return n=e.severityById[t.severity],r=c({severity:n,severityes:e.severityList,editable:l()}),r=s(r)(e),o.html(r)}}(this),h=function(e){var s,a,c,u;return $.fn.popover().closeAll(),s=n().target(o.find(".level-name")).start(),u=i.save(function(t){return t.severity=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)},o.on("click",".severity-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-severity").popover().open()}),o.on("click",".severity",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("severity-id"),h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.severity:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},h.directive("tgIssueSeverityButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",r]),e=function(t,e,r,n,i,o,s){var a,c;return c=o.get("issue/issue-priority-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_issue")!==-1},p=function(t){return function(t){var r,n;return n=e.priorityById[t.priority],r=c({priority:n,priorityes:e.priorityList,editable:l()}),r=s(r)(e),o.html(r)}}(this),h=function(e){var s,a,c,u;return $.fn.popover().closeAll(),s=n().target(o.find(".level-name")).start(),u=i.save(function(t){return t.priority=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)},o.on("click",".priority-data",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-priority").popover().open()}),o.on("click",".priority",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("priority-id"),h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.priority:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},h.directive("tgIssuePriorityButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",e]),s=function(t,e,r,n){var i;return i=function(i,o,s,a){var c;return c=function(n){return function(n,i){var o,s,a;return o={generated_from_issue:n.id,project:n.project,subject:n.subject,description:n.description,tags:n.tags,is_blocked:n.is_blocked,blocked_note:n.blocked_note,due_date:n.due_date},a=function(){return i.finish(),r.notify("success"),t.$broadcast("promote-issue-to-us:success")},s=function(){return i.finish(),r.notify("error")},e.create("userstories",o).then(a,s)}}(this),o.on("click","a",function(t){var e,i,o,s;return t.preventDefault(),e=a.$modelValue,s=n.instant("ISSUES.CONFIRM_PROMOTE.TITLE"),i=n.instant("ISSUES.CONFIRM_PROMOTE.MESSAGE"),o=e.subject,r.ask(s,o,i).then(function(t){return function(t){return c(e,t)}}(this))}),i.$on("$destroy",function(){return o.off()})},{restrict:"AE",require:"ngModel",templateUrl:"issue/promote-issue-to-us-button.html",link:i}},h.directive("tgPromoteIssueToUsButton",["$rootScope","$tgRepo","$tgConfirm","$translate",s])}.call(this),function(){var t,e,r,n,i,o,s,a=[].indexOf||function(t){for(var e=0,r=this.length;e0; -}),n=_.map(o.assigned_to,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.full_name||"Unassigned",t}),s=_.map(o.owners,function(t){return t.id=t.id.toString(),t.name=t.full_name,t}),c=_.map(o.roles,function(t){return t.id?t.id=t.id.toString():t.id="null",t.name=t.name||"Unassigned",t}),e.selectedFilters=[],t.status&&(u=e.formatSelectedFilters("status",p,t.status),e.selectedFilters=e.selectedFilters.concat(u)),t.tags&&(u=e.formatSelectedFilters("tags",h,t.tags),e.selectedFilters=e.selectedFilters.concat(u)),t.assigned_to&&(u=e.formatSelectedFilters("assigned_to",n,t.assigned_to),e.selectedFilters=e.selectedFilters.concat(u)),t.owner&&(u=e.formatSelectedFilters("owner",s,t.owner),e.selectedFilters=e.selectedFilters.concat(u)),t.type&&(u=e.formatSelectedFilters("type",d,t.type),e.selectedFilters=e.selectedFilters.concat(u)),t.severity&&(u=e.formatSelectedFilters("severity",l,t.severity),e.selectedFilters=e.selectedFilters.concat(u)),t.priority&&(u=e.formatSelectedFilters("priority",a,t.priority),e.selectedFilters=e.selectedFilters.concat(u)),t.role&&(u=e.formatSelectedFilters("role",c,t.role),e.selectedFilters=e.selectedFilters.concat(u)),e.filterQ=t.q,e.filters=[{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TYPE"),dataType:"type",content:d},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.SEVERITY"),dataType:"severity",content:l},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.PRIORITIES"),dataType:"priority",content:a},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.STATUS"),dataType:"status",content:p},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.TAGS"),dataType:"tags",content:h,hideEmpty:!0,totalTaggedElements:f.length},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ASSIGNED_TO"),dataType:"assigned_to",content:n},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.ROLE"),dataType:"role",content:c},{title:e.translate.instant("COMMON.FILTERS.CATEGORIES.CREATED_BY"),dataType:"owner",content:s}],e.customFilters=[],_.forOwn(i,function(t,r){return e.customFilters.push({id:r,name:r,filter:t})})}}(this))},e.prototype.initializeSubscription=function(){var t;return t="changes.project."+this.scope.projectId+".issues",this.events.subscribe(this.scope,t,s(500,function(t){return function(e){return t.loadIssues()}}(this)))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_issues_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.issueStatusById=a(t.issue_statuses,function(t){return t.id}),this.scope.issueStatusList=_.sortBy(t.issue_statuses,"order"),this.scope.severityById=a(t.severities,function(t){return t.id}),this.scope.severityList=_.sortBy(t.severities,"order"),this.scope.priorityById=a(t.priorities,function(t){return t.id}),this.scope.priorityList=_.sortBy(t.priorities,"order"),this.scope.issueTypes=_.sortBy(t.issue_types,"order"),this.scope.issueTypeById=a(t.issue_types,function(t){return t.id}),t},e.prototype.loadIssuesRequests=0,e.prototype.loadIssues=function(){var t,e;return t=this.location.search(),e=this.rs.issues.list(this.scope.projectId,t),this.loadIssuesRequests+=1,e.index=this.loadIssuesRequests,e.then(function(t){return function(r){return e.index===t.loadIssuesRequests&&(t.scope.issues=r.models,t.scope.page=r.current,t.scope.count=r.count,t.scope.paginatedBy=r.paginatedBy),r}}(this)),e},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.initializeSubscription(),this.generateFilters(),this.loadIssues()},e.prototype.addNewIssue=function(){return this.rootscope.$broadcast("issueform:new",this.scope.project)},e.prototype.addIssuesInBulk=function(){return this.rootscope.$broadcast("issueform:bulk",this.scope.projectId)},e.prototype.upVoteIssue=function(t){var e,r;return this.voting=t,r=function(t){return function(){return t.loadIssues(),t.voting=null}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.voting=null}}(this),this.rs.issues.upvote(t).then(r,e)},e.prototype.downVoteIssue=function(t){var e,r;return this.voting=t,r=function(t){return function(){return t.loadIssues(),t.voting=null}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.voting=null}}(this),this.rs.issues.downvote(t).then(r,e)},e.prototype.getOrderBy=function(){return _.isString(this.location.search().order_by)?this.location.search().order_by:"created_date"},e}(u(h.Controller,h.PageMixin,h.FiltersMixin)),l.controller("IssuesController",r),n=function(t,e,r,n){var i,o,s,a;return a=r.get("issue/issue-paginator.html",!0),s=function(t,e,r,i){var o,s,c,u,l,p,h;return s=2,l=4,c=2,u=2,o=e.find(".issues-paginator"),p=function(){var e;return e=t.count/t.paginatedBy,e=parseInt(e,10)1,d.showNext=!(t.page===f),e=t.page,i=h=1,m=f;1<=m?h<=m:h>=m;i=1<=m?++h:--h)i===e+s&&f>e+s+u?g.push({classes:"dots",type:"dots"}):i===e-l&&e>c+l?g.push({classes:"dots",type:"dots"}):i>e+s&&i<=f-u||ic||(i===e?g.push({classes:"active",num:i,type:"page-active"}):g.push({classes:"page",num:i,type:"page"}));return r=a(d),r=n(r)(t),o.html(r)},t.$watch("issues",function(t){if(t)return h()}),e.on("click",".issues-paginator a.next",function(e){return e.preventDefault(),t.$apply(function(){return i.selectFilter("page",t.page+1),i.loadIssues()})}),e.on("click",".issues-paginator a.previous",function(e){return e.preventDefault(),t.$apply(function(){return i.selectFilter("page",t.page-1),i.loadIssues()})}),e.on("click",".issues-paginator li.page > a",function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=n.data("pagenum"),t.$apply(function(){return i.selectFilter("page",r),i.loadIssues()})})},o=function(t,r,i,o){var s,a,c,u;return a=o.getOrderBy(),a&&(c=p(a,"-")?"icon-arrow-up":"icon-arrow-down",s=r.find(".row.title > div[data-fieldname='"+d(a,"-")+"']"),u=$("").attr("svg-icon",c),s.append(u),n(s.contents())(t)),r.on("click",".row.title > div",function(i){var s,l,h;return h=angular.element(i.currentTarget),a=o.getOrderBy(),l=h.data("fieldname"),"total_voters"===l&&"-total_voters"!==a&&(a="total_voters"),s=a===l?"-"+l:l,t.$apply(function(){return o.replaceFilter("order_by",s),o.storeFilters(o.params.pslug,e.search(),o.filtersHashSuffix),o.loadIssues().then(function(){return r.find(".row.title > div > tg-svg").remove(),c=p(s,"-")?"icon-arrow-up":"icon-arrow-down",u=$("").attr("svg-icon",c),h.append(u),n(h.contents())(t)})})})},i=function(t,e,r){var n;return n=e.controller(),o(t,e,r,n),s(t,e,r,n),t.$on("$destroy",function(){return e.off()})},{link:i}},l.directive("tgIssues",["$log","$tgLocation","$tgTemplate","$compile",n]),e=function(t,e,r){var n,i,o;return i=e.get("issue/issue-status-inline-edition-selection.html",!0),o=function(t,e,r){var n,i,o;if(i=t.find(".issue-status"),n=t.find(".issue-status .issue-status-bind"),o=r[e.status])return n.text(o.name),n.prop("title",o.name),i.css("color",o.color)},n=function(e,r,n){var s,a;return s=r.controller(),a=e.$eval(n.tgIssueStatusInlineEdition),r.on("click",".issue-status",function(t){return t.preventDefault(),t.stopPropagation(),r.find(".pop-status").popover().open()}),r.on("click",".status",function(n){var i;return n.preventDefault(),n.stopPropagation(),i=angular.element(n.currentTarget),a.status=i.data("status-id"),r.find(".pop-status").popover().close(),o(r,a,e.issueStatusById),e.$apply(function(){return t.save(a).then(function(){if(s.generateFilters(),s.isFilterDataTypeSelected("status"))return s.loadIssues()})})}),h.bindOnce(e,"project",function(t){if(r.append(i({statuses:t.issue_statuses})),o(r,a,e.issueStatusById),t.my_permissions.indexOf("modify_issue")===-1)return r.unbind("click"),r.find("a").addClass("not-clickable")}),e.$watch(n.tgIssueStatusInlineEdition,function(t){return function(t){return o(r,t,e.issueStatusById)}}(this)),e.$on("$destroy",function(){return r.off()})},{link:n}},l.directive("tgIssueStatusInlineEdition",["$tgRepo","$tgTemplate","$rootScope",e]),t=function(t,e,r,n){var i,o;return o=_.template('<%- name %>\n
<%- name %>
'),i=function(i,s,a){var c,u,l;return l=function(t){var e,a,c;return a={name:r.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED"),imgurl:"/"+window._version+"/images/unnamed.png"},c=i.usersById[t.assigned_to],e=n.getAvatar(c),a.imgurl=e.url,a.bg=null,c&&(a.name=c.full_name_display,a.bg=e.bg),s.find(".avatar").html(o(a)),s.find(".issue-assignedto").attr("title",a.name)},c=s.controller(),u=i.$eval(a.tgIssueAssignedToInlineEdition),l(u),s.on("click",".issue-assignedto",function(t){return e.$broadcast("assigned-to:add",u)}),h.bindOnce(i,"project",function(t){if(t.my_permissions.indexOf("modify_issue")===-1)return s.unbind("click"),s.find("a").addClass("not-clickable")}),i.$on("assigned-to:added",function(e,r,n){if(n.id===u.id)return n.assigned_to=r,t.save(u).then(function(){if(l(n),c.generateFilters(),c.isFilterDataTypeSelected("assigned_to")||c.isFilterDataTypeSelected("role"))return c.loadIssues()})}),i.$watch(a.tgIssueAssignedToInlineEdition,function(t){return l(t)}),i.$on("$destroy",function(){return s.off()})},{link:i}},l.directive("tgIssueAssignedToInlineEdition",["$tgRepo","$rootScope","$translate","tgAvatarService",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){function r(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},h={}.hasOwnProperty;l=this.taiga,c=this.taiga.mixOf,a=this.taiga.groupBy,s=this.taiga.bindOnce,o=this.taiga.bindMethods,u=angular.module("taigaUserStories"),i=function(t){function e(t,e,r,n,i,s,a,c,u,l,p,h,f,d,g,m,v,y){var _;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=s,this.q=a,this.location=c,this.log=u,this.appMetaService=l,this.navUrls=p,this.analytics=h,this.translate=f,this.modelTransform=d,this.errorHandlingService=g,this.configService=m,this.projectService=v,this.wysiwigService=y,o(this),this.scope.usRef=this.params.usref,this.scope.sectionName=this.translate.instant("US.SECTION_NAME"),this.scope.tribeEnabled=this.configService.config.tribeHost,this.initializeEventHandlers(),_=this.loadInitialData(),_.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),_.then(null,this.onInitialDataError.bind(this))}return p(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","$tgQueueModelTransformation","tgErrorHandlingService","$tgConfig","tgProjectService","tgWysiwygService"],e.prototype._setMeta=function(){var t,e,r,n,i,o;return o=this.scope.tasks.length,t=_.filter(this.scope.tasks,function(t){return function(e){return t.scope.taskStatusById[e.status].is_closed}}(this)).length,r=o>0?Math.round(100*t/o):0,i=this.translate.instant("US.PAGE_TITLE",{userStoryRef:"#"+this.scope.us.ref,userStorySubject:this.scope.us.subject,projectName:this.scope.project.name}),e=this.translate.instant("US.PAGE_DESCRIPTION",{userStoryStatus:(null!=(n=this.scope.statusById[this.scope.us.status])?n.name:void 0)||"--",userStoryPoints:this.scope.us.total_points,userStoryDescription:angular.element(this.wysiwigService.getHTML(this.scope.us.description)||"").text(),userStoryClosedTasks:t,userStoryTotalTasks:o,userStoryProgressPercentage:r}),this.appMetaService.setAll(i,e)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("related-tasks:update",function(t){return function(){var e;if(t.scope.tasks=_.clone(t.scope.tasks,!1),e=_.every(t.scope.tasks,function(t){return t.is_closed}),t.scope.us.is_closed!==e)return t.loadUs()}}(this)),this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on userstory",1)}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadUs()}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;return t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t),this.scope.project.is_backlog_activated?this.scope.us.milestone?(t.sprint=this.scope.sprint.slug,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-taskboard",t)):this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-backlog",t):this.scope.project.is_kanban_activated?this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-kanban",t):void 0},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.us_statuses,this.scope.statusById=a(t.us_statuses,function(t){return t.id}),this.scope.taskStatusById=a(t.task_statuses,function(t){return t.id}),this.scope.pointsList=_.sortBy(t.points,"order"),this.scope.pointsById=a(this.scope.pointsList,function(t){return t.id}),t},e.prototype.loadUs=function(){var t,e,r,n;return t=_.pick(this.location.search(),"milestone","no-milestone","kanban-status"),r=t.milestone,r&&this.rs.userstories.storeQueryParams(this.scope.projectId,{milestone:r,order_by:"sprint_order"}),n=t["no-milestone"],n&&this.rs.userstories.storeQueryParams(this.scope.projectId,{milestone:"null",order_by:"backlog_order"}),e=t["kanban-status"],e&&this.rs.userstories.storeQueryParams(this.scope.projectId,{status:e,order_by:"kanban_order"}),this.rs.userstories.getByRef(this.scope.projectId,this.params.usref).then(function(t){return function(e){return t.scope.us=e,t.scope.usId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"us"),e}}(this))},e.prototype.loadSprint=function(){if(this.scope.us.milestone)return this.rs.sprints.get(this.scope.us.project,this.scope.us.milestone).then(function(t){return function(e){return t.scope.sprint=e,e}}(this))},e.prototype.loadTasks=function(){return this.rs.tasks.list(this.scope.projectId,null,this.scope.usId).then(function(t){return function(e){return t.scope.tasks=e,e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadUs().then(function(t){return function(){return t.q.all([t.loadSprint(),t.loadTasks()])}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.upvote(this.scope.usId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.downvote(this.scope.usId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.watch(this.scope.usId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadUs(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.userstories.unwatch(this.scope.usId).then(e,t)},e.prototype.onTribeInfo=function(){var t,e,r,n;return r=this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TITLE"),t=$("").attr({src:"/"+window._version+"/images/monster-fight.png",alt:this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TITLE")}),n=this.translate.instant("US.TRIBE.PUBLISH_MORE_INFO_TEXT"),e=$("
").append(t).append(n),this.confirm.success(r,e)},e}(c(l.Controller,l.PageMixin)),u.controller("UserStoryDetailController",i),r=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:i.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},u.directive("tgUsStatusDisplay",["$tgTemplate","$compile",r]),e=function(t,e,r,n,i,o,s){var a,c;return c=o.get("common/components/status-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=c({status:n,statuses:e.statusList,editable:l()}),o.html(r),s(o.contents())(e)}}(this),h=function(e){return function(e){var s,a,c,u;return o.find(".pop-status").popover().close(),s=n().target(o.find(".js-edit-status")).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),s.finish()},a=function(){return r.notify("error"),s.finish()},u.then(c,a)}}(this),o.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return o.find(".pop-status").popover().open()}),o.on("click",".status",function(t){var e,r;if(t.preventDefault(),t.stopPropagation(),l())return r=angular.element(t.currentTarget),e=r.data("status-id"),h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.status:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",e]),n=function(t,e,r,n,i,o,s){var a,c;return c=o.get("us/us-team-requirement-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){var r,n;return r={canEdit:l(),isRequired:t.team_requirement},n=c(r),n=s(n)(e),o.html(n)},h=function(e){var s,a;return s=n().target(o.find("label")).start(),a=i.save(function(t){return t.team_requirement=e,t}),a.then(function(e){return function(){return s.finish(),t.$broadcast("object:updated")}}(this)),a.then(null,function(){return s.finish(),r.notify("error")})},o.on("click",".team-requirement",function(t){var e;if(l())return e=!u.$modelValue.team_requirement,h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.team_requirement:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsTeamRequirementButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",n]),t=function(t,e,r,n,i,o,s){var a,c;return c=o.get("us/us-client-requirement-button.html",!0),a=function(e,o,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_us")!==-1},p=function(t){var r,n;return r={canEdit:l(),isRequired:t.client_requirement},n=s(c(r))(e),o.html(n)},h=function(e){var s,a;return s=n().target(o.find("label")).start(),a=i.save(function(t){return t.client_requirement=e,t}),a.then(function(e){return function(){return s.finish(),t.$broadcast("object:updated")}}(this)),a.then(null,function(){return r.notify("error")})},o.on("click",".client-requirement",function(t){var e;if(l())return e=!u.$modelValue.client_requirement,h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.client_requirement:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return o.off()})},{link:a,restrict:"EA",require:"ngModel"}},u.directive("tgUsClientRequirementButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$tgTemplate","$compile",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){function r(){this.constructor=t}for(var n in e)l.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},l={}.hasOwnProperty;c=this.taiga,s=this.taiga.mixOf,o=this.taiga.groupBy,i=this.taiga.bindMethods,a=angular.module("taigaTasks"),t=function(t){function e(t,e,r,n,o,s,a,c,u,l,p,h,f,d,g,m){var v;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=o,this.params=s,this.q=a,this.location=c,this.log=u,this.appMetaService=l,this.navUrls=p,this.analytics=h,this.translate=f,this.modelTransform=d,this.errorHandlingService=g,this.projectService=m,i(this),this.scope.taskRef=this.params.taskref,this.scope.sectionName=this.translate.instant("TASK.SECTION_NAME"),this.initializeEventHandlers(),v=this.loadInitialData(),v.then(function(t){return function(){return t._setMeta(),t.initializeOnDeleteGoToUrl()}}(this)),v.then(null,this.onInitialDataError.bind(this))}return u(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","$tgQueueModelTransformation","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r;return r=this.translate.instant("TASK.PAGE_TITLE",{taskRef:"#"+this.scope.task.ref,taskSubject:this.scope.task.subject,projectName:this.scope.project.name}),t=this.translate.instant("TASK.PAGE_DESCRIPTION",{taskStatus:(null!=(e=this.scope.statusById[this.scope.task.status])?e.name:void 0)||"--",taskDescription:angular.element(this.scope.task.description_html||"").text()}),this.appMetaService.setAll(r,t)},e.prototype.initializeEventHandlers=function(){return this.scope.$on("attachment:create",function(t){return function(){return t.analytics.trackEvent("attachment","create","create attachment on task",1)}}(this)),this.scope.$on("custom-attributes-values:edit",function(t){return function(){return t.rootscope.$broadcast("object:updated")}}(this)),this.scope.$on("comment:new",function(t){return function(){return t.loadTask()}}(this))},e.prototype.initializeOnDeleteGoToUrl=function(){var t;if(t={project:this.scope.project.slug},this.scope.onDeleteGoToUrl=this.navUrls.resolve("project",t),this.scope.project.is_backlog_activated){if(this.scope.task.milestone)return t.sprint=this.scope.sprint.slug,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-taskboard",t);if(this.scope.task.us)return t.ref=this.scope.us.ref,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-userstories-detail",t)}else if(this.scope.project.is_kanban_activated&&this.scope.us)return t.ref=this.scope.us.ref,this.scope.onDeleteGoToUrl=this.navUrls.resolve("project-userstories-detail",t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.statusList=t.task_statuses,this.scope.statusById=o(t.task_statuses,function(t){return t.id}),t},e.prototype.loadTask=function(){return this.rs.tasks.getByRef(this.scope.projectId,this.params.taskref).then(function(t){return function(e){var r,n,i;return t.scope.task=e,t.scope.taskId=e.id,t.scope.commentModel=e,t.modelTransform.setObject(t.scope,"task"),null!=(null!=(n=t.scope.task.neighbors.previous)?n.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.task.neighbors.previous.ref},t.scope.previousUrl=t.navUrls.resolve("project-tasks-detail",r)),null!=(null!=(i=t.scope.task.neighbors.next)?i.ref:void 0)&&(r={project:t.scope.project.slug,ref:t.scope.task.neighbors.next.ref},t.scope.nextUrl=t.navUrls.resolve("project-tasks-detail",r)),e}}(this))},e.prototype.loadSprint=function(){if(this.scope.task.milestone)return this.rs.sprints.get(this.scope.task.project,this.scope.task.milestone).then(function(t){return function(e){return t.scope.sprint=e,e}}(this))},e.prototype.loadUserStory=function(){if(this.scope.task.user_story)return this.rs.userstories.get(this.scope.task.project,this.scope.task.user_story).then(function(t){return function(e){return t.scope.us=e,e}}(this))},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.fillUsersAndRoles(t.members,t.roles),this.loadTask().then(function(t){return function(){return t.q.all([t.loadSprint(),t.loadUserStory()])}}(this))},e.prototype.onUpvote=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.upvote(this.scope.taskId).then(e,t)},e.prototype.onDownvote=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.downvote(this.scope.taskId).then(e,t)},e.prototype.onWatch=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.watch(this.scope.taskId).then(e,t)},e.prototype.onUnwatch=function(){var t,e;return e=function(t){return function(){return t.loadTask(),t.rootscope.$broadcast("object:updated")}}(this),t=function(t){return function(){return t.confirm.notify("error")}}(this),this.rs.tasks.unwatch(this.scope.taskId).then(e,t)},e}(s(c.Controller,c.PageMixin)),a.controller("TaskDetailController",t),n=function(t,e){var r,n;return n=t.get("common/components/status-display.html",!0),r=function(t,r,i){var o;return o=function(i){var o,s;return s=t.statusById[i.status],o=n({is_closed:s.is_closed,status:s}),o=e(o)(t),r.html(o)},t.$watch(i.ngModel,function(t){if(null!=t)return o(t)}),t.$on("$destroy",function(){return r.off()})},{link:r,restrict:"EA",require:"ngModel"}},a.directive("tgTaskStatusDisplay",["$tgTemplate","$compile",n]),r=function(t,e,r,n,i,o,s,a){var c,u;return u=a.get("common/components/status-button.html",!0),c=function(e,s,a,c){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_task")!==-1},p=function(t){return function(t){var r,n;return n=e.statusById[t.status],r=o(u({status:n,statuses:e.statusList,editable:l()}))(e),s.html(r)}}(this),h=function(e){var o,a,c,u;return o=n().target(s).start(),u=i.save(function(t){return t.status=e,t}),c=function(){return t.$broadcast("object:updated"),o.finish()},a=function(){return r.notify("error"),o.finish()},u.then(c,a)},s.on("click",".js-edit-status",function(t){if(t.preventDefault(),t.stopPropagation(),l())return s.find(".pop-status").popover().open()}),s.on("click",".status",function(t){var e;if(t.preventDefault(),t.stopPropagation(),l())return e=angular.element(t.currentTarget),$.fn.popover().closeAll(),h(e.data("status-id"))}),e.$watch(function(){var t;return null!=(t=c.$modelValue)?t.status:void 0},function(){var t;if(t=c.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:c,restrict:"EA",require:"ngModel"}},a.directive("tgTaskStatusButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$translate","$tgTemplate",r]),e=function(t,e,r,n,i,o,s){var a,c;return c=s.get("issue/iocaine-button.html",!0),a=function(e,s,a,u){var l,p,h;return l=function(){return e.project.my_permissions.indexOf("modify_task")!==-1},p=function(t){var r,n;return l()||t.is_iocaine?(r={isIocaine:t.is_iocaine,isEditable:l()},n=o(c(r))(e),s.html(n)):void s.html("")},h=function(e){var o,a;return o=n().target(s.find("label")).start(),a=i.save(function(t){return t.is_iocaine=e,t}),a.then(function(){return t.$broadcast("object:updated")}),a.then(null,function(){return r.notify("error")}),a["finally"](function(){return o.finish()})},s.on("click",".is-iocaine",function(t){var e;if(l())return e=!u.$modelValue.is_iocaine,h(e)}),e.$watch(function(){var t;return null!=(t=u.$modelValue)?t.is_iocaine:void 0},function(){var t;if(t=u.$modelValue)return p(t)}),e.$on("$destroy",function(){return s.off()})},{link:a,restrict:"EA",require:"ngModel"}},a.directive("tgTaskIsIocaineButton",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQueueModelTransformation","$compile","$tgTemplate",e])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l=function(t,e){function r(){this.constructor=t}for(var n in e)p.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},p={}.hasOwnProperty;u=this.taiga,a=this.taiga.mixOf,c=angular.module("taigaTeam"),e=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,h){var f;this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.params=i,this.q=o,this.location=s,this.navUrls=a,this.appMetaService=c,this.auth=u,this.translate=l,this.projectService=p,this.errorHandlingService=h,this.scope.sectionName="TEAM.SECTION_NAME",f=this.loadInitialData(),f.then(function(t){return function(){var e,r;return r=t.translate.instant("TEAM.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.translate.instant("TEAM.PAGE_DESCRIPTION",{projectName:t.scope.project.name,projectDescription:t.scope.project.description}),t.appMetaService.setAll(r,e)}}(this)),f.then(null,this.onInitialDataError.bind(this))}return l(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$routeParams","$q","$location","$tgNavUrls","tgAppMetaService","$tgAuth","$translate","tgProjectService","tgErrorHandlingService"],e.prototype.setRole=function(t){return t?this.scope.filtersRole=t:this.scope.filtersRole=null},e.prototype.loadMembers=function(){var t,e,r,n,i;for(i=this.auth.getUser(),this.scope.totals={},n=this.scope.activeUsers,t=0,e=n.length;t=0)})}},c.filter("membersFilter",s)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){return function(){return t.apply(e,arguments)}},l=function(t,e){function r(){this.constructor=t}for(var n in e)p.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},p={}.hasOwnProperty;c=this.taiga,s=this.taiga.mixOf,o=this.taiga.groupBy,n=this.taiga.bindOnce,i=this.taiga.debounce,a=angular.module("taigaWiki"),t=function(t){function e(t,e,r,n,i,o,s,a,c,l,p,h,f,d,g,m,v){var y;this.scope=t,this.rootscope=e,this.repo=r,this.model=n,this.confirm=i,this.rs=o,this.params=s,this.q=a,this.location=c,this.filter=l,this.log=p,this.appMetaService=h,this.navUrls=f,this.analytics=d,this.translate=g,this.errorHandlingService=m,this.projectService=v,this.moveLink=u(this.moveLink,this),this.loadWiki=u(this.loadWiki,this),this.scope.$on("wiki:links:move",this.moveLink),this.scope.$on("wikipage:add",this.loadWiki),this.scope.projectSlug=this.params.pslug,this.scope.wikiSlug=this.params.slug,this.scope.sectionName="Wiki",this.scope.linksVisible=!1,y=this.loadInitialData(),y.then(function(t){return function(){return t._setMeta()}}(this)),y.then(null,this.onInitialDataError.bind(this))}return l(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgModel","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$filter","$log","tgAppMetaService","$tgNavUrls","$tgAnalytics","$translate","tgErrorHandlingService","tgProjectService"],e.prototype._setMeta=function(){var t,e,r,n,i;return i=this.translate.instant("WIKI.PAGE_TITLE",{wikiPageName:this.scope.wikiSlug,projectName:this.scope.project.name}),t=this.translate.instant("WIKI.PAGE_DESCRIPTION",{wikiPageContent:angular.element((null!=(e=this.scope.wiki)?e.html:void 0)||"").text(),totalEditions:(null!=(r=this.scope.wiki)?r.editions:void 0)||0,lastModifiedDate:moment(null!=(n=this.scope.wiki)?n.modified_date:void 0).format(this.translate.instant("WIKI.DATETIME"))}),this.appMetaService.setAll(i,t)},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_wiki_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadWiki=function(){var t;return t=this.rs.wiki.getBySlug(this.scope.projectId,this.params.slug),t.then(function(t){return function(e){return t.scope.wiki=e,t.scope.wikiId=e.id,t.scope.wiki}}(this)),t.then(null,function(t){return function(e){var r;return t.scope.wikiId=null,t.scope.project.my_permissions.indexOf("add_wiki_page")===-1?null:(r={project:t.scope.projectId,slug:t.scope.wikiSlug,content:""},t.scope.wiki=t.model.make_model("wiki",r),t.scope.wiki)}}(this))},e.prototype.loadWikiLinks=function(){return this.rs.wiki.listLinks(this.scope.projectId).then(function(t){return function(e){var r,n,i,o,s;for(t.scope.wikiLinks=e,o=t.scope.wikiLinks,r=0,n=o.length;r\n \n \n\n
\n\n \n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\n \n"}},a.directive("tgWikiWysiwyg",["$tgQueueModelTransformation","$rootScope","$tgConfirm","tgAttachmentsFullService","$tgQqueue","$tgRepo","$tgAnalytics","tgWikiHistoryService",r])}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,n=this.taiga.mixOf,r=this.taiga.groupBy,e=this.taiga.bindOnce,i=angular.module("taigaWiki"),t=function(t,r,n,i,o,s,a,c,u){var l,p,h;return h=a.get("wiki/wiki-nav.html",!0),p=function(n,a,l){var p,f,d,g;return p=a.controller(),null==l.ngModel?r.error("WikiNavDirective: no ng-model attr is defined"):(f=n.project.my_permissions.indexOf("add_wiki_link")>-1,d=null,g=function(e){var r,l,m,v,y;return f=n.project.my_permissions.indexOf("add_wiki_link")>-1,r=n.project.my_permissions.indexOf("delete_wiki_link")>-1,l=h({wikiLinks:e,projectSlug:n.projectSlug,addWikiLinkPermission:f,deleteWikiLinkPermission:r}),l=c(l)(n),a.off(),f&&d&&d.destroy(),a.html(l),f&&(m=null,y=a.find(".sortable"),d=dragula([y[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:y[0],moves:function(t){return $(t).is("li")}}),d.on("dragend",function(t){var e;return m=$(t),t=m.scope().link,e=m.index(),n.$emit("wiki:links:move",t,e)}),v=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&d.dragging}})),a.on("click",".add-button",function(t){return t.preventDefault(),a.find(".new").removeClass("hidden"),a.find(".new input").focus(),a.find(".add-button").hide()}),a.on("click",".js-delete-link",function(e){var r,o,s,a;return e.preventDefault(),e.stopPropagation(),s=angular.element(e.currentTarget),r=s.parents(".wiki-link").data("id"),a=u.instant("WIKI.DELETE_LINK_TITLE"),o=n.wikiLinks[r].title,i.askOnDelete(a,o).then(function(e){return function(e){var o;return o=t.remove(n.wikiLinks[r]),o.then(function(){return o=p.loadWikiLinks(),o.then(function(){return e.finish(),g(n.wikiLinks)}),o.then(null,function(){return e.finish()})}),o.then(null,function(){return e.finish(!1),i.notify("error")})}}(this))}),a.on("keyup",".new input",function(e){var r,c,u,l;return e.preventDefault(),13===e.keyCode?(l=angular.element(e.currentTarget),c=l.val(),r=s().target(a.find(".new")).start(),u=t.create("wiki-links",{project:n.projectId,title:c}),u.then(function(){var t;return o.trackEvent("wikilink","create","create wiki link",1),t=p.loadWikiLinks(),t.then(function(){return r.finish(),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show(),g(n.wikiLinks)}),t.then(null,function(){return r.finish(),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show(),i.notify("error","Error loading wiki links")})}),u.then(null,function(t){var e;return r.finish(),a.find(".new input").val(c),a.find(".new input").focus().select(),null!=(null!=t&&null!=(e=t.__all__)?e[0]:void 0)?i.notify("error","The link already exists"):i.notify("error")})):27===e.keyCode?(l=angular.element(e.currentTarget),a.find(".new").addClass("hidden"),a.find(".new input").val(""),a.find(".add-button").show()):void 0})},e(n,l.ngModel,g))},l=function(t,e,r){return p(t,e,r),t.$on("$destroy",function(){return e.off()})},{link:l}},i.directive("tgWikiNav",["$tgRepo","$log","$tgLocation","$tgConfirm","$tgAnalytics","$tgLoading","$tgTemplate","$compile","$translate",t])}.call(this),function(){var t,e,r,n,i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;n=this.taiga,e=this.taiga.mixOf,r=angular.module("taigaWiki"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.model=n,this.confirm=i,this.rs=o,this.params=s,this.q=a,this.navUrls=c,this.errorHandlingService=u,this.projectService=l,this.scope.projectSlug=this.params.pslug,this.scope.wikiSlug=this.params.slug,this.scope.sectionName="Wiki",this.scope.linksVisible=!1,p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return i(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgModel","$tgConfirm","$tgResources","$routeParams","$q","$tgNavUrls","tgErrorHandlingService","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.is_wiki_activated||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadWikiPages=function(){var t;return t=this.rs.wiki.list(this.scope.projectId).then(function(t){return function(e){return t.scope.wikipages=e}}(this))},e.prototype.loadWikiLinks=function(){return this.rs.wiki.listLinks(this.scope.projectId).then(function(t){return function(e){var r,n,i,o,s;for(t.scope.wikiLinks=e,o=t.scope.wikiLinks,r=0,n=o.length;rt.total_memberships,this.scope.$emit("project:loaded",t),t},e.prototype.loadMembers=function(){var t;return t=this.getUrlFilters(),this.rs.memberships.list(this.scope.projectId,t).then(function(t){return function(e){return t.scope.memberships=_.filter(e.models,function(t){return null===t.user||t.is_user_active}),t.scope.page=e.current,t.scope.count=e.count,t.scope.paginatedBy=e.paginatedBy,e}}(this))},e.prototype.loadInitialData=function(){return this.loadProject(),this.q.all([this.loadMembers(),this.auth.refresh()])},e.prototype.getUrlFilters=function(){var t;return t=_.pick(this.location.search(),"page"),t.page||(t.page=1),t},e.prototype.addNewMembers=function(){return this.lightboxFactory.create("tg-lb-add-members",{"class":"lightbox lightbox-add-member",project:"project"},{project:this.scope.project})},e.prototype.showLimitUsersWarningMessage=function(){var t,e,r;return r=this.translate.instant("ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING"),e=this.translate.instant("ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING_MESSAGE",{members:this.scope.project.max_memberships}),t="/"+window._version+"/svg/icons/team-question.svg",this.confirm.success(r,e,{name:t,type:"img"})},e}(c(l.Controller,l.PageMixin,l.FiltersMixin)),u.controller("MembershipsController",t),e=function(t,e){var r,n,i;return i=t.get("admin/admin-membership-paginator.html",!0),n=function(t,r,n,o){var s,a,c,u,l,p,h;return a=2,l=4,c=2,u=2,s=r.find(".memberships-paginator"),p=function(){var e;return e=t.count/t.paginatedBy,e=parseInt(e,10)1,d.showNext=!(t.page===f),r=t.page,o=h=1,m=f;1<=m?h<=m:h>=m;o=1<=m?++h:--h)o===r+a&&f>r+a+u?g.push({classes:"dots",type:"dots"}):o===r-l&&r>c+l?g.push({classes:"dots",type:"dots"}):o>r+a&&o<=f-u||oc||(o===r?g.push({classes:"active",num:o,type:"page-active"}):g.push({classes:"page",num:o,type:"page"}));return n=i(d),n=e(n)(t),s.html(n),s.show()},t.$watch("memberships",function(t){if(t)return h()}),r.on("click",".memberships-paginator a.next",function(e){return e.preventDefault(),t.$apply(function(){return o.selectFilter("page",t.page+1),o.loadMembers()})}),r.on("click",".memberships-paginator a.previous",function(e){return e.preventDefault(),t.$apply(function(){return o.selectFilter("page",t.page-1),o.loadMembers()})}),r.on("click",".memberships-paginator li.page > a",function(e){var r,n;return e.preventDefault(),n=angular.element(e.currentTarget),r=n.data("pagenum"),t.$apply(function(){return o.selectFilter("page",r),o.loadMembers()})})},r=function(t,e,r){var i;return i=e.controller(),n(t,e,r,i),t.$on("$destroy",function(){return e.off()})},{link:r}},u.directive("tgMemberships",["$tgTemplate","$compile",e]),i=function(t,e,r,n,i){var o,s;return s=e.get("admin/memberships-row-avatar.html",!0),o=function(e,o,a){var c,u,l;return u=r.instant("ADMIN.MEMBERSHIP.STATUS_PENDING"),l=function(t){var r,a,c;return r=i.getAvatar(t),a={full_name:t.full_name?t.full_name:"",email:t.user_email?t.user_email:t.email,imgurl:r.url,bg:r.bg,pending:t.is_user_active?"":u,isOwner:t.is_owner},c=s(a),c=n(c)(e),o.html(c)},null==a.tgMembershipsRowAvatar?t.error("MembershipsRowAvatarDirective: the directive need a member"):(c=e.$eval(a.tgMembershipsRowAvatar),l(c),e.$on("$destroy",function(){return o.off()}))},{link:o}},u.directive("tgMembershipsRowAvatar",["$log","$tgTemplate","$translate","$compile","tgAvatarService",i]),n=function(t,e,r,n,i){var o,s;return s=n.get("admin/admin-memberships-row-checkbox.html",!0),o=function(n,o,a){var c,u,l;return n.$on("$destroy",function(){return o.off()}),null==a.tgMembershipsRowAdminCheckbox?t.error("MembershipsRowAdminCheckboxDirective: the directive need a member"):(u=n.$eval(a.tgMembershipsRowAdminCheckbox),u.is_owner?void o.find(".js-check").remove():(l=function(t){var e,r;return e={inputId:"is-admin-"+t.id},r=s(e),r=i(r)(n),o.html(r)},o.on("click",":checkbox",function(t){return function(t){var n,i,s;return i=function(){return r.notify("success")},n=function(t){return u.revert(),o.find(":checkbox").prop("checked",u.is_admin),r.notify("error",t.is_admin[0])},s=angular.element(t.currentTarget),u.is_admin=s.prop("checked"),e.save(u).then(i,n)}}(this)),c=l(u),u.is_admin?o.find(":checkbox").prop("checked",!0):void 0))},{link:o}},u.directive("tgMembershipsRowAdminCheckbox",["$log","$tgRepo","$tgConfirm","$tgTemplate","$compile",n]),o=function(t,e,r){var n,i;return i=_.template(''),n=function(n,o,s){var a,c,u,l;return l=function(t){var e,r;return e={roleList:n.project.roles,selectedRole:t.role},r=i(e),o.html(r)},null==s.tgMembershipsRowRoleSelector?t.error("MembershipsRowRoleSelectorDirective: the directive need a member"):(a=o.controller(),u=n.$eval(s.tgMembershipsRowRoleSelector),c=l(u),o.on("change","select",function(t){return function(t){var n,i,o,s;if(o=function(){return r.notify("success")},i=function(){return r.notify("error")},s=angular.element(t.currentTarget),n=parseInt(s.val(),10),u.role!==n)return u.role=n,e.save(u).then(o,i)}}(this)),n.$on("$destroy",function(){return o.off()}))},{link:n}},u.directive("tgMembershipsRowRoleSelector",["$log","$tgRepo","$tgConfirm",o]),r=function(t,e,r,n,i,o,s,a,c,u){var l,p,h;return l='
\n
\n\n \n',h='\n\n\n \n',p=function(p,f,d){var g,m,v,y;return y=function(t){var e;return e=t.user?i(l)(p):i(h)(p),f.html(e)},null==d.tgMembershipsRowActions?t.error("MembershipsRowActionsDirective: the directive need a member"):(g=f.controller(),v=p.$eval(d.tgMembershipsRowActions),y(v),f.on("click",".js-resend",function(t){var e,i;return t.preventDefault(),i=function(){var t;return t=o.instant("ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION",{email:p.member.email}),n.notify("success",t)},e=function(){var t;return t=o.instant("ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION"),n.notify("error",t)},r.memberships.resendInvitation(p.member.id).then(i,e)}),m=function(){var t,r,i;return i=o.instant("ADMIN.MEMBERSHIP.DELETE_MEMBER"),t=o.instant("ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE",{email:v.email}),r=v.user?v.full_name:t,n.askOnDelete(i,r).then(function(t){var i,c;return c=function(e){return function(){var e;return t.finish(),v.user!==p.user.id?(p.page>1&&p.count-1<=p.paginatedBy&&g.selectFilter("page",p.page-1),u.fetchProject().then(function(){return g.loadInitialData()})):s.path(a.resolve("home")),e=o.instant("ADMIN.MEMBERSHIP.SUCCESS_DELETE",{message:r}),n.notify("success",e,null,5e3)}}(this),i=function(e){return function(){var e;return t.finish(!1),e=o.instant("ADMIN.MEMBERSHIP.ERROR_DELETE",{message:r}),n.notify("error",e)}}(this),e.remove(v).then(c,i)})},f.on("click",".delete",function(t){var e;return t.preventDefault(),p.project.owner.id===v.user?(e=p.user.id===v.user,c.create("tg-lightbox-leave-project-warning",{"class":"lightbox lightbox-leave-project-warning"},{isCurrentUser:e,project:p.project})):m()}),p.$on("$destroy",function(){return f.off()}))},{link:p}},u.directive("tgMembershipsRowActions",["$log","$tgRepo","$tgResources","$tgConfirm","$compile","$translate","$tgLocation","$tgNavUrls","tgLightboxFactory","tgProjectService",r]),s=function(){return{templateUrl:"admin/no-more-memberships-explanation.html",scope:{project:"="}}},u.directive("tgNoMoreMembershipsExplanation",[s])}.call(this),function(){var t,e;t=function(){var t;return t=function(t,e,r){var n;return n=r.tgAdminNavigation,e.find(".active").removeClass("active"),e.find("#adminmenu-"+n+" a").addClass("active"),t.$on("$destroy",function(){return e.off()})},{link:t}},e=angular.module("taigaAdmin"),e.directive("tgAdminNavigation",t)}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v,y,b,S,j,k,$,I,E,T,C,P,w=function(t,e){function r(){this.constructor=t}for(var n in e)A.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},A={}.hasOwnProperty,O=function(t,e){return function(){return t.apply(e,arguments)}};T=this.taiga,$=this.taiga.mixOf,E=this.taiga.scopeDefer,P=this.taiga.trim,C=this.taiga.toString,k=this.taiga.joinStr,j=this.taiga.groupBy,b=this.taiga.bindOnce,S=this.taiga.debounce,I=angular.module("taigaAdmin"),v=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g){var m;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.appMetaService=u,this.translate=l,this.tgAuth=p,this.currentUserService=h,this.errorHandlingService=f,this.projectService=d,this.model=g,this.scope.project={},this.scope.projectTags=[],m=this.loadInitialData(),m.then(function(t){return function(){var e,r,n;return r=t.translate.instant(t.scope.sectionName),n=t.translate.instant("ADMIN.PROJECT_PROFILE.PAGE_TITLE",{sectionName:r,projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(n,e),t.fillUsersAndRoles(t.scope.project.members,t.scope.project.roles)}}(this)),m.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:loaded",function(t){return function(){var e,r,n;return r=t.translate.instant(t.scope.sectionName),n=t.translate.instant("ADMIN.PROJECT_PROFILE.PAGE_TITLE",{sectionName:r,projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(n,e)}}(this))}return w(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","$tgAuth","tgCurrentUserService","tgErrorHandlingService","tgProjectService","$tgModel"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t=this.model.make_model("projects",t),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.epicStatusList=_.sortBy(t.epic_statuses,"order"),this.scope.usStatusList=_.sortBy(t.us_statuses,"order"),this.scope.pointsList=_.sortBy(t.points,"order"),this.scope.taskStatusList=_.sortBy(t.task_statuses,"order"),this.scope.issueTypesList=_.sortBy(t.issue_types,"order"),this.scope.issueStatusList=_.sortBy(t.issue_statuses,"order"),this.scope.prioritiesList=_.sortBy(t.priorities,"order"),this.scope.severitiesList=_.sortBy(t.severities,"order"),E(this.scope,function(e){return function(){return e.scope.$emit("project:loaded",t)}}(this)),this.scope.projectTags=_.map(this.scope.project.tags,function(t){return function(e){return[e,t.scope.project.tags_colors[e]]}}(this)),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.tgAuth.refresh()},e.prototype.openDeleteLightbox=function(){return this.rootscope.$broadcast("deletelightbox:new",this.scope.project)},e.prototype.addTag=function(t,e){var r;return r=_.clone(this.scope.project.tags),r.push(t),this.scope.projectTags.push([t,null]),this.scope.project.tags=r},e.prototype.deleteTag=function(t){var e;return e=_.clone(this.scope.project.tags),_.pull(e,t[0]),_.remove(this.scope.projectTags,function(e){return function(e){return e[0]===t[0]}}(this)),this.scope.project.tags=e},e}($(T.Controller,T.PageMixin)),I.controller("ProjectProfileController",v),y=function(t,e,r,n,i,o,s,a){var c;return c=function(c,u,l){var p,h,f,d;return p=u.controller(),h=u.find("form").checksley({onlyOneErrorElement:!0}),f=S(2e3,function(u){return function(u){var l,f,g;if(u.preventDefault(),h.validate())return l=r().target(d).start(),f=c.project.isAttributeModified("is_private"),g=t.save(c.project),g.then(function(){var t;return l.finish(),f&&c.project.is_private?a.trackEvent("project-privacy-changed","from-public-to-private","Change project privacy from public to private",1):f&&!c.project.is_private&&a.trackEvent("project-privacy-changed","from-private-to-public","Change project privacy from private to public",1),e.notify("success"),t=n.resolve("project-admin-project-profile-details",{project:c.project.slug}),i.path(t),o.fetchProject().then(function(t){return function(){return p.loadInitialData()}}(this)),s.loadProjects()}),g.then(null,function(t){if(l.finish(),h.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),d=u.find(".submit-button"),u.on("submit","form",f)},{link:c}},I.directive("tgProjectProfile",["$tgRepo","$tgConfirm","$tgLoading","$tgNavUrls","$tgLocation","tgProjectService","tgCurrentUserService","$tgAnalytics",y]),h=function(t,e,r){var n;return n=function(n,i,o){var s,a,c;return s=i.find("form").checksley({onlyOneErrorElement:!0}),a=S(2e3,function(i){return function(i){var o,a;if(i.preventDefault(),s.validate())return o=r().target(c).start(),a=t.save(n.project),a.then(function(){return o.finish(),e.notify("success")}),a.then(null,function(t){if(o.finish(),s.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),c=i.find(".submit-button"),i.on("submit","form",a),n.$on("$destroy",function(){return i.off()})},{link:n}},I.directive("tgProjectDefaultValues",["$tgRepo","$tgConfirm","$tgLoading",h]),m=function(t,e,r,n){var i;return i=function(r,i,o){var s;return s=function(o){return function(){var o,s;if(o=i.find("form").checksley(),o.initializeFields(),o.reset(),o.validate())return s=t.save(r.project),s.then(function(){return r.$emit("project:loaded",r.project),e.notify("success"),n.fetchProject()}),s.then(null,function(t){if(o.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this),i.on("change",".module-activation.module-direct-active input",function(t){return t.preventDefault(),r.$applyAsync(s)}),i.on("submit","form",function(t){ -return t.preventDefault(),s()}),i.on("click",".save",function(t){return t.preventDefault(),s()}),i.on("keydown",".videoconference-attributes input",function(t){return 32!==t.which}),r.$watch("project.videoconferences",function(t,e){if(null!=t&&null!=e&&t!==e)return r.project.videoconferences_extra_data=""}),r.$watch("isVideoconferenceActivated",function(t,e){if(t===!1&&(r.project.videoconferences=null,r.project.videoconferences_extra_data="",e===!0))return s()}),r.$watch("project",function(t){return null!=t.videoconferences?r.isVideoconferenceActivated=!0:r.isVideoconferenceActivated=!1})},{link:i}},I.directive("tgProjectModules",["$tgRepo","$tgConfirm","$tgLoading","tgProjectService",m]),f=function(t,e,r,n,i){var o;return o=function(o,s,a){var c,u,l,p,h,f,d,g,m,v,y,_,b,j,k,$,I,E,T,C,P,w,A,O,R,M;return u=s.find(".admin-project-export-buttons"),E=function(){return u.removeClass("hidden")},p=function(){return u.addClass("hidden")},m=s.find(".admin-project-export-result"),A=function(){return m.removeClass("hidden")},h=function(){return m.addClass("hidden")},R=s.find(".spin"),O=function(){return R.removeClass("hidden")},f=function(){return R.addClass("hidden")},y=s.find(".result-title"),g=n.instant("ADMIN.PROJECT_EXPORT.LOADING_TITLE"),d=n.instant("ADMIN.PROJECT_EXPORT.LOADING_MESSAGE"),l=function(){return y.html(n.instant("ADMIN.PROJECT_EXPORT.DUMP_READY"))},c=function(){return y.html(n.instant("ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE"))},M=function(t){return y.html(n.instant("ADMIN.PROJECT_EXPORT.SYNC_MESSAGE",{url:t}))},k=function(){return y.html(g)},b=function(){return y.html(d)},I=function(){return y.html(l)},v=s.find(".result-message "),j=function(){return v.html(d)},_=function(){return v.html(c)},$=function(t){return v.html(M(t))},w=function(){return O(),k(),j(),p(),A()},C=function(){return f(),b(),_()},P=function(t){return f(),I(),$(t)},T=function(){return f(),h(),E()},s.on("click","a.button-export",S(2e3,function(s){return function(s){var a,c;return s.preventDefault(),c=function(e){var r;return i.trackEvent("exporter","export-project","Exported project",1),202===e.status?C():(r=e.data.url,P(r),t.open(r,"_blank"))},a=function(t){var e,i;return T(),e=n.instant("ADMIN.PROJECT_EXPORT.ERROR"),429===t.status?e=n.instant("ADMIN.PROJECT_EXPORT.ERROR_BUSY"):(null!=(i=t.data)?i._error_message:void 0)&&(e=n.instant("ADMIN.PROJECT_EXPORT.ERROR_BUSY",{message:t.data._error_message})),r.notify("error",e)},w(),e.projects["export"](o.projectId).then(c,a)}}(this)))},{link:o}},I.directive("tgProjectExport",["$window","$tgResources","$tgConfirm","$translate","$tgAnalytics",f]),i=function(t){function e(t,e,r,n,i,o){this.scope=t,this.rootscope=e,this.urls=r,this.confirm=n,this.rs=i,this.translate=o,this._generateUuid=O(this._generateUuid,this),this.setCsvUuid=O(this.setCsvUuid,this),this.rootscope.$on("project:loaded",this.setCsvUuid),this.scope.$watch("csvUuid",function(t){return function(e){return e?t.scope.csvUrl=t.urls.resolveAbsolute(t.type+"-csv",e):t.scope.csvUrl=""}}(this))}return w(e,t),e.$inject=["$scope","$rootScope","$tgUrls","$tgConfirm","$tgResources","$translate"],e.prototype.setCsvUuid=function(){return this.scope.csvUuid=this.scope.project[this.type+"_csv_uuid"]},e.prototype._generateUuid=function(t){var e;return null==t&&(t=null),e=this.rs.projects["regenerate_"+this.type+"_csv_uuid"](this.scope.projectId),e.then(function(t){return function(e){var r;return t.scope.csvUuid=null!=(r=e.data)?r.uuid:void 0}}(this)),e.then(null,function(t){return function(){return t.confirm.notify("error")}}(this)),e["finally"](function(){if(t)return t.finish()}),e},e.prototype.regenerateUuid=function(){var t,e;return this.scope.csvUuid?(e=this.translate.instant("ADMIN.REPORTS.REGENERATE_TITLE"),t=this.translate.instant("ADMIN.REPORTS.REGENERATE_SUBTITLE"),this.confirm.ask(e,t).then(this._generateUuid)):this._generateUuid()},e}(T.Controller),o=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="epics",e}(i),c=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="userstories",e}(i),a=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="tasks",e}(i),s=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return w(e,t),e.prototype.type="issues",e}(i),I.controller("CsvExporterEpicsController",o),I.controller("CsvExporterUserstoriesController",c),I.controller("CsvExporterTasksController",a),I.controller("CsvExporterIssuesController",s),n=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_EPIC"},{controller:"CsvExporterEpicsController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvEpic",["$translate",n]),p=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_US"},{controller:"CsvExporterUserstoriesController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvUs",["$translate",p]),l=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_TASK"},{controller:"CsvExporterTasksController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvTask",["$translate",l]),u=function(t){var e;return e=function(t){return t.sectionTitle="ADMIN.CSV.SECTION_TITLE_ISSUE"},{controller:"CsvExporterIssuesController",controllerAs:"ctrl",templateUrl:"admin/project-csv.html",link:e,scope:!0}},I.directive("tgCsvIssue",["$translate",u]),d=function(t,e,r,n){var i;return i=function(t,i,o){var s,a,c;return c=function(){return i.find(".size-info").addClass("active")},a=function(r){var o;return o=e.make_model("projects",r.data),t.project=o,i.find(".loading-overlay").removeClass("active"),n.notify("success")},s=function(t){return 413===t.status&&c(),i.find(".loading-overlay").removeClass("active"),n.notify("error",t.data._error_message)},i.on("click",".js-change-logo",function(){return i.find("#logo-field").click()}),i.on("change","#logo-field",function(e){if(t.logoAttachment)return i.find(".loading-overlay").addClass("active"),r.projects.changeLogo(t.project.id,t.logoAttachment).then(a,s)}),i.on("click","a.js-use-default-logo",function(e){return i.find(".loading-overlay").addClass("active"),r.projects.removeLogo(t.project.id).then(a,s)}),t.$on("$destroy",function(){return i.off()})},{link:i}},I.directive("tgProjectLogo",["$tgAuth","$tgModel","$tgResources","$tgConfirm",d]),g=function(t){var e;return e=function(e,r,n){var i,o;return i=t(n.tgProjectLogoModel),o=i.assign,r.bind("change",function(){return e.$apply(function(){return o(e,r[0].files[0])})})},{link:e}},I.directive("tgProjectLogoModel",["$parse",g]),r=function(){return{scope:{project:"="},templateUrl:"admin/admin-project-restrictions.html"}},I.directive("tgAdminProjectRestrictions",[r]),e=function(t){return{link:function(e){return e.requestOwnership=function(){return t.create("tg-lb-request-ownership",{"class":"lightbox lightbox-request-ownership"},{projectId:e.projectId})}},scope:{projectId:"=",owner:"="},templateUrl:"admin/admin-project-request-ownership.html"}},I.directive("tgAdminProjectRequestOwnership",["tgLightboxFactory",e]),t=function(t){return{link:function(e){return e.changeOwner=function(){return t.create("tg-lb-change-owner",{"class":"lightbox lightbox-select-user","project-id":"projectId","active-users":"activeUsers","current-owner-id":"currentOwnerId"},{projectId:e.projectId,activeUsers:e.activeUsers,currentOwnerId:e.owner.id,members:e.members})}},scope:{activeUsers:"=",projectId:"=",owner:"=",members:"="},templateUrl:"admin/admin-project-change-owner.html"}},I.directive("tgAdminProjectChangeOwner",["tgLightboxFactory",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v,y,b,S,j,k,I,E=function(t,e){function r(){this.constructor=t}for(var n in e)T.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},T={}.hasOwnProperty,C=function(t,e){return function(){return t.apply(e,arguments)}};j=this.taiga,b=this.taiga.mixOf,I=this.taiga.trim,k=this.taiga.toString,y=this.taiga.joinStr,v=this.taiga.groupBy,d=this.taiga.bindOnce,g=this.taiga.debounce,m=this.taiga.getDefaulColorList,S=angular.module("taigaAdmin"),u=function(t){function e(t,e,r,n,i,o,s,a,c,u,l,p,h){var f,d,g;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.appMetaService=u,this.translate=l,this.errorHandlingService=p,this.projectService=h,this.scope.project={},this.loadInitialData(),d=this.translate.instant(this.scope.sectionName),g=this.translate.instant("ADMIN.PROJECT_VALUES.PAGE_TITLE",{sectionName:d,projectName:this.scope.project.name}),f=this.scope.project.description,this.appMetaService.setAll(g,f)}return E(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgErrorHandlingService","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject()},e}(b(j.Controller,j.PageMixin)),S.controller("ProjectValuesSectionController",u),a=function(t){function e(t,e,r,n,i){var o;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.moveValue=C(this.moveValue,this),this.loadValues=C(this.loadValues,this),this.scope.$on("admin:project-values:move",this.moveValue),o=this.scope.$watch("resource",function(t){return function(e){if(e)return t.loadValues(),o()}}(this))}return E(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources"],e.prototype.loadValues=function(){return this.rs[this.scope.resource].listValues(this.scope.projectId,this.scope.type).then(function(t){return function(e){return t.scope.values=e,t.scope.maxValueOrder=_.maxBy(e,"order").order,e}}(this))},e.prototype.moveValue=function(t,e,r){var n,i;return i=this.scope.values,n=i.indexOf(e),i.splice(n,1),i.splice(r,0,e),_.each(i,function(t,e){return t.order=e}),this.repo.saveAll(i)},e}(j.Controller),S.controller("ProjectValuesController",a),c=function(t,e,r,n,i,o,s,a){var c,u,l;return u=function(t,e,r){var n,i,o,s,a,c;return s=null,o=null,i=null,c=e.find(".sortable"),n=dragula([c[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:c[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),n.on("dragend",function(e){var r,n;return i=$(e),n=i.scope().value,r=i.index(),t.$broadcast("admin:project-values:move",n,r)}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&n.dragging}}),t.$on("$destroy",function(){return e.off(),n.destroy()})},l=function(t,n,i){var c,u,l,p,h,f,d,m,v;return c=n.controller(),v=i.type,f=i.objname,p=function(){return t.newValue={name:"",is_closed:!1,is_archived:!1}},h=function(){return t.addNewElementText=o.instant("ADMIN.PROJECT_VALUES_"+f.toUpperCase()+".ACTION_ADD")},p(),h(),s.$on("$translateChangeEnd",function(){return t.$evalAsync(h)}),l=function(t){return function(t){var e;if(null==t&&(t=!1),e=n.find(".table-main"),$(document.body).scrollTop(e.offset().top+e.height()),t)return n.find(".new-value input:visible").first().focus()}}(this),m=function(t){var r,n,i,o;if(n=t.parents("form"),r=n.checksley(),r.validate())return o=n.scope().value,i=e.save(o),i.then(function(e){return function(){var e;return e=t.parents(".row.table-main"),e.addClass("hidden"),e.siblings(".visualization").removeClass("hidden"),a.fetchProject()}}(this)),i.then(null,function(t){return r.setErrors(t)})},d=function(r){var n,i,o;if(i=r.parents("form"),n=i.checksley(),n.validate())return t.newValue.project=t.project.id,t.newValue.order=t.maxValueOrder?t.maxValueOrder+1:1,o=e.create(v,t.newValue),o.then(function(e){return function(e){return r.addClass("hidden"),t.values.push(e),t.maxValueOrder=e.order,p()}}(this)),o.then(null,function(t){return n.setErrors(t)})},u=function(e){var r,n,i;return n=e.parents(".row.table-main"),r=e.parents("form"),i=r.scope().value,t.$apply(function(){return n.addClass("hidden"),i.revert(),n.siblings(".visualization").removeClass("hidden")})},n.on("click",".show-add-new",function(t){return t.preventDefault(),n.find(".new-value").removeClass("hidden"),l(!0)}),n.on("click",".add-new",g(2e3,function(t){var e;return t.preventDefault(),e=n.find(".new-value"),d(e)})),n.on("click",".delete-new",function(t){return t.preventDefault(),n.find(".new-value").addClass("hidden"),p()}),n.on("click",".edit-value",function(t){var e,r,n;return t.preventDefault(),n=angular.element(t.currentTarget),r=n.parents(".row.table-main"),r.addClass("hidden"),e=r.siblings(".edition"),e.removeClass("hidden"),e.find("input:visible").first().focus().select()}),n.on("keyup",".new-value input",function(t){var e;return 13===t.keyCode?(e=n.find(".new-value"),d(e)):27===t.keyCode?(n.find(".new-value").addClass("hidden"),p()):void 0}),n.on("click",".save",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),m(e)}),n.on("click",".cancel",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),u(e)}),n.on("click",".delete-value",function(n){var i,s,a,u,l,p,h;return n.preventDefault(),u=angular.element(n.currentTarget),s=u.parents("form"),h=s.scope().value,i={},_.each(t.values,function(t){if(h.id!==t.id)return i[t.id]=t.name}),a=h.name,0===_.keys(i).length?r.error(o.instant("ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL")):(p=o.instant("ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE"),l=o.instant("ADMIN.PROJECT_VALUES.REPLACEMENT"),r.askChoice(p,a,i,l).then(function(t){var n,i;return i=function(){return c.loadValues()["finally"](function(){return t.finish()})},n=function(){return r.notify("error")},e.remove(h,{moveTo:t.selected}).then(i,n)}))})},c=function(t,e,r){return u(t,e,r),l(t,e,r),t.$on("$destroy",function(){return e.off()})},{link:c}},S.directive("tgProjectValues",["$log","$tgRepo","$tgConfirm","$tgLocation","animationFrame","$translate","$rootScope","tgProjectService",c]),t=function(){var t;return t=function(t,e,r,n){var i;return t.colorList=m(),t.allowEmpty=!1,r.tgAllowEmpty&&(t.allowEmpty=!0),i=e.controller(),t.$watch(r.ngModel,function(e){return t.color=e.color}),e.on("click",".current-color",function(t){var r,n;return t.preventDefault(),t.stopPropagation(),n=angular.element(t.currentTarget),$(".select-color").hide(),n.siblings(".select-color").show(),r=angular.element("body"),r.on("click",function(t){return function(t){if(0===angular.element(t.target).parent(".select-color").length)return e.find(".select-color").hide(),r.unbind("click")}}(this))}),e.on("click",".select-color .color",function(r){var i;return r.preventDefault(),i=angular.element(r.currentTarget),t.$apply(function(){return n.$modelValue.color=i.data("color")}),e.find(".select-color").hide()}),e.on("click",".select-color .selected-color",function(r){return r.preventDefault(),t.$apply(function(){return n.$modelValue.color=t.color}),e.find(".select-color").hide()}),e.on("keyup","input",function(r){return r.stopPropagation(),13===r.keyCode?(t.$apply(function(){return n.$modelValue.color=t.color}),e.find(".select-color").hide()):27===r.keyCode?e.find(".select-color").hide():void 0}),t.$on("$destroy",function(){return e.off()})},{link:t,require:"ngModel"}},S.directive("tgColorSelection",t),p="text",r="multiline",l="richtext",e="date",f="url",h=[{key:p,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_TEXT"},{key:r,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_MULTI"},{key:l,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT"},{key:e,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_DATE"},{key:f,name:"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_URL"}],n=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p,f,d;this.scope=t,this.rootscope=e,this.repo=r,this.rs=n,this.params=i,this.q=o,this.location=s,this.navUrls=a,this.appMetaService=c,this.translate=u,this.projectService=l,this.moveCustomAttributes=C(this.moveCustomAttributes,this),this.deleteCustomAttribute=C(this.deleteCustomAttribute,this),this.saveCustomAttribute=C(this.saveCustomAttribute,this),this.createCustomAttribute=C(this.createCustomAttribute,this),this.loadCustomAttributes=C(this.loadCustomAttributes,this),this.scope.TYPE_CHOICES=h,this.scope.project=this.projectService.project.toJS(),this.scope.projectId=this.scope.project.id,f=this.translate.instant(this.scope.sectionName),d=this.translate.instant("ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE",{sectionName:f,projectName:this.scope.project.name}),p=this.scope.project.description,this.appMetaService.setAll(d,p),this.scope.init=function(t){return function(e){return t.scope.type=e,t.loadCustomAttributes()}}(this)}return E(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadCustomAttributes=function(){return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then(function(t){return function(e){var r;return t.scope.customAttributes=e,t.scope.maxOrder=null!=(r=_.maxBy(e,"order"))?r.order:void 0,e}}(this))},e.prototype.createCustomAttribute=function(t){return this.repo.create("custom-attributes/"+this.scope.type,t)},e.prototype.saveCustomAttribute=function(t){return this.repo.save(t)},e.prototype.deleteCustomAttribute=function(t){return this.repo.remove(t)},e.prototype.moveCustomAttributes=function(t,e){var r,n;return r=this.scope.customAttributes,n=r.indexOf(t),r.splice(n,1),r.splice(e,0,t),_.each(r,function(t,e){return t.order=e}),this.repo.saveAll(r)},e}(b(j.Controller,j.PageMixin)),S.controller("ProjectCustomAttributesController",n),i=function(t,e,r,n){var i;return i=function(t,r,i){var o,s,a,c,u,l,p,h,f,d,m,v,y,_,b,S,j,k;return o=r.controller(),t.$on("$destroy",function(){return r.off()}),j=r.find(".js-sortable"),l=dragula([j[0]],{direction:"vertical",copySortSource:!1,copy:!1,mirrorContainer:j[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),l.on("dragend",function(t){var e,r,n;return r=$(t),e=r.scope().attr,n=r.index(),o.moveCustomAttributes(e,n)}),b=function(){return r.find(".js-new-custom-field").removeClass("hidden"),r.find(".js-new-custom-field input:visible").first().focus()},f=function(){return r.find(".js-new-custom-field").addClass("hidden")},y=function(){return r.find(".js-add-custom-field-button").removeClass("hidden")},p=function(){return r.find(".js-add-custom-field-button").addClass("hidden")},_=function(){return r.find(".js-cancel-new-custom-field-button").removeClass("hidden")},h=function(){return r.find(".js-cancel-new-custom-field-button").addClass("hidden")},m=function(){return t.newAttr={}},c=function(r){var n,i,s,a;if(i=r.checksley(),i.validate())return a=function(t){return function(){return o.loadCustomAttributes(),f(),m(),e.notify("success")}}(this),s=function(t){return function(t){return i.setErrors(t)}}(this),n=t.newAttr,n.project=t.projectId,n.order=t.maxOrder?t.maxOrder+1:1,o.createCustomAttribute(n).then(a,s)},s=function(){return f(),m()},t.$watch("customAttributes",function(t){if(t)return 0===t.length?(h(),p(),b()):(f(),y(),_())}),r.on("click",".js-add-custom-field-button",function(t){return t.preventDefault(),b()}),r.on("click",".js-create-custom-field-button",g(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),c(e)})),r.on("click",".js-cancel-new-custom-field-button",function(t){return t.preventDefault(),s()}),r.on("keyup",".js-new-custom-field input",function(t){var e,r;return 13===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),c(e)):27===t.keyCode?s():void 0}),S=function(t){return t.find(".js-view-custom-field").addClass("hidden"),t.find(".js-edit-custom-field").removeClass("hidden"),t.find(".js-edit-custom-field input:visible").first().focus().select()},d=function(t){return t.find(".js-edit-custom-field").addClass("hidden"),t.find(".js-view-custom-field").removeClass("hidden")},v=function(e){return t.$apply(function(){return e.scope().attr.revert()})},k=function(t){var r,n,i,s;if(n=t.checksley(),n.validate())return s=function(r){return function(){return o.loadCustomAttributes(),d(t),e.notify("success")}}(this),i=function(t){return function(t){return n.setErrors(t)}}(this),r=t.scope().attr,o.saveCustomAttribute(r).then(s,i)},a=function(t){return d(t),v(t)},r.on("click",".js-edit-custom-field-button",function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),S(e)}),r.on("click",".js-update-custom-field-button",g(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),k(e)})),r.on("click",".js-cancel-edit-custom-field-button",function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),a(e)}),r.on("keyup",".js-edit-custom-field input",function(t){var e,r;return 13===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),k(e)):27===t.keyCode?(r=angular.element(t.currentTarget),e=r.closest("form"),a(e)):void 0}),u=function(t){var r,i,s,a;return r=t.scope().attr,i=r.name,a=n.instant("COMMON.CUSTOM_ATTRIBUTES.DELETE"),s=n.instant("COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE"),e.ask(a,s,i).then(function(t){var n,s;return s=function(){return o.loadCustomAttributes()["finally"](function(){return t.finish()})},n=function(){return e.notify("error",null,"We have not been able to delete '"+i+"'.")},o.deleteCustomAttribute(r).then(s,n)})},r.on("click",".js-delete-custom-field-button",g(2e3,function(t){var e,r;return t.preventDefault(),r=angular.element(t.currentTarget),e=r.closest("form"),u(e)}))},{link:i}},S.directive("tgProjectCustomAttributes",["$log","$tgConfirm","animationFrame","$translate",i]),o=function(t){function e(t,e,r,n,i,o,s){this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.model=o,this.projectService=s,this.mixingClass=C(this.mixingClass,this),this.cancelMixingTags=C(this.cancelMixingTags,this),this.confirmMixingTags=C(this.confirmMixingTags,this),this.toggleMixingFromTags=C(this.toggleMixingFromTags,this),this.startMixingTags=C(this.startMixingTags,this),this.deleteTag=C(this.deleteTag,this),this.editTag=C(this.editTag,this),this.createTag=C(this.createTag,this),this.filterAndSortTags=C(this.filterAndSortTags,this),this.loadTags=C(this.loadTags,this),this.loading=!0,this.loadTags()}return E(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$tgModel","tgProjectService"],e.prototype.loadTags=function(){var t;return t=this.projectService.project.toJS(),this.rs.projects.tagsColors(t.id).then(function(t){return function(e){return t.scope.projectTagsAll=_.map(e.getAttrs(),function(e,r){return t.model.make_model("tag",{name:r,color:e})}),t.filterAndSortTags(),t.loading=!1}}(this))},e.prototype.filterAndSortTags=function(){return this.scope.projectTags=_.sortBy(this.scope.projectTagsAll,function(t){return t.name.toLowerCase()}),this.scope.projectTags=_.filter(this.scope.projectTags,function(t){return function(e){return e.name.indexOf(t.scope.tagsFilter.name)!==-1}}(this))},e.prototype.createTag=function(t,e){return this.rs.projects.createTag(this.scope.projectId,t,e)},e.prototype.editTag=function(t,e,r){return t===e&&(e=null),this.rs.projects.editTag(this.scope.projectId,t,e,r)},e.prototype.deleteTag=function(t){return this.scope.loadingDelete=!0,this.rs.projects.deleteTag(this.scope.projectId,t)["finally"](function(t){return function(){return t.scope.loadingDelete=!1}}(this))},e.prototype.startMixingTags=function(t){return this.scope.mixingTags.toTag=t.name},e.prototype.toggleMixingFromTags=function(t){var e;if(t.name!==this.scope.mixingTags.toTag)return e=this.scope.mixingTags.fromTags.indexOf(t.name),e===-1?this.scope.mixingTags.fromTags.push(t.name):this.scope.mixingTags.fromTags.splice(e,1)},e.prototype.confirmMixingTags=function(){var t,e;return e=this.scope.mixingTags.toTag,t=this.scope.mixingTags.fromTags,this.scope.loadingMixing=!0,this.rs.projects.mixTags(this.scope.projectId,e,t).then(function(t){return function(){return t.cancelMixingTags(),t.loadTags()}}(this))["finally"](function(t){return function(){return t.scope.loadingMixing=!1}}(this))},e.prototype.cancelMixingTags=function(){return this.scope.mixingTags.toTag=null,this.scope.mixingTags.fromTags=[]},e.prototype.mixingClass=function(t){if(null!==this.scope.mixingTags.toTag){if(t.name===this.scope.mixingTags.toTag)return"mixing-tags-to";if(this.scope.mixingTags.fromTags.indexOf(t.name)!==-1)return"mixing-tags-from"}},e}(j.Controller),S.controller("ProjectTagsController",o),s=function(t,e,r,n,i,o,s){var a;return a=function(t,e,n){var i,a,c,u,l,p,h,f,d,m,v,y;return a=$(window),i=e.controller(),y=n.type,d=n.objname,p=function(){return t.newValue={tag:"",color:""}},h=function(){return t.tagsFilter={name:""}},l=function(){return t.mixingTags={toTag:null,fromTags:[]}},f=function(){return t.addNewElementText=o.instant("ADMIN.PROJECT_VALUES_TAGS.ACTION_ADD")},p(),h(),l(),f(),s.$on("$translateChangeEnd",function(){return t.$evalAsync(f)}),u=function(t){return function(t){var r;if(null==t&&(t=!1),r=e.find(".table-main"),$(document.body).scrollTop(r.offset().top+r.height()),t)return e.find(".new-value input:visible").first().focus()}}(this),v=function(e){return function(e){var r,n,o,s,a;if(n=e.parents("form"),r=n.checksley(),r.validate())return a=n.scope().tag,o=a.clone(),o.revert(),t.loadingEdit=!0,s=i.editTag(o.name,a.name,a.color),s.then(function(){return i.loadTags().then(function(){var r;return r=e.parents(".row.table-main"),r.addClass("hidden"),t.loadingEdit=!1,r.siblings(".visualization").removeClass("hidden")})}),s.then(null,function(e){return t.loadingEdit=!1,r.setErrors(e.data)})}}(this),m=function(e){return function(e){var r,n,o;if(n=e.parents("form"),n=e,r=n.checksley(),r.validate())return t.loadingCreate=!0,o=i.createTag(t.newValue.tag,t.newValue.color),o.then(function(r){return i.loadTags().then(function(){return t.loadingCreate=!1,e.addClass("hidden"),p()})}),o.then(null,function(e){return t.loadingCreate=!1,r.setErrors(e.data)})}}(this),c=function(e){var r,n,i;return n=e.parents(".row.table-main"),r=e.parents("form"),i=r.scope().tag,t.$apply(function(){return n.addClass("hidden"),i.revert(),n.siblings(".visualization").removeClass("hidden")})},t.$watch("tagsFilter.name",function(t){return i.filterAndSortTags()}),a.on("keyup",function(e){if(27===e.keyCode)return t.$apply(function(){return l()})}),e.on("click",".show-add-new",function(t){return t.preventDefault(),e.find(".new-value").removeClass("hidden")}),e.on("click",".add-new",g(2e3,function(t){var r;return t.preventDefault(),r=e.find(".new-value"),m(r)})),e.on("click",".delete-new",function(t){return t.preventDefault(),e.find(".new-value").addClass("hidden"),p()}),e.on("click",".mix-tags",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return i.startMixingTags(r.parents("form").scope().tag)})}),e.on("click",".mixing-row",function(e){var r;return e.preventDefault(),r=angular.element(e.currentTarget),t.$apply(function(){return i.toggleMixingFromTags(r.parents("form").scope().tag)})}),e.on("click",".mixing-confirm",function(e){return e.preventDefault(),e.stopPropagation(),t.$apply(function(){return i.confirmMixingTags()})}),e.on("click",".mixing-cancel",function(e){return e.preventDefault(),e.stopPropagation(),t.$apply(function(){return i.cancelMixingTags()})}),e.on("click",".edit-value",function(t){var e,r,n;return t.preventDefault(),n=angular.element(t.currentTarget),r=n.parents(".row.table-main"),r.addClass("hidden"),e=r.siblings(".edition"),e.removeClass("hidden"),e.find("input:visible").first().focus().select()}),e.on("keyup",".new-value input",function(t){var r;return 13===t.keyCode?(r=e.find(".new-value"),m(r)):27===t.keyCode?(e.find(".new-value").addClass("hidden"),p()):void 0}),e.on("keyup",".status-name input",function(t){var e;return e=angular.element(t.currentTarget),13===t.keyCode?v(e):27===t.keyCode?c(e):void 0}),e.on("click",".save",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),v(e)}),e.on("click",".cancel",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),c(e)}),e.on("click",".delete-tag",function(t){var e,n,s,a;return t.preventDefault(),s=angular.element(t.currentTarget),e=s.parents("form"),n=e.scope().tag,a=o.instant("ADMIN.COMMON.TITLE_ACTION_DELETE_TAG"),r.askOnDelete(a,n.name).then(function(t){var e,o;return o=function(){return i.loadTags()["finally"](function(){return t.finish()})},e=function(){return r.notify("error")},i.deleteTag(n.name).then(o,e)})}),t.$on("$destroy",function(){return e.off(),a.off()})},{link:a}},S.directive("tgProjectTags",["$log","$tgRepo","$tgConfirm","$tgLocation","animationFrame","$translate","$rootScope",s])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p=function(t,e){return function(){return t.apply(e,arguments)}},h=function(t,e){function r(){this.constructor=t}for(var n in e)f.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},f={}.hasOwnProperty,d=[].indexOf||function(t){for(var e=0,r=this.length;e\n
\n
<%- category.activePermissions %>/<%- category.permissions.length %>
\n <% _.each(category.permissions, function(permission) { %>\n
\n <% }) %>\n
\n'),o=_.template('
\n
\n
\n
\n
\n <% _.each(category.permissions, function(permission) { %>\n
\n \n
\n disabled="disabled" <% } %>\n <% if(permission.active) { %> checked="checked" <% } %>/>\n
\n \n \n
\n
\n <% }) %>\n
\n
\n
'),i=_.template('
'),a=function(a,u,l){var p,h,f,g,m;return p=u.controller(),h=function(t){var e,r,n,i,o,s,c,u,l,p;return s=function(e){return _.map(e,function(e){var r;return _.extend({},e,{active:(r=e.key,d.call(t.permissions,r)>=0)})})},n=function(t,e,r){return!(e.external_user&&!r.is_private&&0===t.key.indexOf("view_"))},c=function(e){return _.map(e,function(e){return e.permissions=e.permissions.map(function(e){return e.editable=n(e,t,a.project),e}),_.extend({},e,{activePermissions:_.filter(e.permissions,"active").length})})},e=[],r=[{key:"view_epics",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.VIEW_EPICS"},{key:"add_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.ADD_EPICS"},{key:"modify_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.MODIFY_EPICS"},{key:"comment_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.COMMENT_EPICS"},{key:"delete_epic",name:"COMMON.PERMISIONS_CATEGORIES.EPICS.DELETE_EPICS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.EPICS.NAME",permissions:s(r)}),o=[{key:"view_milestones",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS"},{key:"add_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS"},{key:"modify_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS"},{key:"delete_milestone",name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME",permissions:s(o)}),l=[{key:"view_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES"},{key:"add_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES"},{key:"modify_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES"},{key:"comment_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.COMMENT_USER_STORIES"},{key:"delete_us",name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME",permissions:s(l)}),u=[{key:"view_tasks",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS"},{key:"add_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS"},{key:"modify_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS"},{key:"comment_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.COMMENT_TASKS"},{key:"delete_task",name:"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME",permissions:s(u)}),i=[{key:"view_issues",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES"},{key:"add_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES"},{key:"modify_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES"},{key:"comment_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.COMMENT_ISSUES"},{key:"delete_issue",name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME",permissions:s(i)}),p=[{key:"view_wiki_pages",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES"},{key:"add_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES"},{key:"modify_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES"},{key:"delete_wiki_page",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES"},{key:"view_wiki_links",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS"},{key:"add_wiki_link",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS"},{key:"delete_wiki_link",name:"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS"}],e.push({name:"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME",permissions:s(p)}),c(e)},m=function(t,e){return t.find(".resume").html(n(c({category:e}))(a))},f=function(t,e){var r;return r=o({category:t,index:e}),r=angular.element(r),m(r,t),n(r)(a)},g=function(){var n;return u.off(),n=i(),_.each(h(a.role),function(t,e){return n=angular.element(n).append(f(t,e))}),u.html(n),u.on("click",".resume",function(t){var e;return t.preventDefault(),e=angular.element(t.currentTarget),e.toggleClass("open-drawer"),e.next().toggleClass("open")}),u.on("change",".category-item input",function(n){var i,o,s,c;return i=function(){var t;return t=_.filter(u.find(".category-item input"),function(t){return angular.element(t).is(":checked")}),t=_.sortBy(_.map(t,function(t){var e;return e=angular.element(t).parents(".category-item").data("id")})),t.length&&t.push("view_project"),t},c=angular.element(n.currentTarget),a.role.permissions=i(),s=function(){var e,n;return e=h(a.role),n=c.parents(".category-config").data("id"),m(c.parents(".category-config"),e[n]),t.$broadcast("projects:reload"),r.notify("success"),p.forceLoadProject()},o=function(){return r.notify("error"),c.prop("checked",!c.prop("checked")),a.role.permissions=i()},a.role.external_user?(a.project.public_permissions=a.role.permissions,a.project.anon_permissions=a.role.permissions.filter(function(t){return 0===t.indexOf("view_")}),e.save(a.project).then(s,o)):e.save(a.role).then(s,o)})},a.$on("$destroy",function(){return u.off()}),a.$on("role:changed",function(){return g()}),s(a,l.ngModel,g)},{link:a}},u.directive("tgRolePermissions",["$rootScope","$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v,y,b=function(t,e){function r(){this.constructor=t}for(var n in e)S.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},S={}.hasOwnProperty;v=this.taiga,g=this.taiga.mixOf,f=this.taiga.bindMethods,d=this.taiga.debounce,y=this.taiga.timeout,m=angular.module("taigaAdmin"),h=function(t){function e(t,e,r,n,i,o,s,a,c,u){var l;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.location=i,this.navUrls=o,this.appMetaService=s,this.translate=a,this.errorHandlingService=c,this.projectService=u,f(this),this.scope.sectionName="ADMIN.WEBHOOKS.SECTION_NAME",this.scope.project={},l=this.loadInitialData(),l.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.WEBHOOKS.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),l.then(null,this.onInitialDataError.bind(this)),this.scope.$on("webhooks:reload",this.loadWebhooks)}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","$tgLocation","$tgNavUrls","tgAppMetaService","$translate","tgErrorHandlingService","tgProjectService"],e.prototype.loadWebhooks=function(){return this.rs.webhooks.list(this.scope.projectId).then(function(t){return function(e){return t.scope.webhooks=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),t.i_am_admin||this.errorHandlingService.permissionDenied(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadWebhooks()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("WebhooksController",h),p=function(t,e,r,n,i){var o;return o=function(n,o,s){var a,c,u,l,p,h,f,g;return g=n.$eval(s.tgWebhook),h=function(){var e;return e=i.instant("ADMIN.WEBHOOKS.DATE"),t.webhooklogs.list(g.id).then(function(t){return function(t){var r,n,i,o;for(r=0,n=t.length;r=1)return a.addClass("hidden")})}),s.on("click",function(t){return a.removeClass("hidden"),a.find("input")[0].focus()})},{link:o}},m.directive("tgNewWebhook",["$tgResources","$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",c]),r=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GITHUB.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GITHUB.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"github").then(function(t){return function(e){return t.scope.github=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){var t;return t=this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("GithubController",r),i=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GITLAB.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GITLAB.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:modules:reload",function(t){return function(){return t.loadModules()}}(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"gitlab").then(function(t){return function(e){return t.scope.gitlab=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("GitlabController",i),t=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.BITBUCKET.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.BITBUCKET.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this)),this.scope.$on("project:modules:reload",function(t){return function(){return t.loadModules()}}(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"bitbucket").then(function(t){return function(e){return t.scope.bitbucket=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),m.controller("BitbucketController",t),u=function(){var t;return t=function(t,e,r){return e.on("click",".select-input-content",function(){return e.find("input").select(),e.find(".help-copy").addClass("visible")})},{link:t}},m.directive("tgSelectInputText",u),n=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=d(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.github,"github"),c.then(function(){return n.trackEvent("github-webhook","created-or-changed","Create or changed github webhook",1),s.finish(),e.notify("success")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgGithubWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",n]),o=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=d(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.gitlab,"gitlab"),c.then(function(){return n.trackEvent("gitlab-webhook","created-or-changed","Create or changed gitlab webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgGitlabWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",o]),e=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=d(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.bitbucket,"bitbucket"),c.then(function(){return n.trackEvent("bitbucket-webhook","created-or-changed","Create or changed bitbucket webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c)},{link:i}},m.directive("tgBitbucketWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",e]),l=function(){var t;return t=function(t,e,r,n){return n.$parsers.push(function(t){return t=$.trim(t),""===t?[]:t.split(",")})},{link:t,restrict:"EA",require:"ngModel"}},m.directive("tgValidOriginIps",l),s=function(t){function e(t,e,r,n,i,o,s){var a;this.scope=t,this.repo=e,this.rs=r,this.params=n,this.appMetaService=i,this.translate=o,this.projectService=s,f(this),this.scope.sectionName=this.translate.instant("ADMIN.GOGS.SECTION_NAME"),this.scope.project={},a=this.loadInitialData(),a.then(function(t){return function(){var e,r;return r=t.translate.instant("ADMIN.GOGS.PAGE_TITLE",{projectName:t.scope.project.name}),e=t.scope.project.description,t.appMetaService.setAll(r,e)}}(this)),a.then(null,this.onInitialDataError.bind(this))}return b(e,t),e.$inject=["$scope","$tgRepo","$tgResources","$routeParams","tgAppMetaService","$translate","tgProjectService"],e.prototype.loadModules=function(){return this.rs.modules.list(this.scope.projectId,"gogs").then(function(t){return function(e){return t.scope.gogs=e}}(this))},e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject(),this.loadModules()},e}(g(v.Controller,v.PageMixin,v.FiltersMixin)),a=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return a=o.find("form").checksley({onlyOneErrorElement:!0}),c=d(2e3,function(o){return function(o){var s,c;if(o.preventDefault(),a.validate())return s=r().target(u).start(),c=t.saveAttribute(i.gogs,"gogs"),c.then(function(){return n.trackEvent("gogs-webhook","create-or-change","Create or change gogs webhook",1),s.finish(),e.notify("success"),i.$emit("project:modules:reload")}),c.then(null,function(t){if(s.finish(),a.setErrors(t),t._error_message)return e.notify("error",t._error_message)})}}(this)),u=o.find(".submit-button"),o.on("submit","form",c),o.on("click",".submit-button",c)},{link:i}},m.controller("GogsController",s),m.directive("tgGogsWebhooks",["$tgRepo","$tgConfirm","$tgLoading","$tgAnalytics",a])}.call(this),function(){var t,e,r,n,i,o;i=this.taiga,e=this.taiga.bindOnce,o=this.taiga.timeout,r=this.taiga.debounce,n=angular.module("taigaProject"),t=function(t,e,r,n,i,o,s,a,c,u){var l;return l=function(r,l,p){var h,f;return h=null,r.$on("deletelightbox:new",function(t,e){return s.open(l),h=e}),r.$on("$destroy",function(){return l.off()}),f=function(){var r;return a.start(),s.close(l),r=t.remove(h),r.then(function(t){return u.trackEvent("projects","delete","Delete project",1),a.pageLoaded(),e.$broadcast("projects:reload"),n.path(i.resolve("home")),o.notify("success"),c.loadProjects()}),r.then(null,function(){return o.notify("error"),s.close(l)})},l.on("click",".button-red",function(t){return t.preventDefault(),s.close(l)}),l.on("click",".button-green",function(t){return t.preventDefault(),f()})},{link:l}},n.directive("tgLbDeleteProject",["$tgRepo","$rootScope","$tgAuth","$tgLocation","$tgNavUrls","$tgConfirm","lightboxService","tgLoader","tgCurrentUserService","$tgAnalytics",t])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u,l;u=this.taiga.bindOnce,r=function(){var t;return t=function(t,e,r){return u(t,r.tgBoBind,function(t){return e.text(t)})},{link:t}},i=function(){var t;return t=function(t,e,r){return u(t,r.tgBoHtml,function(t){return e.html(t)})},{link:t}},o=function(){var t;return t=function(t,e,r){return u(t,r.tgBoRef,function(t){return e.html("#"+t+" ")})},{link:t}},s=function(){var t;return t=function(t,e,r){return u(t,r.tgBoSrc,function(t){return e.attr("src",t)})},{link:t}},n=function(){var t;return t=function(t,e,r){return u(t,r.tgBoHref,function(t){return e.attr("href",t)})},{link:t}},e=function(){var t;return t=function(t,e,r){return u(t,r.tgBoAlt,function(t){return e.attr("alt",t)})},{link:t}},a=function(){var t;return t=function(t,e,r){return u(t,r.tgBoTitle,function(t){return e.attr("title",t)})},{link:t}},c=function(){var t;return t=function(t,e,r){return t.$watch(r.tgTitleHtml,function(t){if(null!=t)return e.attr("title",t)})},{link:t}},t=function(){var t;return t=function(t,e,r){return t.$watch(r.tgBindHtml,function(t){if(null!=t)return e.html(t)})},{link:t}},l=angular.module("taigaBase"),l.directive("tgBoBind",r),l.directive("tgBoHtml",i),l.directive("tgBoRef",o),l.directive("tgBoSrc",s),l.directive("tgBoHref",n),l.directive("tgBoAlt",e),l.directive("tgBoTitle",a),l.directive("tgBindTitle",c),l.directive("tgBindHtml",t)}.call(this),function(){var t,e;t=function(){function t(){this.config=window.taigaConfig}return t.prototype.get=function(t,e){return null==e&&(e=null),_.has(this.config,t)?this.config[t]:e},t}(),e=angular.module("taigaBase"),e.service("$tgConfig",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=angular.module("taigaBase"),t=function(t){function e(t,e,r,n,i,o,s){this.rootScope=t,this.scope=e,this.params=r,this.repo=n,this.rs=i,this.confirm=o,this.projectService=s,this.scope.currentPlugin=_.head(_.filter(this.rootScope.adminPlugins,{slug:this.params.plugin})),this.scope.projectSlug=this.params.pslug,this.loadInitialData()}return n(e,t),e.$inject=["$rootScope","$scope","$routeParams","$tgRepo","$tgResources","$tgConfirm","tgProjectService"],e.prototype.loadProject=function(){var t;return t=this.projectService.project.toJS(),this.scope.projectId=t.id,this.scope.project=t,this.scope.$emit("project:loaded",t),this.scope.$broadcast("project:loaded",t),t},e.prototype.loadInitialData=function(){return this.loadProject()},e}(taiga.Controller),r.controller("ContribController",t),e=function(t){function e(t,e,r){this.rootScope=t,this.scope=e,this.params=r,this.scope.currentPlugin=_.head(_.filter(this.rootScope.userSettingsPlugins,{slug:this.params.plugin}))}return n(e,t),e.$inject=["$rootScope","$scope","$routeParams"],e}(taiga.Controller),r.controller("ContribUserSettingsController",e)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function e(t,e){this.storage=t,this.params=e}return r(e,t),e.$inject=["$tgStorage","$routeParams"],e.prototype.generateHash=function(t){return null==t&&(t=[]),t=_.map(t,function(t){return JSON.stringify(t)}),hex_sha1(t.join(":"))},e}(e.Service)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,t=function(t){function e(t,r,n,i,o,s){this.http=t,this.q=r,this.storage=n,this.rootScope=i,this.cacheFactory=o,this.translate=s,e.__super__.constructor.call(this),this.cache=this.cacheFactory("httpget")}return n(e,t),e.$inject=["$http","$q","$tgStorage","$rootScope","$cacheFactory","$translate"],e.prototype.headers=function(){var t,e,r;return t={},r=this.storage.get("token"),r&&(t.Authorization="Bearer "+r),e=this.translate.preferredLanguage(),e&&(t["Accept-Language"]=e),t},e.prototype.request=function(t){return t.headers=_.assign({},t.headers||{},this.headers()),this.http(t)},e.prototype.get=function(t,e,r){return r=_.assign({method:"GET",url:t},r),e&&(r.params=e),r.cache=this.cache,this.request(r)["finally"](function(t){return function(e){return t.cache.removeAll()}}(this))},e.prototype.post=function(t,e,r,n){return n=_.assign({method:"POST",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype.put=function(t,e,r,n){return n=_.assign({method:"PUT",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype.patch=function(t,e,r,n){return n=_.assign({method:"PATCH",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e.prototype["delete"]=function(t,e,r,n){return n=_.assign({method:"DELETE",url:t},n),e&&(n.data=e),r&&(n.params=r),this.request(n)},e}(r.Service),e=angular.module("taigaBase"),e.service("$tgHttp",t)}.call(this),function(){var t,e;t=function(t,e,r){return t.noreload=function(r){var n,i;return n=e.current,i=r.$on("$locationChangeSuccess",function(){return e.current=n,i()}),t},t.isInCurrentRouteParams=function(e,r){var n;return n=t.search()||{},n[e]===r},t},e=angular.module("taigaBase"),e.factory("$tgLocation",["$location","$route","$rootScope",t])}.call(this),function(){var t,e,r,n,i,o=[].indexOf||function(t){for(var e=0,r=this.length;ef?(p=a.instant("PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED",{fileName:e.name,fileSize:r(e.size),maxFileSize:r(f)}),d={status:413,data:{_error_message:p}},l.reject(d),l.promise):(v=function(t){return function(t){var e,i;return i=Math.round(t.loaded/t.total*100),e=a.instant("PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE",{uploadedSize:r(t.loaded),totalSize:r(t.total)}),n("in-progress",null,e,i)}}(this),g=function(t){return function(t){return n("done",a.instant("PROJECT.IMPORT.TITLE"),a.instant("PROJECT.IMPORT.DESCRIPTION"))}}(this),m=function(t){return function(t){return n("error")}}(this),c=function(t){return function(t){var e;d={};try{d.data=JSON.parse(t.target.responseText)}catch(r){d.data={}}return d.status=t.target.status,t.target.getResponseHeader("Taiga-Info-Project-Is-Private")&&(d.headers={isPrivate:"True"===t.target.getResponseHeader("Taiga-Info-Project-Is-Private"),memberships:parseInt(t.target.getResponseHeader("Taiga-Info-Project-Memberships"))}),201!==(e=d.status)&&202!==e||l.resolve(d),l.reject(d)}}(this),h=function(t){return function(t){return l.reject("fail")}}(this),u=new FormData,u.append("dump",e),y=new XMLHttpRequest,y.upload.addEventListener("progress",v,!1),y.upload.addEventListener("load",g,!1),y.upload.addEventListener("error",m,!1),y.upload.addEventListener("abort",m,!1),y.addEventListener("load",c,!1),y.addEventListener("error",h,!1),y.open("POST",i.resolve("importer")),y.setRequestHeader("Authorization","Bearer "+o.getToken()),y.setRequestHeader("Accept","application/json"),y.send(u),l.promise)},c.changeLogo=function(e,o){var a,c,u,l,p,h;return u=t.get("maxUploadFileSize",null),u&&o.size>u?(p={status:413,data:{_error_message:"'"+o.name+"' ("+r(o.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(u)+")"}},c=s.defer(),c.reject(p),c.promise):(a=new FormData,a.append("logo",o),l={transformRequest:angular.identity,headers:{"Content-Type":void 0}},h=i.resolve("projects")+"/"+e+"/change_logo",n.post(h,a,{},l))},c.removeLogo=function(t){var e;return e=i.resolve("projects")+"/"+t+"/remove_logo",n.post(e)},function(t){return t.projects=c}},t=angular.module("taigaResources"),t.factory("$tgProjectsResourcesProvider",["$tgConfig","$tgRepo","$tgHttp","$tgUrls","$tgAuth","$q","$translate",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r){var n;return n={},n.get=function(e){return t.queryOne("roles",e)},n.list=function(e){return t.queryMany("roles",{project:e})},function(t){return t.roles=n}},t=angular.module("taigaResources"),t.factory("$tgRolesResourcesProvider",["$tgRepo","$tgHttp","$tgUrls",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r,n){var i;return i={},i["do"]=function(t,i){var o,s,a,c;return o=n.defer(),c=e.resolve("search"),s={url:c,method:"GET",timeout:o.promise,cancelable:!0,params:{project:t,text:i,get_all:!1}},a=r.request(s).then(function(t){return t.data}),a.abort=function(){return o.resolve()},a["finally"]=function(){return a.abort=angular.noop,o=a=null},a},function(t){return t.search=i}},t=angular.module("taigaResources"),t.factory("$tgSearchResourcesProvider",["$tgRepo","$tgUrls","$tgHttp","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,t=n.generateHash,r=function(t,e,r){var n;return n={},n.get=function(r,n){return t.queryOne("milestones",n).then(function(t){var r;return r=t.user_stories,r=_.map(r,function(t){return e.make_model("userstories",t)}),t._attrs.user_stories=r,t})},n.stats=function(e,r){return t.queryOneRaw("milestones",r+"/stats")},n.list=function(r,n){var i;return i={project:r},i=_.extend({},i,n||{}),t.queryMany("milestones",i,{},!0).then(function(t){return function(t){var r,n,i,o,s,a;for(s=t[0],r=t[1],n=0,i=s.length;nc?(l={status:413,data:{_error_message:"'"+e.name+"' ("+r(e.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(c)+")"}},a=o.defer(),a.reject(l),a.promise):(s=new FormData,s.append("avatar",e),u={transformRequest:angular.identity,headers:{"Content-Type":void 0}},p=i.resolve("users")+"/change_avatar",n.post(p,s,{},u))},s.removeAvatar=function(){var t;return t=i.resolve("users")+"/remove_avatar",n.post(t)},s.changePassword=function(t,e){var r,o;return o=i.resolve("users")+"/change_password",r={current_password:t,password:e},n.post(o,r)},function(t){return t.userSettings=s}},t=angular.module("taigaResources"),t.factory("$tgUserSettingsResourcesProvider",["$tgConfig","$tgRepo","$tgHttp","$tgUrls","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,r=this.taiga.sizeFormat,e=function(t,e){var r;return r={},r.contacts=function(r,n){var i,o;return null==n&&(n={}),o=e.resolve("user-contacts",r),i={headers:{}},n.enablePagination||(i.headers["x-disable-pagination"]="1"),t.get(o,{},i).then(function(t){return t.data})},function(t){return t.users=r}},t=angular.module("taigaResources"),t.factory("$tgUsersResourcesProvider",["$tgHttp","$tgUrls","$q",e])}.call(this),function(){var t,e,r,n;n=this.taiga,t=n.generateHash,r=function(e,r,n,i,o){var s,a;return a={},s="userstories-queryparams",a.get=function(t,r,n){var i;return i=a.getQueryParams(t),i.project=t,i=_.extend({},i,n),e.queryOne("userstories",r,i)},a.getByRef=function(t,r,n){var i;return null==n&&(n={}),i=a.getQueryParams(t),i.project=t,i.ref=r,i=_.extend({},i,n),e.queryOne("userstories","by_ref",i)},a.listInAllProjects=function(t){return e.queryMany("userstories",t)},a.filtersData=function(t){return e.queryOneRaw("userstories-filters",null,t)},a.listUnassigned=function(t,r,n){var i;return i={project:t,milestone:"null"},i=_.extend({},i,r||{}),a.storeQueryParams(t,i),e.queryMany("userstories",_.extend(i,{page_size:n}),{enablePagination:!0},!0)},a.listAll=function(t,r){var n;return n={project:t},n=_.extend({},n,r||{}),a.storeQueryParams(t,n),e.queryMany("userstories",n)},a.bulkCreate=function(t,e,i){var o,s;return o={project_id:t,status_id:e,bulk_stories:i},s=n.resolve("bulk-create-us"),r.post(s,o)},a.upvote=function(t){var e;return e=n.resolve("userstory-upvote",t),r.post(e)},a.downvote=function(t){var e;return e=n.resolve("userstory-downvote",t),r.post(e)},a.watch=function(t){var e;return e=n.resolve("userstory-watch",t),r.post(e)},a.unwatch=function(t){var e;return e=n.resolve("userstory-unwatch",t),r.post(e)},a.bulkUpdateBacklogOrder=function(t,e){var i,o;return o=n.resolve("bulk-update-us-backlog-order"),i={project_id:t,bulk_stories:e},r.post(o,i)},a.bulkUpdateMilestone=function(t,e,i){var o,s;return s=n.resolve("bulk-update-us-milestone"),o={project_id:t,milestone_id:e,bulk_stories:i},r.post(s,o)},a.bulkUpdateKanbanOrder=function(t,e,i){var o,s;return s=n.resolve("bulk-update-us-kanban-order"),o={project_id:t,status_id:e,bulk_stories:i},r.post(s,o)},a.listValues=function(t,r){var n;return n={project:t},a.storeQueryParams(t,n),e.queryMany(r,n)},a.storeQueryParams=function(e,r){var n,o;return o=e+":"+s,n=t([e,o]),i.set(n,r)},a.getQueryParams=function(e){var r,n;return n=e+":"+s,r=t([e,n]),i.get(r)||{}},a.storeShowTags=function(e,r){var n;return n=t([e,"showTags"]),i.set(n,r)},a.getShowTags=function(e){var r;return r=t([e,"showTags"]),i.get(r)||null},function(t){return t.userstories=a}},e=angular.module("taigaResources"),e.factory("$tgUserstoriesResourcesProvider",["$tgRepo","$tgHttp","$tgUrls","$tgStorage","$q",r])}.call(this),function(){var t,e;e=function(t,e,r){var n;return n={},n.list=function(e){var r;return r={webhook:e},t.queryMany("webhooklogs",r)},n.resend=function(t){var n;return n=e.resolve("webhooklogs-resend",t),r.post(n)},function(t){return t.webhooklogs=n}},t=angular.module("taigaResources"),t.factory("$tgWebhookLogsResourcesProvider",["$tgRepo","$tgUrls","$tgHttp",e])}.call(this),function(){var t,e;e=function(t,e,r){var n;return n={},n.list=function(e){var r;return r={project:e},t.queryMany("webhooks",r)},n.test=function(t){var n;return n=e.resolve("webhooks-test",t),r.post(n)},function(t){return t.webhooks=n}},t=angular.module("taigaResources"),t.factory("$tgWebhooksResourcesProvider",["$tgRepo","$tgUrls","$tgHttp",e])}.call(this),function(){var t,e,r;r=this.taiga,e=function(t,e,r){var n;return n={},n.get=function(e){return t.queryOne("wiki",e)},n.getBySlug=function(e,r){return t.queryOne("wiki","by_slug?project="+e+"&slug="+r)},n.list=function(e){return t.queryMany("wiki",{project:e})},n.listLinks=function(e){return t.queryMany("wiki-links",{project:e})},function(t){return t.wiki=n}},t=angular.module("taigaResources"),t.factory("$tgWikiResourcesProvider",["$tgRepo","$tgHttp","$tgUrls",e])}.call(this),function(){var t,e,r,n,i,o,s=function(t,e){ -function r(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty;o=this.taiga,n=this.taiga.mixOf,r=this.taiga.debounce,i=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.translate=l,this.scope.sectionName=this.translate.instant("CHANGE_PASSWORD.SECTION_NAME"),this.scope.user=this.auth.getUser()}return s(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","$translate"],e}(n(o.Controller,o.PageMixin)),i.controller("UserChangePasswordController",t),e=function(t,e,n,i){var o;return o=function(o,s,a,c){var u,l,p;return u=new checksley.Form(s.find("form")),l=r(2e3,function(r){return function(r){var s,a;if(r.preventDefault(),u.validate())return o.newPassword1!==o.newPassword2?void e.notify("error",i.instant("CHANGE_PASSWORD.ERROR_PASSWORD_MATCH")):(s=n().target(p).start(),a=t.userSettings.changePassword(o.currentPassword,o.newPassword1),a.then(function(){return s.finish(),e.notify("success")}),a.then(null,function(t){return s.finish(),e.notify("error",t.data._error_message)}))}}(this)),p=s.find(".submit-button"),s.on("submit","form",l),o.$on("$destroy",function(){return s.off()})},{link:o}},i.directive("tgUserChangePassword",["$tgResources","$tgConfirm","$tgLoading","$translate",e])}.call(this),function(){var t,e,r,n,i;i=this.taiga,e=this.taiga.bindOnce,r=this.taiga.debounce,n=angular.module("taigaUserSettings"),t=function(t,e,n,i,o,s,a){var c;return c=function(e,c,u){var l,p;return e.$on("deletelightbox:new",function(t,e){return s.open(c)}),e.$on("$destroy",function(){return c.off()}),l=function(){var r,u;return r=a().target(p).start(),u=t.remove(e.user),u.then(function(t){return r.finish(),s.close(c),n.logout(),i.path(o.resolve("login"))}),u.then(null,function(){return r.finish(),console.log("FAIL")})},c.on("click",".button-green",function(t){return t.preventDefault(),s.close(c)}),c.on("click",".button-red",r(2e3,function(t){return t.preventDefault(),l()})),p=c.find(".button-red")},{link:c,templateUrl:"user/lightbox/lightbox-delete-account.html"}},n.directive("tgLbDeleteUser",["$tgRepo","$rootScope","$tgAuth","$tgLocation","$tgNavUrls","lightboxService","$tgLoading",t])}.call(this),function(){var t,e,r,n,i,o,s,a=function(t,e){function r(){this.constructor=t}for(var n in e)c.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},c={}.hasOwnProperty;s=this.taiga,i=this.taiga.mixOf,n=this.taiga.bindOnce,o=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.errorHandlingService=l,this.scope.sectionName="USER_SETTINGS.NOTIFICATIONS.LIVE_SECTION_NAME",this.scope.user=this.auth.getUser(),p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return a(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","tgErrorHandlingService"],e.prototype.loadInitialData=function(){return this.rs.notifyPolicies.list().then(function(t){return function(e){return t.scope.notifyPolicies=e,e}}(this))},e}(i(s.Controller,s.PageMixin)),o.controller("UserLiveNotificationsController",t),e=function(){var t;return t=function(t,e,r){return t.$on("$destroy",function(){return e.off()})},{link:t}},o.directive("tgUserLiveNotifications",e),r=function(t,e,r){var i,o;return o=_.template('<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\n
<%- notifyPolicy.project_name %>
\n
\n
\n checked="checked"<% } %>/>\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n<% }) %>'),i=function(i,s,a){var c;return c=function(){var n,a;return s.off(),n={notifyPolicies:i.notifyPolicies},a=o(n),s.html(r(a)(i)),s.on("change","input[type=radio]",function(r){var n,o,s,a,c,u;return u=angular.element(r.currentTarget),a=u.parents(".policy-table-row").data("index"),s=i.notifyPolicies[a],c=s.live_notify_level,s.live_notify_level=parseInt(u.val(),10),o=function(){return e.notify("success")},n=function(){return e.notify("error"),u.parents(".policy-table-row").find("input[value="+c+"]").prop("checked",!0)},t.save(s).then(o,n)})},i.$on("$destroy",function(){return s.off()}),n(i,a.ngModel,c)},{link:i}},o.directive("tgUserLiveNotificationsList",["$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){var t,e,r,n,i,o,s,a,c,u=function(t,e){function r(){this.constructor=t}for(var n in e)l.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},l={}.hasOwnProperty;c=this.taiga,o=this.taiga.mixOf,a=this.taiga.sizeFormat,s=angular.module("taigaUserSettings"),i=this.taiga.debounce,n=function(t){function e(t,e,r,n,i,o,s,c,u,l,p,h,f,d){var g,m,v;this.scope=t,this.rootscope=e,this.config=r,this.repo=n,this.confirm=i,this.rs=o,this.params=s,this.q=c,this.location=u,this.navUrls=l,this.auth=p,this.translate=h,this.errorHandlingService=f,this.window=d,this.scope.sectionName="USER_SETTINGS.MENU.SECTION_TITLE",this.scope.project={},this.scope.user=this.auth.getUser(),this.scope.user||this.errorHandlingService.permissionDenied(),this.scope.lang=this.getLan(),this.scope.theme=this.getTheme(),g=this.config.get("maxUploadFileSize",null),g&&(v=this.translate.instant("USER_SETTINGS.AVATAR_MAX_SIZE",{maxFileSize:a(g)}),this.scope.maxFileSizeMsg=v),m=this.loadInitialData(),m.then(null,this.onInitialDataError.bind(this))}return u(e,t),e.$inject=["$scope","$rootScope","$tgConfig","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","$translate","tgErrorHandlingService","$window"],e.prototype.loadInitialData=function(){return this.scope.availableThemes=this.config.get("themes",[]),this.rs.locales.list().then(function(t){return function(e){return t.scope.locales=e,e}}(this))},e.prototype.openDeleteLightbox=function(){return this.rootscope.$broadcast("deletelightbox:new",this.scope.user)},e.prototype.getLan=function(){return this.scope.user.lang||this.translate.preferredLanguage()},e.prototype.getTheme=function(){return this.scope.user.theme||this.config.get("defaultTheme")||"taiga"},e.prototype.exportProfile=function(){var t,e;return e=function(t){var e;return e=t.data.url,this.window.open(e,"_blank")},t=function(t){return function(e){var r;if(null!=(r=e.data)?r._error_message:void 0)return t.confirm.notify("error",e.data._error_message)}}(this),this.auth.exportProfile().then(e,t)},e}(o(c.Controller,c.PageMixin)),s.controller("UserSettingsController",n),r=function(t,e,r,n){var o;return o=function(o,s,a){var c;return c=i(2e3,function(i){return function(i){var a,c,u,l;if(i.preventDefault(),c=s.find("form").checksley(),c.validate())return a=o.user.isAttributeModified("email"),o.user.lang=o.lang,o.user.theme=o.theme,l=function(r){var i;return e.setUser(r),a?(i=n.instant("USER_PROFILE.CHANGE_EMAIL_SUCCESS"),t.success(i)):t.notify("success")},u=function(e){return c.setErrors(e),t.notify("error",e._error_message)},r.save(o.user).then(l,u)}}(this)),s.on("submit","form",c),o.$on("$destroy",function(){return s.off()})},{link:o}},s.directive("tgUserProfile",["$tgConfirm","$tgAuth","$tgRepo","$translate",r]),e=function(t,e,r,n){var i;return i=function(i,o,s){var a,c,u;return u=function(){return o.find(".size-info").removeClass("hidden")},c=function(r){var s;return s=e.make_model("users",r.data),t.setUser(s),i.user=s,o.find(".loading-overlay").removeClass("active"),n.notify("success")},a=function(t){return 413===t.status&&u(),o.find(".loading-overlay").removeClass("active"),n.notify("error",t.data._error_message)},o.on("click",".js-change-avatar",function(){return o.find("#avatar-field").click()}),o.on("change","#avatar-field",function(t){if(i.avatarAttachment)return o.find(".loading-overlay").addClass("active"),r.userSettings.changeAvatar(i.avatarAttachment).then(c,a)}),o.on("click","a.js-use-gravatar",function(t){return o.find(".loading-overlay").addClass("active"),r.userSettings.removeAvatar().then(c,a)}),i.$on("$destroy",function(){return o.off()})},{link:i}},s.directive("tgUserAvatar",["$tgAuth","$tgModel","$tgResources","$tgConfirm",e]),t=function(t){var e;return e=function(e,r,n){var i,o;return i=t(n.tgAvatarModel),o=i.assign,r.bind("change",function(){return e.$apply(function(){return o(e,r[0].files[0])})})},{link:e}},s.directive("tgAvatarModel",["$parse",t])}.call(this),function(){var t,e;t=function(){var t;return t=function(t,e,r){var n;return n=r.tgUserSettingsNavigation,e.find(".active").removeClass("active"),e.find("#usersettingsmenu-"+n+" a").addClass("active"),t.$on("$destroy",function(){return e.off()})},{link:t}},e=angular.module("taigaUserSettings"),e.directive("tgUserSettingsNavigation",t)}.call(this),function(){var t,e,r,n,i,o,s,a=function(t,e){function r(){this.constructor=t}for(var n in e)c.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},c={}.hasOwnProperty;s=this.taiga,i=this.taiga.mixOf,n=this.taiga.bindOnce,o=angular.module("taigaUserSettings"),t=function(t){function e(t,e,r,n,i,o,s,a,c,u,l){var p;this.scope=t,this.rootscope=e,this.repo=r,this.confirm=n,this.rs=i,this.params=o,this.q=s,this.location=a,this.navUrls=c,this.auth=u,this.errorHandlingService=l,this.scope.sectionName="USER_SETTINGS.NOTIFICATIONS.SECTION_NAME",this.scope.user=this.auth.getUser(),p=this.loadInitialData(),p.then(null,this.onInitialDataError.bind(this))}return a(e,t),e.$inject=["$scope","$rootScope","$tgRepo","$tgConfirm","$tgResources","$routeParams","$q","$tgLocation","$tgNavUrls","$tgAuth","tgErrorHandlingService"],e.prototype.loadInitialData=function(){return this.rs.notifyPolicies.list().then(function(t){return function(e){return t.scope.notifyPolicies=e,e}}(this))},e}(i(s.Controller,s.PageMixin)),o.controller("UserNotificationsController",t),e=function(){var t;return t=function(t,e,r){return t.$on("$destroy",function(){return e.off()})},{link:t}},o.directive("tgUserNotifications",e),r=function(t,e,r){var i,o;return o=_.template('<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\n
<%- notifyPolicy.project_name %>
\n
\n
\n checked="checked"<% } %>/>\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n
\n checked="checked"<% } %> />\n \n
\n
\n
\n<% }) %>'),i=function(i,s,a){var c;return c=function(){var n,a;return s.off(),n={notifyPolicies:i.notifyPolicies},a=o(n),s.html(r(a)(i)),s.on("change","input[type=radio]",function(r){var n,o,s,a,c,u;return u=angular.element(r.currentTarget),a=u.parents(".policy-table-row").data("index"),s=i.notifyPolicies[a],c=s.notify_level,s.notify_level=parseInt(u.val(),10),o=function(){return e.notify("success")},n=function(){return e.notify("error"),u.parents(".policy-table-row").find("input[value="+c+"]").prop("checked",!0)},t.save(s).then(o,n)})},i.$on("$destroy",function(){return s.off()}),n(i,a.ngModel,c)},{link:i}},o.directive("tgUserNotificationsList",["$tgRepo","$tgConfirm","$compile",r])}.call(this),function(){angular.module("taigaComponents",[])}.call(this),function(){var t;t=angular.module("taigaDiscover",[])}.call(this),function(){var t;t=angular.module("taigaExternalApps",[])}.call(this),function(){angular.module("taigaHistory",[])}.call(this),function(){var t;t=angular.module("taigaHome",[])}.call(this),function(){angular.module("taigaNavigationBar",[])}.call(this),function(){var t;t=angular.module("taigaProfile",[])}.call(this),function(){angular.module("taigaProjects",[])}.call(this),function(){angular.module("taigaResources2",[])}.call(this),function(){angular.module("taigaUserTimeline",[])}.call(this),function(){var t;t=angular.module("taigaUtils",[])}.call(this),function(){angular.module("taigaWikiHistory",[])}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{templateUrl:"components/assigned-to/assigned-item/assigned-item.html",scope:{member:"="},link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedItem",t)}.call(this),function(){var t;t=function(){function t(){this.assigned&&this._getAssignedMember(),this._filterAssignedMember()}return t.$inject=[],t.prototype._getAssignedMember=function(){return this.assignedMember=_.filter(this.project.members,function(t){return function(e){return e.id===t.assigned.get("id")}}(this))},t.prototype._filterAssignedMember=function(){return this.assigned?this.nonAssignedMembers=_.filter(this.project.members,function(t){return function(e){return e.id!==t.assigned.get("id")}}(this)):this.nonAssignedMembers=this.project.members},t}(),angular.module("taigaComponents").controller("AssignedToSelectorCtrl",t)}.call(this),function(){var t;t=function(){return{controller:"AssignedToSelectorCtrl",controllerAs:"vm",bindToController:!0,templateUrl:"components/assigned-to/assigned-to-selector/assigned-to-selector.html",scope:{assigned:"=",project:"=",onRemoveAssigned:"&",onAssignTo:"&"}}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedToSelector",t)}.call(this),function(){var t;t=function(){function t(t,e){this.lightboxFactory=t,this.lightboxService=e,this.has_permissions=_.includes(this.project.my_permissions,"modify_epic")}return t.$inject=["tgLightboxFactory","lightboxService"],t.prototype._closeAndRemoveAssigned=function(){return this.lightboxService.closeAll(),this.onRemoveAssigned()},t.prototype._closeAndAssign=function(t){return this.lightboxService.closeAll(),this.onAssignTo({member:t})},t.prototype.onSelectAssignedTo=function(t,e){return this.lightboxFactory.create("tg-assigned-to-selector",{"class":"lightbox lightbox-assigned-to-selector open",assigned:"assigned",project:"project","on-remove-assigned":"onRemoveAssigned()","on-assign-to":"assignTo(member)"},{assigned:this.assignedTo,project:this.project,onRemoveAssigned:this._closeAndRemoveAssigned.bind(this),assignTo:this._closeAndAssign.bind(this)})},t}(),angular.module("taigaComponents").controller("AssignedToCtrl",t)}.call(this),function(){var t;t=function(){return{controller:"AssignedToCtrl",controllerAs:"vm",bindToController:!0,templateUrl:"components/assigned-to/assigned-to.html",scope:{assignedTo:"=",project:"=",onRemoveAssigned:"&",onAssignTo:"&"}}},t.$inject=[],angular.module("taigaComponents").directive("tgAssignedToComponent",t)}.call(this),function(){var t;t=function(t,e,r){var n;return n=function(n,i,o){var s;return s=t(o.tgAttachmentLink)(n),i.on("click",function(t){return taiga.isImage(s.getIn(["file","name"]))?(t.preventDefault(),n.$apply(function(){return r.open($("tg-attachments-preview")),e.fileId=s.getIn(["file","id"])})):taiga.isPdf(s.getIn(["file","name"]))?(t.preventDefault(),window.open(s.getIn(["file","url"]))):void 0}),n.$on("$destroy",function(){return i.off()})},{link:n}},t.$inject=["$parse","tgAttachmentsPreviewService","lightboxService"],angular.module("taigaComponents").directive("tgAttachmentLink",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachment:"=",onDelete:"&",onUpdate:"&",type:"="},controller:"Attachment",controllerAs:"vm",templateUrl:"components/attachment/attachment-gallery.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentGallery",t)}.call(this),function(){var t;t=function(){function t(t,e){this.attachmentsService=t,this.translate=e,this.form={},this.form.description=this.attachment.getIn(["file","description"]),this.form.is_deprecated=this.attachment.get(["file","is_deprecated"]),this.title=this.translate.instant("ATTACHMENT.TITLE",{fileName:this.attachment.get("name"),date:moment(this.attachment.get("created_date")).format(this.translate.instant("ATTACHMENT.DATE"))})}return t.$inject=["tgAttachmentsService","$translate"],t.prototype.editMode=function(t){var e;return e=this.attachment.set("editable",t),this.onUpdate({attachment:e})},t.prototype["delete"]=function(){return this.onDelete({attachment:this.attachment})},t.prototype.save=function(){var t;return t=this.attachment.set("loading",!0),this.onUpdate({attachment:t}),t=this.attachment.merge({editable:!1,loading:!1}),t=t.mergeIn(["file"],{description:this.form.description,is_deprecated:!!this.form.is_deprecated}),this.onUpdate({attachment:t})},t}(),angular.module("taigaComponents").controller("Attachment",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachment:"=",onDelete:"&",onUpdate:"&",type:"="},controller:"Attachment",controllerAs:"vm",templateUrl:"components/attachment/attachment.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachment",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i;return i=t(n.tgAttachmentsDrop),r.on("dragover",function(t){return t.preventDefault(),!1}),r.on("drop",function(t){var r;return t.stopPropagation(),t.preventDefault(),r=t.dataTransfer||t.originalEvent&&t.originalEvent.dataTransfer,e.$apply(function(){return i(e,{files:r.files})})}),e.$on("$destroy",function(){return r.off()})},{link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgAttachmentsDrop",t)}.call(this),function(){var t,e;e=this.taiga.sizeFormat,t=function(){function t(t,r,n,i,o,s,a){this.translate=t,this.confirm=r,this.config=n,this.storage=i,this.attachmentsFullService=o,this.projectService=s,this.attachmentsPreviewService=a,this.mode=this.storage.get("attachment-mode","list"),this.maxFileSize=this.config.get("maxUploadFileSize",null),this.maxFileSize&&(this.maxFileSize=e(this.maxFileSize)),this.maxFileSizeMsg=this.maxFileSize?this.translate.instant("ATTACHMENT.MAX_UPLOAD_SIZE",{maxFileSize:this.maxFileSize}):"",taiga.defineImmutableProperty(this,"attachments",function(t){return function(){return t.attachmentsFullService.attachments}}(this)),taiga.defineImmutableProperty(this,"deprecatedsCount",function(t){return function(){return t.attachmentsFullService.deprecatedsCount}}(this)),taiga.defineImmutableProperty(this,"attachmentsVisible",function(t){return function(){return t.attachmentsFullService.attachmentsVisible}}(this)),taiga.defineImmutableProperty(this,"deprecatedsVisible",function(t){return function(){return t.attachmentsFullService.deprecatedsVisible}}(this))}return t.$inject=["$translate","$tgConfirm","$tgConfig","$tgStorage","tgAttachmentsFullService","tgProjectService","tgAttachmentsPreviewService"],t.prototype.uploadingAttachments=function(){return this.attachmentsFullService.uploadingAttachments},t.prototype.addAttachment=function(t){var e;return e="list"===this.mode,this.attachmentsFullService.addAttachment(this.projectId,this.objId,this.type,t,e)},t.prototype.setMode=function(t){return this.mode=t,this.storage.set("attachment-mode",t)},t.prototype.toggleDeprecatedsVisible=function(){return this.attachmentsFullService.toggleDeprecatedsVisible()},t.prototype.addAttachments=function(t){return _.forEach(t,function(t){return function(e){return t.addAttachment(e)}}(this))},t.prototype.loadAttachments=function(){return this.attachmentsFullService.loadAttachments(this.type,this.objId,this.projectId)},t.prototype.deleteAttachment=function(t){var e,r;return this.attachmentsPreviewService.fileId=null,r=this.translate.instant("ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT"),e=this.translate.instant("ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT",{fileName:t.getIn(["file","name"])}),this.confirm.askOnDelete(r,e).then(function(r){return function(n){var i,o;return i=function(){return e=r.translate.instant("ATTACHMENT.ERROR_DELETE_ATTACHMENT",{errorMessage:e}),r.confirm.notify("error",null,e),n.finish(!1)},o=function(){return n.finish()},r.attachmentsFullService.deleteAttachment(t,r.type).then(o,i)}}(this))},t.prototype.reorderAttachment=function(t,e){return this.attachmentsFullService.reorderAttachment(this.type,t,e)},t.prototype.updateAttachment=function(t){return this.attachmentsFullService.updateAttachment(t,this.type)},t.prototype._isEditable=function(){return!!this.projectService.project&&this.projectService.hasPermission(this.editPermission)},t.prototype.showAttachments=function(){return this._isEditable()||this.attachmentsFullService.attachments.size},t}(),angular.module("taigaComponents").controller("AttachmentsFull",t)}.call(this),function(){var t,e;e=this.taiga.bindOnce,t=function(){var t;return t=function(t,r,n,i){return e(t,"vm.objId",function(t){return i.loadAttachments()})},{scope:{},bindToController:{type:"@",objId:"=",projectId:"=",editPermission:"@"},controller:"AttachmentsFull",controllerAs:"vm",templateUrl:"components/attachments-full/attachments-full.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentsFull",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.attachmentsService=t,this.rootScope=e,this._attachments=Immutable.List(),this._deprecatedsCount=0,this._attachmentsVisible=Immutable.List(),this._deprecatedsVisible=!1,this.uploadingAttachments=[],taiga.defineImmutableProperty(this,"attachments",function(t){return function(){return t._attachments}}(this)),taiga.defineImmutableProperty(this,"deprecatedsCount",function(t){return function(){return t._deprecatedsCount}}(this)),taiga.defineImmutableProperty(this,"attachmentsVisible",function(t){return function(){return t._attachmentsVisible}}(this)),taiga.defineImmutableProperty(this,"deprecatedsVisible",function(t){return function(){return t._deprecatedsVisible}}(this))}return e(r,t),r.$inject=["tgAttachmentsService","$rootScope"],r.prototype.toggleDeprecatedsVisible=function(){return this._deprecatedsVisible=!this._deprecatedsVisible,this.regenerate()},r.prototype.regenerate=function(){return this._deprecatedsCount=this._attachments.count(function(t){return t.getIn(["file","is_deprecated"])}),this._deprecatedsVisible?this._attachmentsVisible=this._attachments:this._attachmentsVisible=this._attachments.filter(function(t){return!t.getIn(["file","is_deprecated"])})},r.prototype.addAttachment=function(t,e,r,n,i,o){return null==i&&(i=!0),null==o&&(o=!1),new Promise(function(s){return function(a,c){var u;return s.attachmentsService.validate(n)?(s.uploadingAttachments.push(n),u=s.attachmentsService.upload(n,e,t,r,o),u.then(function(t){var e;return s.uploadingAttachments=s.uploadingAttachments.filter(function(e){return e.name!==t.get("name")}),e=Immutable.Map(),e=e.merge({file:t,editable:i,loading:!1,from_comment:o}),s._attachments=s._attachments.push(e),s.regenerate(),s.rootScope.$broadcast("attachment:create"),a(e)})):c(new Error(n))}}(this))},r.prototype.loadAttachments=function(t,e,r){return this.attachmentsService.list(t,e,r).then(function(t){return function(e){return t._attachments=e.map(function(t){var e;return e=Immutable.Map(),e.merge({loading:!1,editable:!1,file:t})}),t.regenerate()}}(this))},r.prototype.deleteAttachment=function(t,e){var r;return r=function(e){return function(){return e._attachments=e._attachments.filter(function(e){return e!==t}),e.regenerate()}}(this),this.attachmentsService["delete"](e,t.getIn(["file","id"])).then(r)},r.prototype.reorderAttachment=function(t,e,r){var n,i,o;if(i=this.attachments.findIndex(function(t){return t===e}),i!==r)return n=this.attachments.remove(i),n=n.splice(r,0,e),n=n.map(function(t,e){return t.setIn(["file","order"],e+1)}),o=[],n.forEach(function(e){return function(r){var n;return n={order:r.getIn(["file","order"])},o.push(e.attachmentsService.patch(r.getIn(["file","id"]),t,n))}}(this)),Promise.all(o).then(function(t){return function(){return t._attachments=n,t.regenerate()}}(this))},r.prototype.updateAttachment=function(t,e){var r,n,i;return r=this._attachments.findIndex(function(e){return e.getIn(["file","id"])===t.getIn(["file","id"])}),n=this._attachments.get(r),i=taiga.patch(n.get("file"),t.get("file")),t.get("loading")?(this._attachments=this._attachments.set(r,t),this.regenerate()):this.attachmentsService.patch(t.getIn(["file","id"]),e,i).then(function(e){return function(){return e._attachments=e._attachments.set(r,t),e.regenerate()}}(this))},r}(taiga.Service),angular.module("taigaComponents").service("tgAttachmentsFullService",t)}.call(this),function(){var t;t=function(){function t(t){this.attachmentsPreviewService=t,taiga.defineImmutableProperty(this,"current",function(t){return function(){return t.attachmentsPreviewService.fileId?t.getCurrent():null}}(this))}return t.$inject=["tgAttachmentsPreviewService"],t.prototype.hasPagination=function(){var t;return t=this.attachments.filter(function(t){return function(t){return taiga.isImage(t.getIn(["file","name"]))}}(this)),t.size>1},t.prototype.getCurrent=function(){var t,e;return t=this.attachments.find(function(t){return function(e){return t.attachmentsPreviewService.fileId===e.getIn(["file","id"])}}(this)),e=t.get("file")},t.prototype.getIndex=function(){return this.attachments.findIndex(function(t){return function(e){return t.attachmentsPreviewService.fileId===e.getIn(["file","id"])}}(this))},t.prototype.next=function(){var t,e;return t=this.getIndex(),e=this.attachments.slice(t+1).find(function(t){return taiga.isImage(t.getIn(["file","name"]))}),e||(e=this.attachments.find(function(t){return taiga.isImage(t.getIn(["file","name"]))})),this.attachmentsPreviewService.fileId=e.getIn(["file","id"])},t.prototype.previous=function(){var t,e;return t=this.getIndex(),e=this.attachments.slice(0,t).findLast(function(t){return taiga.isImage(t.getIn(["file","name"]))}),e||(e=this.attachments.findLast(function(t){return taiga.isImage(t.getIn(["file","name"]))})),this.attachmentsPreviewService.fileId=e.getIn(["file","id"])},t}(),angular.module("taigaComponents").controller("AttachmentsPreview",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){return $(document.body).on("keydown.image-preview",function(r){return e.fileId&&(39===r.keyCode?i.next():37===r.keyCode&&i.previous()),t.$digest()}),t.$on("$destroy",function(){return $(document.body).off(".image-preview")})},{scope:{},controller:"AttachmentsPreview",templateUrl:"components/attachments-preview/attachments-preview.html",link:r,controllerAs:"vm",bindToController:{attachments:"="}}},angular.module("taigaComponents").directive("tgAttachmentsPreview",["lightboxService","tgAttachmentsPreviewService",t])}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){}return e(r,t),r.$inject=[],r}(taiga.Service),angular.module("taigaComponents").service("tgAttachmentsPreviewService",t)}.call(this),function(){var t;t=function(){function t(t){this.attachmentsService=t}return t.$inject=["tgAttachmentsService"],t.prototype.addAttachment=function(t){var e;if(e=Immutable.fromJS({file:t,name:t.name,size:t.size}),this.attachmentsService.validate(t)&&(this.attachments=this.attachments.push(e),this.onAdd))return this.onAdd({attachment:e})},t.prototype.addAttachments=function(t){return _.forEach(t,this.addAttachment.bind(this))},t.prototype.deleteAttachment=function(t){if(this.attachments=this.attachments.filter(function(e){return e!==t}),this.onDelete)return this.onDelete({attachment:t})},t}(),angular.module("taigaComponents").controller("AttachmentsSimple",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{scope:{},bindToController:{attachments:"=",onAdd:"&",onDelete:"&"},controller:"AttachmentsSimple",controllerAs:"vm",templateUrl:"components/attachments-simple/attachments-simple.html",link:t}},t.$inject=[],angular.module("taigaComponents").directive("tgAttachmentsSimple",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o,s;return i=t(n.tgAttachmentsSortable),o=dragula([r[0]],{copySortSource:!1,copy:!1,mirrorContainer:r[0],moves:function(t){return $(t).is("div[tg-bind-scope]")}}),o.on("dragend",function(t){var r,n;return t=$(t),r=t.scope().attachment,n=t.index(),e.$apply(function(){return i(e,{attachment:r,index:n})})}),s=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&o.dragging}}),e.$on("$destroy",function(){return r.off(),o.destroy()})},{link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgAttachmentsSortable",t)}.call(this),function(){var t;t=function(t){return{link:function(e,r){return t(function(){return r[0].select()})}}},t.$inject=["$timeout"],angular.module("taigaComponents").directive("tgAutoSelect",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i;return i=n.tgAvatarBig?"avatarBig":"avatar",e.$watch(i,function(e){var n;return n=t.getAvatar(e,i),r.attr("src",n.url),r.css("background",n.bg||"")})},{link:e,scope:{avatar:"=tgAvatar",avatarBig:"=tgAvatarBig"}}},t.$inject=["tgAvatarService"],angular.module("taigaComponents").directive("tgAvatar",t),angular.module("taigaComponents").directive("tgAvatarBig",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){var t,e;return t=function(t,e,r){ -return t.$watch("epics",function(e){if(e&&!e.isIterable)return t.immutable_epics=Immutable.fromJS(e)})},e=function(t,e){return e.format?"components/belong-to-epics/belong-to-epics-"+e.format+".html":"components/belong-to-epics/belong-to-epics-pill.html"},{link:t,scope:{epics:"="},templateUrl:e}},e.directive("tgBelongToEpics",t)}.call(this),function(){var t;t=function(t,e,r,n,i){return{restrict:"A",compile:function(o,s){var a,c;return a=e(s.tgBindCode),c=e(s.tgBindCode,function(t){return(t||"").toString()}),r.$$addBindingClass(o),function(e,o,s){return r.$$addBindingInfo(o,s.tgBindCode),e.$watch(c,function(){var r;return r=n.getHTML(a(e)),o.html(t.getTrustedHtml(r)||""),i.addHightlighter(o)})}}}},angular.module("taigaComponents").directive("tgBindCode",["$sce","$parse","$compile","tgWysiwygService","tgWysiwygCodeHightlighterService",t])}.call(this),function(){var t;t=function(){return{scope:{levels:"=",value:"="},templateUrl:"components/board-zoom/board-zoom.html"}},angular.module("taigaComponents").directive("tgBoardZoom",[t])}.call(this),function(){var t;t=function(){function t(){this.index=0}return t.$inject=[],t.prototype.next=function(){if(this.index++,this.index>=this.images.size)return this.index=0},t.prototype.previous=function(){if(this.index--,this.index<0)return this.index=this.images.size-1},t}(),angular.module("taigaComponents").controller("CardSlideshow",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(){return{controller:"CardSlideshow",templateUrl:"components/card-slideshow/card-slideshow.html",bindToController:!0,controllerAs:"vm",scope:{images:"="}}},e.directive("tgCardSlideshow",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.visible=function(t){return this.zoom.indexOf(t)!==-1},t.prototype.hasTasks=function(){var t;return t=this.item.getIn(["model","tasks"]),t&&t.size>0},t.prototype.hasMultipleAssignedUsers=function(){var t;return t=this.item.getIn(["model","assigned_users"]),t&&t.size>1},t.prototype.hasVisibleAttachments=function(){return this.item.get("images").size>0},t.prototype.toggleFold=function(){return this.onToggleFold({id:this.item.get("id")})},t.prototype.getClosedTasks=function(){return this.item.getIn(["model","tasks"]).filter(function(t){return t.get("is_closed")})},t.prototype.closedTasksPercent=function(){return 100*this.getClosedTasks().size/this.item.getIn(["model","tasks"]).size},t.prototype.getModifyPermisionKey=function(){return"task"===this.type?"modify_task":"modify_us"},t.prototype.getDeletePermisionKey=function(){return"task"===this.type?"delete_task":"delete_us"},t.prototype._setVisibility=function(){var t;return t={related:this.visible("related_tasks"),slides:this.visible("attachments")},_.isUndefined(this.item.get("foldStatusChanged"))||(this.visible("related_tasks")&&this.visible("attachments")?(t.related=!this.item.get("foldStatusChanged"),t.slides=!this.item.get("foldStatusChanged")):this.visible("attachments")?(t.related=this.item.get("foldStatusChanged"),t.slides=this.item.get("foldStatusChanged")):this.visible("related_tasks")||this.visible("attachments")||(t.related=this.item.get("foldStatusChanged"),t.slides=this.item.get("foldStatusChanged"))),this.item.getIn(["model","tasks"])&&this.item.getIn(["model","tasks"]).size||(t.related=!1),this.item.get("images")&&this.item.get("images").size||(t.slides=!1),t},t.prototype.isRelatedTasksVisible=function(){var t;return t=this._setVisibility(),t.related},t.prototype.isSlideshowVisible=function(){var t;return t=this._setVisibility(),t.slides},t.prototype.getNavKey=function(){return"task"===this.type?"project-tasks-detail":"project-userstories-detail"},t}(),angular.module("taigaComponents").controller("Card",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(){return{link:function(t){},controller:"Card",controllerAs:"vm",bindToController:!0,templateUrl:"components/card/card.html",scope:{onToggleFold:"&",onClickAssignedTo:"&",onClickEdit:"&",onClickDelete:"&",project:"=",item:"=",zoom:"=",zoomLevel:"=",archived:"=",type:"@"}}},e.directive("tgCard",t)}.call(this),function(){var t;t=function(){return{link:function(t,e){return e.on("click",function(t){var r;if(!$(t.target).is("input"))return t.preventDefault(),r=e.find('input[type="file"]'),r.val(""),r.trigger("click")}),t.$on("$destroy",function(){return e.off()})}}},angular.module("taigaComponents").directive("tgClickInputFile",[t])}.call(this),function(){var t,e,r;r=this.taiga,e=r.getDefaulColorList,t=function(){function t(t){this.projectService=t,this.colorList=e(),this.checkIsColorRequired(),this.displayColorList=!1}return t.$inject=["tgProjectService"],t.prototype.userCanChangeColor=function(){return!this.requiredPerm||this.projectService.hasPermission(this.requiredPerm)},t.prototype.checkIsColorRequired=function(){if(!this.isColorRequired)return this.colorList=_.dropRight(this.colorList)},t.prototype.setColor=function(t){return this.color=t,this.customColor=t},t.prototype.resetColor=function(){if(this.isColorRequired&&!this.color)return this.color=this.initColor},t.prototype.toggleColorList=function(){return this.displayColorList=!this.displayColorList,this.customColor=this.color,this.resetColor()},t.prototype.onSelectDropdownColor=function(t){return this.color=t,this.onSelectColor({color:t}),this.toggleColorList()},t.prototype.onKeyDown=function(t){if(13===t.which)return!this.customColor&&this.isColorRequired||this.onSelectDropdownColor(this.customColor),t.preventDefault()},t}(),angular.module("taigaComponents").controller("ColorSelectorCtrl",t)}.call(this),function(){var t,e;e=this.taiga.bindOnce,t=function(t){var e;return e=function(e,r,n,i){var o,s,a;return o=null,s=function(){return t.cancel(o),o=null},a=function(){if(!o)return o=t(function(){return i.displayColorList=!1,i.resetColor()},400)},r.find(".color-selector").mouseenter(s).mouseleave(a),r.find(".color-selector-dropdown").mouseenter(s).mouseleave(a),e.$watch("vm.initColor",function(t){return i.setColor(t)})},{link:e,templateUrl:"components/color-selector/color-selector.html",controller:"ColorSelectorCtrl",controllerAs:"vm",bindToController:{isColorRequired:"=",onSelectColor:"&",initColor:"=",requiredPerm:"@"},scope:{}}},t.$inject=["$timeout"],angular.module("taigaComponents").directive("tgColorSelector",t)}.call(this),function(){var t,e;e=angular.module("taigaUserStories"),t=function(){function t(t,e,r,n,i){this.rootScope=t,this.confirm=e,this.modelTransform=r,this.navUrls=n,this.window=i,this.editMode=!1,this.loadingSubject=!1,this.originalSubject=this.item.subject}return t.$inject=["$rootScope","$tgConfirm","$tgQueueModelTransformation","$tgNavUrls","$window"],t.prototype._checkNav=function(){var t,e,r;if(null!=(null!=(e=this.item.neighbors.previous)?e.ref:void 0)&&(t={project:this.project.slug,ref:this.item.neighbors.previous.ref},this.previousUrl=this.navUrls.resolve("project-"+this.item._name+"-detail",t)),null!=(null!=(r=this.item.neighbors.next)?r.ref:void 0))return t={project:this.project.slug,ref:this.item.neighbors.next.ref},this.nextUrl=this.navUrls.resolve("project-"+this.item._name+"-detail",t)},t.prototype._checkPermissions=function(){return this.permissions={canEdit:_.includes(this.project.my_permissions,this.requiredPerm)}},t.prototype.editSubject=function(t){var e;if(e=this.window.getSelection(),"Range"!==e.type&&(t&&(this.editMode=!0),!t))return this.editMode=!1},t.prototype.onKeyDown=function(t){if(13===t.which&&this.saveSubject(),27===t.which)return this.item.subject=this.originalSubject,this.editSubject(!1)},t.prototype.saveSubject=function(){var t,e,r,n;return r=function(t){return function(){return t.loadingSubject=!1,t.rootScope.$broadcast("object:updated"),t.confirm.notify("success"),t.originalSubject=t.item.subject}}(this),e=function(t){return function(){return t.loadingSubject=!1,t.confirm.notify("error")}}(this),this.editMode=!1,this.loadingSubject=!0,t=this.item,n=this.modelTransform.save(function(t){return t}),n.then(r,e)},t}(),e.controller("StoryHeaderCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaUserStories"),t=function(){var t;return this.$inject=[],t=function(t,e,r,n){return n._checkPermissions(),n._checkNav()},{link:t,controller:"StoryHeaderCtrl",bindToController:!0,scope:{item:"=",project:"=",requiredPerm:"@"},controllerAs:"vm",templateUrl:"components/detail/header/detail-header.html"}},e.directive("tgDetailHeader",t)}.call(this),function(){var t;t=function(){function t(t,e){this.translate=t,this.tgLightboxFactory=e}return t.$inject=["$translate","tgLightboxFactory"],t.prototype.visible=function(){return"button"===this.format||null!=this.dueDate},t.prototype.disabled=function(){return this.isClosed},t.prototype.color=function(){var t;return t={no_longer_applicable:"closed",due_soon:"due-soon",past_due:"past-due",set:"due-set"},t[this.dueDateStatus]||""},t.prototype.title=function(){return"button"===this.format?this.dueDate?this._formatTitle():"Edit due date":this._formatTitle()},t.prototype._formatTitle=function(){var t,e,r,n;return t="closed",n={no_longer_applicable:"COMMON.DUE_DATE.NO_LONGER_APPLICABLE",due_soon:"COMMON.DUE_DATE.DUE_SOON",past_due:"COMMON.DUE_DATE.PAST_DUE"},r=this.translate.instant("COMMON.PICKERDATE.FORMAT"),e=moment(this.dueDate).format(r),n[this.dueDateStatus]?e+" ("+this.translate.instant(n[this.dueDateStatus])+")":e},t.prototype.setDueDate=function(){if(!this.disabled())return this.tgLightboxFactory.create("tg-lb-set-due-date",{"class":"lightbox lightbox-set-due-date"},{object:this.item})},t}(),angular.module("taigaComponents").controller("DueDate",t)}.call(this),function(){var t,e;e=angular.module("taigaComponents"),t=function(){var t;return t=function(t,e){return e.format?"components/due-date/due-date-"+e.format+".html":"components/due-date/due-date-icon.html"},{link:function(t){},controller:"DueDate",controllerAs:"vm",bindToController:!0,templateUrl:t,scope:{dueDate:"=",dueDateStatus:"=",isClosed:"=",item:"=",format:"@"}}},e.directive("tgDueDate",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){var o;return o=t(n.tgFileChange),r.on("change",function(t){return e.$apply(function(){return o(e,{files:t.currentTarget.files})})}),e.$on("$destroy",function(){return r.off()})},{restrict:"A",link:e}},t.$inject=["$parse"],angular.module("taigaComponents").directive("tgFileChange",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=taiga.generateHash,t=function(t){function n(t,e,r){this.q=t,this.urls=e,this.http=r}return r(n,t),n.$inject=["$q","$tgUrls","$tgHttp"],n.prototype.storeFilters=function(t,r,n){var i,o,s,a,c;return i=this.q.defer(),c=this.urls.resolve("user-storage"),s=t+":"+n,o=e([t,s]),_.isEmpty(r)?(a=this.http["delete"](c+"/"+o,{key:o,value:r}),a.then(function(){return i.resolve()}),a.then(null,function(){return i.reject()})):(a=this.http.put(c+"/"+o,{key:o,value:r}),a.then(function(t){return i.resolve()}),a.then(null,function(t){return function(e){var n;return n=t.http.post(""+c,{key:o,value:r}),n.then(function(){return i.resolve()}),n.then(null,function(){return i.reject()})}}(this))),i.promise},n.prototype.getFilters=function(t,r){var n,i,o,s,a;return n=this.q.defer(),a=this.urls.resolve("user-storage"),o=t+":"+r,i=e([t,o]),s=this.http.get(a+"/"+i),s.then(function(t){return n.resolve(t.data.value)}),s.then(null,function(t){return n.resolve({})}),n.promise},n}(taiga.Service),angular.module("taigaComponents").service("tgFilterRemoteStorageService",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=$("tg-filter"),t.$watch(r.ngIf,function(t){var r,n;if(t)return i.find(".filter-list").hide(),n=i.height(),r=0,i.children().each(function(){return r+=$(this).outerHeight(!0)}),$(e.context.nextSibling).css({"max-height":n-r,display:"block"})})},{priority:900,link:t}},angular.module("taigaComponents").directive("tgFilterSlideDown",[t])}.call(this),function(){var t;t=function(){function t(){this.opened=null,this.customFilterForm=!1,this.customFilterName=""}return t.$inject=[],t.prototype.toggleFilterCategory=function(t){return this.opened===t?this.opened=null:this.opened=t},t.prototype.isOpen=function(t){return this.opened===t},t.prototype.saveCustomFilter=function(){return this.onSaveCustomFilter({name:this.customFilterName}),this.customFilterForm=!1,this.opened="custom-filter",this.customFilterName=""},t.prototype.changeQ=function(){return this.onChangeQ({q:this.q})},t.prototype.unselectFilter=function(t){return this.onRemoveFilter({filter:t})},t.prototype.unselectFilter=function(t){return this.onRemoveFilter({filter:t})},t.prototype.selectFilter=function(t,e){return e={category:t,filter:e},this.onAddFilter({filter:e})},t.prototype.removeCustomFilter=function(t){return this.onRemoveCustomFilter({filter:t})},t.prototype.selectCustomFilter=function(t){return this.onSelectCustomFilter({filter:t})},t.prototype.isFilterSelected=function(t,e){return!!_.find(this.selectedFilters,function(r){return e.id===r.id&&t.dataType===r.dataType})},t}(),angular.module("taigaComponents").controller("Filter",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=t.$watch("vm.defaultQ",function(e){return e&&!t.vm.filtersForm.$dirty?(t.vm.q=e,i()):t.vm.filtersForm.$dirty?i():void 0}),r.$observe("open",function(r){return r=t.$eval(r),r?e.addClass("open"):e.removeClass("open")})},{scope:{onChangeQ:"&",onAddFilter:"&",onSelectCustomFilter:"&",onRemoveFilter:"&",onRemoveCustomFilter:"&",onSaveCustomFilter:"&",customFilters:"<",defaultQ:"=q",filters:"<",customFilters:"<",selectedFilters:"<"},bindToController:!0,controller:"Filter",controllerAs:"vm",templateUrl:"components/filter/filter.html",link:t}},angular.module("taigaComponents").directive("tgFilter",[t])}.call(this),function(){var t,e;e=this.taiga,t=function(t,e,r,n,i){var o;return o=function(n,o,s,a){var c,u,l;return l=null,u=introJs(),u.oncomplete(function(){return $("html,body").scrollTop(0)}),u.onexit(function(){return e.disableJoyRide()}),c=function(t,e){if(e[t.joyride])return u.setOptions({exitOnEsc:!1,exitOnOverlayClick:!1,showStepNumbers:!1,nextLabel:i.instant("JOYRIDE.NAV.NEXT")+" →",prevLabel:"← "+i.instant("JOYRIDE.NAV.BACK"),skipLabel:i.instant("JOYRIDE.NAV.SKIP"),doneLabel:i.instant("JOYRIDE.NAV.DONE"),disableInteraction:!0}),u.setOption("steps",r.get(t.joyride)),u.start()},t.$on("$routeChangeSuccess",function(r,n){return n.joyride&&e.isAuthenticated()?(u.oncomplete(function(){return e.disableJoyRide(n.joyride)}),n.loader?l=t.$on("loader:end",function(){return e.loadJoyRideConfig().then(function(t){return c(n,t)}),l()}):e.loadJoyRideConfig().then(function(t){return c(n,t)})):(u.exit(),void(l&&l()))})},{scope:{},link:o}},t.$inject=["$rootScope","tgCurrentUserService","tgJoyRideService","$location","$translate"],angular.module("taigaComponents").directive("tgJoyRide",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.translate=t,this.checkPermissionsService=e}return e(r,t),r.$inject=["$translate","tgCheckPermissionsService"],r.prototype.getConfig=function(){return{dashboard:function(t){return function(){var e;return e=[{element:".project-list > section:not(.ng-hide)",position:"left",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP1.TITLE"),text:t.translate.instant("JOYRIDE.DASHBOARD.STEP1.TEXT")}},{element:".working-on-container",position:"right",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.DASHBOARD.STEP2.TEXT")}},{element:".watching-container",position:"right",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TITLE"),text:[t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TEXT1"),t.translate.instant("JOYRIDE.DASHBOARD.STEP3.TEXT2")]}}],$(".project-list .create-project-button").is(":hidden")||e.push({element:".project-list .create-project-button",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TITLE"),text:[t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TEXT1"),t.translate.instant("JOYRIDE.DASHBOARD.STEP4.TEXT2")]}}),e}}(this),backlog:function(t){return function(){var e;return e=[{element:".summary",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP1.TITLE"),text:[t.translate.instant("JOYRIDE.BACKLOG.STEP1.TEXT1"),t.translate.instant("JOYRIDE.BACKLOG.STEP1.TEXT2")]}},{element:".backlog-table-empty",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP2.TEXT")}},{element:".sprints",position:"left",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP3.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP3.TEXT")}}],t.checkPermissionsService.check("add_us")&&e.push({element:".new-us",position:"rigth",joyride:{title:t.translate.instant("JOYRIDE.BACKLOG.STEP4.TITLE"),text:t.translate.instant("JOYRIDE.BACKLOG.STEP4.TEXT")}}),e}}(this),kanban:function(t){return function(){var e;return e=[{element:".kanban-table-inner",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP1.TITLE"),text:t.translate.instant("JOYRIDE.KANBAN.STEP1.TEXT")}},{element:".card-placeholder",position:"right",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP2.TITLE"),text:t.translate.instant("JOYRIDE.KANBAN.STEP2.TEXT")}}],t.checkPermissionsService.check("add_us")&&e.push({element:".add-action",position:"bottom",joyride:{title:t.translate.instant("JOYRIDE.KANBAN.STEP3.TITLE"),text:[t.translate.instant("JOYRIDE.KANBAN.STEP3.TEXT1"),t.translate.instant("JOYRIDE.KANBAN.STEP3.TEXT2")]}}),e}}(this)}},r.prototype.get=function(t){var e,r;return r=this.getConfig(),e=r[t].call(this),_.map(e,function(t){var e;return e="",t.joyride.title&&(e+="

"+t.joyride.title+"

"),_.isArray(t.joyride.text)?_.forEach(t.joyride.text,function(t){return e+="

"+t+"

"}):e+="

"+t.joyride.text+"

",t.intro=e,t})},r}(taiga.Service),angular.module("taigaComponents").service("tgJoyRideService",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i,o){var s,a,c;return r.zoomIndex=t.get("kanban_zoom")||2,r.levels=5,c=[["ref"],["subject"],["owner","tags","extra_info","unfold"],["attachments"],["related_tasks","empty_extra_info"]],s=function(e){return null==e&&(e=0),t.get("kanban_zoom")!==e&&t.set("kanban_zoom",e),_.reduce(c,function(t,r,n){return n<=e&&(t=t.concat(r)),t})},r.$watch("zoomIndex",function(t){var e;return e=s(t),r.onZoomChange({zoomLevel:t,zoom:e})}),a=r.$watch(function(){return e.project},function(t){if(t)return t.get("my_permissions").indexOf("view_tasks")===-1&&(r.levels=4),a()})},{scope:{onZoomChange:"&"},template:'',link:r}},angular.module("taigaComponents").directive("tgKanbanBoardZoom",["$tgStorage","tgProjectService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(t,e,r){},{restrict:"AE",scope:{},controllerAs:"vm",controller:function(){return this.close=function(){return t.open=!1},Object.defineProperties(this,{open:{get:function(){return t.open}},title:{get:function(){return t.title}},desc:{get:function(){return t.desc}}})},link:e,templateUrl:"components/live-announcement/live-announcement.html"}},t.$inject=["tgLiveAnnouncementService"],angular.module("taigaComponents").directive("tgLiveAnnouncement",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){this.open=!1,this.title="",this.desc=""}return e(r,t),r.prototype.show=function(t,e){return this.open=!0,this.title=t,this.desc=e},r}(taiga.Service),angular.module("taigaComponents").service("tgLiveAnnouncementService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.$watch("project",function(e){var n,i;if(e=Immutable.fromJS(e))return i=e.get("logo_big_url"),i?(r.attr("src",i),r.css("background","")):(n=t.getDefaultProjectLogo(e.get("slug"),e.get("id")),r.attr("src",n.src),r.css("background",n.color))})},{link:e,scope:{project:"=tgProjectLogoBigSrc"}}},t.$inject=["tgProjectLogoService"],angular.module("taigaComponents").directive("tgProjectLogoBigSrc",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.$watch("project",function(e){var n,i;if(e=Immutable.fromJS(e))return i=e.get("logo_small_url"),i?(r.attr("src",i),r.css("background","")):(n=t.getDefaultProjectLogo(e.get("slug"),e.get("id")),r.attr("src",n.src),r.css("background",n.color))})},{link:e,scope:{project:"=tgProjectLogoSmallSrc"}}},t.$inject=["tgProjectLogoService"],angular.module("taigaComponents").directive("tgProjectLogoSmallSrc",t)}.call(this),function(){var t;t=function(){function t(t,e){this.projectService=t,this.lightboxFactory=e,this.project=null,this.menu=Immutable.Map()}return t.$inject=["tgProjectService","tgLightboxFactory"],t.prototype.show=function(){return this.project=this.projectService.project,this.active=this._getActiveSection(),this._setVideoConference(),this._setMenuPermissions()},t.prototype.hide=function(){return this.project=null,this.menu={}},t.prototype.search=function(){return this.lightboxFactory.create("tg-search-box",{"class":"lightbox lightbox-search"})},t.prototype._setVideoConference=function(){var t;if(t=this._videoConferenceUrl())return this.project=this.project.set("videoconferenceUrl",t)},t.prototype._setMenuPermissions=function(){if(this.menu=Immutable.Map({epics:!1,backlog:!1,kanban:!1,issues:!1,wiki:!1}),this.project.get("is_epics_activated")&&this.project.get("my_permissions").indexOf("view_epics")!==-1&&(this.menu=this.menu.set("epics",!0)),this.project.get("is_backlog_activated")&&this.project.get("my_permissions").indexOf("view_us")!==-1&&(this.menu=this.menu.set("backlog",!0)),this.project.get("is_kanban_activated")&&this.project.get("my_permissions").indexOf("view_us")!==-1&&(this.menu=this.menu.set("kanban",!0)),this.project.get("is_issues_activated")&&this.project.get("my_permissions").indexOf("view_issues")!==-1&&(this.menu=this.menu.set("issues",!0)),this.project.get("is_wiki_activated")&&this.project.get("my_permissions").indexOf("view_wiki_pages")!==-1)return this.menu=this.menu.set("wiki",!0)},t.prototype._getActiveSection=function(){var t,e,r,n,i;return n=this.projectService.section,i=this.projectService.sectionsBreadcrumb,t=i.lastIndexOf("backlog"),e=i.lastIndexOf("kanban"),t===-1&&e===-1||(r=e===-1||t>e?"backlog":"kanban"),"backlog-kanban"===n&&("backlog"===r||"kanban"===r?n=r:this.project.get("is_backlog_activated")&&!this.project.get("is_kanban_activated")?n="backlog":!this.project.get("is_backlog_activated")&&this.project.get("is_kanban_activated")&&(n="kanban")),n},t.prototype._videoConferenceUrl=function(){var t,e;if("appear-in"===this.project.get("videoconferences"))t="https://appear.in/";else if("talky"===this.project.get("videoconferences"))t="https://talky.io/";else{if("jitsi"!==this.project.get("videoconferences"))return"custom"===this.project.get("videoconferences")?this.project.get("videoconferences_extra_data"):"";t="https://meet.jit.si/"}return e=this.project.get("videoconferences_extra_data")?this.project.get("slug")+"-"+taiga.slugify(this.project.get("videoconferences_extra_data")):this.project.get("slug"),"jitsi"===this.project.get("videoconferences")&&(e=e.replace(/-/g,"")),t+e},t}(),angular.module("taigaComponents").controller("ProjectMenu",t)}.call(this),function(){var t,e;e=this.taiga,t=function(t,e){var r;return r=function(e,r,n,i){var o;return o=function(){return t.project?i.show():i.hide()},e.$watch(function(){return t.project},o),e.vm.fixed=!1,$(window).on("scroll",function(){var t;return t=$(window).scrollTop(),t>100&&e.vm.fixed===!1?(e.vm.fixed=!0,e.$digest()):t<100&&e.vm.fixed===!0?(e.vm.fixed=!1,e.$digest()):void 0})},{scope:{},controller:"ProjectMenu",controllerAs:"vm",templateUrl:"components/project-menu/project-menu.html",link:r}},t.$inject=["tgProjectService","tgLightboxFactory"],angular.module("taigaComponents").directive("tgProjectMenu",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){var t,e,r,n;return r=function(t){var e,r,n;return t.addClass("selected"),n=t.position().top+t.outerHeight(),e=t.parent().outerHeight(),n>e?(r=n-e,t.parent().scrollTop(t.parent().scrollTop()+r)):t.position().top<0?t.parent().scrollTop(t.parent().scrollTop()+t.position().top):void 0},t=function(t,e,n){var i,o,s;if(i=t.find(".selected"),40===e){if(!i.length)return r(t.find("li:first"));if(o=i.next("li"),o.length)return i.removeClass("selected"),r(o)}else if(38===e){if(!i.length)return r(t.find("li:last"));if(s=i.prev("li"),s.length)return i.removeClass("selected"),r(s)}},n=function(){return $(document).off(".tags-keyboard-navigation")},e=function(e,r){return n(),$(r).parent().on("keydown.tags-keyboard-navigation",function(n){return function(n){var i;if(i=n.keyCode?n.keyCode:n.which,40===i||38===i)return n.preventDefault(),t(r,i,e)}}(this)),e.$on("$destroy",n)},{link:e,templateUrl:"components/tags/tag-dropdown/tag-dropdown.html",scope:{onSelectTag:"&",colorArray:"=",tag:"="}}},e.directive("tgTagsDropdown",t)}.call(this),function(){var t,e,r;r=this.taiga.trim,e=angular.module("taigaCommon"),t=function(){function t(t){this.tagLineService=t,this.disableColorSelection=!1,this.newTag={name:"",color:null},this.colorArray=[],this.addTag=!1}return t.$inject=["tgTagLineService"],t.prototype.checkPermissions=function(){return this.tagLineService.checkPermissions(this.project.my_permissions,this.permissions)},t.prototype._createColorsArray=function(t){return this.colorArray=this.tagLineService.createColorsArray(t)},t.prototype.displayTagInput=function(){return this.addTag=!0},t.prototype.addNewTag=function(t,e){if(this.newTag.name="",this.newTag.color=null,t.length)return this.disableColorSelection?t.length?this.onAddTag({name:t,color:e}):void 0:(this.project.tags_colors[t]&&(e=this.project.tags_colors[t]),this.onAddTag({name:t,color:e}))},t.prototype.selectColor=function(t){return this.newTag.color=t},t}(),e.controller("TagLineCommonCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){var t;return t=function(t,e,r,n){var i;return _.isUndefined(r.disableColorSelection)||(n.disableColorSelection=!0),i=t.$watch("vm.project",function(t){if(t&&Object.keys(t).length)return i(),n.disableColorSelection?void 0:n.colorArray=n._createColorsArray(n.project.tags_colors)}),e.on("keydown",".tag-input",function(r){var i;return 27===r.keyCode?(n.addTag=!1,n.newTag.name="",n.newTag.color="",r.stopPropagation()):13===r.keyCode&&(r.preventDefault(),e.find(".tags-dropdown .selected").length?(i=$(".tags-dropdown .selected .tags-dropdown-name").text(),n.addNewTag(i,null)):n.addNewTag(n.newTag.name,n.newTag.color)),t.$apply()})},{link:t,scope:{permissions:"@",loadingAddTag:"=",loadingRemoveTag:"=",tags:"=",project:"=",onAddTag:"&",onDeleteTag:"&"},templateUrl:"components/tags/tag-line-common/tag-line-common.html",controller:"TagLineCommonCtrl",controllerAs:"vm",bindToController:!0}},e.directive("tgTagLineCommon",t)}.call(this),function(){var t,e,r;r=this.taiga.trim,e=angular.module("taigaCommon"),t=function(){function t(t,e,r){this.rootScope=t,this.confirm=e,this.modelTransform=r,this.loadingAddTag=!1}return t.$inject=["$rootScope","$tgConfirm","$tgQueueModelTransformation"],t.prototype.onDeleteTag=function(t){var e,n,i,o;return this.loadingRemoveTag=t[0],n=function(t){return function(e){return t.rootScope.$broadcast("object:updated"),t.loadingRemoveTag=!1,e}}(this),e=function(t){return function(){return t.confirm.notify("error"),t.loadingRemoveTag=!1}}(this),i=r(t[0].toLowerCase()),o=this.modelTransform.save(function(t){var e;return e=_.clone(t.tags),_.remove(e,function(t){return t[0]===i}),t.tags=e,t}),o.then(n,e)},t.prototype.onAddTag=function(t,e){var n,i,o;return this.loadingAddTag=!0,i=function(t){return function(e){return t.rootScope.$broadcast("object:updated"),t.addTag=!1,t.loadingAddTag=!1,e}}(this),n=function(t){return function(){return t.loadingAddTag=!1,t.confirm.notify("error")}}(this),o=this.modelTransform.save(function(n){return function(n){var i,o;return o=r(t.toLowerCase()),i=_.clone(n.tags),i.push([t,e]),n.tags=i,n}}(this)),o.then(i,n)},t}(),e.controller("TagLineCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){return{scope:{item:"=",permissions:"@",project:"="},templateUrl:"components/tags/tag-line-detail/tag-line-detail.html",controller:"TagLineCtrl",controllerAs:"vm",bindToController:!0}},e.directive("tgTagLine",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=angular.module("taigaCommon"),t=function(t){function e(){}return r(e,t),e.$inject=[],e.prototype.checkPermissions=function(t,e){return _.includes(t,e)},e.prototype.createColorsArray=function(t){return _.map(t,function(t,e){return[e,t]})},e}(taiga.Service),e.service("tgTagLineService",t)}.call(this),function(){var t,e;e=angular.module("taigaCommon"),t=function(){return{templateUrl:"components/tags/tag/tag.html",scope:{tag:"<",loadingRemoveTag:"<",onDeleteTag:"&",hasPermissions:"@"}}},e.directive("tgTag",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){var o,s;return e.zoomIndex=t.get("taskboard_zoom")||2,e.levels=4,s=[["ref"],["subject"],["owner","tags","extra_info","unfold"],["attachments","empty_extra_info"],["related_tasks"]],o=function(e){return null==e&&(e=0),t.get("taskboard_zoom")!==e&&t.set("taskboard_zoom",e),_.reduce(s,function(t,r,n){return n<=e&&(t=t.concat(r)),t})},e.$watch("zoomIndex",function(t){var r;return r=o(t),e.onZoomChange({zoomLevel:t,zoom:r})})},{scope:{onZoomChange:"&"},template:'',link:e}},angular.module("taigaComponents").directive("tgTaskboardZoom",["$tgStorage",t])}.call(this),function(){var t;t=function(t,e,r,n,i){var o;return o=function(t,e,r){return t.privacyPolicyUrl=n.get("privacyPolicyUrl"),t.termsOfServiceUrl=n.get("termsOfServiceUrl"),t.GDPRUrl=n.get("GDPRUrl")},{restrict:"AE",scope:{},controllerAs:"vm",controller:function(){return this.close=function(){var n,o,s;return t.open=!1,o=r.getUser(),void 0===o.read_new_terms&&(s=o.getAttrs(),s.read_new_terms=!1,o=i.make_model("users",s)),o.read_new_terms=!0,n=function(t){return r.setUser(t)},e.save(o).then(n)},Object.defineProperties(this,{open:{get:function(){return t.open}}})},link:o,templateUrl:"components/terms-announcement/terms-announcement.html"}},t.$inject=["tgTermsAnnouncementService","$tgRepo","$tgAuth","$tgConfig","$tgModel"],angular.module("taigaComponents").directive("tgTermsAnnouncement",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(){this.open=!1}return e(r,t),r.prototype.show=function(){return this.open=!0},r}(taiga.Service),angular.module("taigaComponents").service("tgTermsAnnouncementService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){return e.privacyPolicyUrl=t.get("privacyPolicyUrl"),e.termsOfServiceUrl=t.get("termsOfServiceUrl"),e.target=!1,e.privacyPolicyUrl&&e.termsOfServiceUrl||(e.target=!0),r.on("change","input[name='accepted_terms']",function(t){ -var r;return r=angular.element(t.currentTarget),e.target=r.is(":checked"),e.$apply()})},{restrict:"AE",link:e,scope:{target:"="},templateUrl:"components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.html"}},angular.module("taigaComponents").directive("tgTermsOfServiceAndPrivacyPolicyNotice",["$tgConfig",t])}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i){return r.vm={},r.vm.tribeHost=t.config.tribeHost,r.vm.url=e.protocol()+"://"+e.host(),"http"===e.protocol()&&80!==e.port()?r.vm.url=r.vm.url+":"+e.port():"https"===e.protocol()&&443!==e.port()?r.vm.url=r.vm.url+":"+e.port():void 0},{scope:{usId:"=",projectSlug:"="},controllerAs:"vm",templateUrl:"components/tribe-button/tribe-button.html",link:r}},t.$inject=["$tgConfig","$tgLocation"],angular.module("taigaComponents").directive("tgTribeButton",t)}.call(this),function(){var t;t=function(t){var e,r;return r=function(e,r,n){return e.vm={},e.vm.tribeHost=t.config.tribeHost,e.vm.show=function(){return e.vm.open=!0},e.vm.hide=function(t){return e.vm.open=!1}},e={templateUrl:"components/tribe-button/tribe-linked.html",scope:{gigTitle:"=",gigId:"="},link:r}},t.$inject=["$tgConfig"],angular.module("taigaComponents").directive("tgTribeLinked",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.user=this.currentUserService.getUser(),this.isMouseOver=!1,this.loading=!1}return t.$inject=["tgCurrentUserService"],t.prototype.showTextWhenMouseIsOver=function(){return this.isMouseOver=!0},t.prototype.showTextWhenMouseIsLeave=function(){return this.isMouseOver=!1},t.prototype.toggleVote=function(){var t;return this.loading=!0,t=this.item.is_voter?this._downvote():this._upvote(),t["finally"](function(t){return function(){return t.loading=!1}}(this)),t},t.prototype._upvote=function(){return this.onUpvote().then(function(t){return function(){return t.showTextWhenMouseIsLeave()}}(this))},t.prototype._downvote=function(){return this.onDownvote()},t}(),angular.module("taigaComponents").controller("VoteButton",t)}.call(this),function(){var t;t=function(){return{scope:{},controller:"VoteButton",bindToController:{item:"=",onUpvote:"=",onDownvote:"="},controllerAs:"vm",templateUrl:"components/vote-button/vote-button.html"}},angular.module("taigaComponents").directive("tgVoteButton",t)}.call(this),function(){var t;t=function(){function t(t,e){this.currentUserService=t,this.rootScope=e,this.user=this.currentUserService.getUser(),this.isMouseOver=!1,this.loading=!1}return t.$inject=["tgCurrentUserService","$rootScope"],t.prototype.showTextWhenMouseIsOver=function(){return this.isMouseOver=!0},t.prototype.showTextWhenMouseIsLeave=function(){return this.isMouseOver=!1},t.prototype.openWatchers=function(){return this.rootScope.$broadcast("watcher:add",this.item)},t.prototype.getPerms=function(){var t,e;return this.item?(t=this.item._name,e={userstories:"modify_us",issues:"modify_issue",tasks:"modify_task",epics:"modify_epic"},e[t]):""},t.prototype.toggleWatch=function(){var t;return this.loading=!0,t=this.item.is_watcher?this._unwatch():this._watch(),t["finally"](function(t){return function(){return t.loading=!1}}(this)),t},t.prototype._watch=function(){return this.onWatch().then(function(t){return function(){return t.showTextWhenMouseIsLeave()}}(this))},t.prototype._unwatch=function(){return this.onUnwatch()},t}(),angular.module("taigaComponents").controller("WatchButton",t)}.call(this),function(){var t;t=function(){return{scope:{},controller:"WatchButton",bindToController:{item:"=",onWatch:"=",onUnwatch:"="},controllerAs:"vm",templateUrl:function(t,e){return"components/watch-button/watch-button-"+e.environment+".html"}}},angular.module("taigaComponents").directive("tgWatchButton",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return i={epics:"epic",userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.comment.comment.id,i[e.vm.comment.comment._name],r,!0,!0).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n"}},angular.module("taigaComponents").directive("tgCommentEditWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return e.editableDescription=!1,e.saveComment=function(t,r){return e.content="",e.vm.type.comment=t,e.vm.onAddComment({callback:r})},i={epics:"epic",userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.type.id,i[e.vm.type._name],r,!0,!0).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.onChange=function(t){return e.vm.type.comment=t},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n"}},angular.module("taigaComponents").directive("tgCommentWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n){var i,o;return i={userstories:"us",issues:"issue",tasks:"task"},o=function(r,n){return t.addAttachment(e.vm.projectId,e.vm.comment.comment.id,i[e.vm.comment.comment._name],r).then(function(t){return n(t.getIn(["file","name"]),t.getIn(["file","url"]))})},e.uploadFiles=function(t,e){var r,n,i,s;for(s=[],n=0,i=t.length;n\n \n \n"}},angular.module("taigaComponents").directive("tgCustomFieldEditWysiwyg",["tgAttachmentsFullService",t])}.call(this),function(){var t;t=function(t,e,r,n,i){var o;return o=function(i,o,s){var a;return i.editableDescription=!1,i.saveDescription=function(n,i){var o;return o=t.save(function(t){return t.description=n,t}),o.then(function(){return r.notify("success"),e.$broadcast("object:updated")}),o.then(null,function(){return r.notify("error")}),o["finally"](i)},a=function(t,e){return n.addAttachment(i.project.id,i.item.id,s.type,t).then(function(t){return e(t.getIn(["file","name"]),t.getIn(["file","url"]))})},i.uploadFiles=function(t,e){var r,n,i,o;for(o=[],n=0,i=t.length;n\n \n \n\n \n\n \n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\n \n"}},angular.module("taigaComponents").directive("tgItemWysiwyg",["$tgQueueModelTransformation","$rootScope","$tgConfirm","tgAttachmentsFullService","$translate",t])}.call(this),function(){var t;t=function(){function t(){Prism.plugins.customClass.prefix("prism-"),Prism.plugins.customClass.map({})}return t.prototype.getLanguages=function(){return new Promise(function(t){return function(e,r){return t.languages?e(t.languages):t.loadPromise?t.loadPromise.then(function(){return e(t.languages)}):t.loadPromise=$.getJSON("/"+window._version+"/prism/prism-languages.json").then(function(r){return t.loadPromise=null,t.languages=_.map(r,function(t){return t.url="/"+window._version+"/prism/"+t.file,t}),e(t.languages)})}}(this))},t.prototype.getLanguageInClassList=function(t){var e;return e=_.find(this.languages,function(e){return!!_.find(t,function(t){return"language-"+e.name===t})}),e?e.name:null},t.prototype.loadLanguage=function(t){return new Promise(function(e){return Prism.languages[t]?e():ljs.load("/"+window._version+"/prism/prism-"+t+".min.js",e)})},t.prototype.replaceCodeBrToNl=function(t){return $(t).find("br").replaceWith("\n")},t.prototype.hightlightCode=function(t){var e;if(this.replaceCodeBrToNl(t),e=this.getLanguageInClassList(t.classList))return this.loadLanguage(e).then(function(){return Prism.highlightElement(t)})},t.prototype.addHightlighter=function(t){var e;return e=$(t).find("code"),e.each(function(t){return function(e,r){return t.hightlightCode(r)}}(this))},t}(),angular.module("taigaComponents").service("tgWysiwygCodeHightlighterService",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){return e.$watch("visible",function(n){return n&&!r.hasClass("open")?(e.open=!0,t.open(r,null,e.onClose),e.$applyAsync(function(){var t;if(t=r[0].querySelector("textarea"))return t.select()})):!n&&r.hasClass("open")?(e.open=!1,t.close(r)):void 0})},{scope:{languages:"<",codeLanguage:"<",code:"<",visible:"<",onClose:"&",onSave:"&"},link:e,templateUrl:"components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.html"}},angular.module("taigaComponents").directive("tgWysiwygCodeLightbox",["lightboxService",t])}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.projectService=t,this.wysiwygService=e,this.navurls=r,this.rs=n,this.cancelablePromise=null}return t.$inject=["tgProjectService","tgWysiwygService","$tgNavUrls","$tgResources"],t.prototype.searchEmoji=function(t,e){var r;return r=this.wysiwygService.searchEmojiByName(t),r=r.slice(0,10),e(r)},t.prototype.searchUser=function(t,e){var r,n;return r=["username","full_name","full_name_display"],n=this.projectService.project.toJS().members.filter(function(e){return function(e){var n,i,o;for(n=0,i=r.length;n=0)return!0;if(e[o].indexOf(t)>=0)return!0}return!1}}(this)),n=n.slice(0,10).map(function(t){return function(e){return e.url=t.navurls.resolve("user-profile",{project:t.projectService.project.get("slug"),username:e.username}),e}}(this)),e(n)},t.prototype.searchItem=function(t){return new Promise(function(e){return function(r,n){var i,o,s,a;return t=taiga.slugify(t),s=["issues","tasks","userstories"],a={issues:"project-issues-detail",tasks:"project-tasks-detail",userstories:"project-userstories-detail"},o=["ref","subject"],i=function(e){var r,n,i;for(r=0,n=o.length;r=0)return!0;return!1},e.cancelablePromise&&e.cancelablePromise.abort(),e.cancelablePromise=e.rs.search["do"](e.projectService.project.get("id"),t),e.cancelablePromise.then(function(t){var n,o,c,u,l;if(t.count<1||t.count===t.wikipages.length)return r([]);for(u=[],n=0,c=s.length;n0&&(o=t[l].filter(i),o=o.map(function(t){return t.url=e.navurls.resolve(a[l],{project:e.projectService.project.get("slug"),ref:t.ref}),t}),u=u.concat(o));return u=_.sortBy(u,["ref"]),r(u.slice(0,10))})}}(this))},t.prototype.search=function(t){return new Promise(function(e){return function(r){return"#".indexOf(t[0])!==-1?e.searchItem(t.replace("#","")).then(r):"@".indexOf(t[0])!==-1?e.searchUser(t.replace("@",""),r):":".indexOf(t[0])!==-1?e.searchEmoji(t.replace(":",""),r):void 0}}(this))},t}(),angular.module("taigaComponents").service("tgWysiwygMentionService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.bindOnce,t=function(t,e,n,i,o,s,a,c,u,l){var p,h,f,d,g,m,v,y,b,S,j,k;return k=function(){if(window.getSelection){if(window.getSelection().empty)return window.getSelection().empty()}else{if(window.getSelection().removeAllRanges)return window.getSelection().removeAllRanges();if(document.selection)return document.selection.empty()}},m=function(t){return $(t.endContainer).parentsUntil(".editor","code")},v=function(t){return!!m(t).length},j=function(t,e){var r,n,i;return r=$(t).is("code")?t:$(t).closest("code")[0],i=r.parentNode,n=document.createElement("p"),n.innerText=r.innerText,i.parentNode.replaceChild(n,i),e.checkContentChanged(e.elements[0])},d=function(t,e){var r,n,i,o;return i=document.createElement("pre"),r=document.createElement("code"),t.startContainer.parentNode.nextSibling||$("
").insertAfter(t.startContainer.parentNode),o=t.endContainer.parentNode.nextSibling,n=t.extractContents(),r.appendChild(n),i.appendChild(r),o.parentNode.insertBefore(i,o),S(e),e.checkContentChanged(e.elements[0])},S=function(e){var r,n,i,o,s,a,c,u,l,p;if(e){for(l=e.elements[0].children,r=0,i=l.length;rRTL",this.button.title="RTL",this.on(this.button,"click",this.handleClick.bind(this))},getButton:function(){return this.button},handleClick:function(t){var e;return e=MediumEditor.selection.getSelectionRange(document),"right"===e.commonAncestorContainer.parentNode.style.textAlign?document.execCommand("justifyLeft",!1):document.execCommand("justifyRight",!1)}}),g=function(t){return'\n \n'},h=MediumEditor.extensions.button.extend({name:"code",init:function(){var t;return t=_.find(this.base.options.toolbar.buttons,function(t){return"code"===t.name}),this.button=this.document.createElement("button"),this.button.classList.add("medium-editor-action"),this.button.innerHTML=t.contentDefault||"Code",this.button.title="Code",this.on(this.button,"click",this.handleClick.bind(this))},getButton:function(){return this.button},tagNames:["code"],handleClick:function(t){var e,r;if(e=MediumEditor.selection.getSelectionRange(self.document),v(e,this.base)?j(e.endContainer,this.base):(d(e,this.base),k()),r=this.base.getExtensionByName("toolbar"))return r.hideToolbar()}}),f=MediumEditor.extensions.paste.extend({doPaste:function(t,e,r){var n;return n=MediumEditor.util.htmlEntities(e),MediumEditor.util.insertHTMLCommand(this.document,n)}}),b=MediumEditor.util.isBlockContainer,MediumEditor.util.isBlockContainer=function(t){var e;return t?(e=t.tagName?t.tagName:t.parentNode.tagName,"code"===e.toLowerCase()||b(t)):b(t)},y=function(o,d,m){var v,y,b,k,I,E,T,C,P,w,A,O,R,M,U,D,N,L,x,F,B,H,q;return M=null,C=d.find(".medium"),T=d.find(".markdown"),k=null,A=!!m.$attr.editonly,U=!!m.$attr.notPersist,o.required=!!m.$attr.required,o.editMode=A||!1,o.mode=n.get("editor-mode","html"),o.markdown="",o.codeEditorVisible=!1,o.codeLans=[],a.getLanguages().then(function(t){return o.codeLans=t}),L=function(t){return o.editMode=t},x=function(t){var e;if(e=i.getHTML(t),C.html(e),a.addHightlighter(M.elements[0]),o.editMode)return S(M)},o.saveSnippet=function(t,e){var r;return o.codeEditorVisible=!1,k.innerText=e,r=k.parentNode,"remove-formating"===t?(k.className="",r.className="",j(k,M)):_.trim(e).length?(t?(k.className="language-"+t,r.className="language-"+t):(k.className="",r.className=""),a.hightlightCode(k),M.checkContentChanged(M.elements[0])):(k.parentNode.parentNode.removeChild(k.parentNode),M.checkContentChanged(M.elements[0])),F(),null},o.setMode=function(t){return n.set("editor-mode",t),"markdown"===t?H():x(o.markdown),o.mode=t,M.trigger("editableBlur",{},C[0])},o.save=function(t){t&&t.preventDefault(),"html"===o.mode&&H(),x(o.markdown),o.required&&!o.markdown.length||(o.saving=!0,o.outdated=!1,o.onSave({text:o.markdown,cb:N}))},o.cancel=function(t){t&&t.preventDefault(),A||L(!1),U?b():"html"===o.mode&&x(o.content||null),o.markdown=o.content,E(),M.trigger("blur",{},C[0]),o.outdated=!1,S(M),o.onCancel()},b=function(){return o.markdown="",C.html("")},N=function(){return o.saving=!1,A||L(!1),U&&b(),E(),M.trigger("blur",{},C[0]),u.trackEvent("develop","save wysiwyg",o.mode,1)},q=function(t,e){return r.isImage(t)?M.pasteHTML("
"):(t=$("
").text(t).html(),M.pasteHTML(""+t+"
"))},O=function(){var t;return t=n.get(o.storageKey),!(!t||!t.version||t.version===o.version)},w=function(){var t;return t=n.get(o.storageKey),!!t},P=function(){var t;return t=n.get(o.storageKey),t?t.text:o.content},E=function(){return n.remove(o.storageKey)},v=function(){var r,n;return o.content===o.markdown?(o.cancel(),document.activeElement.blur(),document.body.click(),null):(n=t.instant("COMMON.CONFIRM_CLOSE_EDIT_MODE_TITLE"),r=t.instant("COMMON.CONFIRM_CLOSE_EDIT_MODE_MESSAGE"),e.ask(n,null,r).then(function(t){return o.cancel(),t.finish()}))},D=function(){var t;return t=$("
").html(C.html()),t.find("code br").replaceWith("\n"),t.html()},H=function(){var t;return t=D(),o.markdown=i.getMarkdown(t)},R=function(t){var e;if(o.storageKey)return e={},e.version=o.version||0,e.text=t,n.set(o.storageKey,e)},y=function(){return"html"===o.mode&&H(),R(o.markdown),o.onChange({markdown:o.markdown})},F=_.throttle(y,200),I=function(t,e){var r;return null==e&&(e=!1),t.length&&(r=i.getHTML(t),C.html(r)),M=new MediumEditor(C[0],{imageDragging:!1,placeholder:{text:o.placeholder},toolbar:{buttons:[{name:"bold",contentDefault:g("editor-bold")},{name:"italic",contentDefault:g("editor-italic")},{name:"strikethrough",contentDefault:g("editor-cross-out")},{name:"anchor",contentDefault:g("editor-link")},{name:"image",contentDefault:g("editor-image")},{name:"orderedlist",contentDefault:g("editor-list-n")},{name:"unorderedlist",contentDefault:g("editor-list-o")},{name:"h1",contentDefault:g("editor-h1")},{name:"h2",contentDefault:g("editor-h2")},{name:"h3",contentDefault:g("editor-h3")},{name:"quote",contentDefault:g("editor-quote")},{name:"removeFormat",contentDefault:g("editor-no-format")},{name:"rtl",contentDefault:g("editor-rtl")},{name:"code",contentDefault:g("editor-code")}]},extensions:{paste:new f,code:new h,autolist:new AutoList,alignright:new p,mediumMention:new MentionExtension({getItems:function(t,e){return c.search(t).then(e)}})}}),o.changeMarkdown=F,M.subscribe("editableInput",function(t){return o.$applyAsync(F)}),M.subscribe("editableClick",function(t){var e;if(e=new RegExp("^(?:[a-z]+:)?//","i"),t.target.href)return e.test(t.target.getAttribute("href"))||"_blank"===t.target.getAttribute("target")?(t.stopPropagation(),window.open(t.target.href)):l.url(t.target.href)}),M.subscribe("editableDrop",function(t){return o.onUploadFile({files:t.dataTransfer.files,cb:q})}),M.subscribe("editableKeydown",function(t){var e,r;return e=t.keyCode?t.keyCode:t.which,r=$(".medium-mention"),40!==e&&38!==e||!r.length?o.editMode&&27===e?(t.stopPropagation(),o.$applyAsync(v)):27===e?C.blur():void 0:(t.stopPropagation(),void t.preventDefault())}),L(e),o.$applyAsync(function(){return a.addHightlighter(M.elements[0]),S(M)})},$(C[0]).on("mousedown",function(t){return t.target.href?(t.preventDefault(),t.stopPropagation()):o.$applyAsync(function(){if(!o.editMode)return L(!0),S(M)})}),$(C[0]).on("dblclick","pre",function(t){return o.$applyAsync(function(){return o.codeEditorVisible=!0,k=t.currentTarget.querySelector("code"),o.currentCodeLanguage=a.getLanguageInClassList(k.classList),o.code=k.innerText})}),B=o.$watch("content",function(t){var e;if(!_.isUndefined(t)){if(o.outdated=O(),!M&&w()&&L(!0),(o.markdown.length||t.length)&&o.markdown===t)return;return t=P(),o.markdown=t,M&&M.destroy(),s.open()?e=s.onEnd(function(){return I(t,o.editMode),e()}):I(t,o.editMode),B()}}),o.$on("$destroy",function(){if(M)return C.length&&$(C[0]).off(),M.destroy()})},{templateUrl:"common/components/wysiwyg-toolbar.html",scope:{placeholder:"@",version:"<",storageKey:"<",content:"<",onCancel:"&",onSave:"&",onUploadFile:"&",onChange:"&"},link:y}},angular.module("taigaComponents").directive("tgWysiwyg",["$translate","$tgConfirm","$tgStorage","tgWysiwygService","animationFrame","tgLoader","tgWysiwygCodeHightlighterService","tgWysiwygMentionService","$tgAnalytics","$location",t])}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.wysiwygCodeHightlighterService=t,this.projectService=e,this.navurls=r,this.emojis=n}return t.$inject=["tgWysiwygCodeHightlighterService","tgProjectService","$tgNavUrls","$tgEmojis"],t.prototype.searchEmojiByName=function(t){return this.emojis.searchByName(t)},t.prototype.pipeLinks=function(t){return t.replace(/\[\[(.*?)\]\]/g,function(t,e,r,n){var i,o,s;return o=e.split("|"),i=o[0],s=o[1]||o[0],"["+s+"]("+i+")"})},t.prototype.replaceUrls=function(t){var e,r,n,i,o;for(e=document.createElement("html"),e.innerHTML=t,o=e.querySelectorAll("a"),r=0,n=o.length;r(.*?)
<\/li>/g,"
  • $1
  • ")},t.prototype.getMarkdown=function(t){var e,r,n;return e={filter:["html","body","span","div"],replacement:function(t){return t}},r={filter:function(t){return function(t){return"PRE"===t.nodeName&&t.firstChild&&"CODE"===t.firstChild.nodeName}}(this),replacement:function(t){return function(e,r){var n;return n=t.wysiwygCodeHightlighterService.getLanguageInClassList(r.firstChild.classList),n||(n=""),"\n\n```"+n+"\n"+_.trim(r.firstChild.textContent)+"\n```\n\n"}}(this)},t=t.replace(/ (<\/.*>)/g,"$1"),t=this.emojis.replaceImgsByEmojiName(t),t=this.replaceUrls(t),t=this.removeTrailingListBr(t),n=toMarkdown(t,{gfm:!0,converters:[e,r]})},t.prototype.parseMentionMatches=function(t){var e,r,n,i,o,s,a;for(s="twitter",a=this.tagBuilder,r=[],o=/@[^\s]{1,50}[^.\s]/g,e=o.exec(t);null!==e;)n=e.index,i=t.charAt(n-1),e.index===o.lastIndex&&o.lastIndex++,e.forEach(function(t,e){return r.push(new Autolinker.match.Mention({tagBuilder:a,matchedText:t,offset:n,serviceName:s,mention:t.slice(1)}))}),e=o.exec(t);return r},t.prototype.autoLinkHTML=function(t){var e,r;return r=String(Autolinker.matcher.Mention.prototype.matcherRegexes.twitter),r.indexOf(".")===-1&&(r="@[^s]{1,50}[^.s]"),e=new Autolinker({mention:"twitter",hashtag:"twitter",replaceFn:function(t){return function(e){var r,n;return"mention"===e.getType()?(r=t.navurls.resolve("user-profile",{project:t.projectService.project.get("slug"),username:e.getMention()}),'@'+e.getMention()+""):"hashtag"===e.getType()?(n=t.navurls.resolve("project-detail-ref",{project:t.projectService.project.get("slug"),ref:e.getHashtag()}),'#'+e.getHashtag()+""):void 0}}(this)}),Autolinker.matcher.Mention.prototype.parseMatches=this.parseMentionMatches.bind(e),e.link(t)},t.prototype.getHTML=function(t){var e,r,n;return t&&t.length?(r={breaks:!0},t=this.emojis.replaceEmojiNameByImgs(t),t=this.pipeLinks(t),e=window.markdownit({breaks:!0}),e.use(window.markdownitLazyHeaders),n=e.render(t),n=this.searchWikiLinks(n),n=this.autoLinkHTML(n)):""},t}(),angular.module("taigaComponents").service("tgWysiwygService",t)}.call(this),function(){var t;t=function(){function t(t){this.translate=t,this.is_open=!1,this.texts={week:this.translate.instant("DISCOVER.FILTERS.WEEK"),month:this.translate.instant("DISCOVER.FILTERS.MONTH"),year:this.translate.instant("DISCOVER.FILTERS.YEAR"),all:this.translate.instant("DISCOVER.FILTERS.ALL_TIME")}}return t.$inject=["$translate"],t.prototype.currentText=function(){return this.texts[this.currentOrderBy]},t.prototype.open=function(){return this.is_open=!0},t.prototype.close=function(){return this.is_open=!1},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.is_open=!1,this.onChange({orderBy:this.currentOrderBy})},t}(),angular.module("taigaDiscover").controller("DiscoverHomeOrderBy",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"DiscoverHomeOrderBy",controllerAs:"vm",bindToController:!0,templateUrl:"discover/components/discover-home-order-by/discover-home-order-by.html",scope:{currentOrderBy:"=orderBy",onChange:"&"},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverHomeOrderBy",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.discoverProjectsService.projectsCount}}(this)),this.discoverProjectsService.fetchStats()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.selectFilter=function(t){return this.onChange({filter:t,q:this.q})},t.prototype.submitFilter=function(){return this.onChange({filter:this.filter,q:this.q})},t}(),angular.module("taigaDiscover").controller("DiscoverSearchBar",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{controller:"DiscoverSearchBar",controllerAs:"vm",templateUrl:"discover/components/discover-search-bar/discover-search-bar.html",bindToController:!0,scope:{q:"=",filter:"=",onChange:"&"},compile:function(t,e){if(!e.q)return e.q=""},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearchBar",t)}.call(this),function(){var t;t=function(){function t(){this.like_is_open=0===this.orderBy.indexOf("-total_fans"),this.activity_is_open=0===this.orderBy.indexOf("-total_activity")}return t.$inject=[],t.prototype.openLike=function(){return this.like_is_open=!0,this.activity_is_open=!1,this.setOrderBy("-total_fans_last_week")},t.prototype.openActivity=function(){return this.activity_is_open=!0,this.like_is_open=!1,this.setOrderBy("-total_activity_last_week")},t.prototype.setOrderBy=function(t){return null==t&&(t=""),t||(this.like_is_open=!1,this.activity_is_open=!1),this.onChange({orderBy:t})},t}(),angular.module("taigaDiscover").controller("DiscoverSearchListHeader",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"DiscoverSearchListHeader",controllerAs:"vm",bindToController:!0,templateUrl:"discover/components/discover-search-list-header/discover-search-list-header.html",scope:{onChange:"&",orderBy:"="},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearchListHeader",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"featured",function(t){return function(){return t.discoverProjectsService.featured}}(this)),this.discoverProjectsService.fetchFeatured()}return t.$inject=["tgDiscoverProjectsService"],t}(),angular.module("taigaDiscover").controller("FeaturedProjects",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r){},{controller:"FeaturedProjects",controllerAs:"vm",templateUrl:"discover/components/featured-projects/featured-projects.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgFeaturedProjects",t)}.call(this),function(){var t;t=function(){return{templateUrl:"discover/components/highlighted/highlighted.html",scope:{loading:"=",highlighted:"=",orderBy:"="}}},t.$inject=[],angular.module("taigaDiscover").directive("tgHighlighted",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"highlighted",function(t){return function(){return t.discoverProjectsService.mostActive}}(this)),this.currentOrderBy="week",this.order_by=this.getOrderBy()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.fetch=function(){return this.loading=!0,this.order_by=this.getOrderBy(),this.discoverProjectsService.fetchMostActive({order_by:this.order_by}).then(function(t){return function(){return t.loading=!1}}(this))},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.fetch()},t.prototype.getOrderBy=function(t){return"all"===this.currentOrderBy?"-total_activity":"-total_activity_last_"+this.currentOrderBy},t}(),angular.module("taigaDiscover").controller("MostActive",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"MostActive",controllerAs:"vm",templateUrl:"discover/components/most-active/most-active.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgMostActive",t)}.call(this),function(){var t;t=function(){function t(t){this.discoverProjectsService=t,taiga.defineImmutableProperty(this,"highlighted",function(t){return function(){return t.discoverProjectsService.mostLiked}}(this)),this.currentOrderBy="week",this.order_by=this.getOrderBy()}return t.$inject=["tgDiscoverProjectsService"],t.prototype.fetch=function(){return this.loading=!0,this.order_by=this.getOrderBy(),this.discoverProjectsService.fetchMostLiked({order_by:this.order_by}).then(function(t){return function(){return t.loading=!1}}(this))},t.prototype.orderBy=function(t){return this.currentOrderBy=t,this.fetch()},t.prototype.getOrderBy=function(){return"all"===this.currentOrderBy?"-total_fans":"-total_fans_last_"+this.currentOrderBy},t}(),angular.module("taigaDiscover").controller("MostLiked",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"MostLiked",controllerAs:"vm",templateUrl:"discover/components/most-liked/most-liked.html",scope:{},link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgMostLiked",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){var i,o;this.location=t,this.navUrls=e,this.appMetaService=r,this.translate=n,o=this.translate.instant("DISCOVER.PAGE_TITLE"),i=this.translate.instant("DISCOVER.PAGE_DESCRIPTION"),this.appMetaService.setAll(o,i)}return t.$inject=["$tgLocation","$tgNavUrls","tgAppMetaService","$translate"],t.prototype.onSubmit=function(t){var e;return e=this.navUrls.resolve("discover-search"), -this.location.search("text",t).path(e)},t}(),angular.module("taigaDiscover").controller("DiscoverHome",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n,i,o,s){var a,c;this.routeParams=t,this.discoverProjectsService=e,this.route=r,this.location=n,this.analytics=i,this.appMetaService=o,this.translate=s,this.page=1,taiga.defineImmutableProperty(this,"searchResult",function(t){return function(){return t.discoverProjectsService.searchResult}}(this)),taiga.defineImmutableProperty(this,"nextSearchPage",function(t){return function(){return t.discoverProjectsService.nextSearchPage}}(this)),this.q=this.routeParams.text,this.filter=this.routeParams.filter||"all",this.orderBy=this.routeParams.order_by||"",this.loadingGlobal=!1,this.loadingList=!1,this.loadingPagination=!1,c=this.translate.instant("DISCOVER.SEARCH.PAGE_TITLE"),a=this.translate.instant("DISCOVER.SEARCH.PAGE_DESCRIPTION"),this.appMetaService.setAll(c,a),this.analytics.trackPage(this.location.url(),"Discover Search")}return t.$inject=["$routeParams","tgDiscoverProjectsService","$route","$tgLocation","$tgAnalytics","tgAppMetaService","$translate"],t.prototype.fetch=function(){return this.page=1,this.discoverProjectsService.resetSearchList(),this.search()},t.prototype.fetchByGlobalSearch=function(){if(!this.loadingGlobal)return this.loadingGlobal=!0,this.fetch().then(function(t){return function(){return t.loadingGlobal=!1}}(this))},t.prototype.fetchByOrderBy=function(){if(!this.loadingList)return this.loadingList=!0,this.fetch().then(function(t){return function(){return t.loadingList=!1}}(this))},t.prototype.showMore=function(){if(!this.loadingPagination)return this.loadingPagination=!0,this.page++,this.search().then(function(t){return function(){return t.loadingPagination=!1}}(this))},t.prototype.search=function(){var t,e;return t=this.getFilter(),e={page:this.page,q:this.q,order_by:this.orderBy},_.assign(e,t),this.discoverProjectsService.fetchSearch(e)},t.prototype.getFilter=function(){return"people"===this.filter?{is_looking_for_people:!0}:"scrum"===this.filter?{is_backlog_activated:!0}:"kanban"===this.filter?{is_kanban_activated:!0}:{}},t.prototype.onChangeFilter=function(t,e){return this.filter=t,this.q=e,this.route.updateParams({filter:this.filter,text:this.q}),this.analytics.trackPage(this.location.url(),"Discover Search"),this.fetchByGlobalSearch()},t.prototype.onChangeOrder=function(t){return this.orderBy=t,this.route.updateParams({order_by:t}),this.analytics.trackPage(this.location.url(),"Discover Search"),this.fetchByOrderBy()},t}(),angular.module("taigaDiscover").controller("DiscoverSearch",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){return n.fetch()},{controller:"DiscoverSearch",controllerAs:"vm",link:t}},t.$inject=[],angular.module("taigaDiscover").directive("tgDiscoverSearch",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function n(t,r){this.rs=t,this.projectsService=r,this._mostLiked=Immutable.List(),this._mostActive=Immutable.List(),this._featured=Immutable.List(),this._searchResult=Immutable.List(),this._projectsCount=0,this.decorate=this.projectsService._decorate.bind(this.projectsService),e.defineImmutableProperty(this,"mostLiked",function(t){return function(){return t._mostLiked}}(this)),e.defineImmutableProperty(this,"mostActive",function(t){return function(){return t._mostActive}}(this)),e.defineImmutableProperty(this,"featured",function(t){return function(){return t._featured}}(this)),e.defineImmutableProperty(this,"searchResult",function(t){return function(){return t._searchResult}}(this)),e.defineImmutableProperty(this,"nextSearchPage",function(t){return function(){return t._nextSearchPage}}(this)),e.defineImmutableProperty(this,"projectsCount",function(t){return function(){return t._projectsCount}}(this))}var i;return r(n,t),n.$inject=["tgResources","tgProjectsService"],i={discover_mode:!0},n.prototype.fetchMostLiked=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,5),n=Immutable.fromJS(r),n=n.map(t.decorate),t._mostLiked=n}}(this))},n.prototype.fetchMostActive=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,5),n=Immutable.fromJS(r),n=n.map(t.decorate),t._mostActive=n}}(this))},n.prototype.fetchFeatured=function(){var t;return t=_.extend({},i),t.is_featured=!0,this.rs.projects.getProjects(t,!1).then(function(t){return function(e){var r,n;return r=e.data.slice(0,4),n=Immutable.fromJS(r),n=n.map(t.decorate),t._featured=n}}(this))},n.prototype.resetSearchList=function(){return this._searchResult=Immutable.List()},n.prototype.fetchStats=function(){return this.rs.stats.discover().then(function(t){return function(e){return t._projectsCount=e.getIn(["projects","total"])}}(this))},n.prototype.fetchSearch=function(t){var e;return e=_.extend({},i,t),this.rs.projects.getProjects(e).then(function(t){return function(e){var r;return t._nextSearchPage=!!e.headers("X-Pagination-Next"),r=Immutable.fromJS(e.data),r=r.map(t.decorate),t._searchResult=t._searchResult.concat(r)}}(this))},n}(e.Service),angular.module("taigaDiscover").service("tgDiscoverProjectsService",t)}.call(this),function(){var t,e,r,n;r=this.taiga,n=r.trim,e=r.getRandomDefaultColor,t=function(){function t(t,r,n,i){this.confirm=t,this.projectService=r,this.epicsService=n,this.analytics=i,this.project=this.projectService.project.toJS(),this.newEpic={color:e(),status:this.project.default_epic_status,tags:[]},this.attachments=Immutable.List(),this.loading=!1}return t.$inject=["$tgConfirm","tgProjectService","tgEpicsService","$tgAnalytics"],t.prototype.createEpic=function(){if(this.validateForm())return this.loading=!0,this.epicsService.createEpic(this.newEpic,this.attachments).then(function(t){return function(e){return t.analytics.trackEvent("epic","create","create epic",1),t.onCreateEpic(),t.loading=!1}}(this))["catch"](function(t){return function(e){if(t.loading=!1,t.setFormErrors(e.data),e.data._error_message)return t.confirm.notify("error",e.data._error_message)}}(this))},t.prototype.selectColor=function(t){return this.newEpic.color=t},t.prototype.addTag=function(t,e){if(t=n(t.toLowerCase()),!_.find(this.newEpic.tags,function(e){return e[0]===t}))return this.newEpic.tags.push([t,e])},t.prototype.deleteTag=function(t){return _.remove(this.newEpic.tags,function(e){return e[0]===t[0]})},t.prototype.addAttachment=function(t){return this.attachments.push(t)},t}(),angular.module("taigaEpics").controller("CreateEpicCtrl",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){var i;return i=e.find("form").checksley(),n.validateForm=function(t){return function(){return i.validate()}}(this),n.setFormErrors=function(t){return function(t){return i.setErrors(t)}}(this)},{link:t,templateUrl:"epics/create-epic/create-epic.html",controller:"CreateEpicCtrl",controllerAs:"vm",bindToController:{onCreateEpic:"&"},scope:{}}},angular.module("taigaEpics").directive("tgCreateEpic",t)}.call(this),function(){var t;t=function(){function t(t,e,r){this.confirm=t,this.projectService=e,this.epicsService=r,this.displayUserStories=!1,this.displayAssignedTo=!1,this.displayStatusList=!1,this.loadingStatus=!1,this.project=this.projectService.project.toJS(),this._calculateProgressBar()}return t.$inject=["$tgConfirm","tgProjectService","tgEpicsService"],t.prototype._calculateProgressBar=function(){var t,e;return this.epic.getIn(["status_extra_info","is_closed"])===!0?this.percentage="100%":(t=this.epic.getIn(["user_stories_counts","progress"]),e=this.epic.getIn(["user_stories_counts","total"]),0===e?this.percentage="0%":this.percentage=100*t/e+"%")},t.prototype.canEditEpics=function(){return this.projectService.hasPermission("modify_epic")},t.prototype.toggleUserStoryList=function(){return this.displayUserStories?this.displayUserStories=!1:this.epicsService.listRelatedUserStories(this.epic).then(function(t){return function(e){return t.epicStories=e,t.displayUserStories=!0}}(this))["catch"](function(t){return function(){return t.confirm.notify("error")}}(this))},t.prototype.updateStatus=function(t){return this.displayStatusList=!1,this.loadingStatus=!0,this.epicsService.updateEpicStatus(this.epic,t)["catch"](function(t){return function(){return t.confirm.notify("error")}}(this))["finally"](function(t){return function(){return t.loadingStatus=!1}}(this))},t.prototype.updateAssignedTo=function(t){return this.assignLoader=!0,this.epicsService.updateEpicAssignedTo(this.epic,(null!=t?t.id:void 0)||null)["catch"](function(t){return function(){return t.confirm.notify("error")}}(this)).then(function(t){return function(){return t.assignLoader=!1}}(this))},t}(),angular.module("taigaEpics").controller("EpicRowCtrl",t)}.call(this),function(){var t;t=function(){return{templateUrl:"epics/dashboard/epic-row/epic-row.html",controller:"EpicRowCtrl",controllerAs:"vm",bindToController:!0,scope:{epic:"=",column:"="}}},angular.module("taigaEpics").directive("tgEpicRow",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i,o,s,a,c,u){this.params=t,this.errorHandlingService=r,this.lightboxFactory=n,this.lightboxService=i,this.confirm=o,this.projectService=s,this.epicsService=a,this.appMetaService=c,this.translate=u,this.sectionName="EPICS.SECTION_NAME",e.defineImmutableProperty(this,"project",function(t){return function(){return t.projectService.project}}(this)),e.defineImmutableProperty(this,"epics",function(t){return function(){return t.epicsService.epics}}(this)),this.appMetaService.setfn(this._setMeta.bind(this))}return t.$inject=["$routeParams","tgErrorHandlingService","tgLightboxFactory","lightboxService","$tgConfirm","tgProjectService","tgEpicsService","tgAppMetaService","$translate"],t.prototype._setMeta=function(){var t;return this.project?(t={projectName:this.project.get("name"),projectDescription:this.project.get("description")},{title:this.translate.instant("EPICS.PAGE_TITLE",t),description:this.translate.instant("EPICS.PAGE_DESCRIPTION",t)}):null},t.prototype.loadInitialData=function(){return this.epicsService.clear(),this.projectService.setProjectBySlug(this.params.pslug).then(function(t){return function(){return t.projectService.isEpicsDashboardEnabled()?t.projectService.hasPermission("view_epics")?t.epicsService.fetchEpics():t.errorHandlingService.permissionDenied():t.errorHandlingService.notFound()}}(this))},t.prototype.canCreateEpics=function(){return this.projectService.hasPermission("add_epic")},t.prototype.onCreateEpic=function(){var t;return t=function(t){return function(){t.lightboxService.closeAll(),t.confirm.notify("success")}}(this),this.lightboxFactory.create("tg-create-epic",{"class":"lightbox lightbox-create-epic open","on-create-epic":"onCreateEpic()"},{onCreateEpic:t.bind(this)})},t}(),angular.module("taigaEpics").controller("EpicsDashboardCtrl",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i){var o,s,a;if(e.hasPermission("modify_epic"))return o=t(i.tgEpicsSortable),s=dragula([n[0]],{copySortSource:!1,copy:!1,mirrorContainer:n[0],moves:function(t){return $(t).is("div.epics-table-body-row")}}),s.on("dragend",function(t){var e,n,i;return n=$(t),e=n.scope().epic,i=n.index(),r.$apply(function(){return o(r,{epic:e,newIndex:i})})}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&s.dragging}}),r.$on("$destroy",function(){return n.off(),s.destroy()})},{link:r}},t.$inject=["$parse","tgProjectService"],angular.module("taigaComponents").directive("tgEpicsSortable",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.generateHash,t=function(){function t(t,n,i,o,s){this.confirm=t,this.epicsService=n,this.timeout=i,this.storage=o,this.projectService=s,this.hash=e([this.projectService.project.get("id"),"epics"]),this.displayOptions=!1,this.displayVotes=!0,this.column=this.storage.get(this.hash,{votes:!0,name:!0,project:!0,sprint:!0,assigned:!0,status:!0,progress:!0}),r.defineImmutableProperty(this,"epics",function(t){return function(){return t.epicsService.epics}}(this)),r.defineImmutableProperty(this,"disabledEpicsPagination",function(t){return function(){return t.epicsService._disablePagination}}(this)),r.defineImmutableProperty(this,"loadingEpics",function(t){return function(){return t.epicsService._loadingEpics}}(this))}return t.$inject=["$tgConfirm","tgEpicsService","$timeout","$tgStorage","tgProjectService"],t.prototype.toggleEpicTableOptions=function(){return this.displayOptions=!this.displayOptions},t.prototype.reorderEpic=function(t,e){return t.get("epics_order")===e?null:this.epicsService.reorderEpic(t,e).then(null,function(t){return function(){return t.confirm.notify("error")}}(this))},t.prototype.nextPage=function(){return this.epicsService.nextPage()},t.prototype.hoverEpicTableOption=function(){if(this.timer)return this.timeout.cancel(this.timer)},t.prototype.hideEpicTableOption=function(){return this.timer=this.timeout(function(t){return function(){return t.displayOptions=!1}}(this),400)},t.prototype.updateViewOptions=function(){return this.storage.set(this.hash,this.column)},t}(),angular.module("taigaEpics").controller("EpicsTableCtrl",t)}.call(this),function(){var t;t=function(){return{templateUrl:"epics/dashboard/epics-table/epics-table.html",controller:"EpicsTableCtrl",controllerAs:"vm",scope:{}}},angular.module("taigaEpics").directive("tgEpicsTable",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(){this._calculateProgressBar()}return t.$inject=[],t.prototype._calculateProgressBar=function(){var t,e;return this.story.get("is_closed")===!0?this.percentage="100%":(t=this.story.get("tasks").size,e=this.story.get("tasks").filter(function(t){return t.get("is_closed")}).size,0===t?this.percentage="0%":this.percentage=100*e/t+"%")},t}(),e.controller("StoryRowCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){return{templateUrl:"epics/dashboard/story-row/story-row.html",controller:"StoryRowCtrl",controllerAs:"vm",bindToController:!0,scope:{story:"=",column:"="}}},e.directive("tgStoryRow",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i){this.projectService=t,this.attachmentsService=r,this.resources=n,this.xhrError=i,this.clear(),e.defineImmutableProperty(this,"epics",function(t){return function(){return t._epics}}(this))}return t.$inject=["tgProjectService","tgAttachmentsService","tgResources","tgXhrErrorService"],t.prototype.clear=function(){return this._loadingEpics=!1,this._disablePagination=!1,this._page=1,this._epics=Immutable.List()},t.prototype.fetchEpics=function(t){return null==t&&(t=!1),this._loadingEpics=!0,this._disablePagination=!0,this.resources.epics.list(this.projectService.project.get("id"),this._page).then(function(e){return function(r){return t?(e.clear(),e._epics=r.list):e._epics=e._epics.concat(r.list),e._loadingEpics=!1,e._disablePagination=!r.headers("x-pagination-next")}}(this))["catch"](function(t){return function(e){return t.xhrError.response(e)}}(this))},t.prototype.nextPage=function(){return this._page++,this.fetchEpics()},t.prototype.listRelatedUserStories=function(t){return this.resources.userstories.listInEpic(t.get("id"))},t.prototype.createEpic=function(t,e){return t.project=this.projectService.project.get("id"),this.resources.epics.post(t).then(function(t){return function(r){var n;return n=_.map(e.toJS(),function(e){return t.attachmentsService.upload(e.file,r.get("id"),r.get("project"),"epic")}),Promise.all(n).then(t.fetchEpics.bind(t,!0))}}(this))},t.prototype.reorderEpic=function(t,e){var r,n,i,o,s,a,c,u,l;return s={},this._epics.forEach(function(t){return s[t.get("id")]=t.get("epics_order")}),l=this.epics.filter(function(e){return function(e){return e.get("id")!==t.get("id")}}(this)),n=l.slice(0,e),r=l.slice(e),a=n.last(),o=a?a.get("epics_order")+1:0,s[t.get("id")]=o,c=n.filter(function(t){return function(t){return t.get("epics_order")===a.get("epics_order")}}(this)),u=_.fromPairs(c.map(function(t){return function(t){return[t.get("id"),t.get("epics_order")]}}(this)).toJS()),r.forEach(function(t){return s[t.get("id")]=t.get("epics_order")+1}),this._epics=this._epics.map(function(t){return t.set("epics_order",s[t.get("id")])}),this._epics=this._epics.sortBy(function(t){return t.get("epics_order")}),i={epics_order:o,version:t.get("version")},this.resources.epics.reorder(t.get("id"),i,u).then(function(t){return function(e){return t._epics=t._epics.map(function(t){return t.get("id")===e.get("id")?e:t})}}(this))},t.prototype.reorderRelatedUserstory=function(t,e,r,n){var i,o,s,a,c,u,l,p,h;return h=e.filter(function(t){return function(t){return t.get("id")!==r.get("id")}}(this)),i=h.slice(0,n),c=i.last(),a=c?c.get("epic_order")+1:0,u=i.filter(function(t){return function(t){return t.get("epic_order")===c.get("epic_order")}}(this)),l=_.fromPairs(u.map(function(t){return function(t){return[t.get("id"),t.get("epic_order")]}}(this)).toJS()),o={order:a},s=t.get("id"),p=r.get("id"),this.resources.epics.reorderRelatedUserstory(s,p,o,l).then(function(e){return function(){return e.listRelatedUserStories(t)}}(this))},t.prototype.replaceEpic=function(t){return this._epics=this._epics.map(function(e){return e.get("id")===t.get("id")?t:e})},t.prototype.updateEpicStatus=function(t,e){var r;return r={status:e,version:t.get("version")},this.resources.epics.patch(t.get("id"),r).then(this.replaceEpic.bind(this))},t.prototype.updateEpicAssignedTo=function(t,e){var r;return r={assigned_to:e,version:t.get("version")},this.resources.epics.patch(t.get("id"),r).then(this.replaceEpic.bind(this))},t}(),angular.module("taigaEpics").service("tgEpicsService",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e){this.projectService=t,this.epicsService=e,this.sectionName="Epics",this.showCreateRelatedUserstoriesLightbox=!1}return t.$inject=["tgProjectService","tgEpicsService"],t.prototype.showRelatedUserStoriesSection=function(){var t;return this.projectService.hasPermission("view_epics")||(null!=(t=this.userstories)?t.length:void 0)>0},t.prototype.userCanSort=function(){return this.projectService.hasPermission("modify_epic")},t.prototype.loadRelatedUserstories=function(){return this.epicsService.listRelatedUserStories(this.epic).then(function(t){return function(e){return t.userstories=e}}(this))},t.prototype.reorderRelatedUserstory=function(t,e){return this.epicsService.reorderRelatedUserstory(this.epic,this.userstories,t,e).then(function(t){return function(e){return t.userstories=e}}(this))},t}(),e.controller("RelatedUserStoriesCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e,r,n){this.currentUserService=t,this.rs=e,this.confirm=r,this.analytics=n,this.projects=null,this.projectUserstories=Immutable.List(),this.loading=!1}return t.$inject=["tgCurrentUserService","tgResources","$tgConfirm","$tgAnalytics"],t.prototype.loadProjects=function(){if(null===this.projects)return this.projects=this.currentUserService.projects.get("all")},t.prototype.filterUss=function(t,e){var r;return r=this.rs.userstories.listInAllProjects({project:t,q:e},!0).then(function(t){return function(e){var r,n;return r=t.epicUserstories.map(function(t){return t.get("id")}),n=e.filter(function(t){return r.indexOf(t.get("id"))===-1}),t.projectUserstories=n}}(this))},t.prototype.saveRelatedUserStory=function(t,e){var r,n,i;if(this.validateExistingUserstoryForm())return this.loading=!0,n=function(t){return function(e){return t.loading=!1,t.confirm.notify("error"),t.setExistingUserstoryFormErrors(e)}}(this),i=function(t){return function(){return t.analytics.trackEvent("epic related user story","create","create related user story on epic",1),t.loading=!1,e&&e(),t.loadRelatedUserstories()}}(this),r=this.epic.get("id"),this.rs.epics.addRelatedUserstory(r,t).then(i,n)},t.prototype.bulkCreateRelatedUserStories=function(t,e,r){var n,i,o;if(this.validateNewUserstoryForm())return this.loading=!0,i=function(t){return function(e){return t.loading=!1,t.confirm.notify("error"),t.setNewUserstoryFormErrors(e)}}(this),o=function(t){return function(){return t.analytics.trackEvent("epic related user story","create","create related user story on epic",1),t.loading=!1,r&&r(),t.loadRelatedUserstories()}}(this),n=this.epic.get("id"),this.rs.epics.bulkCreateRelatedUserStories(n,t,e).then(o,i)},t}(),e.controller("RelatedUserstoriesCreateCtrl",t)}.call(this),function(){var t,e,r;r=angular.module("taigaEpics"),e=this.taiga.debounceLeading,t=function(t){var r;return this.lightboxService=t,r=function(t,r,n,i){var o,s;return s=r.find(".new-user-story-form").checksley(),o=r.find(".existing-user-story-form").checksley(),i.validateNewUserstoryForm=function(t){return function(){return s.validate()}}(this),i.setNewUserstoryFormErrors=function(t){return function(t){return s.setErrors(t)}}(this),i.validateExistingUserstoryForm=function(t){return function(){return o.validate()}}(this),i.setExistingUserstoryFormErrors=function(t){return function(t){return o.setErrors(t)}}(this),t.showLightbox=function(e){return i.loadProjects(),t.selectProject(e).then(function(t){return function(){return lightboxService.open(r.find(".lightbox-create-related-user-stories"))}}(this))},t.closeLightbox=function(){return t.selectedUserstory=null,t.searchUserstory="",t.relatedUserstoriesText="",lightboxService.close(r.find(".lightbox-create-related-user-stories"))},t.$watch("vm.project",function(e){if(null!=e)return t.selectedProject=e.get("id")}),t.selectProject=function(e){return t.selectedUserstory=null,t.searchUserstory="",i.filterUss(e,t.searchUserstory)},t.onUpdateSearchUserstory=e(300,function(){return t.selectedUserstory=null,i.filterUss(t.selectedProject,t.searchUserstory)})},{link:r,templateUrl:"epics/related-userstories/related-userstories-create/related-userstories-create.html",controller:"RelatedUserstoriesCreateCtrl",controllerAs:"vm",bindToController:!0,scope:{showCreateRelatedUserstoriesLightbox:"=",project:"=",epic:"=",epicUserstories:"=",loadRelatedUserstories:"&"}}},t.$inject=["lightboxService"],r.directive("tgRelatedUserstoriesCreate",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(t,e){var r;return r=function(r,n,i){var o,s,a;if(e.hasPermission("modify_epic"))return o=t(i.tgRelatedUserstoriesSortable),s=dragula([n[0]],{copySortSource:!1,copy:!1,mirrorContainer:n[0],moves:function(t){return $(t).is("tg-related-userstory-row")}}),s.on("dragend",function(t){var e,n,i;return e=$(t),i=e.scope().us,n=e.index(),r.$apply(function(){return o(r,{us:i,newIndex:n})})}),a=autoScroll(window,{margin:20,pixels:30,scrollWhenOutside:!0,autoScroll:function(){return this.down&&s.dragging}}),r.$on("$destroy",function(){return n.off(),s.destroy()})},{link:r}},t.$inject=["$parse","tgProjectService"],e.directive("tgRelatedUserstoriesSortable",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){return{templateUrl:"epics/related-userstories/related-userstories.html",controller:"RelatedUserStoriesCtrl",controllerAs:"vm",bindToController:!0,scope:{userstories:"=",project:"=",epic:"="}}},t.$inject=[],e.directive("tgRelatedUserstories",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){function t(t,e,r,n){this.avatarService=t,this.translate=e,this.confirm=r,this.rs=n}return t.$inject=["tgAvatarService","$translate","$tgConfirm","tgResources"],t.prototype.setAvatarData=function(){var t;return t=this.userstory.get("assigned_to_extra_info"),this.avatar=this.avatarService.getAvatar(t)},t.prototype.getAssignedToFullNameDisplay=function(){return this.userstory.get("assigned_to")?this.userstory.getIn(["assigned_to_extra_info","full_name_display"]):this.translate.instant("COMMON.ASSIGNED_TO.NOT_ASSIGNED")},t.prototype.onDeleteRelatedUserstory=function(){var t,e;return e=this.translate.instant("EPIC.TITLE_LIGHTBOX_UNLINK_RELATED_USERSTORY"),t=this.translate.instant("EPIC.MSG_LIGHTBOX_UNLINK_RELATED_USERSTORY",{subject:this.userstory.get("subject")}),this.confirm.askOnDelete(e,t).then(function(e){return function(r){var n,i,o,s;return i=function(){return t=e.translate.instant("EPIC.ERROR_UNLINK_RELATED_USERSTORY",{errorMessage:t}),e.confirm.notify("error",null,t),r.finish(!1)},o=function(){return e.loadRelatedUserstories(),r.finish()},n=e.epic.get("id"),s=e.userstory.get("id"),e.rs.epics.deleteRelatedUserstory(n,s).then(o,i)}}(this))},t}(),e.controller("RelatedUserstoryRowCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaEpics"),t=function(){var t;return t=function(t,e,r,n){return n.setAvatarData()},{link:t,templateUrl:"epics/related-userstories/related-userstory-row/related-userstory-row.html",controller:"RelatedUserstoryRowCtrl",controllerAs:"vm",bindToController:!0,scope:{userstory:"=",epic:"=",project:"=",loadRelatedUserstories:"&"}}},t.$inject=[],e.directive("tgRelatedUserstoryRow",t)}.call(this),function(){var t,e,r=function(t,e){return function(){return t.apply(e,arguments)}},n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;e=this.taiga,t=function(t){function i(t,n,i,o,s,a,c,u){var l,p;this.routeParams=t,this.externalAppsService=n,this.window=i,this.currentUserService=o,this.location=s,this.navUrls=a,this.xhrError=c,this.loader=u,this.createApplicationToken=r(this.createApplicationToken,this),this._getApplicationToken=r(this._getApplicationToken,this),this._redirect=r(this._redirect,this),this.loader.start(!1),this._applicationId=this.routeParams.application,this._state=this.routeParams.state,this._getApplicationToken(),this._user=this.currentUserService.getUser(),this._application=null,p=encodeURIComponent(this.location.url()),l=this.navUrls.resolve("login"),this.loginWithAnotherUserUrl=l+"?next="+p,e.defineImmutableProperty(this,"user",function(t){return function(){return t._user}}(this)),e.defineImmutableProperty(this,"application",function(t){return function(){return t._application}}(this))}return n(i,t),i.$inject=["$routeParams","tgExternalAppsService","$window","tgCurrentUserService","$location","$tgNavUrls","tgXhrErrorService","tgLoader"],i.prototype._redirect=function(t){var e;return e=t.get("next_url"),this.window.open(e,"_self")},i.prototype._getApplicationToken=function(){return this.externalAppsService.getApplicationToken(this._applicationId,this._state).then(function(t){return function(e){return t._application=e.get("application"),e.get("auth_code")?t._redirect(e):t.loader.pageLoaded()}}(this))["catch"](function(t){return function(e){return t.loader.pageLoaded(),t.xhrError.response(e)}}(this))},i.prototype.cancel=function(){return this.window.history.back()},i.prototype.createApplicationToken=function(){return this.externalAppsService.authorizeApplicationToken(this._applicationId,this._state).then(function(t){return function(e){return t._redirect(e)}}(this))["catch"](function(t){return function(e){return t.xhrError.response(e)}}(this))},i}(e.Controller),angular.module("taigaExternalApps").controller("ExternalApp",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.rs=t}return e(r,t),r.$inject=["tgResources"],r.prototype.getApplicationToken=function(t,e){return this.rs.externalapps.getApplicationToken(t,e)},r.prototype.authorizeApplicationToken=function(t,e){return this.rs.externalapps.authorizeApplicationToken(t,e)},r}(taiga.Service),angular.module("taigaExternalApps").service("tgExternalAppsService",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.lightboxFactory=t}return e(r,t),r.$inject=["tgLightboxFactory"],r.prototype.sendFeedback=function(){return this.lightboxFactory.create("tg-lb-feedback",{"class":"lightbox lightbox-feedback lightbox-generic-form"})},r}(taiga.Service),angular.module("taigaFeedback").service("tgFeedbackService",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t,e,r){this.currentUserService=t,this.permissionService=e,this.lightboxFactory=r,this.hiddenDeletedComment=!0}return t.$inject=["tgCurrentUserService","tgCheckPermissionsService","tgLightboxFactory"],t.prototype.showDeletedComment=function(){return this.hiddenDeletedComment=!1},t.prototype.hideDeletedComment=function(){return this.hiddenDeletedComment=!0},t.prototype.checkCancelComment=function(t){if(27===t.keyCode)return this.onEditMode({commentId:this.comment.id})},t.prototype.canEditDeleteComment=function(){if(this.currentUserService.getUser())return this.user=this.currentUserService.getUser(),this.user.get("id")===this.comment.user.pk||this.permissionService.check("modify_project")},t.prototype.saveComment=function(t,e){return this.onEditComment({commentId:this.comment.id,commentData:t,callback:e})},t.prototype.displayCommentHistory=function(){return this.lightboxFactory.create("tg-lb-display-historic",{"class":"lightbox lightbox-display-historic",comment:"comment",name:"name",object:"object"},{comment:this.comment,name:this.name,object:this.object})},t}(),e.controller("CommentCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){return{scope:{name:"@",object:"@",comment:"<",type:"<",loading:"<",editing:"<",deleting:"<",objectId:"<",editMode:"<",onEditMode:"&",onDeleteComment:"&",onRestoreDeletedComment:"&",onEditComment:"&"},templateUrl:"history/comments/comment.html",bindToController:!0,controller:"CommentCtrl",controllerAs:"vm"}},e.directive("tgComment",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(){}return t.$inject=[],t.prototype.initializePermissions=function(){return this.canAddCommentPermission="comment_"+this.name},t}(),e.controller("CommentsCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return n.initializePermissions()},{scope:{type:"<",name:"@",object:"@",comments:"<",onEditMode:"&",onDeleteComment:"&",onRestoreDeletedComment:"&",onAddComment:"&",onEditComment:"&",editMode:"<",loading:"<",deleting:"<",editing:"<",projectId:"="},templateUrl:"history/comments/comments.html",bindToController:!0,controller:"CommentsCtrl",controllerAs:"vm",link:t}},e.directive("tgComments",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t){this.rs=t}return t.$inject=["$tgResources"],t.prototype._loadHistoric=function(){var t,e,r;return r=this.name,e=this.object,t=this.comment.id,this.rs.history.getCommentHistory(r,e,t).then(function(t){return function(e){return t.commentHistoryEntries=e}}(this))},t}(),e.controller("LightboxDisplayHistoricCtrl",t)}.call(this),function(){var t;t=function(t){var e;return e=function(e,r,n,i){return i._loadHistoric(),t.open(r)},{scope:{},bindToController:{name:"=",object:"=",comment:"="},templateUrl:"history/history-lightbox/comment-history-lightbox.html",controller:"LightboxDisplayHistoricCtrl",controllerAs:"vm",link:e}},t.$inject=["lightboxService"],angular.module("taigaHistory").directive("tgLbDisplayHistoric",t)}.call(this),function(){var t;t=function(){return{scope:{entry:"<"},templateUrl:"history/history-lightbox/history-entry.html"}},angular.module("taigaHistory").directive("tgHistoryEntry",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){ -return{templateUrl:"history/history-tabs/history-tabs.html",scope:{showCommentTab:"&",showActivityTab:"&",onActiveComments:"&",onActiveActivities:"&",onOrderComments:"&",activeTab:"<",commentsNum:"<",activitiesNum:"<",onReverse:"<"}}},e.directive("tgHistoryTabs",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(t,e,r,n){this.rs=t,this.repo=e,this.storage=r,this.projectService=n,this.editing=null,this.deleting=null,this.editMode={},this.viewComments=!0,this.reverse=this.storage.get("orderComments"),this._loadHistory()}return t.$inject=["$tgResources","$tgRepo","$tgStorage","tgProjectService"],t.prototype._loadHistory=function(){return this.rs.history.get(this.name,this.id).then(function(t){return function(e){return t._getComments(e),t._getActivities(e)}}(this))},t.prototype._getComments=function(t){return this.comments=_.filter(t,function(t){return""!==t.comment}),this.reverse&&this.comments-_.reverse(this.comments),this.commentsNum=this.comments.length},t.prototype._getActivities=function(t){return this.activities=_.filter(t,function(t){return Object.keys(t.values_diff).length>0}),this.activitiesNum=this.activities.length},t.prototype.showHistorySection=function(){return this.showCommentTab()||this.showActivityTab()},t.prototype.showCommentTab=function(){return this.commentsNum>0||this.projectService.hasPermission("comment_"+this.name)},t.prototype.showActivityTab=function(){return this.activitiesNum>0},t.prototype.toggleEditMode=function(t){return this.editMode[t]=!this.editMode[t]},t.prototype.onActiveHistoryTab=function(t){return this.viewComments=t},t.prototype.deleteComment=function(t){var e,r,n;return n=this.name,r=this.id,e=t,this.deleting=t,this.rs.history.deleteComment(n,r,e).then(function(t){return function(){return t._loadHistory(),t.deleting=null}}(this))},t.prototype.editComment=function(t,e){var r,n,i;return i=this.name,n=this.id,r=t,this.editing=t,this.rs.history.editComment(i,n,r,e).then(function(e){return function(){return e._loadHistory(),e.toggleEditMode(t),e.editing=null}}(this))},t.prototype.restoreDeletedComment=function(t){var e,r,n;return n=this.name,r=this.id,e=t,this.editing=t,this.rs.history.undeleteComment(n,r,e).then(function(t){return function(){return t._loadHistory(),t.editing=null}}(this))},t.prototype.addComment=function(t){return this.repo.save(this.type).then(function(e){return function(){return e._loadHistory(),t()}}(this))},t.prototype.onOrderComments=function(){return this.reverse=!this.reverse,this.storage.set("orderComments",this.reverse),this._loadHistory()},t}(),e.controller("HistorySection",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return t.$on("object:updated",function(){return n._loadHistory(t.type,t.id)})},{link:t,templateUrl:"history/history.html",controller:"HistorySection",controllerAs:"vm",bindToController:!0,scope:{type:"=",name:"@",id:"=",projectId:"="}}},t.$inject=[],e.directive("tgHistorySection",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){function t(){}return t.$inject=[],t.prototype.diffTags=function(){if("tags"===this.type)return this.diffRemoveTags=_.difference(this.diff[0],this.diff[1]).toString(),this.diffAddTags=_.difference(this.diff[1],this.diff[0]).toString()},t}(),e.controller("ActivitiesDiffCtrl",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r,n){return n.diffTags()},{scope:{type:"<",diff:"<"},templateUrl:"history/history/history-diff.html",controller:"ActivitiesDiffCtrl",controllerAs:"vm",bindToController:!0,link:t}},e.directive("tgHistoryDiff",t)}.call(this),function(){var t,e;e=angular.module("taigaHistory"),t=function(){var t;return t=function(t,e,r){},{scope:{activities:"<"},templateUrl:"history/history/history.html",link:t}},e.directive("tgHistory",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){return t.vm={},t.vm.duty=t.duty,t.vm.type=t.type,t.vm.getDutyType=function(){if(t.vm.duty){if("epics"===t.vm.duty.get("_name"))return e.instant("COMMON.EPIC");if("userstories"===t.vm.duty.get("_name"))return e.instant("COMMON.USER_STORY");if("tasks"===t.vm.duty.get("_name"))return e.instant("COMMON.TASK");if("issues"===t.vm.duty.get("_name"))return e.instant("COMMON.ISSUE")}}},{templateUrl:"home/duties/duty.html",scope:{duty:"=tgDuty",type:"@"},link:r}},t.$inject=["$tgNavUrls","$translate"],angular.module("taigaHome").directive("tgDuty",t)}.call(this),function(){var t;t=function(){function t(t,e,r){this.currentUserService=t,this.location=e,this.navUrls=r,this.currentUserService.getUser()||this.location.path(this.navUrls.resolve("discover"))}return t.$inject=["tgCurrentUserService","$location","$tgNavUrls"],t}(),angular.module("taigaHome").controller("Home",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga.groupBy,t=function(t){function n(t,e,r){this.navurls=t,this.rs=e,this.projectsService=r}return r(n,t),n.$inject=["$tgNavUrls","tgResources","tgProjectsService"],n.prototype._attachProjectInfoToWorkInProgress=function(t,e){var r,n,i,o,s;return r=function(t){return function(r,n){var i,o,s;return o=e.get(String(r.get("project"))),i={project:o.get("slug"),ref:r.get("ref")},s=t.navurls.resolve("project-"+n+"-detail",i),r=r.set("url",s),r=r.set("project",o),r=r.set("_name",n)}}(this),i=function(t,n){return t=t.filter(function(t){return e.get(String(t.get("project")))}),t=t.map(function(t){return r(t,n)})},o=t.get("assignedTo"),o.get("epics")&&(n=i(o.get("epics"),"epics"),o=o.set("epics",n)),o.get("userStories")&&(n=i(o.get("userStories"),"userstories"),o=o.set("userStories",n)),o.get("tasks")&&(n=i(o.get("tasks"),"tasks"),o=o.set("tasks",n)),o.get("issues")&&(n=i(o.get("issues"),"issues"),o=o.set("issues",n)),s=t.get("watching"),s.get("epics")&&(n=i(s.get("epics"),"epics"),s=s.set("epics",n)),s.get("userStories")&&(n=i(s.get("userStories"),"userstories"),s=s.set("userStories",n)),s.get("tasks")&&(n=i(s.get("tasks"),"tasks"),s=s.set("tasks",n)),s.get("issues")&&(n=i(s.get("issues"),"issues"),s=s.set("issues",n)),t=t.set("assignedTo",o),t=t.set("watching",s)},n.prototype.getWorkInProgress=function(t){var r,n,i,o,s,a,c,u,l,p,h,f,d,g,m,v,y;return p=Immutable.Map(),h=this.projectsService.getProjectsByUserId(t).then(function(t){return p=Immutable.fromJS(e(t.toJS(),function(t){return t.id}))}),o=Immutable.Map(),a={status__is_closed:!1,assigned_to:t},l={is_closed:!1,assigned_users:t},u={status__is_closed:!1,assigned_to:t},c={status__is_closed:!1,assigned_to:t},r=this.rs.epics.listInAllProjects(a).then(function(t){return o=o.set("epics",t)}),s=this.rs.userstories.listInAllProjects(l).then(function(t){return o=o.set("userStories",t)}),i=this.rs.tasks.listInAllProjects(u).then(function(t){return o=o.set("tasks",t)}),n=this.rs.issues.listInAllProjects(c).then(function(t){return o=o.set("issues",t)}),a={status__is_closed:!1,watchers:t},l={is_closed:!1,watchers:t},u={status__is_closed:!1,watchers:t},c={status__is_closed:!1,watchers:t},f=Immutable.Map(),d=this.rs.epics.listInAllProjects(a).then(function(t){return f=f.set("epics",t)}),v=this.rs.userstories.listInAllProjects(l).then(function(t){return f=f.set("userStories",t)}),m=this.rs.tasks.listInAllProjects(u).then(function(t){return f=f.set("tasks",t)}),g=this.rs.issues.listInAllProjects(c).then(function(t){return f=f.set("issues",t)}),y=Immutable.Map(),Promise.all([h,r,d,s,v,i,m,n,g]).then(function(t){return function(){return y=y.set("assignedTo",o),y=y.set("watching",f),y=t._attachProjectInfoToWorkInProgress(y,p)}}(this))},n}(taiga.Service),angular.module("taigaHome").service("tgHomeService",t)}.call(this),function(){var t;t=function(t){var e,r;return r=function(e,r,n,i){return e.vm={},taiga.defineImmutableProperty(e.vm,"projects",function(){return t.projects.get("recents")})},e={templateUrl:"home/projects/home-project-list.html",scope:{},link:r}},t.$inject=["tgCurrentUserService"],angular.module("taigaHome").directive("tgHomeProjectList",t)}.call(this),function(){var t;t=function(){function t(t){this.homeService=t,this.assignedTo=Immutable.Map(),this.watching=Immutable.Map()}return t.$inject=["tgHomeService"],t.prototype._setAssignedTo=function(t){var e,r,n,i;if(e=t.get("assignedTo").get("epics"),i=t.get("assignedTo").get("userStories"),n=t.get("assignedTo").get("tasks"),r=t.get("assignedTo").get("issues"),this.assignedTo=i.concat(n).concat(r).concat(e),this.assignedTo.size>0)return this.assignedTo=this.assignedTo.sortBy(function(t){return t.get("modified_date")}).reverse()},t.prototype._setWatching=function(t){var e,r,n,i;if(e=t.get("watching").get("epics"),i=t.get("watching").get("userStories"),n=t.get("watching").get("tasks"),r=t.get("watching").get("issues"),this.watching=i.concat(n).concat(r).concat(e),this.watching.size>0)return this.watching=this.watching.sortBy(function(t){return t.get("modified_date")}).reverse()},t.prototype.getWorkInProgress=function(t){return this.homeService.getWorkInProgress(t).then(function(t){return function(e){return t._setAssignedTo(e),t._setWatching(e)}}(this))},t}(),angular.module("taigaHome").controller("WorkingOn",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(t,r,n,i){var o,s;if(o=e.getUser())return s=o.get("id"),i.getWorkInProgress(s)},{controller:"WorkingOn",controllerAs:"vm",templateUrl:"home/working-on/working-on.html",scope:{},link:r}},t.$inject=["tgHomeService","tgCurrentUserService"],angular.module("taigaHome").directive("tgWorkingOn",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,e,r,n,i){this.projectService=t,this.rs=e,this.lightboxService=r,this.confirm=n,this.rootScope=i,this.project=this.projectService.project,this.roles=this.projectService.project.get("roles"),this.rolesValues={},this.loading=!1,this.defaultMaxInvites=4}return t.$inject=["tgProjectService","$tgResources","lightboxService","$tgConfirm","$rootScope"],t.prototype._areRolesValidated=function(){return Object.defineProperty(this,"areRolesValidated",{get:function(t){return function(){var e;return e=_.filter(Object.values(t.rolesValues),function(t){return t}),e.length===t.contactsToInvite.size+t.emailsToInvite.size}}(this)})},t.prototype._checkLimitMemberships=function(){var t;return null===this.project.get("max_memberships")?this.membersLimit=this.defaultMaxInvites:(t=Math.max(this.project.get("max_memberships")-this.project.get("total_memberships"),0),this.membersLimit=Math.min(t,this.defaultMaxInvites)),this.showWarningMessage=this.membersLimit=s.get("max_memberships_private_projects"),i&&n?(e="private-space-members",r=s.get("max_memberships_private_projects")):i?e="private-space":n&&(e="private-members", -r=s.get("max_memberships_private_projects"))):(o=!this.currentUserService.canCreatePublicProjects().valid,n=null!==s.get("max_memberships_public_projects")&&t.headers.memberships>=s.get("max_memberships_public_projects"),o&&n?(e="public-space-members",r=s.get("max_memberships_public_projects")):o?e="public-space":n&&(e="public-members",r=s.get("max_memberships_public_projects"))),!!e&&{key:e,values:{max_memberships:r,members:t.headers.memberships}})},r}(taiga.Service),angular.module("taigaProjects").service("tgImportProjectService",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.isDisabled=function(t){return this.invitedMembers.indexOf(t)===-1},t}(),angular.module("taigaProjects").controller("InviteMembersCtrl",t)}.call(this),function(){var t;t=function(){var t;return t=function(t,e,r,n){},{link:t,templateUrl:"projects/create/invite-members/invite-members.html",controller:"InviteMembersCtrl",controllerAs:"vm",bindToController:!0,scope:{invitedMembers:"<",members:"<",onToggleInvitedMember:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgInviteMembers",t)}.call(this),function(){var t;t=function(){return{templateUrl:"projects/create/invite-members/single-member/single-member.html",scope:{disabled:"<",avatar:"="}}},t.$inject=[],angular.module("taigaProjects").directive("tgSingleMember",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.canCreatePublicProjects=this.currentUserService.canCreatePublicProjects(),this.canCreatePrivateProjects=this.currentUserService.canCreatePrivateProjects(),this.projectForm=this.project.toJS(),this.projectForm.is_private=!1,this.projectForm.keepExternalReference=!1,"agile"===this.projectForm.importer_type?this.projectForm.project_type=null:this.projectForm.project_type="scrum",this.projectForm.create_subissues=!0,!this.canCreatePublicProjects.valid&&this.canCreatePrivateProjects.valid&&(this.projectForm.is_private=!0)}return t.$inject=["tgCurrentUserService"],t.prototype.checkUsersLimit=function(){return this.limitMembersPrivateProject=this.currentUserService.canAddMembersPrivateProject(this.members.size),this.limitMembersPublicProject=this.currentUserService.canAddMembersPublicProject(this.members.size)},t.prototype.saveForm=function(){return this.onSaveProjectDetails({project:Immutable.fromJS(this.projectForm)})},t.prototype.canCreateProject=function(){return this.projectForm.is_private?this.canCreatePrivateProjects.valid:this.canCreatePublicProjects.valid},t.prototype.isDisabled=function(){return!this.canCreateProject()},t}(),angular.module("taigaProjects").controller("JiraImportProjectFormCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return t.$watch("vm.members",n.checkUsersLimit.bind(n))},templateUrl:"projects/create/jira-import/jira-import-project-form/jira-import-project-form.html",controller:"JiraImportProjectFormCtrl",controllerAs:"vm",bindToController:!0,scope:{members:"<",project:"<",onSaveProjectDetails:"&",onCancelForm:"&",fetchingUsers:"<"}}},t.$inject=[],angular.module("taigaProjects").directive("tgJiraImportProjectForm",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.jiraImportService=t,this.confirm=e,this.translate=r,this.importProjectService=n,this.step="autorization-jira",this.project=null,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.jiraImportService.projects}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.jiraImportService.projectUsers}}(this))}return t.$inject=["tgJiraImportService","$tgConfirm","$translate","tgImportProjectService"],t.prototype.startProjectSelector=function(){return this.step="project-select-jira",this.jiraImportService.fetchProjects()},t.prototype.onSelectProject=function(t){return this.step="project-form-jira",this.project=t,this.fetchingUsers=!0,this.jiraImportService.fetchUsers(this.project.get("id")).then(function(t){return function(){return t.fetchingUsers=!1}}(this))},t.prototype.onSaveProjectDetails=function(t){return this.project=t,this.step="project-members-jira"},t.prototype.onCancelMemberSelection=function(){return this.step="project-form-jira"},t.prototype.startImport=function(t){var e,r,n;return e=this.confirm.loader(this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.TITLE"),this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION"),!0),e.start(),r=this.project.get("project_type"),"issues"===r&&this.project.get("create_subissues")&&(r="issues-with-subissues"),n=this.jiraImportService.importProject(this.project.get("name"),this.project.get("description"),this.project.get("id"),t,this.project.get("keepExternalReference"),this.project.get("is_private"),r,this.project.get("importer_type")),this.importProjectService.importPromise(n).then(function(t){return function(){return e.stop()}}(this))},t.prototype.submitUserSelection=function(t){return this.startImport(t),null},t}(),angular.module("taigaProjects").controller("JiraImportCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return n.startProjectSelector()},templateUrl:"projects/create/jira-import/jira-import.html",controller:"JiraImportCtrl",controllerAs:"vm",bindToController:!0,scope:{onCancel:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgJiraImport",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.resources=t,this.location=e,this.projects=Immutable.List(),this.projectUsers=Immutable.List()}return e(r,t),r.$inject=["tgResources","$location"],r.prototype.setToken=function(t,e){return this.token=t,this.url=e},r.prototype.fetchProjects=function(){return this.resources.jiraImporter.listProjects(this.url,this.token).then(function(t){return function(e){return t.projects=e}}(this))},r.prototype.fetchUsers=function(t){return this.resources.jiraImporter.listUsers(this.url,this.token,t).then(function(t){return function(e){return t.projectUsers=e}}(this))},r.prototype.importProject=function(t,e,r,n,i,o,s,a){return this.resources.jiraImporter.importProject(this.url,this.token,t,e,r,n,i,o,s,a)},r.prototype.getAuthUrl=function(t){return new Promise(function(e){return function(r,n){return e.resources.jiraImporter.getAuthUrl(t).then(function(t){return e.authUrl=t.data.url,r(e.authUrl)},function(t){return n(t.data._error_message)})}}(this))},r.prototype.authorize=function(t){return new Promise(function(e){return function(r,n){return e.resources.jiraImporter.authorize(t).then(function(t){return e.token=t.data.token,e.url=t.data.url,r(t.data)},function(t){return n(new Error(t.status))})}}(this))},r}(taiga.Service),angular.module("taigaProjects").service("tgJiraImportService",t)}.call(this),function(){var t;t=function(){function t(){}return t.$inject=[],t.prototype.start=function(){return this.mode="search",this.invalid=!1},t.prototype.assignUser=function(){return this.onSelectUser({user:this.user,taigaUser:this.userEmail})},t.prototype.selectUser=function(t){return this.onSelectUser({user:this.user,taigaUser:Immutable.fromJS(t)})},t}(),angular.module("taigaProjects").controller("SelectImportUserLightboxCtrl",t)}.call(this),function(){var t;t=function(t,e){var r;return r=function(r,n,i,o){return r.$watch("vm.visible",function(i){return i&&!n.hasClass("open")?(o.start(),t.open(n,null,r.vm.onClose).then(function(){return n.find("input").focus(),e.init(n)})):!i&&n.hasClass("open")?t.close(n).then(function(){return o.userEmail="",o.usersSearch=""}):void 0})},{controller:"SelectImportUserLightboxCtrl",controllerAs:"vm",bindToController:!0,scope:{user:"<",visible:"<",onClose:"&",onSelectUser:"&",selectableUsers:"<",isPrivate:"<",limitMembersPrivateProject:"<",limitMembersPublicProject:"<",displayEmailSelector:"<"},templateUrl:"projects/create/select-import-user-lightbox/select-import-user-lightbox.html",link:r}},t.$inject=["lightboxService","lightboxKeyboardNavigationService"],angular.module("taigaProjects").directive("tgSelectImportUserLightbox",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,this.canCreatePublicProjects=this.currentUserService.canCreatePublicProjects(),this.canCreatePrivateProjects=this.currentUserService.canCreatePrivateProjects(),this.projectForm=this.project.toJS(),this.platformName="Trello",this.projectForm.is_private=!1,this.projectForm.keepExternalReference=!1,!this.canCreatePublicProjects.valid&&this.canCreatePrivateProjects.valid&&(this.projectForm.is_private=!0)}return t.$inject=["tgCurrentUserService"],t.prototype.checkUsersLimit=function(){return this.limitMembersPrivateProject=this.currentUserService.canAddMembersPrivateProject(this.members.size),this.limitMembersPublicProject=this.currentUserService.canAddMembersPublicProject(this.members.size)},t.prototype.saveForm=function(){return this.onSaveProjectDetails({project:Immutable.fromJS(this.projectForm)})},t.prototype.canCreateProject=function(){return this.projectForm.is_private?this.canCreatePrivateProjects.valid:this.canCreatePublicProjects.valid},t.prototype.isDisabled=function(){return!this.canCreateProject()},t}(),angular.module("taigaProjects").controller("TrelloImportProjectFormCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return t.$watch("vm.members",n.checkUsersLimit.bind(n))},templateUrl:"projects/create/trello-import/trello-import-project-form/trello-import-project-form.html",controller:"TrelloImportProjectFormCtrl",controllerAs:"vm",bindToController:!0,scope:{members:"<",project:"<",onSaveProjectDetails:"&",onCancelForm:"&",fetchingUsers:"<"}}},t.$inject=[],angular.module("taigaProjects").directive("tgTrelloImportProjectForm",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n){this.trelloImportService=t,this.confirm=e,this.translate=r,this.importProjectService=n,this.project=null,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.trelloImportService.projects}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.trelloImportService.projectUsers}}(this))}return t.$inject=["tgTrelloImportService","$tgConfirm","$translate","tgImportProjectService"],t.prototype.startProjectSelector=function(){return this.trelloImportService.fetchProjects().then(function(t){return function(){return t.step="project-select-trello"}}(this))},t.prototype.onSelectProject=function(t){return this.step="project-form-trello",this.project=t,this.fetchingUsers=!0,this.trelloImportService.fetchUsers(this.project.get("id")).then(function(t){return function(){return t.fetchingUsers=!1}}(this))},t.prototype.onSaveProjectDetails=function(t){return this.project=t,this.step="project-members-trello"},t.prototype.onCancelMemberSelection=function(){return this.step="project-form-trello"},t.prototype.startImport=function(t){var e,r;return e=this.confirm.loader(this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.TITLE"),this.translate.instant("PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION"),!0),e.start(),r=this.trelloImportService.importProject(this.project.get("name"),this.project.get("description"),this.project.get("id"),t,this.project.get("keepExternalReference"),this.project.get("is_private")),this.importProjectService.importPromise(r).then(function(t){return function(){return e.stop()}}(this))},t.prototype.submitUserSelection=function(t){return this.startImport(t),null},t}(),angular.module("taigaProjects").controller("TrelloImportCtrl",t)}.call(this),function(){var t;t=function(){return{link:function(t,e,r,n){return n.startProjectSelector()},templateUrl:"projects/create/trello-import/trello-import.html",controller:"TrelloImportCtrl",controllerAs:"vm",bindToController:!0,scope:{onCancel:"&"}}},t.$inject=[],angular.module("taigaProjects").directive("tgTrelloImport",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t){this.resources=t,this.projects=Immutable.List(),this.projectUsers=Immutable.List(),this.token=null}return e(r,t),r.$inject=["tgResources"],r.prototype.setToken=function(t){return this.token=t},r.prototype.fetchProjects=function(){return this.resources.trelloImporter.listProjects(this.token).then(function(t){return function(e){return t.projects=e}}(this))},r.prototype.fetchUsers=function(t){return this.resources.trelloImporter.listUsers(this.token,t).then(function(t){return function(e){return t.projectUsers=e}}(this))},r.prototype.importProject=function(t,e,r,n,i,o){return this.resources.trelloImporter.importProject(this.token,t,e,r,n,i,o)},r.prototype.getAuthUrl=function(){return new Promise(function(t){return function(e){return t.resources.trelloImporter.getAuthUrl().then(function(r){return t.authUrl=r.data.url,e(t.authUrl)})}}(this))},r.prototype.authorize=function(t){return new Promise(function(e){return function(r,n){return e.resources.trelloImporter.authorize(t).then(function(t){return e.token=t.data.token,r(e.token)},function(t){return n(new Error(t.status))})}}(this))},r}(taiga.Service),angular.module("taigaProjects").service("tgTrelloImportService",t)}.call(this),function(){var t;t=function(t,e){return{link:function(r,n,i){return r.$watch("visible",function(i){return i&&!n.hasClass("open")?t.open(n,r.onClose).then(function(){return n.find("input").focus(),e.init(n)}):!i&&n.hasClass("open")?t.close(n):void 0})},templateUrl:"projects/create/warning-user-import-lightbox/warning-user-import-lightbox.html",scope:{visible:"<",onClose:"&",onConfirm:"&"}}},t.$inject=["lightboxService","lightboxKeyboardNavigationService"],angular.module("taigaProjects").directive("tgWarningUserImportLightbox",t)}.call(this),function(){var t;t=function(){function t(t){this.currentUserService=t,taiga.defineImmutableProperty(this,"projects",function(t){return function(){return t.currentUserService.projects.get("all")}}(this))}return t.$inject=["tgCurrentUserService"],t}(),angular.module("taigaProjects").controller("ProjectsListing",t)}.call(this),function(){var t;t=function(){function t(t,e,r,n,i){this.routeParams=t,this.appMetaService=e,this.auth=r,this.translate=n,this.projectService=i,this.user=this.auth.userData,taiga.defineImmutableProperty(this,"project",function(t){return function(){return t.projectService.project}}(this)),taiga.defineImmutableProperty(this,"members",function(t){return function(){return t.projectService.activeMembers}}(this)),this.appMetaService.setfn(this._setMeta.bind(this))}return t.$inject=["$routeParams","tgAppMetaService","$tgAuth","$translate","tgProjectService"],t.prototype._setMeta=function(){var t;return this.project?(t={projectName:this.project.get("name")},{title:this.translate.instant("PROJECT.PAGE_TITLE",t),description:this.project.get("description")}):null},t}(),angular.module("taigaProjects").controller("Project",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=this.taiga.groupBy,t=function(t){function e(t,e){this.rs=t,this.projectUrl=e}return n(e,t),e.$inject=["tgResources","$projectUrl"],e.prototype.create=function(t){return this.rs.projects.create(t)},e.prototype.duplicate=function(t,e){return this.rs.projects.duplicate(t,e)},e.prototype.getProjectBySlug=function(t){return this.rs.projects.getProjectBySlug(t).then(function(t){return function(e){return t._decorate(e)}}(this))},e.prototype.getProjectStats=function(t){return this.rs.projects.getProjectStats(t)},e.prototype.getProjectsByUserId=function(t,e){return this.rs.projects.getProjectsByUserId(t,e).then(function(t){return function(e){return e.map(t._decorate.bind(t))}}(this))},e.prototype._decorate=function(t){var e;return e=this.projectUrl.get(t.toJS()),t=t.set("url",e)},e.prototype.bulkUpdateProjectsOrder=function(t){return this.rs.projects.bulkUpdateOrder(t)},e.prototype.transferValidateToken=function(t,e){return this.rs.projects.transferValidateToken(t,e)},e.prototype.transferAccept=function(t,e,r){return this.rs.projects.transferAccept(t,e,r)},e.prototype.transferReject=function(t,e,r){return this.rs.projects.transferReject(t,e,r)},e}(r.Service),angular.module("taigaProjects").service("tgProjectsService",t)}.call(this),function(){var t;t=function(){return{templateUrl:"projects/transfer/cant-own-project-explanation.html"}},angular.module("taigaProjects").directive("tgCantOwnProjectExplanation",t)}.call(this),function(){var t,e;e=angular.module("taigaProjects"),t=function(){function t(t,e,r,n,i,o,s,a,c){this.routeParams=t,this.projectService=e,this.location=r,this.authService=n,this.currentUserService=i,this.navUrls=o,this.translate=s,this.confirmService=a,this.errorHandlingService=c}return t.$inject=["$routeParams","tgProjectsService","$location","$tgAuth","tgCurrentUserService","$tgNavUrls","$translate","$tgConfirm","tgErrorHandlingService"],t.prototype.initialize=function(){return this.projectId=this.project.get("id"),this.token=this.routeParams.token,this.showAddComment=!1,this._refreshUserData()},t.prototype._validateToken=function(){return this.projectService.transferValidateToken(this.projectId,this.token).then(null,function(t){return function(e,r){return t.errorHandlingService.notfound()}}(this))},t.prototype._refreshUserData=function(){return this.authService.refresh().then(function(t){return function(){return t._validateToken(),t._setProjectData(),t._checkOwnerData()}}(this))},t.prototype._setProjectData=function(){return this.canBeOwnedByUser=this.currentUserService.canOwnProject(this.project)},t.prototype._checkOwnerData=function(){var t,e;return t=this.currentUserService.getUser(),this.project.get("is_private")?(this.ownerMessage="ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PRIVATE",this.maxProjects=t.get("max_private_projects"),null===this.maxProjects&&(this.maxProjects=this.translate.instant("ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS")),this.currentProjects=t.get("total_private_projects"),e=t.get("max_memberships_private_projects")):(this.ownerMessage="ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PUBLIC",this.maxProjects=t.get("max_public_projects"),null===this.maxProjects&&(this.maxProjects=this.translate.instant("ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS")),this.currentProjects=t.get("total_public_projects"),e=t.get("max_memberships_public_projects")),this.validNumberOfMemberships=null===e||this.project.get("total_memberships")<=e},t.prototype.transferAccept=function(t,e){return this.loadingAccept=!0,this.projectService.transferAccept(this.project.get("id"),t,e).then(function(t){return function(){var e;e=t.navUrls.resolve("project-admin-project-profile-details",{project:t.project.get("slug")}),t.loadingAccept=!1,t.location.path(e),t.confirmService.notify("success",t.translate.instant("ADMIN.PROJECT_TRANSFER.ACCEPTED_PROJECT_OWNERNSHIP"),"",5e3)}}(this))},t.prototype.transferReject=function(t,e){return this.loadingReject=!0,this.projectService.transferReject(this.project.get("id"),t,e).then(function(t){return function(){var e;e=t.navUrls.resolve("home",{project:t.project.get("slug")}),t.loadingReject=!1,t.location.path(e),t.confirmService.notify("success",t.translate.instant("ADMIN.PROJECT_TRANSFER.REJECTED_PROJECT_OWNERNSHIP"),"",5e3)}}(this))},t.prototype.addComment=function(){return this.showAddComment=!0},t.prototype.hideComment=function(){return this.showAddComment=!1,this.reason=""},t}(),e.controller("TransferProjectController",t)}.call(this),function(){var t,e;e=angular.module("taigaProjects"),t=function(){var t;return t=function(t,e,r,n){return n.initialize()},{link:t,scope:{},bindToController:{project:"="},templateUrl:"projects/transfer/transfer-project.html",controller:"TransferProjectController",controllerAs:"vm"}},e.directive("tgTransferProject",t)}.call(this),function(){var t,e,r,n;n=this.taiga,r=this.taiga.sizeFormat,t=function(t,e,n,i,o,s){var a;return a={},a.list=function(r,n,i){var o,s,a,c;return c="attachments/"+r,s={object_id:n,project:i},o={headers:{"x-disable-pagination":"1"}},a=t.resolve(c),e.get(a,s,o).then(function(t){return Immutable.fromJS(t.data)})},a["delete"]=function(r,n){var i,o;return o="attachments/"+r,i=t.resolve(o)+("/"+n),e["delete"](i)},a.patch=function(r,n,i){var o,s;return s="attachments/"+r,o=t.resolve(s)+("/"+n),e.patch(o,i)},a.create=function(e,a,c,u,l){var p,h,f,d,g,m,v,y,_,b,S;return b="attachments/"+e,_=t.resolve(b),h=o.defer(),void 0===u?(h.reject(null),h.promise):(f=n.get("maxUploadFileSize",null),f&&u.size>f?(d={status:413,data:{_error_message:"'"+u.name+"' ("+r(u.size)+") is too heavy for our oompa loompas, try it with a smaller than ("+r(f)+")"}},h.reject(d),h.promise):(y=function(t){return function(t){return i.$apply(function(){return u.status="in-progress",u.size=r(t.total),u.progressMessage="upload "+r(t.loaded)+" of "+r(t.total),u.progressPercent=Math.round(t.loaded/t.total*100)+"%"})}}(this),m=function(t){return function(t){return i.$apply(function(){var e,r,n;u.status="done",n=t.target.status;try{e=JSON.parse(t.target.responseText)}catch(i){e={}}return n>=200&&n<400?(e=Immutable.fromJS(e),h.resolve(e)):(d={status:n,data:{_error_message:null!=(r=p.attached_file)?r[0]:void 0}},h.reject(d))})}}(this),v=function(t){return function(t){return i.$apply(function(){return u.status="error",h.reject("fail")})}}(this),p=new FormData,p.append("project",a),p.append("object_id",c),p.append("attached_file",u),p.append("from_comment",l),S=new XMLHttpRequest,S.upload.addEventListener("progress",y,!1),S.addEventListener("load",m,!1),S.addEventListener("error",v,!1),g=s.get("token"),S.open("POST",_),S.setRequestHeader("Authorization","Bearer "+g),S.setRequestHeader("Accept","application/json"),S.send(p),h.promise))},function(){return{attachments:a}}},t.$inject=["$tgUrls","$tgHttp","$tgConfig","$rootScope","$q","$tgStorage"],e=angular.module("taigaResources2"),e.factory("tgAttachmentsResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.listInAllProjects=function(r){var n,i;return i=t.resolve("epics"),n={headers:{"x-disable-pagination":"1"}},e.get(i,r,n).then(function(t){return Immutable.fromJS(t.data)})},r.list=function(r,n){var i,o;return null==n&&(n=0),o=t.resolve("epics"),i={project:r,page:n},e.get(o,i).then(function(t){return{list:Immutable.fromJS(t.data),headers:t.headers}})},r.patch=function(r,n){var i;return i=t.resolve("epics")+("/"+r),e.patch(i,n).then(function(t){return Immutable.fromJS(t.data)})},r.post=function(r){var n;return n=t.resolve("epics"),e.post(n,r).then(function(t){return Immutable.fromJS(t.data)})},r.reorder=function(r,n,i){var o,s;return s=t.resolve("epics")+("/"+r),o={headers:{"set-orders":JSON.stringify(i)}},e.patch(s,n,null,o).then(function(t){return Immutable.fromJS(t.data)})},r.addRelatedUserstory=function(r,n){var i,o;return o=t.resolve("epic-related-userstories",r),i={user_story:n,epic:r},e.post(o,i)},r.reorderRelatedUserstory=function(r,n,i,o){var s,a;return a=t.resolve("epic-related-userstories",r)+("/"+n),s={headers:{"set-orders":JSON.stringify(o)}},e.patch(a,i,null,s)},r.bulkCreateRelatedUserStories=function(r,n,i){var o,s;return s=t.resolve("epic-related-userstories-bulk-create",r),o={bulk_userstories:i,project_id:n},e.post(s,o)},r.deleteRelatedUserstory=function(r,n){var i;return i=t.resolve("epic-related-userstories",r)+("/"+n),e["delete"](i)},function(){return{epics:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgEpicsResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.getApplicationToken=function(r,n){var i;return i=t.resolve("applications"),i=i+"/"+r+"/token?state="+n,e.get(i).then(function(t){return Immutable.fromJS(t.data)})},r.authorizeApplicationToken=function(r,n){var i,o;return o=t.resolve("application-tokens"),o+="/authorize",i={state:n,application:r},e.post(o,i).then(function(t){return Immutable.fromJS(t.data)})},function(){return{externalapps:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgExternalAppsResource",t)}.call(this),function(){var t,e,r,n,i,o;o=this.taiga,n=function(t,e){var r;return r={},r.getAuthUrl=function(r){return r=t.resolve("importers-trello-auth-url"),e.get(r)},r.authorize=function(r){var n;return n=t.resolve("importers-trello-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-trello-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-trello-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c){var u,l;return l=t.resolve("importers-trello-import-project"),u={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:"kanban"},e.post(l,u)},function(){return{trelloImporter:r}}},n.$inject=["$tgUrls","$tgHttp"],r=function(t,e){var r;return r={},r.getAuthUrl=function(r){var n;return n=t.resolve("importers-jira-auth-url")+"?url="+r,e.get(n)},r.authorize=function(r){var n;return n=t.resolve("importers-jira-authorize"),e.post(n,{oauth_verifier:r})},r.listProjects=function(r,n){var i;return i=t.resolve("importers-jira-list-projects"),e.post(i,{url:r,token:n}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n,i){var o;return o=t.resolve("importers-jira-list-users"),e.post(o,{url:r,token:n,project:i}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u,l,p){var h,f,d;return d=t.resolve("importers-jira-import-project"),f="kanban","kanban"!==l&&(f="scrum"),h={url:r,token:n,name:i,description:o,project:s,users_bindings:a.toJS(),keep_external_reference:c,is_private:u,project_type:l,importer_type:p,template:f},e.post(d,h)},function(){return{jiraImporter:r}}},r.$inject=["$tgUrls","$tgHttp"],e=function(t,e){var r;return r={},r.getAuthUrl=function(r){var n;return n=t.resolve("importers-github-auth-url")+"?uri="+r,e.get(n)},r.authorize=function(r){var n;return n=t.resolve("importers-github-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-github-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-github-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u){var l,p;return p=t.resolve("importers-github-import-project"),l={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:u},e.post(p,l)},function(){return{githubImporter:r}}},e.$inject=["$tgUrls","$tgHttp"],t=function(t,e){var r;return r={},r.getAuthUrl=function(){var r;return r=t.resolve("importers-asana-auth-url"),e.get(r)},r.authorize=function(r){var n;return n=t.resolve("importers-asana-authorize"),e.post(n,{code:r})},r.listProjects=function(r){var n;return n=t.resolve("importers-asana-list-projects"),e.post(n,{token:r}).then(function(t){return Immutable.fromJS(t.data)})},r.listUsers=function(r,n){var i;return i=t.resolve("importers-asana-list-users"),e.post(i,{token:r,project:n}).then(function(t){return Immutable.fromJS(t.data)})},r.importProject=function(r,n,i,o,s,a,c,u){var l,p;return p=t.resolve("importers-asana-import-project"),l={token:r,name:n,description:i,project:o,users_bindings:s.toJS(),keep_external_reference:a,is_private:c,template:u},e.post(p,l)},function(){return{asanaImporter:r}}},t.$inject=["$tgUrls","$tgHttp"],i=angular.module("taigaResources2"),i.factory("tgTrelloImportResource",n),i.factory("tgJiraImportResource",r),i.factory("tgGithubImportResource",e),i.factory("tgAsanaImportResource",t)}.call(this),function(){var t,e;t=function(t,e){var r;return r={},r.listInAllProjects=function(r){var n,i;return i=t.resolve("issues"),n={headers:{"x-disable-pagination":"1"}},e.get(i,r,n).then(function(t){return Immutable.fromJS(t.data)})},function(){return{issues:r}}},t.$inject=["$tgUrls","$tgHttp"],e=angular.module("taigaResources2"),e.factory("tgIssuesResource",t)}.call(this),function(){var t,e,r;r=function(){},t=function(t,e,r){var n;return n={},n.create=function(r){var n;return n=t.resolve("projects"),e.post(n,JSON.stringify(r)).then(function(t){return function(t){return Immutable.fromJS(t.data)}}(this))},n.duplicate=function(r,n){var i,o,s;return s=t.resolve("projects"),s=s+"/"+r+"/duplicate",i=n.users.map(function(t){return function(t){return{id:t}}}(this)),o={name:n.name,description:n.description,is_private:n.is_private,users:i},e.post(s,o)},n.getProjects=function(r,n){var i,o;return null==r&&(r={}),null==n&&(n=!0),o=t.resolve("projects"),i={},n||(i={headers:{"x-lazy-pagination":!0}}),e.get(o,r,i)},n.getProjectBySlug=function(r){var n;return n=t.resolve("projects"),n=n+"/by_slug?slug="+r,e.get(n).then(function(t){return Immutable.fromJS(t.data)})},n.getProjectsByUserId=function(r,n){var i,o,s;return null==n&&(n=!1),s=t.resolve("projects"),i={},n||(i.headers={"x-disable-pagination":"1"}),o={member:r,order_by:"user_order"},e.get(s,o,i).then(function(t){return Immutable.fromJS(t.data)})},n.getProjectStats=function(r){var n;return n=t.resolve("projects"),n=n+"/"+r,e.get(n).then(function(t){return Immutable.fromJS(t.data)})},n.bulkUpdateOrder=function(r){var n;return n=t.resolve("bulk-update-projects-order"),e.post(n,r)},n.getTimeline=function(n,i){var o,s;return o={page:i,only_relevant:!0},s=t.resolve("timeline-project"),s=s+"/"+n,e.get(s,o,{headers:{"x-lazy-pagination":!0}}).then(function(t){return t=Immutable.fromJS(t),r(t)})},n.likeProject=function(r){var n;return n=t.resolve("project-like",r),e.post(n)},n.unlikeProject=function(r){var n;return n=t.resolve("project-unlike",r),e.post(n)},n.watchProject=function(r,n){var i,o;return i={notify_level:n,live_notify_level:n},o=t.resolve("project-watch",r),e.post(o,i)},n.unwatchProject=function(r){var n;return n=t.resolve("project-unwatch",r),e.post(n)},n.contactProject=function(r,n){var i,o;return i={project:r,comment:n},o=t.resolve("project-contact"),e.post(o,i)},n.transferValidateToken=function(r,n){var i,o;return i={token:n},o=t.resolve("project-transfer-validate-token",r),e.post(o,i)},n.transferAccept=function(r,n,i){var o,s;return o={token:n,reason:i},s=t.resolve("project-transfer-accept",r),e.post(s,o)},n.transferReject=function(r,n,i){var o,s;return o={token:n,reason:i},s=t.resolve("project-transfer-reject",r),e.post(s,o)},n.transferRequest=function(r){var n;return n=t.resolve("project-transfer-request",r),e.post(n)},n.transferStart=function(r,n,i){var o,s;return o={user:n,reason:i},s=t.resolve("project-transfer-start",r),e.post(s,o)},function(){return{projects:n}}},t.$inject=["$tgUrls","$tgHttp","tgPaginateResponseService"],e=angular.module("taigaResources2"),e.factory("tgProjectsResources",t)}.call(this),function(){var t,e;e=["tgProjectsResources","tgUserResources","tgUsersResources","tgUserstoriesResource","tgTasksResource","tgIssuesResource","tgExternalAppsResource","tgAttachmentsResource","tgStatsResource","tgWikiHistory","tgEpicsResource","tgTrelloImportResource","tgJiraImportResource","tgGithubImportResource","tgAsanaImportResource"],t=function(t){var r,n,i,o,s,a,c,u,l;for(r=0,i=e.length;r"),$("head").append(r)),r.text(e||"")):0===t.indexOf("og:")?(r=$("head meta[property='"+t+"']"),0===r.length&&(r=$(""),$("head").append(r)),r.attr("content",e||"")):(r=$("head meta[name='"+t+"']"),0===r.length&&(r=$(""),$("head").append(r)),r.attr("content",e||""))},t.prototype.setTitle=function(t){return this._set("title",t)},t.prototype.setDescription=function(t){return this._set("description",r(t,250))},t.prototype.setTwitterMetas=function(t,e){return this._set("twitter:card","summary"),this._set("twitter:site","@taigaio"),this._set("twitter:title",t),this._set("twitter:description",r(e,300)),this._set("twitter:image",window.location.origin+"/"+window._version+"/images/logo-color.png")},t.prototype.setOpenGraphMetas=function(t,e){return this._set("og:type","object"),this._set("og:site_name","Taiga - Love your projects"),this._set("og:title",t),this._set("og:description",r(e,300)),this._set("og:image",window.location.origin+"/"+window._version+"/images/logo-color.png"),this._set("og:url",window.location.href)},t.prototype.setAll=function(t,e){return this.setTitle(t),this.setDescription(e),this.setTwitterMetas(t,e),this.setOpenGraphMetas(t,e)},t.prototype.addMobileViewport=function(){return $("head").append('')},t.prototype.removeMobileViewport=function(){return $('head meta[name="viewport"]').remove()},t.prototype.setfn=function(t){return this.listener&&this._listener(),this._listener=this.rootScope.$watchCollection(t,function(t){return function(e){if(e)return t.setAll(e.title,e.description),t._listener()}}(this))},t}(),angular.module("taigaCommon").service("tgAppMetaService",t)}.call(this),function(){var t,e;e=this.taiga.sizeFormat,t=function(){function t(t,r,n,i){this.confirm=t,this.config=r,this.translate=n,this.rs=i,this.maxFileSize=this.getMaxFileSize(),this.maxFileSize&&(this.maxFileSizeFormated=e(this.maxFileSize))}return t.$inject=["$tgConfirm","$tgConfig","$translate","tgResources"],t.prototype.sizeError=function(t){var r;return r=this.translate.instant("ATTACHMENT.ERROR_MAX_SIZE_EXCEEDED",{fileName:t.name,fileSize:e(t.size),maxFileSize:this.maxFileSizeFormated}),this.confirm.notify("error",r)},t.prototype.validate=function(t){return!(this.maxFileSize&&t.size>this.maxFileSize)||(this.sizeError(t),!1)},t.prototype.getMaxFileSize=function(){return this.config.get("maxUploadFileSize",null)},t.prototype.list=function(t,e,r){return this.rs.attachments.list(t,e,r).then(function(t){return function(t){return t.sortBy(function(t){return t.get("order")})}}(this))},t.prototype["delete"]=function(t,e){return this.rs.attachments["delete"](t,e)},t.prototype.saveError=function(t,e){var r;return r="",t&&(r=this.translate.instant("ATTACHMENT.ERROR_UPLOAD_ATTACHMENT",{fileName:t.name,errorMessage:e.data._error_message})),this.confirm.notify("error",r)},t.prototype.upload=function(t,e,r,n,i){var o;return null==i&&(i=!1),o=this.rs.attachments.create(n,r,e,t,i),o.then(null,this.saveError.bind(this,t)),o},t.prototype.patch=function(t,e,r){var n;return n=this.rs.attachments.patch(e,t,r),n.then(null,this.saveError.bind(this,null)),n},t}(),angular.module("taigaCommon").service("tgAttachmentsService",t)}.call(this),function(){var t,e=function(t,e){return(+t%(e=+e)+e)%e};t=function(){function t(t){var e,r;this.config=t,r=["/"+window._version+"/images/user-avatars/user-avatar-01.png","/"+window._version+"/images/user-avatars/user-avatar-02.png","/"+window._version+"/images/user-avatars/user-avatar-03.png","/"+window._version+"/images/user-avatars/user-avatar-04.png","/"+window._version+"/images/user-avatars/user-avatar-05.png"],e=["rgba( 178, 176, 204, 1 )","rgba( 183, 203, 131, 1 )","rgba( 210, 198, 139, 1 )","rgba( 214, 161, 212, 1 )","rgba( 247, 154, 154, 1 )"],this.logos=_.cartesianProduct(r,e)}return t.prototype.getDefault=function(t){var r,n;return r=e(murmurhash3_32_gc(t,42),this.logos.length),n=this.logos[r],{src:n[0],color:n[1]}},t.prototype.getUnnamed=function(){return{url:"/"+window._version+"/images/unnamed.png"}},t.prototype.getAvatar=function(t,e){var r,n,i,o,s,a;return t?(r="photo","avatarBig"===e&&(r="big_photo"),s=null,t instanceof Immutable.Map?(n=t.get("gravatar_id"),s=t.get(r)):(n=t.gravatar_id,s=t[r]),n?s?{url:s}:location.host.indexOf("localhost")===-1&&this.config.get("gravatar",!0)?(a=location.protocol+"//"+location.host,i=this.getDefault(n),o=encodeURIComponent(a+i.src),{url:"https://www.gravatar.com/avatar/"+n+"?s=200&d="+o,bg:i.color}):(a=location.protocol+"//"+location.host,i=this.getDefault(n),{url:a+i.src,bg:i.color}):this.getUnnamed()):this.getUnnamed()},t}(),angular.module("taigaCommon").service("tgAvatarService",["$tgConfig",t])}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t){this.projectService=t}return t.$inject=["tgProjectService"],t.prototype.check=function(t){return!!this.projectService.project&&this.projectService.project.get("my_permissions").indexOf(t)!==-1},t}(),angular.module("taigaCommon").service("tgCheckPermissionsService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.groupBy,t=function(){function t(t,e,n){this.projectsService=t,this.storageService=e,this.rs=n,this._user=null,this._projects=Immutable.Map(),this._projectsById=Immutable.Map(),this._joyride=null,r.defineImmutableProperty(this,"projects",function(t){return function(){return t._projects}}(this)),r.defineImmutableProperty(this,"projectsById",function(t){return function(){return t._projectsById}}(this))}return t.$inject=["tgProjectsService","$tgStorage","tgResources"],t.prototype.isAuthenticated=function(){return null!==this.getUser()},t.prototype.getUser=function(){var t;return this._user||(t=this.storageService.get("userInfo"),t&&(t=Immutable.fromJS(t),this.setUser(t))),this._user},t.prototype.removeUser=function(){return this._user=null,this._projects=Immutable.Map(),this._projectsById=Immutable.Map(),this._joyride=null},t.prototype.setUser=function(t){return this._user=t,this._loadUserInfo()},t.prototype.bulkUpdateProjectsOrder=function(t){return this.projectsService.bulkUpdateProjectsOrder(t).then(function(t){return function(){return t.loadProjects()}}(this))},t.prototype.loadProjects=function(){return this.projectsService.getProjectsByUserId(this._user.get("id")).then(function(t){return function(e){return t.setProjects(e)}}(this))},t.prototype.disableJoyRide=function(t){if(this.isAuthenticated())return t?this._joyride[t]=!1:this._joyride={backlog:!1,kanban:!1,dashboard:!1},this.rs.user.setUserStorage("joyride",this._joyride)},t.prototype.loadJoyRideConfig=function(){return new Promise(function(t){return function(e){return null!==t._joyride?void e(t._joyride):t.rs.user.getUserStorage("joyride").then(function(r){return t._joyride=r,e(t._joyride)})["catch"](function(){return t._joyride={backlog:!0,kanban:!0,dashboard:!0},t.rs.user.createUserStorage("joyride",t._joyride),e(t._joyride)})}}(this))},t.prototype._loadUserInfo=function(){return Promise.all([this.loadProjects()])},t.prototype.setProjects=function(t){return this._projects=this._projects.set("all",t),this._projects=this._projects.set("recents",t.slice(0,10)),this._projectsById=Immutable.fromJS(e(t.toJS(),function(t){return t.id})),this.projects},t.prototype.canCreatePrivateProjects=function(){var t;return t=this.getUser(),null!==t.get("max_private_projects")&&t.get("total_private_projects")>=t.get("max_private_projects")?{valid:!1,reason:"max_private_projects",type:"private_project",current:t.get("total_private_projects"),max:t.get("max_private_projects")}:{valid:!0}},t.prototype.canCreatePublicProjects=function(){var t;return t=this.getUser(),null!==t.get("max_public_projects")&&t.get("total_public_projects")>=t.get("max_public_projects")?{valid:!1,reason:"max_public_projects",type:"public_project",current:t.get("total_public_projects"),max:t.get("max_public_projects")}:{valid:!0}},t.prototype.canAddMembersPublicProject=function(t){var e;return e=this.getUser(),null!==e.get("max_memberships_public_projects")&&t>e.get("max_memberships_public_projects")?{valid:!1,reason:"max_members_public_projects",type:"public_project",current:t,max:e.get("max_memberships_public_projects")}:{valid:!0}},t.prototype.canAddMembersPrivateProject=function(t){var e;return e=this.getUser(),null!==e.get("max_memberships_private_projects")&&t>e.get("max_memberships_private_projects")?{valid:!1,reason:"max_members_private_projects",type:"private_project",current:t,max:e.get("max_memberships_private_projects")}:{valid:!0}},t.prototype.canOwnProject=function(t){var e,r,n;if(n=this.getUser(),t.get("is_private")){if(r=this.canCreatePrivateProjects(),!r.valid)return r;if(e=this.canAddMembersPrivateProject(t.get("total_memberships")),!e.valid)return e}else{if(r=this.canCreatePublicProjects(),!r.valid)return r;if(e=this.canAddMembersPublicProject(t.get("total_memberships")),!e.valid)return e}return{valid:!0}},t}(),angular.module("taigaCommon").service("tgCurrentUserService",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t){this.rootScope=t}return t.$inject=["$rootScope"],t.prototype.init=function(){return this.rootScope.errorHandling={}},t.prototype.notfound=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.notfound=!0},t.prototype.error=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.error=!0},t.prototype.permissionDenied=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.permissionDenied=!0},t.prototype.block=function(){return this.rootScope.errorHandling.showingError=!0,this.rootScope.errorHandling.blocked=!0},t}(),angular.module("taigaCommon").service("tgErrorHandlingService",t)}.call(this),function(){var t;t=function(){function t(t,e){this.rootScope=t,this.compile=e}return t.$inject=["$rootScope","$compile"],t.prototype.create=function(t,e,r){var n,i,o;o=this.rootScope.$new(),o=_.merge(o,r),n=$("
    ").attr(t,!0).attr("tg-bind-scope",!0),e&&n.attr(e),n.addClass("remove-on-close"),i=this.compile(n)(o),$(document.body).append(i)},t}(),angular.module("taigaCommon").service("tgLightboxFactory",t)}.call(this),function(){var t;t=function(){return function(t){var e;return e=Immutable.Map({data:t.get("data"),next:!!t.get("headers")("x-pagination-next"),prev:!!t.get("headers")("x-pagination-prev"),current:t.get("headers")("x-pagination-current"),count:t.get("headers")("x-pagination-count")})}},angular.module("taigaCommon").factory("tgPaginateResponseService",t)}.call(this),function(){var t,e=function(t,e){return(+t%(e=+e)+e)%e};t=function(){function t(){var t,e;e=["/"+window._version+"/images/project-logos/project-logo-01.png","/"+window._version+"/images/project-logos/project-logo-02.png","/"+window._version+"/images/project-logos/project-logo-03.png","/"+window._version+"/images/project-logos/project-logo-04.png","/"+window._version+"/images/project-logos/project-logo-05.png"],t=["rgba( 153, 214, 220, 1 )","rgba( 213, 156, 156, 1 )","rgba( 214, 161, 212, 1 )","rgba( 164, 162, 219, 1 )","rgba( 152, 224, 168, 1 )"],this.logos=_.cartesianProduct(e,t)}return t.prototype.getDefaultProjectLogo=function(t,r){var n,i,o;return i=t+"-"+r,n=e(murmurhash3_32_gc(i,42),this.logos.length),o=this.logos[n],{src:o[0],color:o[1]}},t}(),angular.module("taigaCommon").service("tgProjectLogoService",t)}.call(this),function(){var t,e;e=this.taiga,t=function(){function t(t,r,n,i){this.projectsService=t,this.xhrError=r,this.userActivityService=n,this.interval=i,this._project=null,this._section=null,this._sectionsBreadcrumb=Immutable.List(),this._activeMembers=Immutable.List(),e.defineImmutableProperty(this,"project",function(t){return function(){return t._project}}(this)),e.defineImmutableProperty(this,"section",function(t){return function(){return t._section}}(this)),e.defineImmutableProperty(this,"sectionsBreadcrumb",function(t){return function(){return t._sectionsBreadcrumb}}(this)),e.defineImmutableProperty(this,"activeMembers",function(t){return function(){return t._activeMembers}}(this)),window.localStorage.e2e||this.autoRefresh()}return t.$inject=["tgProjectsService","tgXhrErrorService","tgUserActivityService","$interval"],t.prototype.cleanProject=function(){return this._project=null,this._activeMembers=Immutable.List(),this._section=null,this._sectionsBreadcrumb=Immutable.List()},t.prototype.autoRefresh=function(){var t;return t=this.interval(function(t){return function(){return t.fetchProject()}}(this),6e5),this.userActivityService.onInactive(function(e){return function(){return e.interval.cancel(t)}}(this)),this.userActivityService.onActive(function(t){return function(){return t.fetchProject(),t.autoRefresh()}}(this))},t.prototype.setSection=function(t){return this._section=t,t?this._sectionsBreadcrumb=this._sectionsBreadcrumb.push(this._section):this._sectionsBreadcrumb=Immutable.List()},t.prototype.setProject=function(t){return this._project=t,this._activeMembers=this._project.get("members").filter(function(t){return t.get("is_active")})},t.prototype.setProjectBySlug=function(t){return new Promise(function(e){return function(r,n){return e.project&&e.project.get("slug")===t?r():e.projectsService.getProjectBySlug(t).then(function(t){return e.setProject(t),r()})["catch"](function(t){return e.xhrError.response(t)})}}(this))},t.prototype.fetchProject=function(){var t;if(this.project)return t=this.project.get("slug"),this.projectsService.getProjectBySlug(t).then(function(t){return function(e){return t.setProject(e)}}(this))},t.prototype.hasPermission=function(t){return this._project.get("my_permissions").indexOf(t)!==-1},t.prototype.isEpicsDashboardEnabled=function(){return this._project.get("is_epics_activated")},t}(),angular.module("taigaCommon").service("tgProjectService",t)}.call(this),function(){var t,e,r=function(t,e){function r(){this.constructor=t}for(var i in e)n.call(e,i)&&(t[i]=e[i]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},n={}.hasOwnProperty;e=this.taiga,t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e}(e.Service=function(){return{use:function(t){var e;return e=$("link[rel='stylesheet']:first"),0===e.length&&(e=$(""),$("head").append(e)),e.attr("href","/"+window._version+"/styles/theme-"+t+".css")}}}),angular.module("taigaCommon").service("tgThemeService",t)}.call(this),function(){var t,e,r;r=this.taiga,e=this.taiga.groupBy,t=function(){function t(t){return this.timeout=t,window.localStorage.e2e?null:(window.addEventListener("mousemove",this.resetTimer.bind(this),!1),window.addEventListener("mousedown",this.resetTimer.bind(this),!1),window.addEventListener("keypress",this.resetTimer.bind(this),!1),window.addEventListener("mousewheel",this.resetTimer.bind(this),!1),window.addEventListener("touchmove",this.resetTimer.bind(this),!1),this.subscriptionsActive=[],this.subscriptionsInactive=[],this.isActive=!0,void this.startTimer())}return t.$inject=["$timeout"],t.prototype.idleTimeout=3e5,t.prototype.startTimer=function(){return this.timerId=this.timeout(this._fireInactive.bind(this),this.idleTimeout)},t.prototype.resetTimer=function(){return this.isActive||this._fireActive(),this.timeout.cancel(this.timerId),this.startTimer(),this.isActive=!0},t.prototype.onActive=function(t){return this.subscriptionsActive.push(t),this._unSubscriptionsActive.bind(this,t)},t.prototype.onInactive=function(t){return this.subscriptionsInactive.push(t),this._unSubscriptionsInactive.bind(this,t)},t.prototype._fireActive=function(){return this.subscriptionsActive.forEach(function(t){return t()})},t.prototype._fireInactive=function(){return this.isActive=!1,this.subscriptionsInactive.forEach(function(t){return t()})},t.prototype._unSubscriptionsActive=function(t){return this.subscriptionsActive=this.subscriptionsActive.filter(function(e){return e!==t})},t.prototype._unSubscriptionsInactive=function(t){return this.subscriptionsInactive=this.subscriptionsInactive.filter(function(e){return e!==t})},t}(),angular.module("taigaCommon").service("tgUserActivityService",t)}.call(this),function(){var t,e,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty;r=this.taiga,e=r.bindMethods,t=function(t){function r(t){this.rs=t,e(this)}return n(r,t),r.$inject=["tgResources"],r.prototype.getUserByUserName=function(t){return this.rs.users.getUserByUsername(t)},r.prototype.getContacts=function(t,e){return this.rs.users.getContacts(t,e)},r.prototype.getLiked=function(t,e,r,n){return this.rs.users.getLiked(t,e,r,n)},r.prototype.getVoted=function(t,e,r,n){return this.rs.users.getVoted(t,e,r,n)},r.prototype.getWatched=function(t,e,r,n){return this.rs.users.getWatched(t,e,r,n)},r.prototype.getStats=function(t){return this.rs.users.getStats(t)},r.prototype.attachUserContactsToProjects=function(t,e){return this.getContacts(t).then(function(t){return e=e.map(function(e){var r;return r=t.filter(function(t){var r;return r=t.get("id"),e.get("members").indexOf(r)!==-1}),e=e.set("contacts",r)})})},r}(r.Service),angular.module("taigaCommon").service("tgUserService",t)}.call(this),function(){var t,e=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;t=function(t){function r(t,e){this.q=t,this.errorHandlingService=e}return e(r,t),r.$inject=["$q","tgErrorHandlingService"],r.prototype.notFound=function(){return this.errorHandlingService.notfound()},r.prototype.permissionDenied=function(){return this.errorHandlingService.permissionDenied()},r.prototype.response=function(t){return t&&(404===t.status?this.notFound():403===t.status&&this.permissionDenied()),this.q.reject(t)},r}(taiga.Service),angular.module("taigaCommon").service("tgXhrErrorService",t)}.call(this),function(){var t;t=function(t,e){var r,n,i;return i=[".jpg",".jpeg",".bmp",".gif",".png"],r=function(t){return t=t.toLowerCase(),_.some(i,function(e){return t.indexOf(e,t-e.length)!==-1})},n=function(n,i){var o,s;return o=r(n.attachment.get("url")),s=o?t.get("user-timeline/user-timeline-attachment/user-timeline-attachment-image.html"):t.get("user-timeline/user-timeline-attachment/user-timeline-attachment.html"),i.html(s),e(i.contents())(n),i.find("img").error(function(){return this.remove()})},{link:n,scope:{attachment:"=tgUserTimelineAttachment"}}},t.$inject=["$tgTemplate","$compile"],angular.module("taigaUserTimeline").directive("tgUserTimelineAttachment",t)}.call(this),function(){var t,e;e=this.taiga.unslugify,t=function(){function t(t,e){this.translate=t,this.sce=e}return t.$inject=["$translate","$sce"],t.prototype._fieldTranslationKey={status:"COMMON.FIELDS.STATUS",subject:"COMMON.FIELDS.SUBJECT",description_diff:"COMMON.FIELDS.DESCRIPTION",points:"COMMON.FIELDS.POINTS",assigned_to:"COMMON.FIELDS.ASSIGNED_TO",assigned_users:"COMMON.FIELDS.ASSIGNED_USERS",severity:"ISSUES.FIELDS.SEVERITY",priority:"ISSUES.FIELDS.PRIORITY",type:"ISSUES.FIELDS.TYPE",is_iocaine:"TASK.FIELDS.IS_IOCAINE",is_blocked:"COMMON.FIELDS.IS_BLOCKED",color:"COMMON.FIELDS.COLOR",due_date:"COMMON.FIELDS.DUE_DATE",due_date_reason:"COMMON.FIELDS.DUE_DATE_REASON"},t.prototype._params={username:function(t,e){var r,n,i;return i=t.getIn(["data","user"]),i.get("is_profile_visible")?(r=this.translate.instant("COMMON.SEE_USER_PROFILE",{username:i.get("username")}),n="user-profile:username=timeline.getIn(['data', 'user', 'username'])",this._getLink(n,i.get("name"),r)):this._getUsernameSpan(i.get("name"))},field_name:function(t,e){var r;return r=t.getIn(["data","value_diff","key"]),this.translate.instant(this._fieldTranslationKey[r])},project_name:function(t,e){var r;return r="project:project=timeline.getIn(['data', 'project', 'slug'])",this._getLink(r,t.getIn(["data","project","name"]))},new_value:function(t,e){var r,n,i;return _.isArray(t.getIn(["data","value_diff","value"]).toJS())?(i=t.getIn(["data","value_diff","value"]).get(1),null===i&&"assigned_to"===t.getIn(["data","value_diff","key"])&&(i=this.translate.instant("ACTIVITY.VALUES.UNASSIGNED")),null===i&&"assigned_users"===t.getIn(["data","value_diff","key"])?i=this.translate.instant("ACTIVITY.VALUES.UNASSIGNED"):"due_date"===t.getIn(["data","value_diff","key"])&&(i?(n=this.translate.instant("COMMON.PICKERDATE.FORMAT"),i=moment(i,"YYYY-MM-DD").format(n)):i=this.translate.instant("ACTIVITY.VALUES.NOT_SET")),r=i):r=t.getIn(["data","value_diff","value"]).first().get(1),_.escape(r)},sprint_name:function(t,e){var r;return r="project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])",this._getLink(r,t.getIn(["data","milestone","name"]))},us_name:function(t,e){var r,n,i,o;return n=this._getTimelineObj(t,e).get("userstory"),r={obj:"parent_userstory"},o=this._getDetailObjUrl(r),i="#"+n.get("ref")+" "+n.get("subject"),this._getLink(o,i)},related_us_name:function(t,e){var r,n,i;return r=t.getIn(["data","userstory"]),i="project-userstories-detail:project=timeline.getIn(['data', 'userstory', 'project', 'slug']),ref=timeline.getIn(['data', 'userstory', 'ref'])",n="#"+r.get("ref")+" "+r.get("subject"),this._getLink(i,n)},epic_name:function(t,e){var r,n,i;return r=t.getIn(["data","epic"]),i="project-epics-detail:project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['data', 'epic', 'ref'])",n="#"+r.get("ref")+" "+r.get("subject"),this._getLink(i,n)},obj_name:function(t,r){var n,i,o;return n=this._getTimelineObj(t,r),o=this._getDetailObjUrl(r),i="wikipage"===r.obj?e(n.get("slug")):"milestone"===r.obj?n.get("name"):"#"+n.get("ref")+" "+n.get("subject"),this._getLink(o,i)},role_name:function(t,e){return _.escape(t.getIn(["data","value_diff","value"]).keySeq().first())}},t.prototype._translateTitleParams=function(t,e,r){return this._params[t].call(this,e,r)},t.prototype._getTimelineObj=function(t,e){return t.getIn(["data",e.obj])},t.prototype._getDetailObjUrl=function(t){var e;return e={issue:["project-issues-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],wikipage:["project-wiki-page",":project=timeline.getIn(['data', 'project', 'slug']),slug=timeline.getIn(['obj', 'slug'])"],task:["project-tasks-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],userstory:["project-userstories-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"],parent_userstory:["project-userstories-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'userstory', 'ref'])"],milestone:["project-taskboard",":project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['obj', 'slug'])"],epic:["project-epics-detail",":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])"]},e[t.obj][0]+e[t.obj][1]},t.prototype._getLink=function(t,e,r){var n;return r=r||e,n=$("").attr("ng-non-bindable",!0).text(e),$("").attr("tg-nav",t).attr("title",r).append(n).prop("outerHTML")},t.prototype._getUsernameSpan=function(t){var e;return e=e||t,$("").addClass("username").text(t).prop("outerHTML")},t.prototype._getParams=function(t,e,r){var n;return n={},r.translate_params.forEach(function(r){return function(i){return n[i]=r._translateTitleParams(i,t,e)}}(this)),n},t.prototype.getTitle=function(t,e,r){var n,i,o;return n=this._getParams(t,e,r),i={},Object.keys(n).forEach(function(t){return i[t]="{{"+t+"}}"}),o=this.translate.instant(r.key,i),Object.keys(n).forEach(function(t){var e;return e="{{"+t+"}}",o=o.replace(new RegExp(e,"g"),n[t])}),o},t}(),angular.module("taigaUserTimeline").service("tgUserTimelineItemTitle",t)}.call(this),function(){var t,e;e=function(t,e){var r;return r=[{check:function(t,e){return"membership"===e.obj},key:"TIMELINE.NEW_MEMBER",translate_params:["project_name"],member:function(t){return Immutable.Map({user:t.getIn(["data","user"]),role:t.getIn(["data","role"])})}},{check:function(t,e){return"project"===e.obj&&"create"===e.type},key:"TIMELINE.NEW_PROJECT",translate_params:["username","project_name"],description:function(t){return t.getIn(["data","project","description"])}},{check:function(t,e){return"change"===e.type&&t.hasIn(["data","value_diff"])&&"attachments"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.UPLOAD_ATTACHMENT",translate_params:["username","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"create"===e.type},key:"TIMELINE.US_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"issue"===e.obj&&"create"===e.type},key:"TIMELINE.ISSUE_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"wikipage"===e.obj&&"create"===e.type},key:"TIMELINE.WIKI_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"create"===e.type&&!t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"create"===e.type&&t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_CREATED_WITH_US",translate_params:["username","project_name","obj_name","us_name"]},{check:function(t,e){return"milestone"===e.obj&&"create"===e.type},key:"TIMELINE.MILESTONE_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"epic"===e.obj&&"create"===e.type},key:"TIMELINE.EPIC_CREATED",translate_params:["username","project_name","obj_name"]},{check:function(t,e){return"relateduserstory"===e.obj&&"create"===e.type},key:"TIMELINE.EPIC_RELATED_USERSTORY_CREATED",translate_params:["username","project_name","related_us_name","epic_name"]},{check:function(t,e){return t.getIn(["data","comment"])&&"userstory"===e.obj},key:"TIMELINE.NEW_COMMENT_US",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"issue"===e.obj},key:"TIMELINE.NEW_COMMENT_ISSUE",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"task"===e.obj},key:"TIMELINE.NEW_COMMENT_TASK",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.getIn(["data","comment"])&&"epic"===e.obj},key:"TIMELINE.NEW_COMMENT_EPIC",translate_params:["username","obj_name"],description:function(t){var e;return e=t.getIn(["data","comment_html"]),$($.parseHTML(e)).text()}},{check:function(t,e){return t.hasIn(["data","value_diff"])&&"moveInBacklog"===t.getIn(["data","value_diff","key"])&&t.hasIn(["data","value_diff","value","backlog_order"])&&"change"===e.type},key:"TIMELINE.US_MOVED",translate_params:["username","obj_name"]},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"moveInBacklog"!==t.getIn(["data","value_diff","key"])||"change"!==e.type||"userstory"!==e.obj)&&null===t.getIn(["data","value_diff","value","milestone"]).get(1)},key:"TIMELINE.US_REMOVED_FROM_MILESTONE", -translate_params:["username","obj_name"]},{check:function(t,e){return t.hasIn(["data","value_diff"])&&"moveInBacklog"===t.getIn(["data","value_diff","key"])&&"change"===e.type&&"userstory"===e.obj},key:"TIMELINE.US_ADDED_MILESTONE",translate_params:["username","obj_name","sprint_name"]},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"blocked"!==t.getIn(["data","value_diff","key"])||"change"!==e.type)&&t.getIn(["data","value_diff","value","is_blocked"]).get(1)===!0},key:"TIMELINE.BLOCKED",translate_params:["username","obj_name"],description:function(t){var e;return!!t.hasIn(["data","value_diff","value","blocked_note_html"])&&(e=t.getIn(["data","value_diff","value","blocked_note_html"]).get(1),$($.parseHTML(e)).text())}},{check:function(t,e){return!(!t.hasIn(["data","value_diff"])||"blocked"!==t.getIn(["data","value_diff","key"])||"change"!==e.type)&&t.getIn(["data","value_diff","value","is_blocked"]).get(1)===!1},key:"TIMELINE.UNBLOCKED",translate_params:["username","obj_name"]},{check:function(t,e){return"milestone"===e.obj&&"change"===e.type},key:"TIMELINE.MILESTONE_UPDATED",translate_params:["username","obj_name"]},{check:function(t,e){return"wikipage"===e.obj&&"change"===e.type},key:"TIMELINE.WIKI_UPDATED",translate_params:["username","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"points"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.US_UPDATED_POINTS",translate_params:["username","field_name","obj_name","new_value","role_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.US_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"userstory"===e.obj&&"change"===e.type},key:"TIMELINE.US_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"issue"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.ISSUE_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"issue"===e.obj&&"change"===e.type},key:"TIMELINE.ISSUE_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&!t.getIn(["data","task","userstory"])&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.TASK_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&t.getIn(["data","task","userstory"])&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.TASK_UPDATED_WITH_US",translate_params:["username","field_name","obj_name","us_name"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&!t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"task"===e.obj&&"change"===e.type&&t.getIn(["data","task","userstory"])},key:"TIMELINE.TASK_UPDATED_WITH_US_NEW_VALUE",translate_params:["username","field_name","obj_name","us_name","new_value"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"description_diff"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.EPIC_UPDATED",translate_params:["username","field_name","obj_name"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type&&t.hasIn(["data","value_diff"])&&"color"===t.getIn(["data","value_diff","key"])},key:"TIMELINE.EPIC_UPDATED_WITH_NEW_COLOR",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"epic"===e.obj&&"change"===e.type},key:"TIMELINE.EPIC_UPDATED_WITH_NEW_VALUE",translate_params:["username","field_name","obj_name","new_value"]},{check:function(t,e){return"user"===e.obj&&"create"===e.type},key:"TIMELINE.NEW_USER",translate_params:["username"]}],_.find(r,function(r){return r.check(t,e)})},t=function(){function t(){}return t.prototype.getType=function(t,r){return e(t,r)},t}(),angular.module("taigaUserTimeline").service("tgUserTimelineItemType",t)}.call(this),function(){var t;t=function(){return{templateUrl:"user-timeline/user-timeline-item/user-timeline-item.html",scope:{timeline:"=tgUserTimelineItem"}}},angular.module("taigaUserTimeline").directive("tgUserTimelineItem",t)}.call(this),function(){var t;t=function(){var t;return t={},t.generate=function(t){var e,r,n,i;return i=1,r=Immutable.List(),t.minItems=t.minItems||20,n=function(){return r=Immutable.List(),e()},e=function(){return t.fetch(i).then(function(n){var o;return i++,o=n.get("data"),t.filter&&(o=t.filter(o)),t.map&&(o=o.map(t.map)),r=r.concat(o),r.size\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(\"/user-settings/live-notifications\", {\n templateUrl: \"user/live-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, $tgConfig) {\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, rtlLanguages;\n lang = ctx.language;\n i18nInit(lang, $translate);\n rtlLanguages = $tgConfig.get(\"rtlLanguages\", []);\n return $rootscope.isRTL = rtlLanguages.indexOf(lang) > -1;\n });\n Promise.setScheduler(function(cb) {\n return $rootscope.$evalAsync(cb);\n });\n $events.setupConnection();\n if ($auth.isAuthenticated()) {\n user = $auth.getUser();\n $auth.showTerms();\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\", \"$tgConfig\", 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, randomInt, 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, '');\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 randomInt = function(start, end) {\n var interval;\n interval = end - start;\n return start + Math.floor(Math.random() * (interval + 1));\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 taiga.randomInt = randomInt;\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_users = urlfilters.assigned_users;\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, assignedUsers, 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 assignedUsers = _.map(data.assigned_users, 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 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_users) {\n selected = _this.formatSelectedFilters(\"assigned_users\", assignedUsers, loadFilters.assigned_users);\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_USERS\"),\n dataType: \"assigned_users\",\n content: assignedUsers\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\", \"tgTermsAnnouncementService\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls, config1, translate, currentUserService1, themeService, analytics, termsAnnouncementService) {\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 this.termsAnnouncementService = termsAnnouncementService;\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 AuthService.prototype.exportProfile = function() {\n var url;\n url = this.urls.resolve(\"users-export\");\n return this.http.post(url);\n };\n\n AuthService.prototype.showTerms = function(data) {\n var user;\n user = this.getUser();\n if (!user || user.read_new_terms) {\n return;\n }\n return this.termsAnnouncementService.show();\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 $auth.showTerms();\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-live-notifications\": \"/user-settings/live-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, CtrlClickDisable, 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, $config, $auth) {\n return {\n get: function() {\n var isRTL, lang, rtlLanguages, user;\n user = $auth.getUser();\n lang = user.lang || $translate.preferredLanguage();\n rtlLanguages = $config.get(\"rtlLanguages\", []);\n isRTL = rtlLanguages.indexOf(lang) > -1;\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: isRTL,\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\", \"$tgConfig\", \"$tgAuth\", 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 = \"loading...\";\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 CtrlClickDisable = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", function($event) {\n if ($event.ctrlKey || $event.metaKey) {\n return $event.preventDefault();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCtrlClickDisable\", CtrlClickDisable);\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.liveNotifications = function() {\n var subscribe, userId;\n if (this.auth.userData == null) {\n return;\n }\n userId = this.auth.userData.get('id');\n subscribe = (function(_this) {\n return function() {\n return _this.subscribe(null, \"live_notifications.\" + userId, function(data) {\n var notification;\n notification = new Notification(data.title, {\n icon: \"/\" + window._version + \"/images/favicon.png\",\n body: data.body,\n tag: data.id\n });\n notification.onshow = function() {\n if (data.timeout && data.timeout > 0) {\n return setTimeout(function() {\n return notification.close();\n }, data.timeout);\n }\n };\n if (data.url) {\n return notification.onclick = function() {\n return window.open(data.url);\n };\n }\n });\n };\n })(this);\n if (!Notification) {\n return console.log(\"This browser does not support desktop notification\");\n } else if (Notification.permission === \"granted\") {\n return subscribe();\n } else if (Notification.permission !== 'denied') {\n return Notification.requestPermission((function(_this) {\n return function(permission) {\n if (permission === \"granted\") {\n return subscribe();\n }\n };\n })(this));\n }\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: callback\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 this.notifications();\n return this.liveNotifications();\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 \"users-export\": \"/users/export\",\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, AssignedUsersDirective, BlockButtonDirective, CreatedByDisplayDirective, DateRangeDirective, DateSelectorDirective, DeleteButtonDirective, ListItemAssignedtoDirective, ListItemEpicStatusDirective, ListItemIssueStatusDirective, ListItemPriorityDirective, ListItemSeverityDirective, ListItemTaskStatusDirective, ListItemTypeDirective, ListItemUsStatusDirective, SprintProgressBarDirective, TgMainTitleDirective, TgProgressBarDirective, UserDisplayDirective, WatchersDirective, bindOnce, module, taiga,\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 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 AssignedUsersDirective = function($rootscope, $confirm, $repo, $modelTransform, $template, $compile, $translate, $currentUserService) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var assignToMe, deleteAssignedUser, isAssigned, isEditable, openAssignedUsers, renderAssignedUsers, 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 isAssigned = function() {\n return $scope.assignedUsers.length > 0;\n };\n save = function(assignedUsers, assignedToUser) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.assigned_users = assignedUsers;\n if (!item.assigned_to) {\n item.assigned_to = assignedToUser;\n }\n return item;\n });\n transform.then(function() {\n var result;\n assignedUsers = _.map(assignedUsers, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n renderAssignedUsers(assignedUsers);\n return result = $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n openAssignedUsers = function() {\n var item;\n item = _.clone($model.$modelValue, false);\n return $rootscope.$broadcast(\"assigned-user:add\", item);\n };\n assignToMe = function() {\n var assignedUsers, currentUserId;\n if (!isEditable()) {\n return;\n }\n currentUserId = $currentUserService.getUser().get('id');\n assignedUsers = _.clone($model.$modelValue.assigned_users, false);\n assignedUsers.push(currentUserId);\n assignedUsers = _.uniq(assignedUsers);\n return save(assignedUsers, currentUserId);\n };\n deleteAssignedUser = function(assignedUserIds) {\n var transform;\n transform = $modelTransform.save(function(item) {\n var ref;\n item.assigned_users = assignedUserIds;\n if ((ref = item.assigned_to, indexOf.call(assignedUserIds, ref) < 0) && assignedUserIds.length > 0) {\n item.assigned_to = assignedUserIds[0];\n }\n if (assignedUserIds.length === 0) {\n item.assigned_to = null;\n }\n return item;\n });\n transform.then(function() {\n var assignedUsers, item;\n item = $modelTransform.getObj();\n assignedUsers = _.map(item.assignedUsers, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n renderAssignedUsers(assignedUsers);\n return $rootscope.$broadcast(\"object:updated\");\n });\n return transform.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n renderAssignedUsers = function(assignedUsers) {\n $scope.assignedUsers = assignedUsers;\n $scope.isEditable = isEditable();\n $scope.isAssigned = isAssigned();\n $scope.openAssignedUsers = openAssignedUsers;\n return $scope.assignToMe = assignToMe;\n };\n $el.on(\"click\", \".remove-user\", function(event) {\n var assignedUserId, message, target, title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n assignedUserId = target.data(\"assigned-user-id\");\n title = $translate.instant(\"COMMON.ASSIGNED_USERS.TITLE_LIGHTBOX_DELETE_ASSIGNED\");\n message = $scope.usersById[assignedUserId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var assignedUserIds;\n askResponse.finish();\n assignedUserIds = _.clone($model.$modelValue.assigned_users, false);\n assignedUserIds = _.pull(assignedUserIds, assignedUserId);\n return deleteAssignedUser(assignedUserIds);\n };\n })(this));\n });\n $scope.$on(\"assigned-user:deleted\", function(ctx, assignedUserId) {\n var assignedUsersIds;\n assignedUsersIds = _.clone($model.$modelValue.assigned_users, false);\n assignedUsersIds = _.pull(assignedUsersIds, assignedUserId);\n assignedUsersIds = _.uniq(assignedUsersIds);\n return deleteAssignedUser(assignedUsersIds);\n });\n $scope.$on(\"assigned-user:added\", function(ctx, assignedUserId) {\n var assignedUsers;\n assignedUsers = _.clone($model.$modelValue.assigned_users, false);\n assignedUsers.push(assignedUserId);\n assignedUsers = _.uniq(assignedUsers);\n return save(assignedUsers, assignedUserId);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var assignedUsers;\n if (item == null) {\n return;\n }\n assignedUsers = _.map(item.assigned_users, function(assignedUserId) {\n return $scope.usersById[assignedUserId];\n });\n assignedUsers = _.filter(assignedUsers, function(it) {\n return !!it;\n });\n return renderAssignedUsers(assignedUsers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n scope: true,\n templateUrl: \"common/components/assigned-users.html\",\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedUsers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", \"$translate\", \"tgCurrentUserService\", AssignedUsersDirective]);\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, subtitle) {\n if (subtitle == null) {\n subtitle = this.translate.instant(\"NOTIFICATION.ASK_DELETE\");\n }\n return this.ask(title, subtitle, 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(\"\"));\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, '![alt](' + emoji.image + ')');\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, AssignedUsersLightboxDirective, BlockLightboxDirective, BlockingMessageInputDirective, CreateBulkUserstoriesDirective, CreateEditUserstoryDirective, LightboxDirective, LightboxKeyboardNavigationService, LightboxLeaveProjectWarningDirective, LightboxService, SetDueDateDirective, 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:not(.no-focus),textarea:not(.no-focus)').first();\n if (firstField.length) {\n return firstField.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 AssignedUsersLightboxDirective = function($repo, lightboxService, lightboxKeyboardNavigationService, $template, $compile, avatarService) {\n var link;\n link = function($scope, $el, $attrs) {\n var closeLightbox, filterUsers, normalizeString, render, selectedItem, selectedUsers, usersTemplate;\n selectedUsers = [];\n selectedItem = null;\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-users-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(assignedUsersIds, text) {\n var ctx, html, selected, users, visible;\n users = _.clone($scope.activeUsers, true);\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 selected = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(assignedUsersIds, ref) >= 0) {\n user.avatar = avatarService.getAvatar(user);\n return selected.push(user);\n }\n });\n visible = [];\n _.map(users, function(user) {\n var ref;\n if (ref = user.id, indexOf.call(assignedUsersIds, ref) < 0) {\n user.avatar = avatarService.getAvatar(user);\n return visible.push(user);\n }\n });\n ctx = {\n selected: selected,\n users: _.slice(visible, 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-user:add\", function(ctx, item) {\n selectedItem = item;\n selectedUsers = item.assigned_users;\n render(selectedUsers);\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(selectedUsers, searchingText);\n return $el.find('input').focus();\n }\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(\"assigned-user:added\", target.data(\"user-id\"), selectedItem);\n });\n }));\n $el.on(\"click\", \".remove-assigned-to\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n event.stopPropagation();\n $scope.$apply(function() {\n $scope.usersSearch = null;\n return $scope.$broadcast(\"assigned-user:deleted\", target.data(\"user-id\"), selectedItem);\n });\n return closeLightbox();\n });\n $el.on(\"click\", \".close\", function(event) {\n event.preventDefault();\n return closeLightbox();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-users.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbAssignedUsers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", \"tgAvatarService\", AssignedUsersLightboxDirective]);\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 SetDueDateDirective = function(lightboxService, $loading, $translate, $confirm, $modelTransform) {\n var link;\n link = function($scope, $el, attrs) {\n var prettyDate, remove, save;\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n lightboxService.open($el);\n if ($scope.object.due_date) {\n $scope.new_due_date = moment($scope.object.due_date).format(prettyDate);\n }\n $el.on(\"click\", \".suggestion\", function(event) {\n var quantity, target, unit, value;\n target = angular.element(event.currentTarget);\n quantity = target.data('quantity');\n unit = target.data('unit');\n value = moment().add(quantity, unit).format(prettyDate);\n return $el.find(\".due-date\").val(value);\n });\n save = function() {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\".submit-button\")).start();\n transform = $modelTransform.save(function(object) {\n var new_due_date;\n new_due_date = $('.due-date').val();\n object.due_date = new_due_date ? moment(new_due_date, prettyDate).format(\"YYYY-MM-DD\") : null;\n return object;\n });\n transform.then(function() {\n return $confirm.notify(\"success\");\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 $el.on(\"click\", \".submit-button\", function(event) {\n event.preventDefault();\n return save();\n });\n remove = function() {\n var message, subtitle, title;\n title = $translate.instant(\"LIGHTBOX.DELETE_DUE_DATE.TITLE\");\n subtitle = $translate.instant(\"LIGHTBOX.DELETE_DUE_DATE.SUBTITLE\");\n message = moment($scope.object.due_date).format(prettyDate);\n return $confirm.askOnDelete(title, message, subtitle).then(function(askResponse) {\n askResponse.finish();\n $('.due-date').val(null);\n $scope.object.due_date_reason = null;\n return save();\n });\n };\n return $el.on(\"click\", \".delete-due-date\", function(event) {\n event.preventDefault();\n return remove();\n });\n };\n return {\n templateUrl: 'common/lightbox/lightbox-due-date.html',\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgLbSetDueDate\", [\"lightboxService\", \"$tgLoading\", \"$translate\", \"$tgConfirm\", \"$tgQueueModelTransformation\", SetDueDateDirective]);\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 = \"loading...\";\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 \n * Copyright (C) 2014-2017 David Barragán Merino \n * Copyright (C) 2014-2017 Alejandro Alonso \n * Copyright (C) 2014-2017 Juan Francisco Alcántara \n * Copyright (C) 2014-2017 Xavi Julian \n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n * File: modules/backlog/main.coffee\n */\n\n(function() {\n var BacklogController, BacklogDirective, BurndownBacklogGraphDirective, TgBacklogProgressBarDirective, ToggleBurndownVisibility, UsPointsDirective, UsRolePointsSelectorDirective, bindMethods, bindOnce, generateHash, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n generateHash = this.taiga.generateHash;\n\n module = angular.module(\"taigaBacklog\");\n\n BacklogController = (function(superClass) {\n extend(BacklogController, superClass);\n\n BacklogController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"$tgLoading\", \"tgResources\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\"];\n\n BacklogController.prototype.storeCustomFiltersName = 'backlog-custom-filters';\n\n BacklogController.prototype.storeFiltersName = 'backlog-filters';\n\n BacklogController.prototype.backlogOrder = {};\n\n BacklogController.prototype.milestonesOrder = {};\n\n function BacklogController(scope1, rootscope, repo, confirm, rs, params1, q, location, appMetaService, navUrls, events, analytics, translate, loading, rs2, modelTransform, errorHandlingService, storage, filterRemoteStorageService, projectService) {\n var promise;\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params1;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.loading = loading;\n this.rs2 = rs2;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService;\n bindMethods(this);\n this.backlogOrder = {};\n this.milestonesOrder = {};\n this.page = 1;\n this.disablePagination = false;\n this.firstLoadComplete = false;\n this.scope.userstories = [];\n if (this.applyStoredFilters(this.params.pslug, \"backlog-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"BACKLOG.SECTION_NAME\");\n this.showTags = false;\n this.activeFilters = false;\n this.scope.showGraphPlaceholder = null;\n this.displayVelocity = false;\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n _this.firstLoadComplete = true;\n title = _this.translate.instant(\"BACKLOG.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"BACKLOG.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n _this.appMetaService.setAll(title, description);\n if (_this.rs.userstories.getShowTags(_this.scope.projectId)) {\n _this.showTags = true;\n return _this.scope.$broadcast(\"showTags\", _this.showTags);\n }\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n BacklogController.prototype.filtersReloadContent = function() {\n return this.loadUserstories(true);\n };\n\n BacklogController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"usform:bulk:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:create:success\", (function(_this) {\n return function(e, data, ussToMove) {\n _this.loadSprints().then(function() {\n return _this.scope.$broadcast(\"sprintform:create:success:callback\", ussToMove);\n });\n _this.loadProjectStats();\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"sprint\", \"create\", \"create sprint on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"usform:new:success\", (function(_this) {\n return function() {\n _this.loadUserstories(true);\n _this.loadProjectStats();\n _this.rootscope.$broadcast(\"filters:update\");\n _this.confirm.notify(\"success\");\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"create userstory on backlog\", 1);\n };\n })(this));\n this.scope.$on(\"sprintform:edit:success\", (function(_this) {\n return function() {\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"sprintform:remove:success\", (function(_this) {\n return function(event, sprint) {\n _this.loadSprints();\n _this.loadProjectStats();\n _this.loadUserstories(true);\n if (sprint.closed) {\n _this.loadClosedSprints();\n }\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"usform:edit:success\", (function(_this) {\n return function(event, data) {\n var index;\n index = _.findIndex(_this.scope.userstories, function(us) {\n return us.id === data.id;\n });\n _this.scope.userstories[index] = data;\n return _this.rootscope.$broadcast(\"filters:update\");\n };\n })(this));\n this.scope.$on(\"sprint:us:move\", this.moveUs);\n this.scope.$on(\"sprint:us:moved\", (function(_this) {\n return function() {\n _this.loadSprints();\n return _this.loadProjectStats();\n };\n })(this));\n this.scope.$on(\"backlog:load-closed-sprints\", this.loadClosedSprints);\n return this.scope.$on(\"backlog:unload-closed-sprints\", this.unloadClosedSprints);\n };\n\n BacklogController.prototype.initializeSubscription = function() {\n var routingKey1, routingKey2;\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n this.events.subscribe(this.scope, routingKey1, (function(_this) {\n return function(message) {\n _this.loadAllPaginatedUserstories();\n return _this.loadSprints();\n };\n })(this));\n routingKey2 = \"changes.project.\" + this.scope.projectId + \".milestones\";\n return this.events.subscribe(this.scope, routingKey2, (function(_this) {\n return function(message) {\n return _this.loadSprints();\n };\n })(this));\n };\n\n BacklogController.prototype.toggleShowTags = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.showTags = !_this.showTags;\n return _this.rs.userstories.storeShowTags(_this.scope.projectId, _this.showTags);\n };\n })(this));\n };\n\n BacklogController.prototype.toggleActiveFilters = function() {\n return this.activeFilters = !this.activeFilters;\n };\n\n BacklogController.prototype.toggleVelocityForecasting = function() {\n this.displayVelocity = !this.displayVelocity;\n if (!this.displayVelocity) {\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n } else {\n this.scope.visibleUserStories = _.map(this.forecastedStories, function(it) {\n return it.ref;\n });\n }\n return scopeDefer(this.scope, (function(_this) {\n return function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.loadProjectStats = function() {\n return this.rs.projects.stats(this.scope.projectId).then((function(_this) {\n return function(stats) {\n var totalPoints;\n _this.scope.stats = stats;\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n if (totalPoints) {\n _this.scope.stats.completedPercentage = Math.round(100 * stats.closed_points / totalPoints);\n } else {\n _this.scope.stats.completedPercentage = 0;\n }\n _this.scope.showGraphPlaceholder = !((stats.total_points != null) && (stats.total_milestones != null));\n _this.calculateForecasting();\n return stats;\n };\n })(this));\n };\n\n BacklogController.prototype.setMilestonesOrder = function(sprints) {\n var it, j, len, results, sprint;\n results = [];\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n this.milestonesOrder[sprint.id] = {};\n results.push((function() {\n var l, len1, ref1, results1;\n ref1 = sprint.user_stories;\n results1 = [];\n for (l = 0, len1 = ref1.length; l < len1; l++) {\n it = ref1[l];\n results1.push(this.milestonesOrder[sprint.id][it.id] = it.sprint_order);\n }\n return results1;\n }).call(this));\n }\n return results;\n };\n\n BacklogController.prototype.unloadClosedSprints = function() {\n return this.scope.$apply((function(_this) {\n return function() {\n _this.scope.closedSprints = [];\n return _this.rootscope.$broadcast(\"closed-sprints:reloaded\", []);\n };\n })(this));\n };\n\n BacklogController.prototype.loadClosedSprints = function() {\n var params;\n params = {\n closed: true\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalClosedMilestones = result.closed;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.closedSprints = sprints;\n _this.scope.closedSprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"closed-sprints:reloaded\", sprints);\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.loadSprints = function() {\n var params;\n params = {\n closed: false\n };\n return this.rs.sprints.list(this.scope.projectId, params).then((function(_this) {\n return function(result) {\n var j, len, sprint, sprints;\n sprints = result.milestones;\n _this.setMilestonesOrder(sprints);\n _this.scope.totalMilestones = sprints;\n _this.scope.totalClosedMilestones = result.closed;\n _this.scope.totalOpenMilestones = result.open;\n _this.scope.totalMilestones = _this.scope.totalOpenMilestones + _this.scope.totalClosedMilestones;\n for (j = 0, len = sprints.length; j < len; j++) {\n sprint = sprints[j];\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\");\n }\n _this.scope.sprints = sprints;\n if (!_this.scope.closedSprints) {\n _this.scope.closedSprints = [];\n }\n _this.scope.sprintsCounter = sprints.length;\n _this.scope.sprintsById = groupBy(sprints, function(x) {\n return x.id;\n });\n _this.rootscope.$broadcast(\"sprints:loaded\", sprints);\n _this.scope.currentSprint = _this.findCurrentSprint();\n return sprints;\n };\n })(this));\n };\n\n BacklogController.prototype.openSprints = function() {\n return _.filter(this.scope.sprints, (function(_this) {\n return function(sprint) {\n return !sprint.closed;\n };\n })(this)).reverse();\n };\n\n BacklogController.prototype.loadAllPaginatedUserstories = function() {\n var page;\n page = this.page;\n return this.loadUserstories(true, this.scope.userstories.length).then((function(_this) {\n return function() {\n return _this.page = page;\n };\n })(this));\n };\n\n BacklogController.prototype.loadUserstories = function(resetPagination, pageSize) {\n var params, promise;\n if (resetPagination == null) {\n resetPagination = false;\n }\n if (!this.scope.projectId) {\n return null;\n }\n this.loadingUserstories = true;\n this.disablePagination = true;\n params = _.clone(this.location.search());\n this.rs.userstories.storeQueryParams(this.scope.projectId, params);\n if (resetPagination) {\n this.page = 1;\n }\n params.page = this.page;\n promise = this.rs.userstories.listUnassigned(this.scope.projectId, params, pageSize);\n return promise.then((function(_this) {\n return function(result) {\n var header, it, j, len, ref1, userstories;\n userstories = result[0];\n header = result[1];\n if (resetPagination) {\n _this.scope.userstories = [];\n }\n _this.scope.userstories = _this.scope.userstories.concat(_.sortBy(userstories, \"backlog_order\"));\n _this.scope.visibleUserStories = _.map(_this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = _this.scope.userstories;\n for (j = 0, len = ref1.length; j < len; j++) {\n it = ref1[j];\n _this.backlogOrder[it.id] = it.backlog_order;\n }\n _this.loadingUserstories = false;\n if (header('x-pagination-next')) {\n _this.disablePagination = false;\n _this.page++;\n }\n scopeDefer(_this.scope, function() {\n return _this.scope.$broadcast(\"userstories:loaded\");\n });\n return userstories;\n };\n })(this));\n };\n\n BacklogController.prototype.loadBacklog = function() {\n return this.q.all([this.loadProjectStats(), this.loadSprints(), this.loadUserstories()]).then(this.calculateForecasting);\n };\n\n BacklogController.prototype.calculateForecasting = function() {\n var backlog_points_sum, current_sum, j, len, ref1, results, stats, total_points, us;\n stats = this.scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n backlog_points_sum = 0;\n this.forecastedStories = [];\n ref1 = this.scope.userstories;\n results = [];\n for (j = 0, len = ref1.length; j < len; j++) {\n us = ref1[j];\n current_sum += us.total_points;\n backlog_points_sum += us.total_points;\n this.forecastedStories.push(us);\n if (stats.speed > 0 && backlog_points_sum > stats.speed) {\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n\n BacklogController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_backlog_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.closedMilestones = !!project.total_closed_milestones;\n this.scope.$emit('project:loaded', project);\n this.scope.points = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(project.points, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"id\");\n return project;\n };\n\n BacklogController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n return this.loadBacklog().then((function(_this) {\n return function() {\n var milestone;\n return _this.generateFilters(milestone = \"null\");\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.scope.$emit(\"backlog:loaded\");\n };\n })(this));\n };\n\n BacklogController.prototype.prepareBulkUpdateData = function(uses, field) {\n if (field == null) {\n field = \"backlog_order\";\n }\n return _.map(uses, function(x) {\n return {\n \"us_id\": x.id,\n \"order\": x[field]\n };\n });\n };\n\n BacklogController.prototype.moveUs = function(ctx, usList, newUsIndex, newSprintId) {\n var afterDestination, beforeDestination, currentSprintId, data, it, j, key, l, len, len1, len2, len3, len4, len5, len6, list, m, modifiedUs, n, newSprint, o, oldSprintId, options, orderField, orderList, p, previous, previousWithTheSameOrder, project, promise, q, ref1, ref2, setOrders, setPreviousOrders, sprint, startIndex, us;\n oldSprintId = usList[0].milestone;\n project = usList[0].project;\n if (oldSprintId) {\n sprint = this.scope.sprintsById[oldSprintId] || this.scope.closedSprintsById[oldSprintId];\n }\n if (newSprintId) {\n newSprint = this.scope.sprintsById[newSprintId] || this.scope.closedSprintsById[newSprintId];\n }\n currentSprintId = newSprintId !== oldSprintId ? newSprintId : oldSprintId;\n orderList = null;\n orderField = \"\";\n if (newSprintId !== oldSprintId) {\n if (newSprintId === null) {\n for (key = j = 0, len = usList.length; j < len; key = ++j) {\n us = usList[key];\n _.remove(sprint.user_stories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n beforeDestination = _.slice(this.scope.userstories, 0, newUsIndex);\n afterDestination = _.slice(this.scope.userstories, newUsIndex);\n this.scope.userstories = this.scope.userstories.concat(usList);\n } else {\n for (l = 0, len1 = usList.length; l < len1; l++) {\n us = usList[l];\n _.remove(this.scope.userstories, function(it) {\n return it.id === us.id;\n });\n }\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[newSprint.id];\n beforeDestination = _.slice(newSprint.user_stories, 0, newUsIndex);\n afterDestination = _.slice(newSprint.user_stories, newUsIndex);\n newSprint.user_stories = newSprint.user_stories.concat(usList);\n }\n } else {\n if (oldSprintId === null) {\n orderField = \"backlog_order\";\n orderList = this.backlogOrder;\n list = _.filter(this.scope.userstories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n } else {\n orderField = \"sprint_order\";\n orderList = this.milestonesOrder[sprint.id];\n list = _.filter(newSprint.user_stories, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(list, 0, newUsIndex);\n afterDestination = _.slice(list, newUsIndex);\n }\n }\n previous = beforeDestination[beforeDestination.length - 1];\n setPreviousOrders = [];\n if (!previous) {\n startIndex = 0;\n } else if (previous) {\n startIndex = orderList[previous.id] + 1;\n previousWithTheSameOrder = _.filter(beforeDestination, function(it) {\n return it[orderField] === orderList[previous.id];\n });\n if (previousWithTheSameOrder.length > 1) {\n setPreviousOrders = _.map(previousWithTheSameOrder, function(it) {\n return {\n us_id: it.id,\n order: orderList[it.id]\n };\n });\n }\n }\n modifiedUs = [];\n for (key = m = 0, len2 = usList.length; m < len2; key = ++m) {\n us = usList[key];\n us.milestone = currentSprintId;\n us[orderField] = startIndex + key;\n orderList[us.id] = us[orderField];\n modifiedUs.push({\n us_id: us.id,\n order: us[orderField]\n });\n }\n startIndex = orderList[usList[usList.length - 1].id];\n for (key = n = 0, len3 = afterDestination.length; n < len3; key = ++n) {\n it = afterDestination[key];\n orderList[it.id] = startIndex + key + 1;\n }\n this.scope.userstories = _.sortBy(this.scope.userstories, (function(_this) {\n return function(it) {\n return _this.backlogOrder[it.id];\n };\n })(this));\n this.scope.visibleUserStories = _.map(this.scope.userstories, function(it) {\n return it.ref;\n });\n ref1 = this.scope.sprints;\n for (o = 0, len4 = ref1.length; o < len4; o++) {\n sprint = ref1[o];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n ref2 = this.scope.closedSprints;\n for (p = 0, len5 = ref2.length; p < len5; p++) {\n sprint = ref2[p];\n sprint.user_stories = _.sortBy(sprint.user_stories, (function(_this) {\n return function(it) {\n return _this.milestonesOrder[sprint.id][it.id];\n };\n })(this));\n }\n if (usList.length > 1 && (newSprintId !== oldSprintId)) {\n data = modifiedUs.concat(setPreviousOrders);\n promise = this.rs.userstories.bulkUpdateMilestone(project, newSprintId, data);\n } else if (usList.length > 1) {\n data = modifiedUs.concat(setPreviousOrders);\n promise = this.rs.userstories.bulkUpdateBacklogOrder(project, data);\n } else {\n setOrders = {};\n for (q = 0, len6 = setPreviousOrders.length; q < len6; q++) {\n it = setPreviousOrders[q];\n setOrders[it.us_id] = it.order;\n }\n options = {\n headers: {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n promise = this.repo.save(usList[0], true, {}, options, true);\n }\n promise.then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"sprint:us:moved\");\n if (_this.scope.closedSprintsById && _this.scope.closedSprintsById[oldSprintId]) {\n return _this.rootscope.$broadcast(\"backlog:load-closed-sprints\");\n }\n };\n })(this));\n return promise;\n };\n\n BacklogController.prototype.updateUserStoryStatus = function() {\n return this.generateFilters().then((function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"filters:update\");\n _this.loadProjectStats();\n if (_this.isFilterDataTypeSelected('status')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n BacklogController.prototype.editUserStory = function(projectId, ref, $event) {\n var currentLoading, target;\n target = $($event.target);\n currentLoading = this.loading().target(target).removeClasses(\"edit-story\").timeout(200).start();\n return this.rs.userstories.getByRef(projectId, ref).then((function(_this) {\n return function(us) {\n return _this.rs2.attachments.list(\"us\", us.id, projectId).then(function(attachments) {\n _this.rootscope.$broadcast(\"usform:edit\", us, attachments.toJS());\n return currentLoading.finish();\n });\n };\n })(this));\n };\n\n BacklogController.prototype.deleteUserStory = function(us) {\n var message, title;\n title = this.translate.instant(\"US.TITLE_DELETE_ACTION\");\n message = us.subject;\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var promise;\n _this.scope.userstories = _.without(_this.scope.userstories, us);\n promise = _this.repo.remove(us);\n promise.then(function() {\n askResponse.finish();\n return _this.q.all([_this.loadProjectStats(), _this.loadSprints()]);\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return _this.confirm.notify(\"error\");\n });\n };\n })(this));\n };\n\n BacklogController.prototype.addNewUs = function(type) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"usform:new\", this.scope.projectId, this.scope.project.default_us_status, this.scope.usStatusList);\n case \"bulk\":\n return this.rootscope.$broadcast(\"usform:bulk\", this.scope.projectId, this.scope.project.default_us_status);\n }\n };\n\n BacklogController.prototype.addNewSprint = function() {\n return this.rootscope.$broadcast(\"sprintform:create\", this.scope.projectId);\n };\n\n BacklogController.prototype.findCurrentSprint = function() {\n var currentDate;\n currentDate = new Date().getTime();\n return _.find(this.scope.sprints, function(sprint) {\n var end, start;\n start = moment(sprint.estimated_start, 'YYYY-MM-DD').format('x');\n end = moment(sprint.estimated_finish, 'YYYY-MM-DD').format('x');\n return currentDate >= start && currentDate <= end;\n });\n };\n\n return BacklogController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin, taiga.UsFiltersMixin));\n\n module.controller(\"BacklogController\", BacklogController);\n\n BacklogDirective = function($repo, $rootscope, $translate, $rs) {\n var doomLineTemplate, link, linkDoomLine, linkFilters, linkToolbar, openFilterInit, showHideFilter, showHideTags;\n doomLineTemplate = _.template(\"
    <%- text %>
    \");\n linkDoomLine = function($scope, $el, $attrs, $ctrl) {\n var addDoomLineDom, getUsItems, reloadDoomLine, removeDoomlineDom;\n reloadDoomLine = function() {\n var current_sum, domElement, i, j, len, ref1, results, stats, total_points, us;\n if ($scope.displayVelocity) {\n removeDoomlineDom();\n }\n if (($scope.stats != null) && ($scope.stats.total_points != null) && $scope.stats.total_points !== 0 && ($scope.displayVelocity == null)) {\n removeDoomlineDom();\n stats = $scope.stats;\n total_points = stats.total_points;\n current_sum = stats.assigned_points;\n if (!$scope.userstories) {\n return;\n }\n ref1 = $scope.userstories;\n results = [];\n for (i = j = 0, len = ref1.length; j < len; i = ++j) {\n us = ref1[i];\n current_sum += us.total_points;\n if (current_sum > total_points) {\n domElement = $el.find('.backlog-table-body .us-item-row')[i];\n addDoomLineDom(domElement);\n break;\n } else {\n results.push(void 0);\n }\n }\n return results;\n }\n };\n removeDoomlineDom = function() {\n return $el.find(\".doom-line\").remove();\n };\n addDoomLineDom = function(element) {\n var text;\n text = $translate.instant(\"BACKLOG.DOOMLINE\");\n return $(element).before(doomLineTemplate({\n \"text\": text\n }));\n };\n getUsItems = function() {\n var rowElements;\n rowElements = $el.find('.backlog-table-body .us-item-row');\n return _.map(rowElements, function(x) {\n return angular.element(x);\n });\n };\n $scope.$on(\"userstories:loaded\", reloadDoomLine);\n $scope.$on(\"userstories:forecast\", removeDoomlineDom);\n return $scope.$watch(\"stats\", reloadDoomLine);\n };\n linkToolbar = function($scope, $el, $attrs, $ctrl) {\n var checkSelected, getUsToMove, lastChecked, moveToCurrentSprint, moveToLatestSprint, moveUssToSprint, shiftPressed;\n getUsToMove = function() {\n var ussDom;\n ussDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n return _.map(ussDom, function(item) {\n var itemScope;\n item = $(item).closest('.tg-scope');\n itemScope = item.scope();\n itemScope.us.milestone = $scope.sprints[0].id;\n return itemScope.us;\n });\n };\n moveUssToSprint = function(selectedUss, sprint) {\n var data, extraPoints, totalExtraPoints, ussCurrent;\n ussCurrent = _($scope.userstories);\n $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value();\n extraPoints = _.map(selectedUss, function(v, k) {\n return v.total_points;\n });\n totalExtraPoints = _.reduce(extraPoints, function(acc, num) {\n return acc + num;\n });\n sprint.user_stories = _.union(sprint.user_stories, selectedUss);\n sprint.total_points += totalExtraPoints;\n data = _.map(selectedUss, function(us) {\n return {\n us_id: us.id,\n order: us.sprint_order\n };\n });\n $rs.userstories.bulkUpdateMilestone($scope.project.id, $scope.sprints[0].id, data).then((function(_this) {\n return function() {\n $ctrl.loadSprints();\n $ctrl.loadProjectStats();\n $ctrl.toggleVelocityForecasting();\n return $ctrl.calculateForecasting();\n };\n })(this));\n return $el.find(\".move-to-sprint\").hide();\n };\n moveToCurrentSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.currentSprint);\n };\n moveToLatestSprint = function(selectedUss) {\n return moveUssToSprint(selectedUss, $scope.sprints[0]);\n };\n $scope.$on(\"sprintform:create:success:callback\", function(e, ussToMove) {\n return _.partial(moveToCurrentSprint, ussToMove)();\n });\n shiftPressed = false;\n lastChecked = null;\n checkSelected = function(target) {\n var moveToSprintDom, selectedUsDom;\n lastChecked = target.closest(\".us-item-row\");\n target.closest('.us-item-row').toggleClass('ui-multisortable-multiple');\n moveToSprintDom = $el.find(\".move-to-sprint\");\n selectedUsDom = $el.find(\".backlog-table-body input:checkbox:checked\");\n if (selectedUsDom.length > 0 && $scope.sprints.length > 0) {\n return moveToSprintDom.show();\n } else {\n return moveToSprintDom.hide();\n }\n };\n $(window).on(\"keydown.shift-pressed keyup.shift-pressed\", function(event) {\n shiftPressed = !!event.shiftKey;\n return true;\n });\n $el.on(\"change\", \".backlog-table-body input:checkbox\", function(event) {\n var current, elements, nextAll, prevAll, target;\n if (lastChecked && shiftPressed) {\n elements = [];\n current = $(event.currentTarget).closest(\".us-item-row\");\n nextAll = lastChecked.nextAll();\n prevAll = lastChecked.prevAll();\n if (_.some(nextAll, function(next) {\n return next === current[0];\n })) {\n elements = lastChecked.nextUntil(current);\n } else if (_.some(prevAll, function(prev) {\n return prev === current[0];\n })) {\n elements = lastChecked.prevUntil(current);\n }\n _.map(elements, function(elm) {\n var input;\n input = $(elm).find(\"input:checkbox\");\n input.prop('checked', true);\n return checkSelected(input);\n });\n }\n target = angular.element(event.currentTarget);\n target.closest(\".us-item-row\").toggleClass('is-checked');\n return checkSelected(target);\n });\n $el.on(\"click\", \"#move-to-latest-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToLatestSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#move-to-current-sprint\", (function(_this) {\n return function(event) {\n var ussToMove;\n ussToMove = getUsToMove();\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n };\n })(this));\n $el.on(\"click\", \"#show-tags\", function(event) {\n event.preventDefault();\n $ctrl.toggleShowTags();\n return showHideTags($ctrl);\n });\n return $el.on(\"click\", \".forecasting-add-sprint\", function(event) {\n var ussToMove, ussToMoveList;\n ussToMoveList = $ctrl.forecastedStories;\n if ($scope.currentSprint) {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.milestone = $scope.currentSprint.id;\n us.order = index;\n return us;\n });\n return $scope.$apply(_.partial(moveToCurrentSprint, ussToMove));\n } else {\n ussToMove = _.map(ussToMoveList, function(us, index) {\n us.order = index;\n return us;\n });\n return $rootscope.$broadcast(\"sprintform:create\", $scope.projectId, ussToMove);\n }\n });\n };\n showHideTags = function($ctrl) {\n var elm, text;\n elm = angular.element(\"#show-tags\");\n if ($ctrl.showTags) {\n elm.addClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.HIDE\");\n return elm.text(text);\n } else {\n elm.removeClass(\"active\");\n text = $translate.instant(\"BACKLOG.TAGS.SHOW\");\n return elm.text(text);\n }\n };\n openFilterInit = function($scope, $el, $ctrl) {\n var sidebar;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.addClass(\"active\");\n return $ctrl.activeFilters = true;\n };\n showHideFilter = function($scope, $el, $ctrl) {\n var hideText, showText, sidebar, target;\n sidebar = $el.find(\"sidebar.backlog-filter\");\n sidebar.one(\"transitionend\", function() {\n return timeout(150, function() {\n $rootscope.$broadcast(\"resize\");\n return $('.burndown').css(\"visibility\", \"visible\");\n });\n });\n target = angular.element(\"#show-filters-button\");\n $('.burndown').css(\"visibility\", \"hidden\");\n sidebar.toggleClass(\"active\");\n target.toggleClass(\"active\");\n hideText = $translate.instant(\"BACKLOG.FILTERS.HIDE\");\n showText = $translate.instant(\"BACKLOG.FILTERS.SHOW\");\n toggleText(target, [hideText, showText]);\n return $ctrl.toggleActiveFilters();\n };\n linkFilters = function($scope, $el, $attrs, $ctrl) {\n $scope.filtersSearch = {};\n return $el.on(\"click\", \"#show-filters-button\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n return showHideFilter($scope, $el, $ctrl);\n });\n });\n };\n link = function($scope, $el, $attrs, $rootscope) {\n var $ctrl, filters;\n $ctrl = $el.controller();\n linkToolbar($scope, $el, $attrs, $ctrl);\n linkFilters($scope, $el, $attrs, $ctrl);\n linkDoomLine($scope, $el, $attrs, $ctrl);\n filters = $ctrl.location.search();\n if (filters.status || filters.tags || filters.q || filters.assigned_to || filters.owner) {\n openFilterInit($scope, $el, $ctrl);\n }\n $scope.$on(\"showTags\", function() {\n return showHideTags($ctrl);\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return $(window).off(\".shift-pressed\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklog\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"$tgResources\", BacklogDirective]);\n\n UsRolePointsSelectorDirective = function($rootscope, $template, $compile, $translate) {\n var link, selectionTemplate;\n selectionTemplate = $template.get(\"backlog/us-role-points-popover.html\", true);\n link = function($scope, $el, $attrs) {\n bindOnce($scope, \"project\", function(project) {\n var numberOfRoles, roles;\n roles = _.filter(project.roles, \"computable\");\n numberOfRoles = _.size(roles);\n if (numberOfRoles > 1) {\n return $el.append($compile(selectionTemplate({\n \"roles\": roles\n }))($scope));\n } else {\n $el.find(\".icon-arrow-down\").remove();\n return $el.find(\".header-points\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n $el.find(\".popover\").popover().close();\n return $el.find(\".header-points\").html(roleName + \"/Total\");\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx, roleId) {\n var text;\n $el.find(\".popover\").popover().close();\n text = $translate.instant(\"COMMON.FIELDS.POINTS\");\n return $el.find(\".header-points\").text(text);\n });\n $el.on(\"click\", function(event) {\n var target;\n target = angular.element(event.target);\n if (target.is(\"span\") || target.is(\"div\")) {\n event.stopPropagation();\n }\n return $el.find(\".popover\").popover().open();\n });\n $el.on(\"click\", \".clear-selection\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $rootscope.$broadcast(\"uspoints:clear-selection\");\n });\n $el.on(\"click\", \".role\", function(event) {\n var rolScope, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n rolScope = target.scope();\n return $rootscope.$broadcast(\"uspoints:select\", target.data(\"role-id\"), target.text());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsRolePointsSelector\", [\"$rootScope\", \"$tgTemplate\", \"$compile\", \"$translate\", UsRolePointsSelectorDirective]);\n\n UsPointsDirective = function($tgEstimationsService, $repo, $tgTemplate) {\n var link, rolesTemplate;\n rolesTemplate = $tgTemplate.get(\"common/estimation/us-points-roles-popover.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, bindClickElements, estimationProcess, filteringRoleId, renderRolesSelector, selectedRoleId, updatingSelectedRoleId;\n $ctrl = $el.controller();\n updatingSelectedRoleId = null;\n selectedRoleId = null;\n filteringRoleId = null;\n estimationProcess = null;\n $scope.$on(\"uspoints:select\", function(ctx, roleId, roleName) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = roleId;\n return estimationProcess.render();\n });\n $scope.$on(\"uspoints:clear-selection\", function(ctx) {\n var us;\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n selectedRoleId = null;\n return estimationProcess.render();\n });\n $scope.$watch($attrs.tgBacklogUsPoints, function(us) {\n var roles;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n roles = estimationProcess.calculateRoles();\n if (roles.length === 0) {\n $el.find(\".icon-arrow-bottom\").remove();\n $el.find(\"a.us-points\").addClass(\"not-clickable\");\n } else if (roles.length === 1) {\n selectedRoleId = _.keys(us.points)[0];\n }\n if (estimationProcess.isEditable) {\n bindClickElements();\n }\n estimationProcess.onSelectedPointForRole = function(roleId, pointId, points) {\n us.points = points;\n estimationProcess.render();\n return this.save(roleId, pointId).then(function() {\n return $ctrl.loadProjectStats();\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, pointId, pointObj, template, text, title, totalPoints;\n totalPoints = this.calculateTotalPoints();\n if ((selectedRoleId == null) || roles.length === 1) {\n text = totalPoints;\n title = totalPoints;\n } else {\n pointId = this.us.points[selectedRoleId];\n pointObj = this.pointsById[pointId];\n text = pointObj.name + \" / \" + totalPoints + \"\";\n title = pointObj.name + \" / \" + totalPoints;\n }\n ctx = {\n totalPoints: totalPoints,\n roles: this.calculateRoles(),\n editable: this.isEditable,\n text: text,\n title: title\n };\n mainTemplate = \"common/estimation/us-estimation-total.html\";\n template = $tgTemplate.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n renderRolesSelector = function() {\n var html, roles;\n roles = estimationProcess.calculateRoles();\n html = rolesTemplate({\n \"roles\": roles\n });\n $el.append(html);\n return $el.find(\".pop-role\").popover().open(function() {\n return $(this).remove();\n });\n };\n bindClickElements = function() {\n $el.on(\"click\", \"a.us-points\", function(event) {\n var us;\n event.preventDefault();\n event.stopPropagation();\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = selectedRoleId;\n if (selectedRoleId != null) {\n return estimationProcess.renderPointsSelector(selectedRoleId);\n } else {\n return renderRolesSelector();\n }\n });\n return $el.on(\"click\", \".role\", function(event) {\n var popRolesDom, target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgBacklogUsPoints);\n updatingSelectedRoleId = target.data(\"role-id\");\n popRolesDom = $el.find(\".pop-role\");\n popRolesDom.find(\"a\").removeClass(\"active\");\n popRolesDom.find(\"a[data-role-id='\" + updatingSelectedRoleId + \"']\").addClass(\"active\");\n return estimationProcess.renderPointsSelector(updatingSelectedRoleId);\n });\n };\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogUsPoints\", [\"$tgEstimationsService\", \"$tgRepo\", \"$tgTemplate\", UsPointsDirective]);\n\n ToggleBurndownVisibility = function($storage) {\n var hide, link, show;\n hide = function() {\n $(\".js-burndown-graph\").removeClass(\"shown\");\n $(\".js-toggle-burndown-visibility-button\").removeClass(\"active\");\n return $(\".js-burndown-graph\").removeClass(\"open\");\n };\n show = function(firstLoad) {\n $(\".js-toggle-burndown-visibility-button\").addClass(\"active\");\n if (firstLoad) {\n return $(\".js-burndown-graph\").addClass(\"shown\");\n } else {\n return $(\".js-burndown-graph\").addClass(\"open\");\n }\n };\n link = function($scope, $el, $attrs) {\n var firstLoad, hash, toggleGraph;\n firstLoad = true;\n hash = generateHash([\"is-burndown-grpahs-collapsed\"]);\n $scope.isBurndownGraphCollapsed = $storage.get(hash) || false;\n toggleGraph = function() {\n if ($scope.isBurndownGraphCollapsed) {\n hide(firstLoad);\n } else {\n show(firstLoad);\n }\n return firstLoad = false;\n };\n $scope.$watch(\"showGraphPlaceholder\", function() {\n if ($scope.showGraphPlaceholder != null) {\n $scope.isBurndownGraphCollapsed = $scope.isBurndownGraphCollapsed || $scope.showGraphPlaceholder;\n return toggleGraph();\n }\n });\n $el.on(\"click\", \".js-toggle-burndown-visibility-button\", function() {\n $scope.isBurndownGraphCollapsed = !$scope.isBurndownGraphCollapsed;\n $storage.set(hash, $scope.isBurndownGraphCollapsed);\n return toggleGraph();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleBurndownVisibility\", [\"$tgStorage\", ToggleBurndownVisibility]);\n\n BurndownBacklogGraphDirective = function($translate) {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var client_increment_line, colors, data, evolution_line, j, milestonesRange, optimal_line, options, ref1, results, team_increment_line, width, zero_line;\n width = element.width();\n element.height(width / 6);\n milestonesRange = (function() {\n results = [];\n for (var j = 0, ref1 = dataToDraw.milestones.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; 0 <= ref1 ? j++ : j--){ results.push(j); }\n return results;\n }).apply(this);\n data = [];\n zero_line = _.map(dataToDraw.milestones, function(ml) {\n return 0;\n });\n data.push({\n data: _.zip(milestonesRange, zero_line),\n lines: {\n fillColor: \"rgba(0,0,0,0)\"\n },\n points: {\n show: false\n }\n });\n optimal_line = _.map(dataToDraw.milestones, function(ml) {\n return ml.optimal;\n });\n data.push({\n data: _.zip(milestonesRange, optimal_line),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n evolution_line = _.filter(_.map(dataToDraw.milestones, function(ml) {\n return ml.evolution;\n }), function(evolution) {\n return evolution != null;\n });\n data.push({\n data: _.zip(milestonesRange, evolution_line),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n client_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"] - ml[\"client-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, client_increment_line),\n lines: {\n fillColor: \"rgba(255,51,51,0.3)\"\n }\n });\n team_increment_line = _.map(dataToDraw.milestones, function(ml) {\n return -ml[\"team-increment\"];\n });\n data.push({\n data: _.zip(milestonesRange, team_increment_line),\n lines: {\n fillColor: \"rgba(153,51,51,0.3)\"\n }\n });\n colors = [\"rgba(0,0,0,1)\", \"rgba(120,120,120,0.2)\", \"rgba(102,153,51,1)\", \"rgba(153,51,51,1)\", \"rgba(255,51,51,1)\"];\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: \"#ccc\",\n hoverable: true\n },\n xaxis: {\n ticks: dataToDraw.milestones.length,\n axisLabel: $translate.instant(\"BACKLOG.CHART.XAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5,\n tickFormatter: function(val, axis) {\n return \"\";\n }\n },\n yaxis: {\n axisLabel: $translate.instant(\"BACKLOG.CHART.YAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\",\n axisLabelPadding: 5\n },\n series: {\n shadowSize: 0,\n lines: {\n show: true,\n fill: true\n },\n points: {\n show: true,\n fill: true,\n radius: 4,\n lineWidth: 2\n }\n },\n colors: colors,\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var ctx;\n if (flotItem.seriesIndex === 1) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.OPTIMAL\", ctx);\n } else if (flotItem.seriesIndex === 2) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.REAL\", ctx);\n } else if (flotItem.seriesIndex === 3) {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_CLIENT\", ctx);\n } else {\n ctx = {\n sprintName: dataToDraw.milestones[xval].name,\n value: Math.abs(yval)\n };\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_TEAM\", ctx);\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch(\"stats\", function(value) {\n if ($scope.stats != null) {\n redrawChart(element, $scope.stats);\n return $scope.$on(\"resize\", function() {\n return redrawChart(element, $scope.stats);\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBurndownBacklogGraph\", [\"$translate\", BurndownBacklogGraphDirective]);\n\n TgBacklogProgressBarDirective = function($template, $compile) {\n var adjustPercentaje, link, render, template;\n template = $template.get(\"backlog/progress-bar.html\", true);\n render = function(scope, el, projectPointsPercentaje, closedPointsPercentaje) {\n var html;\n html = template({\n projectPointsPercentaje: projectPointsPercentaje,\n closedPointsPercentaje: closedPointsPercentaje\n });\n html = $compile(html)(scope);\n return el.html(html);\n };\n adjustPercentaje = function(percentage) {\n var adjusted;\n adjusted = _.max([0, percentage]);\n adjusted = _.min([100, adjusted]);\n return Math.round(adjusted);\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgBacklogProgressBar, function(stats) {\n var closedPoints, closedPointsPercentaje, definedPoints, projectPointsPercentaje, totalPoints;\n if (stats != null) {\n totalPoints = stats.total_points ? stats.total_points : stats.defined_points;\n definedPoints = stats.defined_points;\n closedPoints = stats.closed_points;\n if (definedPoints > totalPoints) {\n projectPointsPercentaje = totalPoints * 100 / definedPoints;\n closedPointsPercentaje = closedPoints * 100 / definedPoints;\n } else {\n projectPointsPercentaje = 100;\n closedPointsPercentaje = closedPoints * 100 / totalPoints;\n }\n projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje - 3);\n closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje - 3);\n return render($scope, $el, projectPointsPercentaje, closedPointsPercentaje);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogProgressBar\", [\"$tgTemplate\", \"$compile\", TgBacklogProgressBarDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2017 Andrey Antukh \n * Copyright (C) 2014-2017 Jesús Espino Garcia \n * Copyright (C) 2014-2017 David Barragán Merino \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/sortable.coffee\n */\n\n(function() {\n var BacklogSortableDirective, bindOnce, deleteElement, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBacklog\");\n\n deleteElement = function(el) {\n $(el).scope().$destroy();\n $(el).off();\n return $(el).remove();\n };\n\n BacklogSortableDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"project\", function(project) {\n var drake, initIsBacklog, scroll;\n if (!(project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n initIsBacklog = false;\n drake = dragula([$el[0], $('.js-empty-backlog')[0]], {\n copySortSource: false,\n copy: false,\n isContainer: function(el) {\n return el.classList.contains('sprint-table');\n },\n moves: function(item) {\n if (!$(item).hasClass('row')) {\n return false;\n }\n return true;\n }\n });\n drake.on('drag', function(item, container) {\n var isChecked, parent;\n parent = $(item).parent();\n initIsBacklog = parent.hasClass('backlog-table-body');\n $(document.body).addClass(\"drag-active\");\n isChecked = $(item).find(\"input[type='checkbox']\").is(\":checked\");\n return window.dragMultiple.start(item, container);\n });\n drake.on('cloned', function(item) {\n return $(item).addClass('multiple-drag-mirror');\n });\n drake.on('dragend', function(item) {\n var dragMultipleItems, firstElement, index, isBacklog, parent, sameContainer, sprint, usList;\n parent = $(item).parent();\n $('.doom-line').remove();\n parent = $(item).parent();\n isBacklog = parent.hasClass('backlog-table-body') || parent.hasClass('js-empty-backlog');\n if (initIsBacklog || isBacklog) {\n sameContainer = initIsBacklog === isBacklog;\n } else {\n sameContainer = $(item).scope().sprint.id === parent.scope().sprint.id;\n }\n dragMultipleItems = window.dragMultiple.stop();\n $(document.body).removeClass(\"drag-active\");\n sprint = null;\n firstElement = dragMultipleItems.length ? dragMultipleItems[0] : item;\n if (isBacklog) {\n index = $(firstElement).index(\".backlog-table-body .row\");\n } else {\n index = $(firstElement).index();\n sprint = parent.scope().sprint.id;\n }\n if (!sameContainer) {\n if (dragMultipleItems.length) {\n usList = _.map(dragMultipleItems, function(item) {\n return item = $(item).scope().us;\n });\n } else {\n usList = [$(item).scope().us];\n }\n if (dragMultipleItems.length) {\n _.each(dragMultipleItems, function(item) {\n return deleteElement(item);\n });\n } else {\n deleteElement(item);\n }\n } else {\n if (dragMultipleItems.length) {\n usList = _.map(dragMultipleItems, function(item) {\n return item = $(item).scope().us;\n });\n } else {\n usList = [$(item).scope().us];\n }\n }\n return $scope.$emit(\"sprint:us:move\", usList, index, sprint);\n });\n scroll = autoScroll([window], {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogSortable\", BacklogSortableDirective);\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/sprints.coffee\n */\n\n(function() {\n var BacklogSprintDirective, BacklogSprintHeaderDirective, ToggleExcludeClosedSprintsVisualization, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaBacklog\");\n\n BacklogSprintDirective = function($repo, $rootscope) {\n var link, slideOptions, sprintTableMinHeight, toggleSprint;\n sprintTableMinHeight = 50;\n slideOptions = {\n duration: 500,\n easing: 'linear'\n };\n toggleSprint = (function(_this) {\n return function($el) {\n var sprintArrow, sprintTable;\n sprintTable = $el.find(\".sprint-table\");\n sprintArrow = $el.find(\".compact-sprint\");\n sprintArrow.toggleClass('active');\n return sprintTable.toggleClass('open');\n };\n })(this);\n link = function($scope, $el, $attrs) {\n $scope.$watch($attrs.tgBacklogSprint, function(sprint) {\n sprint = $scope.$eval($attrs.tgBacklogSprint);\n if (sprint.closed) {\n return $el.addClass(\"sprint-closed\");\n } else {\n return toggleSprint($el);\n }\n });\n $el.on(\"click\", \".sprint-name > .compact-sprint\", function(event) {\n event.preventDefault();\n toggleSprint($el);\n return $el.find(\".sprint-table\").slideToggle(slideOptions);\n });\n $el.on(\"click\", \".edit-sprint\", function(event) {\n var sprint;\n event.preventDefault();\n sprint = $scope.$eval($attrs.tgBacklogSprint);\n return $rootscope.$broadcast(\"sprintform:edit\", sprint);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogSprint\", [\"$tgRepo\", \"$rootScope\", BacklogSprintDirective]);\n\n BacklogSprintHeaderDirective = function($navUrls, $template, $compile, $translate) {\n var link, template;\n template = $template.get(\"backlog/sprint-header.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, isVisible, prettyDate, render;\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\");\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_milestone\") !== -1;\n };\n isVisible = function() {\n return $scope.project.my_permissions.indexOf(\"view_milestones\") !== -1;\n };\n render = function(sprint) {\n var compiledTemplate, ctx, estimatedDateRange, finish, start, taskboardUrl, templateScope;\n taskboardUrl = $navUrls.resolve(\"project-taskboard\", {\n project: $scope.project.slug,\n sprint: sprint.slug\n });\n start = moment(sprint.estimated_start).format(prettyDate);\n finish = moment(sprint.estimated_finish).format(prettyDate);\n estimatedDateRange = start + \"-\" + finish;\n ctx = {\n name: sprint.name,\n taskboardUrl: taskboardUrl,\n estimatedDateRange: estimatedDateRange,\n closedPoints: sprint.closed_points || 0,\n totalPoints: sprint.total_points || 0,\n isVisible: isVisible(),\n isEditable: isEditable()\n };\n templateScope = $scope.$new();\n _.assign(templateScope, ctx);\n compiledTemplate = $compile(template)(templateScope);\n return $el.html(compiledTemplate);\n };\n $scope.$watch(\"sprint\", function(sprint) {\n return render(sprint);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\"\n };\n };\n\n module.directive(\"tgBacklogSprintHeader\", [\"$tgNavUrls\", \"$tgTemplate\", \"$compile\", \"$translate\", BacklogSprintHeaderDirective]);\n\n ToggleExcludeClosedSprintsVisualization = function($rootscope, $loading, $translate) {\n var excludeClosedSprints, link;\n excludeClosedSprints = true;\n link = function($scope, $el, $attrs) {\n var currentLoading, loadingElm;\n loadingElm = $(\"
    \");\n $el.after(loadingElm);\n currentLoading = null;\n $el.on(\"click\", function(event) {\n event.preventDefault();\n excludeClosedSprints = !excludeClosedSprints;\n currentLoading = $loading().target(loadingElm).start();\n if (excludeClosedSprints) {\n return $rootscope.$broadcast(\"backlog:unload-closed-sprints\");\n } else {\n return $rootscope.$broadcast(\"backlog:load-closed-sprints\");\n }\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return $scope.$on(\"closed-sprints:reloaded\", (function(_this) {\n return function(ctx, sprints) {\n var key, text;\n currentLoading.finish();\n if (sprints.length > 0) {\n key = \"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS\";\n } else {\n key = \"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS\";\n }\n text = $translate.instant(key);\n return $el.find(\".text\").text(text);\n };\n })(this));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBacklogToggleClosedSprintsVisualization\", [\"$rootScope\", \"$tgLoading\", \"$translate\", ToggleExcludeClosedSprintsVisualization]);\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/charts.coffee\n */\n\n(function() {\n var SprintGraphDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaTaskboard\");\n\n SprintGraphDirective = function($translate) {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var data, days, options, width;\n width = element.width();\n element.height(240);\n days = _.map(dataToDraw, function(x) {\n return moment(new Date(x.day).getTime());\n });\n data = [];\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.optimal_points;\n })),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.open_points;\n })),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: '#ccc',\n hoverable: true\n },\n xaxis: {\n tickSize: [1, \"day\"],\n min: days[0],\n max: _.last(days),\n mode: \"time\",\n daysNames: days,\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.XAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n yaxis: {\n min: 0,\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.YAXIS_LABEL\"),\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n series: {\n shadowSize: 0,\n lines: {\n show: true,\n fill: true\n },\n points: {\n show: true,\n fill: true,\n radius: 4,\n lineWidth: 2\n }\n },\n colors: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"],\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var formattedDate, roundedValue;\n formattedDate = moment(xval).format($translate.instant(\"TASKBOARD.CHARTS.DATE\"));\n roundedValue = Math.round(yval);\n if (flotItem.seriesIndex === 1) {\n return $translate.instant(\"TASKBOARD.CHARTS.OPTIMAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n });\n } else {\n return $translate.instant(\"TASKBOARD.CHARTS.REAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n });\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$on(\"resize\", function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n $scope.$on(\"taskboard:graph:toggle-visibility\", function() {\n $el.parent().toggleClass('open');\n return timeout(100, function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n });\n $scope.$watch('stats', function(value) {\n if ($scope.stats == null) {\n return;\n }\n return redrawChart(element, $scope.stats.days);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintGraph\", [\"$translate\", SprintGraphDirective]);\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/lightboxes.coffee\n */\n\n(function() {\n var CreateBulkTasksDirective, CreateEditTaskDirective, bindOnce, debounce, 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 bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n CreateEditTaskDirective = function($repo, $model, $rs, $rootscope, $loading, lightboxService, $translate, $q, $confirm, attachmentsService) {\n var link;\n link = function($scope, $el, attrs) {\n var attachmentsToAdd, attachmentsToDelete, close, createAttachments, deleteAttachments, resetAttachments, submit, submitButton, tagsToAdd;\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 createAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToAdd.toJS(), function(attachment) {\n return attachmentsService.upload(attachment.file, obj.id, $scope.task.project, 'task');\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\"](\"task\", attachment.id);\n });\n return $q.all(promises);\n };\n tagsToAdd = [];\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.task.tags);\n inserted = _.find(itemtags, function(it) {\n return it[0] === value;\n });\n if (!inserted) {\n itemtags.push([tag, color]);\n return $scope.task.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.task.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === value;\n });\n $scope.task.tags = itemtags;\n return _.pull($scope.task.tags, value);\n };\n $scope.$on(\"taskform:new\", function(ctx, sprintId, usId) {\n var create, newTask;\n $scope.task = $model.make_model('tasks', {\n project: $scope.projectId,\n milestone: sprintId,\n user_story: usId,\n is_archived: false,\n status: $scope.project.default_task_status,\n assigned_to: null,\n tags: [],\n subject: \"\",\n description: \"\"\n });\n $scope.isNew = true;\n $scope.attachments = Immutable.List();\n resetAttachments();\n create = $translate.instant(\"COMMON.CREATE\");\n $el.find(\".button-green\").html(create);\n newTask = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.TITLE\");\n $el.find(\".title\").html(newTask + \" \");\n $el.find(\".tag-input\").val(\"\");\n lightboxService.open($el, function() {\n return $scope.createEditTaskOpen = false;\n });\n return $scope.createEditTaskOpen = true;\n });\n $scope.$on(\"taskform:edit\", function(ctx, task, attachments) {\n var edit, save;\n $scope.task = task;\n $scope.isNew = false;\n $scope.attachments = Immutable.fromJS(attachments);\n resetAttachments();\n save = $translate.instant(\"COMMON.SAVE\");\n edit = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.ACTION_EDIT\");\n $el.find(\".button-green\").html(save);\n $el.find(\".title\").html(edit + \" \");\n $el.find(\".tag-input\").val(\"\");\n lightboxService.open($el, function() {\n return $scope.createEditTaskOpen = false;\n });\n return $scope.createEditTaskOpen = true;\n });\n submitButton = $el.find(\".submit-button\");\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var broadcastEvent, currentLoading, form, params, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n params = {\n include_attachments: true,\n include_tasks: true\n };\n if ($scope.isNew) {\n promise = $repo.create(\"tasks\", $scope.task);\n broadcastEvent = \"taskform:new:success\";\n } else {\n promise = $repo.save($scope.task);\n broadcastEvent = \"taskform: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 return $rs.tasks.getByRef(data.project, data.ref, params).then(function(task) {\n return $rootscope.$broadcast(broadcastEvent, task);\n });\n };\n })(this));\n });\n currentLoading = $loading().target(submitButton).start();\n return promise.then(function(data) {\n currentLoading.finish();\n return lightboxService.close($el);\n });\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n close = (function(_this) {\n return function() {\n if (!$scope.task.isModified()) {\n lightboxService.close($el);\n return $scope.$apply(function() {\n return $scope.task.revert();\n });\n } else {\n return $confirm.ask($translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.CONFIRM_CLOSE\")).then(function(result) {\n lightboxService.close($el);\n $scope.task.revert();\n return result.finish();\n });\n }\n };\n })(this);\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 CreateBulkTasksDirective = function($repo, $rs, $rootscope, $loading, lightboxService, $model) {\n var link;\n link = function($scope, $el, attrs) {\n var submit, submitButton;\n $scope.form = {\n data: \"\",\n usId: null\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, data, form, projectId, promise, sprintId, usId;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n data = $scope.form.data;\n projectId = $scope.projectId;\n sprintId = $scope.form.sprintId;\n usId = $scope.form.usId;\n promise = $rs.tasks.bulkCreate(projectId, sprintId, usId, data);\n promise.then(function(result) {\n result = _.map(result, (function(_this) {\n return function(x) {\n return $model.make_model('tasks', x);\n };\n })(this));\n currentLoading.finish();\n $rootscope.$broadcast(\"taskform:bulk:success\", result);\n return lightboxService.close($el);\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return console.log(\"FAIL\");\n });\n };\n })(this));\n $scope.$on(\"taskform:bulk\", function(ctx, sprintId, usId) {\n lightboxService.open($el);\n return $scope.form = {\n data: \"\",\n sprintId: sprintId,\n usId: usId\n };\n });\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 = angular.module(\"taigaTaskboard\");\n\n module.directive(\"tgLbCreateEditTask\", [\"$tgRepo\", \"$tgModel\", \"$tgResources\", \"$rootScope\", \"$tgLoading\", \"lightboxService\", \"$translate\", \"$q\", \"$tgConfirm\", \"tgAttachmentsService\", CreateEditTaskDirective]);\n\n module.directive(\"tgLbCreateBulkTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"$tgLoading\", \"lightboxService\", \"$tgModel\", CreateBulkTasksDirective]);\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 TaskboardController, TaskboardDirective, TaskboardSquishColumnDirective, bindMethods, bindOnce, debounceLeading, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n toggleText = this.taiga.toggleText;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n scopeDefer = this.taiga.scopeDefer;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaTaskboard\");\n\n TaskboardController = (function(superClass) {\n extend(TaskboardController, superClass);\n\n TaskboardController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"tgAppMetaService\", \"$tgLocation\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"tgTaskboardTasks\", \"$tgStorage\", \"tgFilterRemoteStorageService\"];\n\n function TaskboardController(scope, rootscope, repo, confirm, rs1, rs2, params1, q1, appMetaService, location, navUrls, events, analytics, translate, errorHandlingService, taskboardTasksService, storage, filterRemoteStorageService) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs1;\n this.rs2 = rs2;\n this.params = params1;\n this.q = q1;\n this.appMetaService = appMetaService;\n this.location = location;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.taskboardTasksService = taskboardTasksService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n bindMethods(this);\n this.taskboardTasksService.reset();\n this.scope.userstories = [];\n this.openFilter = false;\n if (this.applyStoredFilters(this.params.pslug, \"tasks-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"TASKBOARD.SECTION_NAME\");\n this.initializeEventHandlers();\n taiga.defineImmutableProperty(this.scope, \"usTasks\", (function(_this) {\n return function() {\n return _this.taskboardTasksService.usTasks;\n };\n })(this));\n }\n\n TaskboardController.prototype.firstLoad = function() {\n var promise;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this._setMeta();\n };\n })(this));\n return promise.then(null, this.onInitialDataError.bind(this));\n };\n\n TaskboardController.prototype.setZoom = function(zoomLevel, zoom) {\n var previousZoomLevel;\n if (this.zoomLevel === zoomLevel) {\n return null;\n }\n this.isFirstLoad = !this.zoomLevel;\n previousZoomLevel = this.zoomLevel;\n this.zoomLevel = zoomLevel;\n this.zoom = zoom;\n if (this.isFirstLoad) {\n this.firstLoad().then((function(_this) {\n return function() {\n _this.isFirstLoad = false;\n return _this.taskboardTasksService.resetFolds();\n };\n })(this));\n } else if (this.zoomLevel > 1 && previousZoomLevel <= 1) {\n this.zoomLoading = true;\n this.loadTasks().then((function(_this) {\n return function() {\n _this.zoomLoading = false;\n return _this.taskboardTasksService.resetFolds();\n };\n })(this));\n }\n if (this.zoomLevel === '0') {\n return this.rootscope.$broadcast(\"sprint:zoom0\");\n }\n };\n\n TaskboardController.prototype.changeQ = function(q) {\n this.replaceFilter(\"q\", q);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.removeFilter = function(filter) {\n this.unselectFilter(filter.dataType, filter.id);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.addFilter = function(newFilter) {\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.selectCustomFilter = function(customFilter) {\n this.replaceAllFilters(customFilter.filter);\n this.loadTasks();\n return this.generateFilters();\n };\n\n TaskboardController.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters').then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, 'tasks-custom-filters').then(_this.generateFilters);\n };\n })(this));\n };\n\n TaskboardController.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 TaskboardController.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.role = urlfilters.role;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters').then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, 'tasks-custom-filters').then(_this.generateFilters);\n };\n })(this));\n };\n\n TaskboardController.prototype.generateFilters = function() {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), \"tasks-filters\");\n urlfilters = this.location.search();\n loadFilters = {};\n loadFilters.project = this.scope.projectId;\n loadFilters.milestone = this.scope.sprintId;\n loadFilters.tags = urlfilters.tags;\n loadFilters.status = urlfilters.status;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n return this.q.all([this.rs.tasks.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, 'tasks-custom-filters')]).then((function(_this) {\n return function(result) {\n var assignedTo, customFiltersRaw, data, 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 _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.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 ];\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 TaskboardController.prototype._setMeta = function() {\n var description, prettyDate, title;\n prettyDate = this.translate.instant(\"BACKLOG.SPRINTS.DATE\");\n title = this.translate.instant(\"TASKBOARD.PAGE_TITLE\", {\n projectName: this.scope.project.name,\n sprintName: this.scope.sprint.name\n });\n description = this.translate.instant(\"TASKBOARD.PAGE_DESCRIPTION\", {\n projectName: this.scope.project.name,\n sprintName: this.scope.sprint.name,\n startDate: moment(this.scope.sprint.estimated_start).format(prettyDate),\n endDate: moment(this.scope.sprint.estimated_finish).format(prettyDate),\n completedPercentage: this.scope.stats.completedPercentage || \"0\",\n completedPoints: this.scope.stats.completedPointsSum || \"--\",\n totalPoints: this.scope.stats.totalPointsSum || \"--\",\n openTasks: this.scope.stats.openTasks || \"--\",\n totalTasks: this.scope.stats.total_tasks || \"--\"\n });\n return this.appMetaService.setAll(title, description);\n };\n\n TaskboardController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"taskform:bulk:success\", (function(_this) {\n return function(event, tasks) {\n _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.add(tasks);\n });\n return _this.analytics.trackEvent(\"task\", \"create\", \"bulk create task on taskboard\", 1);\n };\n })(this));\n this.scope.$on(\"taskform:new:success\", (function(_this) {\n return function(event, task) {\n _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.add(task);\n });\n return _this.analytics.trackEvent(\"task\", \"create\", \"create task on taskboard\", 1);\n };\n })(this));\n this.scope.$on(\"taskform:edit:success\", (function(_this) {\n return function(event, task) {\n return _this.refreshTagsColors().then(function() {\n return _this.taskboardTasksService.replaceModel(task);\n });\n };\n })(this));\n this.scope.$on(\"taskboard:task:deleted\", (function(_this) {\n return function(event, task) {\n return _this.loadTasks();\n };\n })(this));\n this.scope.$on(\"taskboard:task:move\", this.taskMove);\n return this.scope.$on(\"assigned-to:added\", this.onAssignedToChanged);\n };\n\n TaskboardController.prototype.onAssignedToChanged = function(ctx, userid, taskModel) {\n taskModel.assigned_to = userid;\n this.taskboardTasksService.replaceModel(taskModel);\n return this.repo.save(taskModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role')) {\n return _this.loadTasks();\n }\n };\n })(this));\n };\n\n TaskboardController.prototype.initializeSubscription = function() {\n var routingKey, routingKey1;\n routingKey = \"changes.project.\" + this.scope.projectId + \".tasks\";\n this.events.subscribe(this.scope, routingKey, debounceLeading(500, (function(_this) {\n return function(message) {\n return _this.loadTaskboard();\n };\n })(this)));\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n return this.events.subscribe(this.scope, routingKey1, (function(_this) {\n return function(message) {\n _this.refreshTagsColors();\n _this.loadSprintStats();\n return _this.loadSprint();\n };\n })(this));\n };\n\n TaskboardController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.is_backlog_activated) {\n _this.errorHandlingService.permissionDenied();\n }\n _this.scope.project = project;\n _this.scope.pointsList = _.sortBy(project.points, \"order\");\n _this.scope.pointsById = groupBy(project.points, function(e) {\n return e.id;\n });\n _this.scope.roleById = groupBy(project.roles, function(e) {\n return e.id;\n });\n _this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n _this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n _this.scope.usStatusById = groupBy(project.us_statuses, function(e) {\n return e.id;\n });\n _this.scope.$emit('project:loaded', project);\n _this.fillUsersAndRoles(project.members, project.roles);\n return project;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadSprintStats = function() {\n return this.rs.sprints.stats(this.scope.projectId, this.scope.sprintId).then((function(_this) {\n return function(stats) {\n var completedPointsSum, remainingPointsSum, remainingTasks, totalPointsSum;\n totalPointsSum = _.reduce(_.values(stats.total_points), (function(res, n) {\n return res + n;\n }), 0);\n completedPointsSum = _.reduce(_.values(stats.completed_points), (function(res, n) {\n return res + n;\n }), 0);\n remainingPointsSum = totalPointsSum - completedPointsSum;\n remainingTasks = stats.total_tasks - stats.completed_tasks;\n _this.scope.stats = stats;\n _this.scope.stats.totalPointsSum = totalPointsSum;\n _this.scope.stats.completedPointsSum = completedPointsSum;\n _this.scope.stats.remainingPointsSum = remainingPointsSum;\n _this.scope.stats.remainingTasks = remainingTasks;\n if (stats.totalPointsSum) {\n _this.scope.stats.completedPercentage = Math.round(100 * stats.completedPointsSum / stats.totalPointsSum);\n } else {\n _this.scope.stats.completedPercentage = 0;\n }\n _this.scope.stats.openTasks = stats.total_tasks - stats.completed_tasks;\n return stats;\n };\n })(this));\n };\n\n TaskboardController.prototype.refreshTagsColors = function() {\n return this.rs.projects.tagsColors(this.scope.projectId).then((function(_this) {\n return function(tags_colors) {\n return _this.scope.project.tags_colors = tags_colors._attrs;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadSprint = function() {\n return this.rs.sprints.get(this.scope.projectId, this.scope.sprintId).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n _this.scope.userstories = _.sortBy(sprint.user_stories, \"sprint_order\");\n _this.taskboardTasksService.setUserstories(_this.scope.userstories);\n return sprint;\n };\n })(this));\n };\n\n TaskboardController.prototype.loadTasks = function() {\n var params;\n params = {};\n if (this.zoomLevel > 1) {\n params.include_attachments = 1;\n }\n params = _.merge(params, this.location.search());\n return this.rs.tasks.list(this.scope.projectId, this.scope.sprintId, null, params).then((function(_this) {\n return function(tasks) {\n _this.taskboardTasksService.init(_this.scope.project, _this.scope.usersById);\n return _this.taskboardTasksService.set(tasks);\n };\n })(this));\n };\n\n TaskboardController.prototype.loadTaskboard = function() {\n return this.q.all([\n this.refreshTagsColors(), this.loadSprintStats(), this.loadSprint().then((function(_this) {\n return function() {\n return _this.loadTasks();\n };\n })(this))\n ]);\n };\n\n TaskboardController.prototype.loadInitialData = function() {\n var params, promise;\n params = {\n pslug: this.params.pslug,\n sslug: this.params.sslug\n };\n promise = this.repo.resolve(params).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n _this.scope.sprintId = data.milestone;\n _this.initializeSubscription();\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n _this.generateFilters();\n return _this.loadTaskboard().then(function() {\n return _this.setRolePoints();\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.showPlaceHolder = function(statusId, usId) {\n if (!this.taskboardTasksService.tasksRaw.length) {\n if (this.scope.taskStatusList[0].id === statusId && (!this.scope.userstories.length || this.scope.userstories[0].id === usId)) {\n return true;\n }\n }\n return false;\n };\n\n TaskboardController.prototype.editTask = function(id) {\n var task;\n task = this.taskboardTasksService.getTask(id);\n task = task.set('loading-edit', true);\n this.taskboardTasksService.replace(task);\n return this.rs.tasks.getByRef(task.getIn(['model', 'project']), task.getIn(['model', 'ref'])).then((function(_this) {\n return function(editingTask) {\n return _this.rs2.attachments.list(\"task\", task.get('id'), task.getIn(['model', 'project'])).then(function(attachments) {\n _this.rootscope.$broadcast(\"taskform:edit\", editingTask, attachments.toJS());\n task = task.set('loading', false);\n return _this.taskboardTasksService.replace(task);\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.deleteTask = function(id) {\n var task;\n task = this.taskboardTasksService.getTask(id);\n task = task.set('loading-delete', true);\n return this.rs.tasks.getByRef(task.getIn(['model', 'project']), task.getIn(['model', 'ref'])).then((function(_this) {\n return function(deletingTask) {\n var message, title;\n task = task.set('loading-delete', false);\n title = _this.translate.instant(\"TASK.TITLE_DELETE_ACTION\");\n message = deletingTask.subject;\n return _this.confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = _this.repo.remove(deletingTask);\n promise.then(function() {\n _this.scope.$broadcast(\"taskboard:task:deleted\");\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n TaskboardController.prototype.taskMove = function(ctx, task, oldStatusId, usId, statusId, order) {\n var moveUpdateData, options, params, promise;\n task = this.taskboardTasksService.getTaskModel(task.get('id'));\n moveUpdateData = this.taskboardTasksService.move(task.id, usId, statusId, order);\n params = {\n status__is_archived: false,\n include_attachments: true\n };\n options = {\n headers: {\n \"set-orders\": JSON.stringify(moveUpdateData.set_orders)\n }\n };\n return promise = this.repo.save(task, true, params, options, true).then((function(_this) {\n return function(result) {\n var headers;\n headers = result[1];\n if (headers && headers['taiga-info-order-updated']) {\n order = JSON.parse(headers['taiga-info-order-updated']);\n _this.taskboardTasksService.assignOrders(order);\n }\n _this.loadSprintStats();\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('status')) {\n return _this.loadTasks();\n }\n };\n })(this));\n };\n\n TaskboardController.prototype.addNewTask = function(type, us) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"taskform:new\", this.scope.sprintId, us != null ? us.id : void 0);\n case \"bulk\":\n return this.rootscope.$broadcast(\"taskform:bulk\", this.scope.sprintId, us != null ? us.id : void 0);\n }\n };\n\n TaskboardController.prototype.toggleFold = function(id) {\n return this.taskboardTasksService.toggleFold(id);\n };\n\n TaskboardController.prototype.changeTaskAssignedTo = function(id) {\n var task;\n task = this.taskboardTasksService.getTaskModel(id);\n return this.rootscope.$broadcast(\"assigned-to:add\", task);\n };\n\n TaskboardController.prototype.setRolePoints = function() {\n var computableRoles, getPoint, getRole, pointsByRole;\n computableRoles = _.filter(this.scope.project.roles, \"computable\");\n getRole = (function(_this) {\n return function(roleId) {\n roleId = parseInt(roleId, 10);\n return _.find(computableRoles, function(role) {\n return role.id === roleId;\n });\n };\n })(this);\n getPoint = (function(_this) {\n return function(pointId) {\n var poitnId;\n poitnId = parseInt(pointId, 10);\n return _.find(_this.scope.project.points, function(point) {\n return point.id === pointId;\n });\n };\n })(this);\n pointsByRole = _.reduce(this.scope.userstories, (function(_this) {\n return function(result, us, key) {\n _.forOwn(us.points, function(pointId, roleId) {\n var point, role;\n role = getRole(roleId);\n point = getPoint(pointId);\n if (!result[role.id]) {\n result[role.id] = role;\n result[role.id].points = 0;\n }\n return result[role.id].points += point.value;\n });\n return result;\n };\n })(this), {});\n return this.scope.pointsByRole = Object.keys(pointsByRole).map(function(key) {\n return pointsByRole[key];\n });\n };\n\n return TaskboardController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"TaskboardController\", TaskboardController);\n\n TaskboardDirective = function($rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, tableBodyDom;\n $ctrl = $el.controller();\n $el.on(\"click\", \".toggle-analytics-visibility\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass('active');\n return $rootscope.$broadcast(\"taskboard:graph:toggle-visibility\");\n });\n tableBodyDom = $el.find(\".taskboard-table-body\");\n tableBodyDom.on(\"scroll\", function(event) {\n var tableHeaderDom, target;\n target = angular.element(event.currentTarget);\n tableHeaderDom = $el.find(\".taskboard-table-header .taskboard-table-inner\");\n return tableHeaderDom.css(\"left\", -1 * target.scrollLeft());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboard\", [\"$rootScope\", TaskboardDirective]);\n\n TaskboardSquishColumnDirective = function(rs) {\n var avatarWidth, link, maxColumnWidth;\n avatarWidth = 40;\n maxColumnWidth = 300;\n link = function($scope, $el, $attrs) {\n var getCeilWidth, recalculateStatusColumnWidth, recalculateTaskboardWidth, refreshTaskboardTableWidth, setStatusColumnWidth;\n $scope.$on(\"sprint:zoom0\", (function(_this) {\n return function() {\n return recalculateTaskboardWidth();\n };\n })(this));\n $scope.$on(\"sprint:task:moved\", (function(_this) {\n return function() {\n return recalculateTaskboardWidth();\n };\n })(this));\n $scope.$watch(\"usTasks\", function() {\n if ($scope.project) {\n $scope.statusesFolded = rs.tasks.getStatusColumnModes($scope.project.id);\n $scope.usFolded = rs.tasks.getUsRowModes($scope.project.id, $scope.sprintId);\n return recalculateTaskboardWidth();\n }\n });\n $scope.foldStatus = function(status) {\n $scope.statusesFolded[status.id] = !!!$scope.statusesFolded[status.id];\n rs.tasks.storeStatusColumnModes($scope.projectId, $scope.statusesFolded);\n return recalculateTaskboardWidth();\n };\n $scope.foldUs = function(us) {\n if (!us) {\n $scope.usFolded[null] = !!!$scope.usFolded[null];\n } else {\n $scope.usFolded[us.id] = !!!$scope.usFolded[us.id];\n }\n rs.tasks.storeUsRowModes($scope.projectId, $scope.sprintId, $scope.usFolded);\n return recalculateTaskboardWidth();\n };\n getCeilWidth = (function(_this) {\n return function(usId, statusId) {\n var tasks, tasksMatrixSize, width;\n if (usId) {\n tasks = $scope.usTasks.getIn([usId.toString(), statusId.toString()]).size;\n } else {\n tasks = $scope.usTasks.getIn(['null', statusId.toString()]).size;\n }\n if ($scope.statusesFolded[statusId]) {\n if (tasks && $scope.usFolded[usId]) {\n tasksMatrixSize = Math.round(Math.sqrt(tasks));\n width = avatarWidth * tasksMatrixSize;\n } else {\n width = avatarWidth;\n }\n return width;\n }\n return 0;\n };\n })(this);\n setStatusColumnWidth = (function(_this) {\n return function(statusId, width) {\n var column;\n column = $el.find(\".squish-status-\" + statusId);\n if (width) {\n return column.css('max-width', width);\n } else {\n if ($scope.ctrl.zoomLevel === '0') {\n return column.css(\"max-width\", 148);\n } else {\n return column.css(\"max-width\", maxColumnWidth);\n }\n }\n };\n })(this);\n refreshTaskboardTableWidth = (function(_this) {\n return function() {\n var columnWidths, columns, totalWidth;\n columnWidths = [];\n columns = $el.find(\".task-colum-name\");\n columnWidths = _.map(columns, function(column) {\n return $(column).outerWidth(true);\n });\n totalWidth = _.reduce(columnWidths, function(total, width) {\n return total + width;\n });\n return $el.find('.taskboard-table-inner').css(\"width\", totalWidth);\n };\n })(this);\n recalculateStatusColumnWidth = (function(_this) {\n return function(statusId) {\n var statusFoldedWidth;\n statusFoldedWidth = getCeilWidth(null, statusId);\n _.forEach($scope.userstories, function(us) {\n var width;\n width = getCeilWidth(us.id, statusId);\n if (width > statusFoldedWidth) {\n return statusFoldedWidth = width;\n }\n });\n return setStatusColumnWidth(statusId, statusFoldedWidth);\n };\n })(this);\n return recalculateTaskboardWidth = (function(_this) {\n return function() {\n _.forEach($scope.taskStatusList, function(status) {\n return recalculateStatusColumnWidth(status.id);\n });\n refreshTaskboardTableWidth();\n };\n })(this);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboardSquishColumn\", [\"$tgResources\", TaskboardSquishColumnDirective]);\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/sortable.coffee\n */\n\n(function() {\n var TaskboardSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaBacklog\");\n\n TaskboardSortableDirective = function($repo, $rs, $rootscope, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch;\n return unwatch = $scope.$watch(\"usTasks\", function(usTasks) {\n var containers, deleteElement, drake, filterError, itemEl, newParentScope, oldParentScope, scroll, tdom;\n if (!usTasks || !usTasks.size) {\n return;\n }\n unwatch();\n if (!($scope.project.my_permissions.indexOf(\"modify_task\") > -1)) {\n return;\n }\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n filterError = function() {\n var text;\n text = $translate.instant(\"BACKLOG.SORTABLE_FILTER_ERROR\");\n return $tgConfirm.notify(\"error\", text);\n };\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n containers = _.map($el.find('.task-column'), function(item) {\n return item;\n });\n drake = dragula(containers, {\n copySortSource: false,\n copy: false,\n accepts: function(el, target) {\n return !$(target).hasClass('taskboard-userstory-box');\n },\n moves: function(item) {\n return $(item).is('tg-card');\n }\n });\n drake.on('drag', function(item) {\n oldParentScope = $(item).parent().scope();\n if ($el.hasClass(\"active-filters\")) {\n filterError();\n setTimeout((function() {\n return drake.cancel(true);\n }), 0);\n return false;\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex, itemTask, newStatusId, newUsId, oldStatusId, oldUsId, parentEl;\n parentEl = $(item).parent();\n itemEl = $(item);\n itemTask = itemEl.scope().task;\n itemIndex = itemEl.index();\n newParentScope = parentEl.scope();\n oldUsId = oldParentScope.us ? oldParentScope.us.id : null;\n oldStatusId = oldParentScope.st.id;\n newUsId = newParentScope.us ? newParentScope.us.id : null;\n newStatusId = newParentScope.st.id;\n if (newStatusId !== oldStatusId || newUsId !== oldUsId) {\n deleteElement(itemEl);\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"taskboard:task:move\", itemTask, itemTask.getIn(['model', 'status']), newUsId, newStatusId, itemIndex);\n });\n });\n scroll = autoScroll([$('.taskboard-table-body')[0]], {\n margin: 100,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgTaskboardSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", \"$translate\", TaskboardSortableDirective]);\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: home.service.coffee\n */\n\n(function() {\n var TaskboardTasksService, groupBy,\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 groupBy = this.taiga.groupBy;\n\n TaskboardTasksService = (function(superClass) {\n extend(TaskboardTasksService, superClass);\n\n TaskboardTasksService.$inject = [];\n\n function TaskboardTasksService() {\n this.reset();\n }\n\n TaskboardTasksService.prototype.reset = function() {\n this.tasksRaw = [];\n this.foldStatusChanged = {};\n return this.usTasks = Immutable.Map();\n };\n\n TaskboardTasksService.prototype.init = function(project, usersById) {\n this.project = project;\n return this.usersById = usersById;\n };\n\n TaskboardTasksService.prototype.resetFolds = function() {\n this.foldStatusChanged = {};\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.toggleFold = function(taskId) {\n this.foldStatusChanged[taskId] = !this.foldStatusChanged[taskId];\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.add = function(task) {\n this.tasksRaw = this.tasksRaw.concat(task);\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.set = function(tasks) {\n this.tasksRaw = tasks;\n this.refreshRawOrder();\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.setUserstories = function(userstories) {\n return this.userstories = userstories;\n };\n\n TaskboardTasksService.prototype.refreshRawOrder = function() {\n var i, len, ref, results, task;\n this.order = {};\n ref = this.tasksRaw;\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n task = ref[i];\n results.push(this.order[task.id] = task.taskboard_order);\n }\n return results;\n };\n\n TaskboardTasksService.prototype.assignOrders = function(order) {\n order = _.invert(order);\n this.order = _.assign(this.order, order);\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.getTask = function(id) {\n var findedTask;\n findedTask = null;\n this.usTasks.forEach(function(us) {\n us.forEach(function(status) {\n findedTask = status.find(function(task) {\n return task.get('id') === id;\n });\n if (findedTask) {\n return false;\n }\n });\n if (findedTask) {\n return false;\n }\n });\n return findedTask;\n };\n\n TaskboardTasksService.prototype.replace = function(task) {\n return this.usTasks = this.usTasks.map(function(us) {\n return us.map(function(status) {\n var findedIndex;\n findedIndex = status.findIndex(function(usItem) {\n return usItem.get('id') === us.get('id');\n });\n if (findedIndex !== -1) {\n status = status.set(findedIndex, task);\n }\n return status;\n });\n });\n };\n\n TaskboardTasksService.prototype.getTaskModel = function(id) {\n return _.find(this.tasksRaw, function(task) {\n return task.id === id;\n });\n };\n\n TaskboardTasksService.prototype.replaceModel = function(task) {\n this.tasksRaw = _.map(this.tasksRaw, function(it) {\n if (task.id === it.id) {\n return task;\n } else {\n return it;\n }\n });\n return this.refresh();\n };\n\n TaskboardTasksService.prototype.move = function(id, usId, statusId, index) {\n var afterDestination, beforeDestination, i, it, j, key, len, len1, previous, previousWithTheSameOrder, setOrders, taksWithoutMoved, task, taskByUsStatus;\n task = this.getTaskModel(id);\n taskByUsStatus = _.filter(this.tasksRaw, (function(_this) {\n return function(task) {\n return task.status === statusId && task.user_story === usId;\n };\n })(this));\n taskByUsStatus = _.sortBy(taskByUsStatus, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n taksWithoutMoved = _.filter(taskByUsStatus, (function(_this) {\n return function(it) {\n return it.id !== id;\n };\n })(this));\n beforeDestination = _.slice(taksWithoutMoved, 0, index);\n afterDestination = _.slice(taksWithoutMoved, index);\n setOrders = {};\n previous = beforeDestination[beforeDestination.length - 1];\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return _this.order[it.id] === _this.order[previous.id];\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n for (i = 0, len = previousWithTheSameOrder.length; i < len; i++) {\n it = previousWithTheSameOrder[i];\n setOrders[it.id] = this.order[it.id];\n }\n }\n if (!previous) {\n this.order[task.id] = 0;\n } else if (previous) {\n this.order[task.id] = this.order[previous.id] + 1;\n }\n for (key = j = 0, len1 = afterDestination.length; j < len1; key = ++j) {\n it = afterDestination[key];\n this.order[it.id] = this.order[task.id] + key + 1;\n }\n task.status = statusId;\n task.user_story = usId;\n task.taskboard_order = this.order[task.id];\n this.refresh();\n return {\n \"task_id\": task.id,\n \"order\": this.order[task.id],\n \"set_orders\": setOrders\n };\n };\n\n TaskboardTasksService.prototype.refresh = function() {\n var i, j, k, len, len1, len2, model, ref, status, task, taskModel, taskStatusList, tasks, us, usTasks;\n this.tasksRaw = _.sortBy(this.tasksRaw, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n tasks = this.tasksRaw;\n taskStatusList = _.sortBy(this.project.task_statuses, \"order\");\n usTasks = {};\n ref = _.union(this.userstories, [\n {\n id: null\n }\n ]);\n for (i = 0, len = ref.length; i < len; i++) {\n us = ref[i];\n usTasks[us.id] = {};\n for (j = 0, len1 = taskStatusList.length; j < len1; j++) {\n status = taskStatusList[j];\n usTasks[us.id][status.id] = [];\n }\n }\n for (k = 0, len2 = tasks.length; k < len2; k++) {\n taskModel = tasks[k];\n if ((usTasks[taskModel.user_story] != null) && (usTasks[taskModel.user_story][taskModel.status] != null)) {\n task = {};\n model = taskModel.getAttrs();\n task.foldStatusChanged = this.foldStatusChanged[taskModel.id];\n task.model = model;\n task.images = _.filter(model.attachments, function(it) {\n return !!it.thumbnail_card_url;\n });\n task.id = taskModel.id;\n task.assigned_to = this.usersById[taskModel.assigned_to];\n task.colorized_tags = _.map(task.model.tags, (function(_this) {\n return function(tag) {\n return {\n name: tag[0],\n color: tag[1]\n };\n };\n })(this));\n usTasks[taskModel.user_story][taskModel.status].push(task);\n }\n }\n return this.usTasks = Immutable.fromJS(usTasks);\n };\n\n return TaskboardTasksService;\n\n })(taiga.Service);\n\n angular.module(\"taigaKanban\").service(\"tgTaskboardTasks\", TaskboardTasksService);\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: kanban-userstories.service.coffee\n */\n\n(function() {\n var KanbanUserstoriesService, groupBy,\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 groupBy = this.taiga.groupBy;\n\n KanbanUserstoriesService = (function(superClass) {\n extend(KanbanUserstoriesService, superClass);\n\n KanbanUserstoriesService.$inject = [];\n\n function KanbanUserstoriesService() {\n this.reset();\n }\n\n KanbanUserstoriesService.prototype.reset = function() {\n this.userstoriesRaw = [];\n this.archivedStatus = [];\n this.statusHide = [];\n this.foldStatusChanged = {};\n return this.usByStatus = Immutable.Map();\n };\n\n KanbanUserstoriesService.prototype.init = function(project, usersById) {\n this.project = project;\n return this.usersById = usersById;\n };\n\n KanbanUserstoriesService.prototype.resetFolds = function() {\n this.foldStatusChanged = {};\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.toggleFold = function(usId) {\n this.foldStatusChanged[usId] = !this.foldStatusChanged[usId];\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.set = function(userstories) {\n this.userstoriesRaw = userstories;\n this.refreshRawOrder();\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.add = function(us) {\n this.userstoriesRaw = this.userstoriesRaw.concat(us);\n this.refreshRawOrder();\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.addArchivedStatus = function(statusId) {\n return this.archivedStatus.push(statusId);\n };\n\n KanbanUserstoriesService.prototype.isUsInArchivedHiddenStatus = function(usId) {\n var us;\n us = this.getUsModel(usId);\n return this.archivedStatus.indexOf(us.status) !== -1 && this.statusHide.indexOf(us.status) !== -1;\n };\n\n KanbanUserstoriesService.prototype.hideStatus = function(statusId) {\n this.deleteStatus(statusId);\n return this.statusHide.push(statusId);\n };\n\n KanbanUserstoriesService.prototype.showStatus = function(statusId) {\n return _.remove(this.statusHide, function(it) {\n return it === statusId;\n });\n };\n\n KanbanUserstoriesService.prototype.getStatus = function(statusId) {\n return _.filter(this.userstoriesRaw, function(us) {\n return us.status === statusId;\n });\n };\n\n KanbanUserstoriesService.prototype.deleteStatus = function(statusId) {\n var toDelete;\n toDelete = _.filter(this.userstoriesRaw, function(us) {\n return us.status === statusId;\n });\n toDelete = _.map(function(it) {\n return it.id;\n });\n this.archived = _.difference(this.archived, toDelete);\n this.userstoriesRaw = _.filter(this.userstoriesRaw, function(us) {\n return us.status !== statusId;\n });\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.refreshRawOrder = function() {\n var i, it, len, ref, results;\n this.order = {};\n ref = this.userstoriesRaw;\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n it = ref[i];\n results.push(this.order[it.id] = it.kanban_order);\n }\n return results;\n };\n\n KanbanUserstoriesService.prototype.assignOrders = function(order) {\n this.order = _.assign(this.order, order);\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.move = function(usList, statusId, index) {\n var afterDestination, beforeDestination, i, initialLength, it, j, k, key, len, len1, len2, modifiedUs, previous, previousWithTheSameOrder, setNextOrders, setOrders, setPreviousOrders, startIndex, us, usByStatus, usByStatusWithoutMoved;\n initialLength = usList.length;\n usByStatus = _.filter(this.userstoriesRaw, (function(_this) {\n return function(it) {\n return it.status === statusId;\n };\n })(this));\n usByStatus = _.sortBy(usByStatus, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n usByStatusWithoutMoved = _.filter(usByStatus, function(listIt) {\n return !_.find(usList, function(moveIt) {\n return listIt.id === moveIt.id;\n });\n });\n beforeDestination = _.slice(usByStatusWithoutMoved, 0, index);\n afterDestination = _.slice(usByStatusWithoutMoved, index);\n setOrders = {};\n previous = beforeDestination[beforeDestination.length - 1];\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return _this.order[it.id] === _this.order[previous.id];\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n for (i = 0, len = previousWithTheSameOrder.length; i < len; i++) {\n it = previousWithTheSameOrder[i];\n setOrders[it.id] = this.order[it.id];\n }\n }\n modifiedUs = [];\n setPreviousOrders = [];\n setNextOrders = [];\n if (!previous) {\n startIndex = 0;\n } else if (previous) {\n startIndex = this.order[previous.id] + 1;\n previousWithTheSameOrder = _.filter(beforeDestination, (function(_this) {\n return function(it) {\n return it.kanban_order === _this.order[previous.id];\n };\n })(this));\n for (key = j = 0, len1 = afterDestination.length; j < len1; key = ++j) {\n it = afterDestination[key];\n this.order[it.id] = this.order[previous.id] + key + initialLength + 1;\n it.kanban_order = this.order[it.id];\n }\n setNextOrders = _.map(afterDestination, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: _this.order[it.id]\n };\n };\n })(this));\n if (previousWithTheSameOrder.length > 1) {\n setPreviousOrders = _.map(previousWithTheSameOrder, (function(_this) {\n return function(it) {\n return {\n us_id: it.id,\n order: _this.order[it.id]\n };\n };\n })(this));\n }\n }\n for (key = k = 0, len2 = usList.length; k < len2; key = ++k) {\n us = usList[key];\n us.status = statusId;\n us.kanban_order = startIndex + key;\n this.order[us.id] = us.kanban_order;\n modifiedUs.push({\n us_id: us.id,\n order: us.kanban_order\n });\n }\n this.refresh();\n return {\n bulkOrders: modifiedUs.concat(setPreviousOrders, setNextOrders),\n usList: modifiedUs,\n set_orders: setOrders\n };\n };\n\n KanbanUserstoriesService.prototype.moveToEnd = function(id, statusId) {\n var us;\n us = this.getUsModel(id);\n this.order[us.id] = -1;\n us.status = statusId;\n us.kanban_order = this.order[us.id];\n this.refresh();\n return {\n \"us_id\": us.id,\n \"order\": -1\n };\n };\n\n KanbanUserstoriesService.prototype.replace = function(us) {\n return this.usByStatus = this.usByStatus.map(function(status) {\n var findedIndex;\n findedIndex = status.findIndex(function(usItem) {\n return usItem.get('id') === us.get('id');\n });\n if (findedIndex !== -1) {\n status = status.set(findedIndex, us);\n }\n return status;\n });\n };\n\n KanbanUserstoriesService.prototype.replaceModel = function(us) {\n this.userstoriesRaw = _.map(this.userstoriesRaw, function(usItem) {\n if (us.id === usItem.id) {\n return us;\n } else {\n return usItem;\n }\n });\n return this.refresh();\n };\n\n KanbanUserstoriesService.prototype.getUs = function(id) {\n var findedUs;\n findedUs = null;\n this.usByStatus.forEach(function(status) {\n findedUs = status.find(function(us) {\n return us.get('id') === id;\n });\n if (findedUs) {\n return false;\n }\n });\n return findedUs;\n };\n\n KanbanUserstoriesService.prototype.getUsModel = function(id) {\n return _.find(this.userstoriesRaw, function(us) {\n return us.id === id;\n });\n };\n\n KanbanUserstoriesService.prototype.refresh = function() {\n var usByStatus, userstories;\n this.userstoriesRaw = _.sortBy(this.userstoriesRaw, (function(_this) {\n return function(it) {\n return _this.order[it.id];\n };\n })(this));\n userstories = this.userstoriesRaw;\n userstories = _.map(userstories, (function(_this) {\n return function(usModel) {\n var model, us;\n us = {};\n model = usModel.getAttrs();\n us.foldStatusChanged = _this.foldStatusChanged[usModel.id];\n us.model = model;\n us.images = _.filter(model.attachments, function(it) {\n return !!it.thumbnail_card_url;\n });\n us.id = usModel.id;\n us.assigned_to = _this.usersById[usModel.assigned_to];\n us.assigned_users = [];\n usModel.assigned_users.forEach(function(assignedUserId) {\n var assignedUserData;\n assignedUserData = _this.usersById[assignedUserId];\n return us.assigned_users.push(assignedUserData);\n });\n us.colorized_tags = _.map(us.model.tags, function(tag) {\n return {\n name: tag[0],\n color: tag[1]\n };\n });\n return us;\n };\n })(this));\n usByStatus = _.groupBy(userstories, function(us) {\n return us.model.status;\n });\n return this.usByStatus = Immutable.fromJS(usByStatus);\n };\n\n return KanbanUserstoriesService;\n\n })(taiga.Service);\n\n angular.module(\"taigaKanban\").service(\"tgKanbanUserstories\", KanbanUserstoriesService);\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/main.coffee\n */\n\n(function() {\n var KanbanArchivedStatusHeaderDirective, KanbanArchivedStatusIntroDirective, KanbanController, KanbanDirective, KanbanSquishColumnDirective, KanbanWipLimitDirective, bindMethods, bindOnce, debounceLeading, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n 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 mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanController = (function(superClass) {\n extend(KanbanController, superClass);\n\n KanbanController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"$tgModel\", \"tgKanbanUserstories\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\"];\n\n KanbanController.prototype.storeCustomFiltersName = 'kanban-custom-filters';\n\n KanbanController.prototype.storeFiltersName = 'kanban-filters';\n\n function KanbanController(scope, rootscope, repo, confirm, rs1, rs2, params1, q, location, appMetaService, navUrls, events, analytics, translate, errorHandlingService, model, kanbanUserstoriesService1, storage, filterRemoteStorageService, projectService1) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs1;\n this.rs2 = rs2;\n this.params = params1;\n this.q = q;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.model = model;\n this.kanbanUserstoriesService = kanbanUserstoriesService1;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService1;\n bindMethods(this);\n this.kanbanUserstoriesService.reset();\n this.openFilter = false;\n this.selectedUss = {};\n if (this.applyStoredFilters(this.params.pslug, \"kanban-filters\")) {\n return;\n }\n this.scope.sectionName = this.translate.instant(\"KANBAN.SECTION_NAME\");\n this.initializeEventHandlers();\n taiga.defineImmutableProperty(this.scope, \"usByStatus\", (function(_this) {\n return function() {\n return _this.kanbanUserstoriesService.usByStatus;\n };\n })(this));\n }\n\n KanbanController.prototype.cleanSelectedUss = function() {\n var key, results;\n results = [];\n for (key in this.selectedUss) {\n results.push(this.selectedUss[key] = false);\n }\n return results;\n };\n\n KanbanController.prototype.toggleSelectedUs = function(usId) {\n return this.selectedUss[usId] = !this.selectedUss[usId];\n };\n\n KanbanController.prototype.firstLoad = function() {\n var promise;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"KANBAN.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"KANBAN.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n return promise.then(null, this.onInitialDataError.bind(this));\n };\n\n KanbanController.prototype.setZoom = function(zoomLevel, zoom) {\n var previousZoomLevel;\n if (this.zoomLevel === zoomLevel) {\n return null;\n }\n this.isFirstLoad = !this.zoomLevel;\n previousZoomLevel = this.zoomLevel;\n this.zoomLevel = zoomLevel;\n this.zoom = zoom;\n if (this.isFirstLoad) {\n return this.firstLoad().then((function(_this) {\n return function() {\n _this.isFirstLoad = false;\n return _this.kanbanUserstoriesService.resetFolds();\n };\n })(this));\n } else if (this.zoomLevel > 1 && previousZoomLevel <= 1) {\n this.zoomLoading = true;\n return this.loadUserstories().then((function(_this) {\n return function() {\n _this.zoomLoading = false;\n return _this.kanbanUserstoriesService.resetFolds();\n };\n })(this));\n }\n };\n\n KanbanController.prototype.filtersReloadContent = function() {\n return this.loadUserstories().then((function(_this) {\n return function() {\n var i, len, openArchived, results, statusId;\n openArchived = _.difference(_this.kanbanUserstoriesService.archivedStatus, _this.kanbanUserstoriesService.statusHide);\n if (openArchived.length) {\n results = [];\n for (i = 0, len = openArchived.length; i < len; i++) {\n statusId = openArchived[i];\n results.push(_this.loadUserStoriesForStatus({}, statusId));\n }\n return results;\n }\n };\n })(this));\n };\n\n KanbanController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"usform:new:success\", (function(_this) {\n return function(event, us) {\n _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.add(us);\n });\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"create userstory on kanban\", 1);\n };\n })(this));\n this.scope.$on(\"usform:bulk:success\", (function(_this) {\n return function(event, uss) {\n _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.add(uss);\n });\n return _this.analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on kanban\", 1);\n };\n })(this));\n this.scope.$on(\"usform:edit:success\", (function(_this) {\n return function(event, us) {\n return _this.refreshTagsColors().then(function() {\n return _this.kanbanUserstoriesService.replaceModel(us);\n });\n };\n })(this));\n this.scope.$on(\"kanban:us:deleted\", (function(_this) {\n return function(event, us) {\n return _this.filtersReloadContent();\n };\n })(this));\n this.scope.$on(\"assigned-to:added\", this.onAssignedToChanged);\n this.scope.$on(\"assigned-user:added\", this.onAssignedUsersChanged);\n this.scope.$on(\"assigned-user:deleted\", this.onAssignedUsersDeleted);\n this.scope.$on(\"kanban:us:move\", this.moveUs);\n this.scope.$on(\"kanban:show-userstories-for-status\", this.loadUserStoriesForStatus);\n return this.scope.$on(\"kanban:hide-userstories-for-status\", this.hideUserStoriesForStatus);\n };\n\n KanbanController.prototype.addNewUs = function(type, statusId) {\n switch (type) {\n case \"standard\":\n return this.rootscope.$broadcast(\"usform:new\", this.scope.projectId, statusId, this.scope.usStatusList);\n case \"bulk\":\n return this.rootscope.$broadcast(\"usform:bulk\", this.scope.projectId, statusId);\n }\n };\n\n KanbanController.prototype.editUs = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUs(id);\n us = us.set('loading-edit', true);\n this.kanbanUserstoriesService.replace(us);\n return this.rs.userstories.getByRef(us.getIn(['model', 'project']), us.getIn(['model', 'ref'])).then((function(_this) {\n return function(editingUserStory) {\n return _this.rs2.attachments.list(\"us\", us.get('id'), us.getIn(['model', 'project'])).then(function(attachments) {\n _this.rootscope.$broadcast(\"usform:edit\", editingUserStory, attachments.toJS());\n us = us.set('loading-edit', false);\n return _this.kanbanUserstoriesService.replace(us);\n });\n };\n })(this));\n };\n\n KanbanController.prototype.deleteUs = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUs(id);\n us = us.set('loading-delete', true);\n return this.rs.userstories.getByRef(us.getIn(['model', 'project']), us.getIn(['model', 'ref'])).then((function(_this) {\n return function(deletingUserStory) {\n var message, title;\n us = us.set('loading-delete', false);\n title = _this.translate.instant(\"US.TITLE_DELETE_ACTION\");\n message = deletingUserStory.subject;\n return _this.confirm.askOnDelete(title, message).then(function(askResponse) {\n var promise;\n promise = _this.repo.remove(deletingUserStory);\n promise.then(function() {\n _this.scope.$broadcast(\"kanban:us:deleted\");\n return askResponse.finish();\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return this.confirm.notify(\"error\");\n });\n });\n };\n })(this));\n };\n\n KanbanController.prototype.showPlaceHolder = function(statusId) {\n if (this.scope.usStatusList[0].id === statusId && !this.kanbanUserstoriesService.userstoriesRaw.length) {\n return true;\n }\n return false;\n };\n\n KanbanController.prototype.toggleFold = function(id) {\n return this.kanbanUserstoriesService.toggleFold(id);\n };\n\n KanbanController.prototype.isUsInArchivedHiddenStatus = function(usId) {\n return this.kanbanUserstoriesService.isUsInArchivedHiddenStatus(usId);\n };\n\n KanbanController.prototype.changeUsAssignedTo = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUsModel(id);\n return this.rootscope.$broadcast(\"assigned-to:add\", us);\n };\n\n KanbanController.prototype.changeUsAssignedUsers = function(id) {\n var us;\n us = this.kanbanUserstoriesService.getUsModel(id);\n return this.rootscope.$broadcast(\"assigned-user:add\", us);\n };\n\n KanbanController.prototype.onAssignedToChanged = function(ctx, userid, usModel) {\n usModel.assigned_to = userid;\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_to') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.onAssignedUsersChanged = function(ctx, userid, usModel) {\n var assignedUsers;\n assignedUsers = _.clone(usModel.assigned_users, false);\n assignedUsers.push(userid);\n assignedUsers = _.uniq(assignedUsers);\n usModel.assigned_users = assignedUsers;\n if (!usModel.assigned_to) {\n usModel.assigned_to = userid;\n }\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_users') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.onAssignedUsersDeleted = function(ctx, userid, usModel) {\n var assignedUsersIds, ref;\n assignedUsersIds = _.clone(usModel.assigned_users, false);\n assignedUsersIds = _.pull(assignedUsersIds, userid);\n assignedUsersIds = _.uniq(assignedUsersIds);\n usModel.assigned_users = assignedUsersIds;\n if ((ref = usModel.assigned_to, indexOf.call(assignedUsersIds, ref) < 0) && assignedUsersIds.length > 0) {\n usModel.assigned_to = assignedUsersIds[0];\n }\n if (assignedUsersIds.length === 0) {\n usModel.assigned_to = null;\n }\n this.kanbanUserstoriesService.replaceModel(usModel);\n return this.repo.save(usModel).then((function(_this) {\n return function() {\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('assigned_users') || _this.isFilterDataTypeSelected('role')) {\n return _this.filtersReloadContent();\n }\n };\n })(this));\n };\n\n KanbanController.prototype.refreshTagsColors = function() {\n return this.rs.projects.tagsColors(this.scope.projectId).then((function(_this) {\n return function(tags_colors) {\n return _this.scope.project.tags_colors = tags_colors._attrs;\n };\n })(this));\n };\n\n KanbanController.prototype.loadUserstories = function() {\n var params, promise;\n params = {\n status__is_archived: false\n };\n if (this.zoomLevel > 1) {\n params.include_attachments = 1;\n params.include_tasks = 1;\n }\n params = _.merge(params, this.location.search());\n promise = this.rs.userstories.listAll(this.scope.projectId, params).then((function(_this) {\n return function(userstories) {\n _this.kanbanUserstoriesService.init(_this.scope.project, _this.scope.usersById);\n _this.kanbanUserstoriesService.set(userstories);\n scopeDefer(_this.scope, function() {\n return _this.scope.$broadcast(\"userstories:loaded\", userstories);\n });\n return userstories;\n };\n })(this));\n promise.then((function(_this) {\n return function() {\n return _this.scope.$broadcast(\"redraw:wip\");\n };\n })(this));\n return promise;\n };\n\n KanbanController.prototype.loadUserStoriesForStatus = function(ctx, statusId) {\n var filteredStatus, params;\n filteredStatus = this.location.search().status;\n if (filteredStatus) {\n filteredStatus = filteredStatus.split(\",\").map(function(it) {\n return parseInt(it, 10);\n });\n if (filteredStatus.indexOf(statusId) === -1) {\n return;\n }\n }\n params = {\n status: statusId,\n include_attachments: true,\n include_tasks: true\n };\n params = _.merge(params, this.location.search());\n return this.rs.userstories.listAll(this.scope.projectId, params).then((function(_this) {\n return function(userstories) {\n _this.scope.$broadcast(\"kanban:shown-userstories-for-status\", statusId, userstories);\n return userstories;\n };\n })(this));\n };\n\n KanbanController.prototype.hideUserStoriesForStatus = function(ctx, statusId) {\n return this.scope.$broadcast(\"kanban:hidden-userstories-for-status\", statusId);\n };\n\n KanbanController.prototype.loadKanban = function() {\n return this.q.all([this.refreshTagsColors(), this.loadUserstories()]);\n };\n\n KanbanController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_kanban_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.projectId = project.id;\n this.scope.points = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(project.points, function(x) {\n return x.id;\n });\n this.scope.usStatusById = groupBy(project.us_statuses, function(x) {\n return x.id;\n });\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n this.scope.$emit(\"project:loaded\", project);\n return project;\n };\n\n KanbanController.prototype.initializeSubscription = function() {\n var randomTimeout, routingKey1;\n routingKey1 = \"changes.project.\" + this.scope.projectId + \".userstories\";\n randomTimeout = taiga.randomInt(700, 1000);\n return this.events.subscribe(this.scope, routingKey1, debounceLeading(randomTimeout, (function(_this) {\n return function(message) {\n return _this.loadUserstories();\n };\n })(this)));\n };\n\n KanbanController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n this.loadKanban();\n return this.generateFilters();\n };\n\n KanbanController.prototype.prepareBulkUpdateData = function(uses, field) {\n if (field == null) {\n field = \"kanban_order\";\n }\n return _.map(uses, function(x) {\n return {\n \"us_id\": x.id,\n \"order\": x[field]\n };\n });\n };\n\n KanbanController.prototype.moveUs = function(ctx, usList, newStatusId, index) {\n var data, promise;\n this.cleanSelectedUss();\n usList = _.map(usList, (function(_this) {\n return function(us) {\n return _this.kanbanUserstoriesService.getUsModel(us.id);\n };\n })(this));\n data = this.kanbanUserstoriesService.move(usList, newStatusId, index);\n promise = this.rs.userstories.bulkUpdateKanbanOrder(this.scope.projectId, newStatusId, data.bulkOrders);\n return promise.then((function(_this) {\n return function() {\n var options, params, promises;\n options = {\n headers: {\n \"set-orders\": JSON.stringify(data.setOrders)\n }\n };\n params = {\n include_attachments: true,\n include_tasks: true\n };\n promises = _.map(usList, function(us) {\n return _this.repo.save(us, true, params, options, true);\n });\n promise = _this.q.all(promises);\n return promise.then(function(result) {\n var headers, order;\n headers = result[1];\n if (headers && headers['taiga-info-order-updated']) {\n order = JSON.parse(headers['taiga-info-order-updated']);\n _this.kanbanUserstoriesService.assignOrders(order);\n }\n _this.scope.$broadcast(\"redraw:wip\");\n _this.generateFilters();\n if (_this.isFilterDataTypeSelected('status')) {\n _this.filtersReloadContent();\n }\n return promise;\n });\n };\n })(this));\n };\n\n return KanbanController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin, taiga.UsFiltersMixin));\n\n module.controller(\"KanbanController\", KanbanController);\n\n KanbanDirective = function($repo, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var tableBodyDom;\n tableBodyDom = $el.find(\".kanban-table-body\");\n tableBodyDom.on(\"scroll\", function(event) {\n var tableHeaderDom, target;\n target = angular.element(event.currentTarget);\n tableHeaderDom = $el.find(\".kanban-table-header .kanban-table-inner\");\n return tableHeaderDom.css(\"left\", -1 * target.scrollLeft());\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanban\", [\"$tgRepo\", \"$rootScope\", KanbanDirective]);\n\n KanbanArchivedStatusHeaderDirective = function($rootscope, $translate, kanbanUserstoriesService) {\n var hideArchivedText, link, showArchivedText;\n showArchivedText = $translate.instant(\"KANBAN.ACTION_SHOW_ARCHIVED\");\n hideArchivedText = $translate.instant(\"KANBAN.ACTION_HIDE_ARCHIVED\");\n link = function($scope, $el, $attrs) {\n var hidden, status;\n status = $scope.$eval($attrs.tgKanbanArchivedStatusHeader);\n hidden = true;\n kanbanUserstoriesService.addArchivedStatus(status.id);\n kanbanUserstoriesService.hideStatus(status.id);\n $scope[\"class\"] = \"icon-watch\";\n $scope.title = showArchivedText;\n $el.on(\"click\", function(event) {\n hidden = !hidden;\n return $scope.$apply(function() {\n if (hidden) {\n $scope[\"class\"] = \"icon-watch\";\n $scope.title = showArchivedText;\n $rootscope.$broadcast(\"kanban:hide-userstories-for-status\", status.id);\n return kanbanUserstoriesService.hideStatus(status.id);\n } else {\n $scope[\"class\"] = \"icon-unwatch\";\n $scope.title = hideArchivedText;\n $rootscope.$broadcast(\"kanban:show-userstories-for-status\", status.id);\n return kanbanUserstoriesService.showStatus(status.id);\n }\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanArchivedStatusHeader\", [\"$rootScope\", \"$translate\", \"tgKanbanUserstories\", KanbanArchivedStatusHeaderDirective]);\n\n KanbanArchivedStatusIntroDirective = function($translate, kanbanUserstoriesService) {\n var link, userStories;\n userStories = [];\n link = function($scope, $el, $attrs) {\n var hiddenUserStoriexText, status, updateIntroText;\n hiddenUserStoriexText = $translate.instant(\"KANBAN.HIDDEN_USER_STORIES\");\n status = $scope.$eval($attrs.tgKanbanArchivedStatusIntro);\n $el.text(hiddenUserStoriexText);\n updateIntroText = function(hasArchived) {\n if (hasArchived) {\n return $el.text(\"\");\n } else {\n return $el.text(hiddenUserStoriexText);\n }\n };\n $scope.$on(\"kanban:us:move\", function(ctx, itemUs, oldStatusId, newStatusId, itemIndex) {\n var hasArchived;\n hasArchived = !!kanbanUserstoriesService.getStatus(newStatusId).length;\n return updateIntroText(hasArchived);\n });\n $scope.$on(\"kanban:shown-userstories-for-status\", function(ctx, statusId, userStoriesLoaded) {\n var hasArchived;\n if (statusId === status.id) {\n kanbanUserstoriesService.deleteStatus(statusId);\n kanbanUserstoriesService.add(userStoriesLoaded);\n hasArchived = !!kanbanUserstoriesService.getStatus(statusId).length;\n return updateIntroText(hasArchived);\n }\n });\n $scope.$on(\"kanban:hidden-userstories-for-status\", function(ctx, statusId) {\n if (statusId === status.id) {\n return updateIntroText(false);\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(\"tgKanbanArchivedStatusIntro\", [\"$translate\", \"tgKanbanUserstories\", KanbanArchivedStatusIntroDirective]);\n\n KanbanSquishColumnDirective = function(rs, projectService) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch, updateTableWidth;\n $scope.foldStatus = function(status) {\n $scope.folds[status.id] = !!!$scope.folds[status.id];\n rs.kanban.storeStatusColumnModes($scope.projectId, $scope.folds);\n updateTableWidth();\n };\n updateTableWidth = function() {\n var columnWidths, totalWidth;\n columnWidths = _.map($scope.usStatusList, function(status) {\n if ($scope.folds[status.id]) {\n return 40;\n } else {\n return 310;\n }\n });\n totalWidth = _.reduce(columnWidths, function(total, width) {\n return total + width;\n });\n return $el.find('.kanban-table-inner').css(\"width\", totalWidth);\n };\n return unwatch = $scope.$watch('usByStatus', function(usByStatus) {\n if (usByStatus.size) {\n $scope.folds = rs.kanban.getStatusColumnModes(projectService.project.get('id'));\n updateTableWidth();\n return unwatch();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSquishColumn\", [\"$tgResources\", \"tgProjectService\", KanbanSquishColumnDirective]);\n\n KanbanWipLimitDirective = function($timeout) {\n var link;\n link = function($scope, $el, $attrs) {\n var redrawWipLimit, status;\n status = $scope.$eval($attrs.tgKanbanWipLimit);\n redrawWipLimit = (function(_this) {\n return function() {\n $el.find(\".kanban-wip-limit\").remove();\n return $timeout(function() {\n var element;\n element = $el.find(\"tg-card\")[status.wip_limit];\n if (element) {\n return angular.element(element).before(\"
    \");\n }\n });\n };\n })(this);\n if (status && !status.is_archived) {\n $scope.$on(\"redraw:wip\", redrawWipLimit);\n $scope.$on(\"kanban:us:move\", redrawWipLimit);\n $scope.$on(\"usform:new:success\", redrawWipLimit);\n $scope.$on(\"usform:bulk:success\", redrawWipLimit);\n }\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanWipLimit\", [\"$timeout\", KanbanWipLimitDirective]);\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/sortable.coffee\n */\n\n(function() {\n var KanbanSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanSortableDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var unwatch;\n return unwatch = $scope.$watch(\"usByStatus\", function(usByStatus) {\n var containers, deleteElement, drake, itemEl, newParentScope, scroll, tdom;\n if (!usByStatus || !usByStatus.size) {\n return;\n }\n unwatch();\n if (!($scope.project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n containers = _.map($el.find('.task-column'), function(item) {\n return item;\n });\n drake = dragula(containers, {\n copySortSource: false,\n copy: false,\n moves: function(item) {\n return $(item).is('tg-card');\n }\n });\n drake.on('drag', function(item) {\n return window.dragMultiple.start(item, containers);\n });\n drake.on('cloned', function(item, dropTarget) {\n return $(item).addClass('multiple-drag-mirror');\n });\n drake.on('dragend', function(item) {\n var dragMultipleItems, finalUsList, firstElement, index, newStatus, newStatusId, parentEl, usList;\n parentEl = $(item).parent();\n newParentScope = parentEl.scope();\n newStatusId = newParentScope.s.id;\n dragMultipleItems = window.dragMultiple.stop();\n if (!dragMultipleItems.length) {\n dragMultipleItems = [item];\n }\n firstElement = dragMultipleItems[0];\n index = $(firstElement).index();\n newStatus = newParentScope.s.id;\n usList = _.map(dragMultipleItems, function(item) {\n return $(item).scope().us;\n });\n finalUsList = _.map(usList, function(item) {\n return {\n id: item.get('id'),\n oldStatusId: item.getIn(['model', 'status'])\n };\n });\n return $scope.$apply(function() {\n _.each(usList, (function(_this) {\n return function(item, key) {\n var oldStatus, sameContainer;\n oldStatus = item.getIn(['model', 'status']);\n sameContainer = newStatus === oldStatus;\n if (!sameContainer) {\n itemEl = $(dragMultipleItems[key]);\n return deleteElement(itemEl);\n }\n };\n })(this));\n return $rootscope.$broadcast(\"kanban:us:move\", finalUsList, newStatus, index);\n });\n });\n scroll = autoScroll(containers, {\n margin: 100,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", KanbanSortableDirective]);\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/detail.coffee\n */\n\n(function() {\n var EpicDetailController, EpicStatusButtonDirective, EpicStatusDisplayDirective, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, taiga, toString,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n 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(\"taigaEpics\");\n\n EpicDetailController = (function(superClass) {\n extend(EpicDetailController, superClass);\n\n EpicDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgAnalytics\", \"$tgNavUrls\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function EpicDetailController(scope, rootscope, repo, confirm, rs, rs2, params, q, location, log, appMetaService, analytics, navUrls, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.rs2 = rs2;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.analytics = analytics;\n this.navUrls = navUrls;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.epicRef = this.params.epicref;\n this.scope.sectionName = this.translate.instant(\"EPIC.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n EpicDetailController.prototype._setMeta = function() {\n var description, ref, title;\n title = this.translate.instant(\"EPIC.PAGE_TITLE\", {\n epicRef: \"#\" + this.scope.epic.ref,\n epicSubject: this.scope.epic.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"EPIC.PAGE_DESCRIPTION\", {\n epicStatus: ((ref = this.scope.statusById[this.scope.epic.status]) != null ? ref.name : void 0) || \"--\",\n epicDescription: angular.element(this.scope.epic.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n EpicDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on epic\", 1);\n };\n })(this));\n this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadEpic();\n };\n })(this));\n return this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n };\n\n EpicDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-epics\", ctx);\n };\n\n EpicDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.immutableProject = this.projectService.project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.epic_statuses;\n this.scope.statusById = groupBy(project.epic_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n EpicDetailController.prototype.loadEpic = function() {\n return this.rs.epics.getByRef(this.scope.projectId, this.params.epicref).then((function(_this) {\n return function(epic) {\n var ctx, ref, ref1;\n _this.scope.epic = epic;\n _this.scope.immutableEpic = Immutable.fromJS(epic._attrs);\n _this.scope.epicId = epic.id;\n _this.scope.commentModel = epic;\n _this.modelTransform.setObject(_this.scope, 'epic');\n if (((ref = _this.scope.epic.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.epic.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-epics-detail\", ctx);\n }\n if (((ref1 = _this.scope.epic.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.epic.neighbors.next.ref\n };\n return _this.scope.nextUrl = _this.navUrls.resolve(\"project-epics-detail\", ctx);\n }\n };\n })(this));\n };\n\n EpicDetailController.prototype.loadUserstories = function() {\n return this.rs2.userstories.listInEpic(this.scope.epicId).then((function(_this) {\n return function(data) {\n return _this.scope.userstories = data;\n };\n })(this));\n };\n\n EpicDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadEpic().then((function(_this) {\n return function() {\n return _this.loadUserstories();\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n EpicDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.upvote(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.downvote(this.scope.epicId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n EpicDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.watch(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadEpic();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.epics.unwatch(this.scope.epicId).then(onSuccess, onError);\n };\n\n EpicDetailController.prototype.onSelectColor = function(color) {\n var onSelectColorError, onSelectColorSuccess, transform;\n onSelectColorSuccess = (function(_this) {\n return function() {\n _this.rootscope.$broadcast(\"object:updated\");\n return _this.confirm.notify('success');\n };\n })(this);\n onSelectColorError = (function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this);\n transform = this.modelTransform.save(function(epic) {\n epic.color = color;\n return epic;\n });\n return transform.then(onSelectColorSuccess, onSelectColorError);\n };\n\n return EpicDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"EpicDetailController\", EpicDetailController);\n\n EpicStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(epic) {\n var html, status;\n status = $scope.statusById[epic.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(epic) {\n if (epic != null) {\n return render(epic);\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(\"tgEpicStatusDisplay\", [\"$tgTemplate\", \"$compile\", EpicStatusDisplayDirective]);\n\n EpicStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $compile, $translate, $template) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_epic\") !== -1;\n };\n render = (function(_this) {\n return function(epic) {\n var html, status;\n status = $scope.statusById[epic.status];\n html = $compile(template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n }))($scope);\n return $el.html(html);\n };\n })(this);\n save = function(status) {\n var currentLoading, onError, onSuccess, transform;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(epic) {\n epic.status = status;\n return epic;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var epic;\n epic = $model.$modelValue;\n if (epic) {\n return render(epic);\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(\"tgEpicStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$translate\", \"$tgTemplate\", EpicStatusButtonDirective]);\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/detail.coffee\n */\n\n(function() {\n var IssueDetailController, IssuePriorityButtonDirective, IssueSeverityButtonDirective, IssueStatusButtonDirective, IssueStatusDisplayDirective, IssueTypeButtonDirective, PromoteIssueToUsButtonDirective, bindMethods, bindOnce, groupBy, joinStr, mixOf, module, taiga, toString,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n 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(\"taigaIssues\");\n\n IssueDetailController = (function(superClass) {\n extend(IssueDetailController, superClass);\n\n IssueDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgAnalytics\", \"$tgNavUrls\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function IssueDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, analytics, navUrls, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.analytics = analytics;\n this.navUrls = navUrls;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.issueRef = this.params.issueref;\n this.scope.sectionName = this.translate.instant(\"ISSUES.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n IssueDetailController.prototype._setMeta = function() {\n var description, ref, ref1, ref2, ref3, title;\n title = this.translate.instant(\"ISSUE.PAGE_TITLE\", {\n issueRef: \"#\" + this.scope.issue.ref,\n issueSubject: this.scope.issue.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"ISSUE.PAGE_DESCRIPTION\", {\n issueStatus: ((ref = this.scope.statusById[this.scope.issue.status]) != null ? ref.name : void 0) || \"--\",\n issueType: ((ref1 = this.scope.typeById[this.scope.issue.type]) != null ? ref1.name : void 0) || \"--\",\n issueSeverity: ((ref2 = this.scope.severityById[this.scope.issue.severity]) != null ? ref2.name : void 0) || \"--\",\n issuePriority: ((ref3 = this.scope.priorityById[this.scope.issue.priority]) != null ? ref3.name : void 0) || \"--\",\n issueDescription: angular.element(this.scope.issue.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n IssueDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on issue\", 1);\n };\n })(this));\n this.scope.$on(\"promote-issue-to-us:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"promoteToUserstory\", \"promote issue to userstory\", 1);\n _this.rootscope.$broadcast(\"object:updated\");\n return _this.loadIssue();\n };\n })(this));\n this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadIssue();\n };\n })(this));\n return this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n };\n\n IssueDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n if (this.scope.project.is_issues_activated) {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-issues\", ctx);\n } else {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n }\n };\n\n IssueDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.issue_statuses;\n this.scope.statusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.typeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n this.scope.typeList = _.sortBy(project.issue_types, \"order\");\n this.scope.severityList = project.severities;\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.priorityList = project.priorities;\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n return project;\n };\n\n IssueDetailController.prototype.loadIssue = function() {\n return this.rs.issues.getByRef(this.scope.projectId, this.params.issueref).then((function(_this) {\n return function(issue) {\n var ctx, ref, ref1;\n _this.scope.issue = issue;\n _this.scope.issueId = issue.id;\n _this.scope.commentModel = issue;\n _this.modelTransform.setObject(_this.scope, 'issue');\n if (((ref = _this.scope.issue.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.issue.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-issues-detail\", ctx);\n }\n if (((ref1 = _this.scope.issue.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.issue.neighbors.next.ref\n };\n return _this.scope.nextUrl = _this.navUrls.resolve(\"project-issues-detail\", ctx);\n }\n };\n })(this));\n };\n\n IssueDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadIssue();\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n IssueDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.upvote(this.scope.issueId).then(onSuccess, onError);\n };\n\n IssueDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.downvote(this.scope.issueId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n IssueDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.watch(this.scope.issueId).then(onSuccess, onError);\n };\n\n IssueDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssue();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.issues.unwatch(this.scope.issueId).then(onSuccess, onError);\n };\n\n return IssueDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"IssueDetailController\", IssueDetailController);\n\n IssueStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issue) {\n var html, status;\n status = $scope.statusById[issue.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(issue) {\n if (issue != null) {\n return render(issue);\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(\"tgIssueStatusDisplay\", [\"$tgTemplate\", \"$compile\", IssueStatusDisplayDirective]);\n\n IssueStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = (function(_this) {\n return function(issue) {\n var html, status;\n status = $scope.statusById[issue.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n })(this);\n save = function(statusId) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(issue) {\n issue.status = statusId;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\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(\"tgIssueStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueStatusButtonDirective]);\n\n IssueTypeButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-type-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = (function(_this) {\n return function(issue) {\n var html, type;\n type = $scope.typeById[issue.type];\n html = template({\n type: type,\n typees: $scope.typeList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n })(this);\n save = function(type) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.type = type;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".type-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-type\").popover().open();\n });\n $el.on(\"click\", \".type\", function(event) {\n var target, type;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n type = target.data(\"type-id\");\n return save(type);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.type : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\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(\"tgIssueTypeButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueTypeButtonDirective]);\n\n IssueSeverityButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-severity-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = (function(_this) {\n return function(issue) {\n var html, severity;\n severity = $scope.severityById[issue.severity];\n html = template({\n severity: severity,\n severityes: $scope.severityList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n })(this);\n save = function(severity) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.severity = severity;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".severity-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-severity\").popover().open();\n });\n $el.on(\"click\", \".severity\", function(event) {\n var severity, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n severity = target.data(\"severity-id\");\n return save(severity);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.severity : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\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(\"tgIssueSeverityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssueSeverityButtonDirective]);\n\n IssuePriorityButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"issue/issue-priority-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_issue\") !== -1;\n };\n render = (function(_this) {\n return function(issue) {\n var html, priority;\n priority = $scope.priorityById[issue.priority];\n html = template({\n priority: priority,\n priorityes: $scope.priorityList,\n editable: isEditable()\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n })(this);\n save = function(priority) {\n var currentLoading, onError, onSuccess, transform;\n $.fn.popover().closeAll();\n currentLoading = $loading().target($el.find(\".level-name\")).start();\n transform = $modelTransform.save(function(issue) {\n issue.priority = priority;\n return issue;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".priority-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-priority\").popover().open();\n });\n $el.on(\"click\", \".priority\", function(event) {\n var priority, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n priority = target.data(\"priority-id\");\n return save(priority);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.priority : void 0;\n }, function() {\n var issue;\n issue = $model.$modelValue;\n if (issue) {\n return render(issue);\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(\"tgIssuePriorityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", IssuePriorityButtonDirective]);\n\n PromoteIssueToUsButtonDirective = function($rootScope, $repo, $confirm, $translate) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var save;\n save = (function(_this) {\n return function(issue, askResponse) {\n var data, onError, onSuccess;\n data = {\n generated_from_issue: issue.id,\n project: issue.project,\n subject: issue.subject,\n description: issue.description,\n tags: issue.tags,\n is_blocked: issue.is_blocked,\n blocked_note: issue.blocked_note,\n due_date: issue.due_date\n };\n onSuccess = function() {\n askResponse.finish();\n $confirm.notify(\"success\");\n return $rootScope.$broadcast(\"promote-issue-to-us:success\");\n };\n onError = function() {\n askResponse.finish();\n return $confirm.notify(\"error\");\n };\n return $repo.create(\"userstories\", data).then(onSuccess, onError);\n };\n })(this);\n $el.on(\"click\", \"a\", function(event) {\n var issue, message, subtitle, title;\n event.preventDefault();\n issue = $model.$modelValue;\n title = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.TITLE\");\n message = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.MESSAGE\");\n subtitle = issue.subject;\n return $confirm.ask(title, subtitle, message).then((function(_this) {\n return function(response) {\n return save(issue, response);\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n restrict: \"AE\",\n require: \"ngModel\",\n templateUrl: \"issue/promote-issue-to-us-button.html\",\n link: link\n };\n };\n\n module.directive(\"tgPromoteIssueToUsButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$translate\", PromoteIssueToUsButtonDirective]);\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/lightboxes.coffee\n */\n\n(function() {\n var CreateBulkIssuesDirective, CreateIssueDirective, bindOnce, debounce, 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 bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaIssues\");\n\n CreateIssueDirective = function($repo, $confirm, $rootscope, lightboxService, $loading, $q, attachmentsService) {\n var link;\n link = function($scope, $el, $attrs) {\n var attachmentsToAdd, createAttachments, form, resetAttachments, submit, submitButton;\n form = $el.find(\"form\").checksley();\n $scope.issue = {};\n $scope.attachments = Immutable.List();\n $scope.$on(\"issueform:new\", function(ctx, project) {\n form.reset();\n resetAttachments();\n $el.find(\".tag-input\").val(\"\");\n lightboxService.open($el, function() {\n return $scope.createIssueOpen = false;\n });\n $scope.issue = {\n project: project.id,\n subject: \"\",\n status: project.default_issue_status,\n type: project.default_issue_type,\n priority: project.default_priority,\n severity: project.default_severity,\n tags: []\n };\n return $scope.createIssueOpen = true;\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n createAttachments = function(obj) {\n var promises;\n promises = _.map(attachmentsToAdd.toJS(), function(attachment) {\n return attachmentsService.upload(attachment.file, obj.id, $scope.issue.project, 'issue');\n });\n return $q.all(promises);\n };\n attachmentsToAdd = Immutable.List();\n resetAttachments = function() {\n attachmentsToAdd = Immutable.List();\n return $scope.attachments = Immutable.List();\n };\n $scope.addAttachment = function(attachment) {\n return attachmentsToAdd = attachmentsToAdd.push(attachment);\n };\n $scope.deleteAttachment = function(attachment) {\n return attachmentsToAdd = attachmentsToAdd.filter(function(it) {\n return it.get('name') !== attachment.get('name');\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.issue.tags);\n inserted = _.find(itemtags, function(it) {\n return it[0] === value;\n });\n if (!inserted) {\n itemtags.push([tag, color]);\n return $scope.issue.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.issue.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === value;\n });\n $scope.issue.tags = itemtags;\n return _.pull($scope.issue.tags, value);\n };\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(\"issues\", $scope.issue);\n promise.then(function(data) {\n return createAttachments(data);\n });\n promise.then(function(data) {\n currentLoading.finish();\n $rootscope.$broadcast(\"issueform:new:success\", data);\n lightboxService.close($el);\n return $confirm.notify(\"success\");\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 return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateIssue\", [\"$tgRepo\", \"$tgConfirm\", \"$rootScope\", \"lightboxService\", \"$tgLoading\", \"$q\", \"tgAttachmentsService\", CreateIssueDirective]);\n\n CreateBulkIssuesDirective = function($repo, $rs, $confirm, $rootscope, $loading, lightboxService) {\n var link;\n link = function($scope, $el, attrs) {\n var form, submit, submitButton;\n form = null;\n $scope.$on(\"issueform:bulk\", function(ctx, projectId, status) {\n if (form) {\n form.reset();\n }\n lightboxService.open($el);\n return $scope[\"new\"] = {\n projectId: projectId,\n bulk: \"\"\n };\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, data, projectId, promise;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n data = $scope[\"new\"].bulk;\n projectId = $scope[\"new\"].projectId;\n promise = $rs.issues.bulkCreate(projectId, data);\n promise.then(function(result) {\n currentLoading.finish();\n $rootscope.$broadcast(\"issueform:new:success\", result);\n lightboxService.close($el);\n return $confirm.notify(\"success\");\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 return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbCreateBulkIssues\", [\"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"lightboxService\", CreateBulkIssuesDirective]);\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/list.coffee\n */\n\n(function() {\n var IssueAssignedToInlineEditionDirective, IssueStatusInlineEditionDirective, IssuesController, IssuesDirective, bindMethods, bindOnce, debounceLeading, groupBy, joinStr, mixOf, module, startswith, taiga, toString, trim,\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 mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\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 debounceLeading = this.taiga.debounceLeading;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n debounceLeading = this.taiga.debounceLeading;\n\n module = angular.module(\"taigaIssues\");\n\n IssuesController = (function(superClass) {\n extend(IssuesController, superClass);\n\n IssuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgUrls\", \"$routeParams\", \"$q\", \"$tgLocation\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"$tgStorage\", \"tgFilterRemoteStorageService\", \"tgProjectService\", \"tgUserActivityService\"];\n\n IssuesController.prototype.filtersHashSuffix = \"issues-filters\";\n\n IssuesController.prototype.myFiltersHashSuffix = \"issues-my-filters\";\n\n function IssuesController(scope, rootscope, repo, confirm, rs, urls, params1, q1, location, appMetaService, navUrls, events, analytics, translate, errorHandlingService, storage, filterRemoteStorageService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.urls = urls;\n this.params = params1;\n this.q = q1;\n this.location = location;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.storage = storage;\n this.filterRemoteStorageService = filterRemoteStorageService;\n this.projectService = projectService;\n this.loadIssues = bind(this.loadIssues, this);\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"PROJECT.SECTION.ISSUES\");\n this.voting = false;\n if (this.applyStoredFilters(this.params.pslug, this.filtersHashSuffix)) {\n return;\n }\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ISSUES.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"ISSUES.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"issueform:new:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1);\n return _this.loadIssues();\n };\n })(this));\n }\n\n IssuesController.prototype.changeQ = function(q) {\n this.unselectFilter(\"page\");\n this.replaceFilter(\"q\", q);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.removeFilter = function(filter) {\n this.unselectFilter(\"page\");\n this.unselectFilter(filter.dataType, filter.id);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.addFilter = function(newFilter) {\n this.unselectFilter(\"page\");\n this.selectFilter(newFilter.category.dataType, newFilter.filter.id);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.selectCustomFilter = function(customFilter) {\n var orderBy;\n orderBy = this.location.search().order_by;\n if (orderBy) {\n customFilter.filter.order_by = orderBy;\n }\n this.unselectFilter(\"page\");\n this.replaceAllFilters(customFilter.filter);\n this.loadIssues();\n return this.generateFilters();\n };\n\n IssuesController.prototype.removeCustomFilter = function(customFilter) {\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix).then((function(_this) {\n return function(userFilters) {\n delete userFilters[customFilter.id];\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.myFiltersHashSuffix).then(_this.generateFilters);\n };\n })(this));\n };\n\n IssuesController.prototype.isFilterDataTypeSelected = function(filterDataType) {\n var filter, j, len, ref;\n ref = this.selectedFilters;\n for (j = 0, len = ref.length; j < len; j++) {\n filter = ref[j];\n if (filter['dataType'] === filterDataType) {\n return true;\n }\n }\n return false;\n };\n\n IssuesController.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.type = urlfilters.type;\n filters.severity = urlfilters.severity;\n filters.priority = urlfilters.priority;\n filters.assigned_to = urlfilters.assigned_to;\n filters.owner = urlfilters.owner;\n filters.role = urlfilters.role;\n return this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix).then((function(_this) {\n return function(userFilters) {\n userFilters[name] = filters;\n return _this.filterRemoteStorageService.storeFilters(_this.scope.projectId, userFilters, _this.myFiltersHashSuffix).then(_this.generateFilters);\n };\n })(this));\n };\n\n IssuesController.prototype.generateFilters = function() {\n var loadFilters, urlfilters;\n this.storeFilters(this.params.pslug, this.location.search(), this.filtersHashSuffix);\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.type = urlfilters.type;\n loadFilters.severity = urlfilters.severity;\n loadFilters.priority = urlfilters.priority;\n loadFilters.assigned_to = urlfilters.assigned_to;\n loadFilters.owner = urlfilters.owner;\n loadFilters.role = urlfilters.role;\n loadFilters.q = urlfilters.q;\n return this.q.all([this.rs.issues.filtersData(loadFilters), this.filterRemoteStorageService.getFilters(this.scope.projectId, this.myFiltersHashSuffix)]).then((function(_this) {\n return function(result) {\n var assignedTo, customFiltersRaw, data, owner, priority, role, selected, severity, statuses, tags, tagsWithAtLeastOneElement, type;\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 type = _.map(data.types, function(it) {\n it.id = it.id.toString();\n return it;\n });\n severity = _.map(data.severities, function(it) {\n it.id = it.id.toString();\n return it;\n });\n priority = _.map(data.priorities, function(it) {\n it.id = it.id.toString();\n return it;\n });\n tags = _.map(data.tags, function(it) {\n it.id = it.name;\n return it;\n });\n tagsWithAtLeastOneElement = _.filter(tags, function(tag) {\n return tag.count > 0;\n });\n assignedTo = _.map(data.assigned_to, function(it) {\n if (it.id) {\n it.id = it.id.toString();\n } else {\n it.id = \"null\";\n }\n it.name = it.full_name || \"Unassigned\";\n return it;\n });\n owner = _.map(data.owners, function(it) {\n it.id = it.id.toString();\n it.name = it.full_name;\n return it;\n });\n 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 _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.type) {\n selected = _this.formatSelectedFilters(\"type\", type, loadFilters.type);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.severity) {\n selected = _this.formatSelectedFilters(\"severity\", severity, loadFilters.severity);\n _this.selectedFilters = _this.selectedFilters.concat(selected);\n }\n if (loadFilters.priority) {\n selected = _this.formatSelectedFilters(\"priority\", priority, loadFilters.priority);\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.TYPE\"),\n dataType: \"type\",\n content: type\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.SEVERITY\"),\n dataType: \"severity\",\n content: severity\n }, {\n title: _this.translate.instant(\"COMMON.FILTERS.CATEGORIES.PRIORITIES\"),\n dataType: \"priority\",\n content: priority\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 ];\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 IssuesController.prototype.initializeSubscription = function() {\n var routingKey;\n routingKey = \"changes.project.\" + this.scope.projectId + \".issues\";\n return this.events.subscribe(this.scope, routingKey, debounceLeading(500, (function(_this) {\n return function(message) {\n return _this.loadIssues();\n };\n })(this)));\n };\n\n IssuesController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_issues_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n this.scope.severityList = _.sortBy(project.severities, \"order\");\n this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n this.scope.priorityList = _.sortBy(project.priorities, \"order\");\n this.scope.issueTypes = _.sortBy(project.issue_types, \"order\");\n this.scope.issueTypeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n return project;\n };\n\n IssuesController.prototype.loadIssuesRequests = 0;\n\n IssuesController.prototype.loadIssues = function() {\n var params, promise;\n params = this.location.search();\n promise = this.rs.issues.list(this.scope.projectId, params);\n this.loadIssuesRequests += 1;\n promise.index = this.loadIssuesRequests;\n promise.then((function(_this) {\n return function(data) {\n if (promise.index === _this.loadIssuesRequests) {\n _this.scope.issues = data.models;\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n }\n return data;\n };\n })(this));\n return promise;\n };\n\n IssuesController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.initializeSubscription();\n this.generateFilters();\n return this.loadIssues();\n };\n\n IssuesController.prototype.addNewIssue = function() {\n return this.rootscope.$broadcast(\"issueform:new\", this.scope.project);\n };\n\n IssuesController.prototype.addIssuesInBulk = function() {\n return this.rootscope.$broadcast(\"issueform:bulk\", this.scope.projectId);\n };\n\n IssuesController.prototype.upVoteIssue = function(issueId) {\n var onError, onSuccess;\n this.voting = issueId;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssues();\n return _this.voting = null;\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.voting = null;\n };\n })(this);\n return this.rs.issues.upvote(issueId).then(onSuccess, onError);\n };\n\n IssuesController.prototype.downVoteIssue = function(issueId) {\n var onError, onSuccess;\n this.voting = issueId;\n onSuccess = (function(_this) {\n return function() {\n _this.loadIssues();\n return _this.voting = null;\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.voting = null;\n };\n })(this);\n return this.rs.issues.downvote(issueId).then(onSuccess, onError);\n };\n\n IssuesController.prototype.getOrderBy = function() {\n if (_.isString(this.location.search().order_by)) {\n return this.location.search().order_by;\n } else {\n return \"created_date\";\n }\n };\n\n return IssuesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"IssuesController\", IssuesController);\n\n IssuesDirective = function($log, $location, $template, $compile) {\n var link, linkOrdering, linkPagination, template;\n template = $template.get(\"issue/issue-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".issues-paginator\");\n getNumPages = function() {\n var numPages;\n numPages = $scope.count / $scope.paginatedBy;\n if (parseInt(numPages, 10) < numPages) {\n numPages = parseInt(numPages, 10) + 1;\n } else {\n numPages = parseInt(numPages, 10);\n }\n return numPages;\n };\n renderPagination = function() {\n var cpage, html, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n $pagEl.show();\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n html = template(options);\n html = $compile(html)($scope);\n return $pagEl.html(html);\n };\n $scope.$watch(\"issues\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".issues-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadIssues();\n });\n });\n $el.on(\"click\", \".issues-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadIssues();\n });\n });\n return $el.on(\"click\", \".issues-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadIssues();\n });\n });\n };\n linkOrdering = function($scope, $el, $attrs, $ctrl) {\n var colHeadElement, currentOrder, icon, svg;\n currentOrder = $ctrl.getOrderBy();\n if (currentOrder) {\n icon = startswith(currentOrder, \"-\") ? \"icon-arrow-up\" : \"icon-arrow-down\";\n colHeadElement = $el.find(\".row.title > div[data-fieldname='\" + (trim(currentOrder, \"-\")) + \"']\");\n svg = $(\"\").attr(\"svg-icon\", icon);\n colHeadElement.append(svg);\n $compile(colHeadElement.contents())($scope);\n }\n return $el.on(\"click\", \".row.title > div\", function(event) {\n var finalOrder, newOrder, target;\n target = angular.element(event.currentTarget);\n currentOrder = $ctrl.getOrderBy();\n newOrder = target.data(\"fieldname\");\n if (newOrder === 'total_voters' && currentOrder !== \"-total_voters\") {\n currentOrder = \"total_voters\";\n }\n finalOrder = currentOrder === newOrder ? \"-\" + newOrder : newOrder;\n return $scope.$apply(function() {\n $ctrl.replaceFilter(\"order_by\", finalOrder);\n $ctrl.storeFilters($ctrl.params.pslug, $location.search(), $ctrl.filtersHashSuffix);\n return $ctrl.loadIssues().then(function() {\n $el.find(\".row.title > div > tg-svg\").remove();\n icon = startswith(finalOrder, \"-\") ? \"icon-arrow-up\" : \"icon-arrow-down\";\n svg = $(\"\").attr(\"svg-icon\", icon);\n target.append(svg);\n return $compile(target.contents())($scope);\n });\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkOrdering($scope, $el, $attrs, $ctrl);\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", \"$compile\", IssuesDirective]);\n\n IssueStatusInlineEditionDirective = function($repo, $template, $rootscope) {\n\n /*\n Print the status of an Issue and a popover to change it.\n - tg-issue-status-inline-edition: The issue\n \n Example:\n \n div.status(tg-issue-status-inline-edition=\"issue\")\n a.issue-status(href=\"\")\n \n NOTE: This directive need 'issueStatusById' and 'project'.\n */\n var link, selectionTemplate, updateIssueStatus;\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true);\n updateIssueStatus = function($el, issue, issueStatusById) {\n var issueStatusDom, issueStatusDomParent, status;\n issueStatusDomParent = $el.find(\".issue-status\");\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\");\n status = issueStatusById[issue.status];\n if (status) {\n issueStatusDom.text(status.name);\n issueStatusDom.prop(\"title\", status.name);\n return issueStatusDomParent.css('color', status.color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, issue;\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition);\n $el.on(\"click\", \".issue-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n issue.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateIssueStatus($el, issue, $scope.issueStatusById);\n return $scope.$apply(function() {\n return $repo.save(issue).then(function() {\n $ctrl.generateFilters();\n if ($ctrl.isFilterDataTypeSelected('status')) {\n return $ctrl.loadIssues();\n }\n });\n });\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.issue_statuses\n }));\n updateIssueStatus($el, issue, $scope.issueStatusById);\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$watch($attrs.tgIssueStatusInlineEdition, (function(_this) {\n return function(val) {\n return updateIssueStatus($el, val, $scope.issueStatusById);\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(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\", IssueStatusInlineEditionDirective]);\n\n IssueAssignedToInlineEditionDirective = 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, issue, updateIssue;\n updateIssue = function(issue) {\n var avatar, ctx, member;\n ctx = {\n name: $translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\"),\n imgurl: \"/\" + window._version + \"/images/unnamed.png\"\n };\n member = $scope.usersById[issue.assigned_to];\n avatar = avatarService.getAvatar(member);\n ctx.imgurl = avatar.url;\n ctx.bg = null;\n if (member) {\n ctx.name = member.full_name_display;\n ctx.bg = avatar.bg;\n }\n $el.find(\".avatar\").html(template(ctx));\n return $el.find(\".issue-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition);\n updateIssue(issue);\n $el.on(\"click\", \".issue-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", issue);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, updatedIssue) {\n if (updatedIssue.id === issue.id) {\n updatedIssue.assigned_to = userId;\n return $repo.save(issue).then(function() {\n updateIssue(updatedIssue);\n $ctrl.generateFilters();\n if ($ctrl.isFilterDataTypeSelected('assigned_to') || $ctrl.isFilterDataTypeSelected('role')) {\n return $ctrl.loadIssues();\n }\n });\n }\n });\n $scope.$watch($attrs.tgIssueAssignedToInlineEdition, function(val) {\n return updateIssue(val);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", \"$translate\", \"tgAvatarService\", IssueAssignedToInlineEditionDirective]);\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/detail.coffee\n */\n\n(function() {\n var UsClientRequirementButtonDirective, UsStatusButtonDirective, UsStatusDisplayDirective, UsTeamRequirementButtonDirective, UserStoryDetailController, bindMethods, bindOnce, groupBy, mixOf, 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 mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaUserStories\");\n\n UserStoryDetailController = (function(superClass) {\n extend(UserStoryDetailController, superClass);\n\n UserStoryDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"$tgConfig\", \"tgProjectService\", \"tgWysiwygService\"];\n\n function UserStoryDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, navUrls, analytics, translate, modelTransform, errorHandlingService, configService, projectService, wysiwigService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.configService = configService;\n this.projectService = projectService;\n this.wysiwigService = wysiwigService;\n bindMethods(this);\n this.scope.usRef = this.params.usref;\n this.scope.sectionName = this.translate.instant(\"US.SECTION_NAME\");\n this.scope.tribeEnabled = this.configService.config.tribeHost;\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserStoryDetailController.prototype._setMeta = function() {\n var closedTasks, description, progressPercentage, ref, title, totalTasks;\n totalTasks = this.scope.tasks.length;\n closedTasks = _.filter(this.scope.tasks, (function(_this) {\n return function(t) {\n return _this.scope.taskStatusById[t.status].is_closed;\n };\n })(this)).length;\n progressPercentage = totalTasks > 0 ? Math.round(100 * closedTasks / totalTasks) : 0;\n title = this.translate.instant(\"US.PAGE_TITLE\", {\n userStoryRef: \"#\" + this.scope.us.ref,\n userStorySubject: this.scope.us.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"US.PAGE_DESCRIPTION\", {\n userStoryStatus: ((ref = this.scope.statusById[this.scope.us.status]) != null ? ref.name : void 0) || \"--\",\n userStoryPoints: this.scope.us.total_points,\n userStoryDescription: angular.element(this.wysiwigService.getHTML(this.scope.us.description) || \"\").text(),\n userStoryClosedTasks: closedTasks,\n userStoryTotalTasks: totalTasks,\n userStoryProgressPercentage: progressPercentage\n });\n return this.appMetaService.setAll(title, description);\n };\n\n UserStoryDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"related-tasks:update\", (function(_this) {\n return function() {\n var allClosed;\n _this.scope.tasks = _.clone(_this.scope.tasks, false);\n allClosed = _.every(_this.scope.tasks, function(task) {\n return task.is_closed;\n });\n if (_this.scope.us.is_closed !== allClosed) {\n return _this.loadUs();\n }\n };\n })(this));\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on userstory\", 1);\n };\n })(this));\n return this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadUs();\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.us.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-backlog\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-kanban\", ctx);\n }\n };\n\n UserStoryDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.us_statuses;\n this.scope.statusById = groupBy(project.us_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.pointsList = _.sortBy(project.points, \"order\");\n this.scope.pointsById = groupBy(this.scope.pointsList, function(e) {\n return e.id;\n });\n return project;\n };\n\n UserStoryDetailController.prototype.loadUs = function() {\n var httpParams, kanbanStaus, milestone, noMilestone;\n httpParams = _.pick(this.location.search(), \"milestone\", \"no-milestone\", \"kanban-status\");\n milestone = httpParams.milestone;\n if (milestone) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n milestone: milestone,\n order_by: \"sprint_order\"\n });\n }\n noMilestone = httpParams[\"no-milestone\"];\n if (noMilestone) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n milestone: \"null\",\n order_by: \"backlog_order\"\n });\n }\n kanbanStaus = httpParams[\"kanban-status\"];\n if (kanbanStaus) {\n this.rs.userstories.storeQueryParams(this.scope.projectId, {\n status: kanbanStaus,\n order_by: \"kanban_order\"\n });\n }\n return this.rs.userstories.getByRef(this.scope.projectId, this.params.usref).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n _this.scope.usId = us.id;\n _this.scope.commentModel = us;\n _this.modelTransform.setObject(_this.scope, 'us');\n return us;\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.loadSprint = function() {\n if (this.scope.us.milestone) {\n return this.rs.sprints.get(this.scope.us.project, this.scope.us.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n UserStoryDetailController.prototype.loadTasks = function() {\n return this.rs.tasks.list(this.scope.projectId, null, this.scope.usId).then((function(_this) {\n return function(tasks) {\n _this.scope.tasks = tasks;\n return tasks;\n };\n })(this));\n };\n\n UserStoryDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadUs().then((function(_this) {\n return function() {\n return _this.q.all([_this.loadSprint(), _this.loadTasks()]);\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n UserStoryDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.upvote(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.downvote(this.scope.usId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n UserStoryDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.watch(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadUs();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.userstories.unwatch(this.scope.usId).then(onSuccess, onError);\n };\n\n UserStoryDetailController.prototype.onTribeInfo = function() {\n var image, publishDesc, publishTitle, text;\n publishTitle = this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TITLE\");\n image = $('').attr({\n 'src': \"/\" + window._version + \"/images/monster-fight.png\",\n 'alt': this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TITLE\")\n });\n text = this.translate.instant(\"US.TRIBE.PUBLISH_MORE_INFO_TEXT\");\n publishDesc = $('
    ').append(image).append(text);\n return this.confirm.success(publishTitle, publishDesc);\n };\n\n return UserStoryDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserStoryDetailController\", UserStoryDetailController);\n\n UsStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(us) {\n var html, status;\n status = $scope.statusById[us.status];\n html = template({\n is_closed: us.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(us) {\n if (us != null) {\n return render(us);\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(\"tgUsStatusDisplay\", [\"$tgTemplate\", \"$compile\", UsStatusDisplayDirective]);\n\n UsStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = (function(_this) {\n return function(us) {\n var html, status;\n status = $scope.statusById[us.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n $el.html(html);\n return $compile($el.contents())($scope);\n };\n })(this);\n save = (function(_this) {\n return function(status) {\n var currentLoading, onError, onSuccess, transform;\n $el.find(\".pop-status\").popover().close();\n currentLoading = $loading().target($el.find('.js-edit-status')).start();\n transform = $modelTransform.save(function(us) {\n us.status = status;\n return us;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n })(this);\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var status, target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n status = target.data(\"status-id\");\n return save(status);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\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(\"tgUsStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsStatusButtonDirective]);\n\n UsTeamRequirementButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"us/us-team-requirement-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var canEdit, render, save;\n canEdit = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = function(us) {\n var ctx, html;\n ctx = {\n canEdit: canEdit(),\n isRequired: us.team_requirement\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n save = function(team_requirement) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\"label\")).start();\n transform = $modelTransform.save(function(us) {\n us.team_requirement = team_requirement;\n return us;\n });\n transform.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return transform.then(null, function() {\n currentLoading.finish();\n return $confirm.notify(\"error\");\n });\n };\n $el.on(\"click\", \".team-requirement\", function(event) {\n var team_requirement;\n if (!canEdit()) {\n return;\n }\n team_requirement = !$model.$modelValue.team_requirement;\n return save(team_requirement);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.team_requirement : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\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(\"tgUsTeamRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsTeamRequirementButtonDirective]);\n\n UsClientRequirementButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $template, $compile) {\n var link, template;\n template = $template.get(\"us/us-client-requirement-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var canEdit, render, save;\n canEdit = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n render = function(us) {\n var ctx, html;\n ctx = {\n canEdit: canEdit(),\n isRequired: us.client_requirement\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n save = function(client_requirement) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find(\"label\")).start();\n transform = $modelTransform.save(function(us) {\n us.client_requirement = client_requirement;\n return us;\n });\n transform.then((function(_this) {\n return function() {\n currentLoading.finish();\n return $rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n };\n $el.on(\"click\", \".client-requirement\", function(event) {\n var client_requirement;\n if (!canEdit()) {\n return;\n }\n client_requirement = !$model.$modelValue.client_requirement;\n return save(client_requirement);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.client_requirement : void 0;\n }, function() {\n var us;\n us = $model.$modelValue;\n if (us) {\n return render(us);\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(\"tgUsClientRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$tgTemplate\", \"$compile\", UsClientRequirementButtonDirective]);\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/detail.coffee\n */\n\n(function() {\n var TaskDetailController, TaskIsIocaineButtonDirective, TaskStatusButtonDirective, TaskStatusDisplayDirective, bindMethods, groupBy, mixOf, 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 mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaTasks\");\n\n TaskDetailController = (function(superClass) {\n extend(TaskDetailController, superClass);\n\n TaskDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"$tgQueueModelTransformation\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function TaskDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appMetaService, navUrls, analytics, translate, modelTransform, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.modelTransform = modelTransform;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.taskRef = this.params.taskref;\n this.scope.sectionName = this.translate.instant(\"TASK.SECTION_NAME\");\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this._setMeta();\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n TaskDetailController.prototype._setMeta = function() {\n var description, ref, title;\n title = this.translate.instant(\"TASK.PAGE_TITLE\", {\n taskRef: \"#\" + this.scope.task.ref,\n taskSubject: this.scope.task.subject,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"TASK.PAGE_DESCRIPTION\", {\n taskStatus: ((ref = this.scope.statusById[this.scope.task.status]) != null ? ref.name : void 0) || \"--\",\n taskDescription: angular.element(this.scope.task.description_html || \"\").text()\n });\n return this.appMetaService.setAll(title, description);\n };\n\n TaskDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n return _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1);\n };\n })(this));\n this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this));\n return this.scope.$on(\"comment:new\", (function(_this) {\n return function() {\n return _this.loadTask();\n };\n })(this));\n };\n\n TaskDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.task.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else if (this.scope.task.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n if (this.scope.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n }\n };\n\n TaskDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.statusList = project.task_statuses;\n this.scope.statusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n return project;\n };\n\n TaskDetailController.prototype.loadTask = function() {\n return this.rs.tasks.getByRef(this.scope.projectId, this.params.taskref).then((function(_this) {\n return function(task) {\n var ctx, ref, ref1;\n _this.scope.task = task;\n _this.scope.taskId = task.id;\n _this.scope.commentModel = task;\n _this.modelTransform.setObject(_this.scope, 'task');\n if (((ref = _this.scope.task.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n if (((ref1 = _this.scope.task.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.next.ref\n };\n _this.scope.nextUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n return task;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadSprint = function() {\n if (this.scope.task.milestone) {\n return this.rs.sprints.get(this.scope.task.project, this.scope.task.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadUserStory = function() {\n if (this.scope.task.user_story) {\n return this.rs.userstories.get(this.scope.task.project, this.scope.task.user_story).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n return us;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.loadTask().then((function(_this) {\n return function() {\n return _this.q.all([_this.loadSprint(), _this.loadUserStory()]);\n };\n })(this));\n };\n\n\n /*\n * Note: This methods (onUpvote() and onDownvote()) are related to tg-vote-button.\n * See app/modules/components/vote-button for more info\n */\n\n TaskDetailController.prototype.onUpvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.upvote(this.scope.taskId).then(onSuccess, onError);\n };\n\n TaskDetailController.prototype.onDownvote = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.downvote(this.scope.taskId).then(onSuccess, onError);\n };\n\n\n /*\n * Note: This methods (onWatch() and onUnwatch()) are related to tg-watch-button.\n * See app/modules/components/watch-button for more info\n */\n\n TaskDetailController.prototype.onWatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.watch(this.scope.taskId).then(onSuccess, onError);\n };\n\n TaskDetailController.prototype.onUnwatch = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.loadTask();\n return _this.rootscope.$broadcast(\"object:updated\");\n };\n })(this);\n onError = (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this);\n return this.rs.tasks.unwatch(this.scope.taskId).then(onSuccess, onError);\n };\n\n return TaskDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TaskDetailController\", TaskDetailController);\n\n TaskStatusDisplayDirective = function($template, $compile) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(task) {\n if (task != null) {\n return render(task);\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(\"tgTaskStatusDisplay\", [\"$tgTemplate\", \"$compile\", TaskStatusDisplayDirective]);\n\n TaskStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $modelTransform, $compile, $translate, $template) {\n var link, template;\n template = $template.get(\"common/components/status-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = (function(_this) {\n return function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = $compile(template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n }))($scope);\n return $el.html(html);\n };\n })(this);\n save = function(status) {\n var currentLoading, onError, onSuccess, transform;\n currentLoading = $loading().target($el).start();\n transform = $modelTransform.save(function(task) {\n task.status = status;\n return task;\n });\n onSuccess = function() {\n $rootScope.$broadcast(\"object:updated\");\n return currentLoading.finish();\n };\n onError = function() {\n $confirm.notify(\"error\");\n return currentLoading.finish();\n };\n return transform.then(onSuccess, onError);\n };\n $el.on(\"click\", \".js-edit-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.status : void 0;\n }, function() {\n var task;\n task = $model.$modelValue;\n if (task) {\n return render(task);\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(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$translate\", \"$tgTemplate\", TaskStatusButtonDirective]);\n\n TaskIsIocaineButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $modelTransform, $compile, $template) {\n var link, template;\n template = $template.get(\"issue/iocaine-button.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = function(task) {\n var ctx, html;\n if (!isEditable() && !task.is_iocaine) {\n $el.html(\"\");\n return;\n }\n ctx = {\n isIocaine: task.is_iocaine,\n isEditable: isEditable()\n };\n html = $compile(template(ctx))($scope);\n return $el.html(html);\n };\n save = function(is_iocaine) {\n var currentLoading, transform;\n currentLoading = $loading().target($el.find('label')).start();\n transform = $modelTransform.save(function(task) {\n task.is_iocaine = is_iocaine;\n return task;\n });\n transform.then(function() {\n return $rootscope.$broadcast(\"object:updated\");\n });\n transform.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return transform[\"finally\"](function() {\n return currentLoading.finish();\n });\n };\n $el.on(\"click\", \".is-iocaine\", function(event) {\n var is_iocaine;\n if (!isEditable()) {\n return;\n }\n is_iocaine = !$model.$modelValue.is_iocaine;\n return save(is_iocaine);\n });\n $scope.$watch(function() {\n var ref;\n return (ref = $model.$modelValue) != null ? ref.is_iocaine : void 0;\n }, function() {\n var task;\n task = $model.$modelValue;\n if (task) {\n return render(task);\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(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQueueModelTransformation\", \"$compile\", \"$tgTemplate\", TaskIsIocaineButtonDirective]);\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/main.coffee\n */\n\n(function() {\n var LeaveProjectDirective, TeamController, TeamFiltersDirective, TeamMemberCurrentUserDirective, TeamMemberStatsDirective, TeamMembersDirective, membersFilter, mixOf, 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 mixOf = this.taiga.mixOf;\n\n module = angular.module(\"taigaTeam\");\n\n TeamController = (function(superClass) {\n extend(TeamController, superClass);\n\n TeamController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$location\", \"$tgNavUrls\", \"tgAppMetaService\", \"$tgAuth\", \"$translate\", \"tgProjectService\", \"tgErrorHandlingService\"];\n\n function TeamController(scope, rootscope, repo, rs, params, q, location, navUrls, appMetaService, auth, translate, projectService, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.auth = auth;\n this.translate = translate;\n this.projectService = projectService;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"TEAM.SECTION_NAME\";\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"TEAM.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.translate.instant(\"TEAM.PAGE_DESCRIPTION\", {\n projectName: _this.scope.project.name,\n projectDescription: _this.scope.project.description\n });\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n TeamController.prototype.setRole = function(role) {\n if (role) {\n return this.scope.filtersRole = role;\n } else {\n return this.scope.filtersRole = null;\n }\n };\n\n TeamController.prototype.loadMembers = function() {\n var i, len, member, ref, user;\n user = this.auth.getUser();\n this.scope.totals = {};\n ref = this.scope.activeUsers;\n for (i = 0, len = ref.length; i < len; i++) {\n member = ref[i];\n this.scope.totals[member.id] = 0;\n }\n this.scope.currentUser = _.find(this.scope.activeUsers, {\n id: user != null ? user.id : void 0\n });\n return this.scope.memberships = _.reject(this.scope.activeUsers, {\n id: user != null ? user.id : void 0\n });\n };\n\n TeamController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.issuesEnabled = project.is_issues_activated;\n this.scope.tasksEnabled = project.is_kanban_activated || project.is_backlog_activated;\n this.scope.wikiEnabled = project.is_wiki_activated;\n this.scope.owner = project.owner.id;\n return project;\n };\n\n TeamController.prototype.loadMemberStats = function() {\n return this.rs.projects.memberStats(this.scope.projectId).then((function(_this) {\n return function(stats) {\n var totals;\n totals = {};\n _.forEach(_this.scope.totals, function(total, userId) {\n var vals;\n vals = _.map(stats, function(memberStats, statsKey) {\n return memberStats[userId];\n });\n total = _.reduce(vals, function(sum, el) {\n return sum + el;\n });\n return _this.scope.totals[userId] = total;\n });\n _this.scope.stats = _this._processStats(stats);\n return _this.scope.stats.totals = _this.scope.totals;\n };\n })(this));\n };\n\n TeamController.prototype._processStat = function(stat) {\n var key, max, min, singleStat, value;\n max = _.max(_.toArray(stat));\n min = _.min(_.toArray(stat));\n singleStat = Object();\n for (key in stat) {\n if (!hasProp.call(stat, key)) continue;\n value = stat[key];\n if (value === min) {\n singleStat[key] = 0.1;\n } else if (value === max) {\n singleStat[key] = 1;\n } else {\n singleStat[key] = (value * 0.5) / max;\n }\n }\n return singleStat;\n };\n\n TeamController.prototype._processStats = function(stats) {\n var key, value;\n for (key in stats) {\n value = stats[key];\n stats[key] = this._processStat(value);\n }\n return stats;\n };\n\n TeamController.prototype.loadInitialData = function() {\n var project, userRoles;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n this.loadMembers();\n userRoles = _.map(this.scope.users, function(user) {\n return user.role;\n });\n this.scope.roles = _.filter(this.scope.roles, function(role) {\n return userRoles.indexOf(role.id) !== -1;\n });\n return this.loadMemberStats();\n };\n\n return TeamController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TeamController\", TeamController);\n\n TeamFiltersDirective = function() {\n return {\n templateUrl: \"team/team-filter.html\"\n };\n };\n\n module.directive(\"tgTeamFilters\", [TeamFiltersDirective]);\n\n TeamMemberStatsDirective = function() {\n return {\n templateUrl: \"team/team-member-stats.html\",\n scope: {\n stats: \"=\",\n userId: \"=user\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\"\n }\n };\n };\n\n module.directive(\"tgTeamMemberStats\", TeamMemberStatsDirective);\n\n TeamMemberCurrentUserDirective = function() {\n return {\n templateUrl: \"team/team-member-current-user.html\",\n scope: {\n project: \"=project\",\n currentUser: \"=currentuser\",\n stats: \"=\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\",\n owner: \"=owner\"\n }\n };\n };\n\n module.directive(\"tgTeamCurrentUser\", TeamMemberCurrentUserDirective);\n\n TeamMembersDirective = function() {\n var template;\n template = \"team/team-members.html\";\n return {\n templateUrl: template,\n scope: {\n memberships: \"=\",\n filtersQ: \"=filtersq\",\n filtersRole: \"=filtersrole\",\n stats: \"=\",\n issuesEnabled: \"=issuesenabled\",\n tasksEnabled: \"=tasksenabled\",\n wikiEnabled: \"=wikienabled\",\n owner: \"=owner\"\n }\n };\n };\n\n module.directive(\"tgTeamMembers\", TeamMembersDirective);\n\n LeaveProjectDirective = function($repo, $confirm, $location, $rs, $navurls, $translate, lightboxFactory, currentUserService) {\n var link;\n link = function($scope, $el, $attrs) {\n var leaveConfirm;\n leaveConfirm = function() {\n var confirm_leave_project_text, leave_project_text;\n leave_project_text = $translate.instant(\"TEAM.ACTION_LEAVE_PROJECT\");\n confirm_leave_project_text = $translate.instant(\"TEAM.CONFIRM_LEAVE_PROJECT\");\n return $confirm.ask(leave_project_text, confirm_leave_project_text).then((function(_this) {\n return function(response) {\n var promise;\n promise = $rs.projects.leave($scope.project.id);\n promise.then(function() {\n return currentUserService.loadProjects().then(function() {\n response.finish();\n $confirm.notify(\"success\");\n return $location.path($navurls.resolve(\"home\"));\n });\n });\n return promise.then(null, function(response) {\n response.finish();\n return $confirm.notify('error', response.data._error_message);\n });\n };\n })(this));\n };\n return $scope.leave = function() {\n if ($scope.project.owner.id === $scope.user.id) {\n return lightboxFactory.create(\"tg-lightbox-leave-project-warning\", {\n \"class\": \"lightbox lightbox-leave-project-warning\"\n }, {\n isCurrentUser: true,\n project: $scope.project\n });\n } else {\n return leaveConfirm();\n }\n };\n };\n return {\n scope: {\n user: \"=\",\n project: \"=\"\n },\n templateUrl: \"team/leave-project.html\",\n link: link\n };\n };\n\n module.directive(\"tgLeaveProject\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgResources\", \"$tgNavUrls\", \"$translate\", \"tgLightboxFactory\", \"tgCurrentUserService\", LeaveProjectDirective]);\n\n membersFilter = function() {\n return function(members, filtersQ, filtersRole) {\n return _.filter(members, function(m) {\n return (!filtersRole || m.role === filtersRole.id) && (!filtersQ || m.full_name.search(new RegExp(filtersQ, \"i\")) >= 0);\n });\n };\n };\n\n module.filter('membersFilter', membersFilter);\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/detail.coffee\n */\n\n(function() {\n var WikiDetailController, WikiSummaryDirective, WikiWysiwyg, bindOnce, debounce, groupBy, mixOf, 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 mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaWiki\");\n\n WikiDetailController = (function(superClass) {\n extend(WikiDetailController, superClass);\n\n WikiDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgModel\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$filter\", \"$log\", \"tgAppMetaService\", \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WikiDetailController(scope, rootscope, repo, model, confirm, rs, params, q, location, filter, log, appMetaService, navUrls, analytics, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.model = model;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.filter = filter;\n this.log = log;\n this.appMetaService = appMetaService;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this.moveLink = bind(this.moveLink, this);\n this.loadWiki = bind(this.loadWiki, this);\n this.scope.$on(\"wiki:links:move\", this.moveLink);\n this.scope.$on(\"wikipage:add\", this.loadWiki);\n this.scope.projectSlug = this.params.pslug;\n this.scope.wikiSlug = this.params.slug;\n this.scope.sectionName = \"Wiki\";\n this.scope.linksVisible = false;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this._setMeta();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n WikiDetailController.prototype._setMeta = function() {\n var description, ref, ref1, ref2, title;\n title = this.translate.instant(\"WIKI.PAGE_TITLE\", {\n wikiPageName: this.scope.wikiSlug,\n projectName: this.scope.project.name\n });\n description = this.translate.instant(\"WIKI.PAGE_DESCRIPTION\", {\n wikiPageContent: angular.element(((ref = this.scope.wiki) != null ? ref.html : void 0) || \"\").text(),\n totalEditions: ((ref1 = this.scope.wiki) != null ? ref1.editions : void 0) || 0,\n lastModifiedDate: moment((ref2 = this.scope.wiki) != null ? ref2.modified_date : void 0).format(this.translate.instant(\"WIKI.DATETIME\"))\n });\n return this.appMetaService.setAll(title, description);\n };\n\n WikiDetailController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_wiki_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WikiDetailController.prototype.loadWiki = function() {\n var promise;\n promise = this.rs.wiki.getBySlug(this.scope.projectId, this.params.slug);\n promise.then((function(_this) {\n return function(wiki) {\n _this.scope.wiki = wiki;\n _this.scope.wikiId = wiki.id;\n return _this.scope.wiki;\n };\n })(this));\n return promise.then(null, (function(_this) {\n return function(xhr) {\n var data;\n _this.scope.wikiId = null;\n if (_this.scope.project.my_permissions.indexOf(\"add_wiki_page\") === -1) {\n return null;\n }\n data = {\n project: _this.scope.projectId,\n slug: _this.scope.wikiSlug,\n content: \"\"\n };\n _this.scope.wiki = _this.model.make_model(\"wiki\", data);\n return _this.scope.wiki;\n };\n })(this));\n };\n\n WikiDetailController.prototype.loadWikiLinks = function() {\n return this.rs.wiki.listLinks(this.scope.projectId).then((function(_this) {\n return function(wikiLinks) {\n var i, len, link, ref, selectedWikiLink;\n _this.scope.wikiLinks = wikiLinks;\n ref = _this.scope.wikiLinks;\n for (i = 0, len = ref.length; i < len; i++) {\n link = ref[i];\n link.url = _this.navUrls.resolve(\"project-wiki-page\", {\n project: _this.scope.projectSlug,\n slug: link.href\n });\n }\n return selectedWikiLink = _.find(wikiLinks, {\n href: _this.scope.wikiSlug\n });\n };\n })(this));\n };\n\n WikiDetailController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.q.all([this.loadWikiLinks(), this.loadWiki()]).then(this.checkLinksPerms.bind(this));\n };\n\n WikiDetailController.prototype.checkLinksPerms = function() {\n if (this.scope.project.my_permissions.indexOf(\"add_wiki_link\") !== -1 || (this.scope.project.my_permissions.indexOf(\"view_wiki_links\") !== -1 && this.scope.wikiLinks.length)) {\n return this.scope.linksVisible = true;\n }\n };\n\n WikiDetailController.prototype[\"delete\"] = function() {\n var message, title;\n title = this.translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\");\n message = this.scope.wikiSlug;\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onSuccess = function() {\n var ctx;\n askResponse.finish();\n ctx = {\n project: _this.scope.projectSlug\n };\n _this.location.path(_this.navUrls.resolve(\"project-wiki\", ctx));\n _this.confirm.notify(\"success\");\n return _this.loadWiki();\n };\n onError = function() {\n askResponse.finish(false);\n return _this.confirm.notify(\"error\");\n };\n return _this.repo.remove(_this.scope.wiki).then(onSuccess, onError);\n };\n })(this));\n };\n\n WikiDetailController.prototype.moveLink = function(ctx, item, itemIndex) {\n var r, values;\n values = this.scope.wikiLinks;\n r = values.indexOf(item);\n values.splice(r, 1);\n values.splice(itemIndex, 0, item);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return WikiDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"WikiDetailController\", WikiDetailController);\n\n WikiSummaryDirective = function($log, $template, $compile, $translate, avatarService) {\n var link, template;\n template = $template.get(\"wiki/wiki-summary.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var render;\n render = function(wiki) {\n var avatar, ctx, html, user;\n if ($scope.usersById == null) {\n $log.error(\"WikiSummaryDirective requires userById set in scope.\");\n } else {\n user = $scope.usersById[wiki.last_modifier];\n }\n avatar = avatarService.getAvatar(user);\n if (user === void 0) {\n user = {\n name: \"unknown\",\n avatar: avatar\n };\n } else {\n user = {\n name: user.full_name_display,\n avatar: avatar\n };\n }\n ctx = {\n totalEditions: wiki.editions,\n lastModifiedDate: moment(wiki.modified_date).format($translate.instant(\"WIKI.DATETIME\")),\n user: user\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(wikiPage) {\n if (!wikiPage) {\n return;\n }\n return render(wikiPage);\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(\"tgWikiSummary\", [\"$log\", \"$tgTemplate\", \"$compile\", \"$translate\", \"tgAvatarService\", WikiSummaryDirective]);\n\n WikiWysiwyg = function($modelTransform, $rootscope, $confirm, attachmentsFullService, $qqueue, $repo, $analytics, wikiHistoryService) {\n var link;\n link = function($scope, $el, $attrs) {\n var uploadFile;\n $scope.editableDescription = false;\n $scope.saveDescription = $qqueue.bindAdd(function(description, cb) {\n var onError, onSuccess, promise;\n onSuccess = function(wikiPage) {\n if ($scope.item.id == null) {\n $analytics.trackEvent(\"wikipage\", \"create\", \"create wiki page\", 1);\n $scope.$emit(\"wikipage:add\");\n }\n wikiHistoryService.loadHistoryEntries();\n return $confirm.notify(\"success\");\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n $scope.item.content = description;\n if ($scope.item.id != null) {\n promise = $repo.save($scope.item).then(onSuccess, onError);\n } else {\n promise = $repo.create(\"wiki\", $scope.item).then(onSuccess, onError);\n }\n return promise[\"finally\"](cb);\n });\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.project.id, $scope.item.id, 'wiki_page', file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.$watch($attrs.model, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n $scope.version = value.version;\n return $scope.storageKey = $scope.project.id + \"-\" + value.id + \"-wiki\";\n });\n return $scope.$watch('project', function(project) {\n if (!project) {\n return;\n }\n return $scope.editableDescription = project.my_permissions.indexOf(\"modify_wiki_page\") !== -1;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n\\n
    \\n\\n \\n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\\n
    \\n
    \"\n };\n };\n\n module.directive(\"tgWikiWysiwyg\", [\"$tgQueueModelTransformation\", \"$rootScope\", \"$tgConfirm\", \"tgAttachmentsFullService\", \"$tgQqueue\", \"$tgRepo\", \"$tgAnalytics\", \"tgWikiHistoryService\", WikiWysiwyg]);\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/detail.coffee\n */\n\n(function() {\n var WikiNavDirective, bindOnce, groupBy, mixOf, module, taiga;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaWiki\");\n\n WikiNavDirective = function($tgrepo, $log, $location, $confirm, $analytics, $loading, $template, $compile, $translate) {\n var link, linkWikiLinks, template;\n template = $template.get(\"wiki/wiki-nav.html\", true);\n linkWikiLinks = function($scope, $el, $attrs) {\n var $ctrl, addWikiLinkPermission, drake, render;\n $ctrl = $el.controller();\n if ($attrs.ngModel == null) {\n return $log.error(\"WikiNavDirective: no ng-model attr is defined\");\n }\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1;\n drake = null;\n render = function(wikiLinks) {\n var deleteWikiLinkPermission, html, itemEl, scroll, tdom;\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1;\n deleteWikiLinkPermission = $scope.project.my_permissions.indexOf(\"delete_wiki_link\") > -1;\n html = template({\n wikiLinks: wikiLinks,\n projectSlug: $scope.projectSlug,\n addWikiLinkPermission: addWikiLinkPermission,\n deleteWikiLinkPermission: deleteWikiLinkPermission\n });\n html = $compile(html)($scope);\n $el.off();\n if (addWikiLinkPermission && drake) {\n drake.destroy();\n }\n $el.html(html);\n if (addWikiLinkPermission) {\n itemEl = null;\n tdom = $el.find(\".sortable\");\n drake = dragula([tdom[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: tdom[0],\n moves: function(item) {\n return $(item).is('li');\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex;\n itemEl = $(item);\n item = itemEl.scope().link;\n itemIndex = itemEl.index();\n return $scope.$emit(\"wiki:links:move\", item, itemIndex);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n }\n $el.on(\"click\", \".add-button\", function(event) {\n event.preventDefault();\n $el.find(\".new\").removeClass(\"hidden\");\n $el.find(\".new input\").focus();\n return $el.find(\".add-button\").hide();\n });\n $el.on(\"click\", \".js-delete-link\", function(event) {\n var linkId, message, target, title;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n linkId = target.parents('.wiki-link').data('id');\n title = $translate.instant(\"WIKI.DELETE_LINK_TITLE\");\n message = $scope.wikiLinks[linkId].title;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var promise;\n promise = $tgrepo.remove($scope.wikiLinks[linkId]);\n promise.then(function() {\n promise = $ctrl.loadWikiLinks();\n promise.then(function() {\n askResponse.finish();\n return render($scope.wikiLinks);\n });\n return promise.then(null, function() {\n return askResponse.finish();\n });\n });\n return promise.then(null, function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $el.on(\"keyup\", \".new input\", function(event) {\n var currentLoading, newLink, promise, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newLink = target.val();\n currentLoading = $loading().target($el.find(\".new\")).start();\n promise = $tgrepo.create(\"wiki-links\", {\n project: $scope.projectId,\n title: newLink\n });\n promise.then(function() {\n var loadPromise;\n $analytics.trackEvent(\"wikilink\", \"create\", \"create wiki link\", 1);\n loadPromise = $ctrl.loadWikiLinks();\n loadPromise.then(function() {\n currentLoading.finish();\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n $el.find(\".add-button\").show();\n return render($scope.wikiLinks);\n });\n return loadPromise.then(null, function() {\n currentLoading.finish();\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n $el.find(\".add-button\").show();\n return $confirm.notify(\"error\", \"Error loading wiki links\");\n });\n });\n return promise.then(null, function(error) {\n var ref;\n currentLoading.finish();\n $el.find(\".new input\").val(newLink);\n $el.find(\".new input\").focus().select();\n if ((error != null ? (ref = error.__all__) != null ? ref[0] : void 0 : void 0) != null) {\n return $confirm.notify(\"error\", \"The link already exists\");\n } else {\n return $confirm.notify(\"error\");\n }\n });\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new input\").val('');\n return $el.find(\".add-button\").show();\n }\n });\n };\n return bindOnce($scope, $attrs.ngModel, render);\n };\n link = function($scope, $el, $attrs) {\n linkWikiLinks($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWikiNav\", [\"$tgRepo\", \"$log\", \"$tgLocation\", \"$tgConfirm\", \"$tgAnalytics\", \"$tgLoading\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiNavDirective]);\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/pages-list.coffee\n */\n\n(function() {\n var WikiPagesListController, mixOf, 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 mixOf = this.taiga.mixOf;\n\n module = angular.module(\"taigaWiki\");\n\n WikiPagesListController = (function(superClass) {\n extend(WikiPagesListController, superClass);\n\n WikiPagesListController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgModel\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgNavUrls\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WikiPagesListController(scope, rootscope, repo, model, confirm, rs, params, q, navUrls, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.model = model;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.navUrls = navUrls;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this.scope.projectSlug = this.params.pslug;\n this.scope.wikiSlug = this.params.slug;\n this.scope.sectionName = \"Wiki\";\n this.scope.linksVisible = false;\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n WikiPagesListController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.is_wiki_activated) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WikiPagesListController.prototype.loadWikiPages = function() {\n var promise;\n return promise = this.rs.wiki.list(this.scope.projectId).then((function(_this) {\n return function(wikipages) {\n return _this.scope.wikipages = wikipages;\n };\n })(this));\n };\n\n WikiPagesListController.prototype.loadWikiLinks = function() {\n return this.rs.wiki.listLinks(this.scope.projectId).then((function(_this) {\n return function(wikiLinks) {\n var i, len, link, ref, selectedWikiLink;\n _this.scope.wikiLinks = wikiLinks;\n ref = _this.scope.wikiLinks;\n for (i = 0, len = ref.length; i < len; i++) {\n link = ref[i];\n link.url = _this.navUrls.resolve(\"project-wiki-page\", {\n project: _this.scope.projectSlug,\n slug: link.href\n });\n }\n return selectedWikiLink = _.find(wikiLinks, {\n href: _this.scope.wikiSlug\n });\n };\n })(this));\n };\n\n WikiPagesListController.prototype.loadInitialData = function() {\n var project;\n project = this.loadProject();\n this.fillUsersAndRoles(project.members, project.roles);\n return this.q.all([this.loadWikiLinks(), this.loadWikiPages()]).then(this.checkLinksPerms.bind(this));\n };\n\n WikiPagesListController.prototype.checkLinksPerms = function() {\n if (this.scope.project.my_permissions.indexOf(\"add_wiki_link\") !== -1 || (this.scope.project.my_permissions.indexOf(\"view_wiki_links\") !== -1 && this.scope.wikiLinks.length)) {\n return this.scope.linksVisible = true;\n }\n };\n\n return WikiPagesListController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"WikiPagesListController\", WikiPagesListController);\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/lightboxes.coffee\n */\n\n(function() {\n var ChangeOwnerLightboxController, ChangeOwnerLightboxDirective, LbRequestOwnershipDirective, LightboxAddMembersWarningMessageDirective, TransferProjectStartSuccessDirective, debounce, module, taiga;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaKanban\");\n\n LightboxAddMembersWarningMessageDirective = function() {\n return {\n templateUrl: \"admin/memberships-warning-message.html\",\n scope: {\n project: \"=\"\n }\n };\n };\n\n module.directive(\"tgLightboxAddMembersWarningMessage\", [LightboxAddMembersWarningMessageDirective]);\n\n LbRequestOwnershipDirective = function(lightboxService, rs, confirmService, $translate) {\n return {\n link: function(scope, el) {\n lightboxService.open(el);\n return scope.request = function() {\n scope.loading = true;\n return rs.projects.transferRequest(scope.projectId).then(function() {\n scope.loading = false;\n lightboxService.close(el);\n return confirmService.notify(\"success\", $translate.instant(\"ADMIN.PROJECT_PROFILE.REQUEST_OWNERSHIP_SUCCESS\"));\n });\n };\n },\n templateUrl: \"common/lightbox/lightbox-request-ownership.html\"\n };\n };\n\n module.directive('tgLbRequestOwnership', [\"lightboxService\", \"tgResources\", \"$tgConfirm\", \"$translate\", LbRequestOwnershipDirective]);\n\n ChangeOwnerLightboxController = (function() {\n function ChangeOwnerLightboxController(rs1, lightboxService1, confirm, translate) {\n this.rs = rs1;\n this.lightboxService = lightboxService1;\n this.confirm = confirm;\n this.translate = translate;\n this.users = [];\n this.q = \"\";\n this.commentOpen = false;\n }\n\n ChangeOwnerLightboxController.prototype.limit = 3;\n\n ChangeOwnerLightboxController.prototype.normalizeString = function(normalizedString) {\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\n ChangeOwnerLightboxController.prototype.filterUsers = function(user) {\n var text, username;\n username = user.full_name_display.toUpperCase();\n username = this.normalizeString(username);\n text = this.q.toUpperCase();\n text = this.normalizeString(text);\n return _.includes(username, text);\n };\n\n ChangeOwnerLightboxController.prototype.getUsers = function() {\n var users;\n if (!this.users.length && !this.q.length) {\n users = this.activeUsers;\n } else {\n users = this.users;\n }\n users = users.slice(0, this.limit);\n users = _.reject(users, {\n \"selected\": true\n });\n return _.reject(users, {\n \"id\": this.currentOwnerId\n });\n };\n\n ChangeOwnerLightboxController.prototype.userSearch = function() {\n this.users = this.activeUsers;\n this.selected = _.find(this.users, {\n \"selected\": true\n });\n if (this.q) {\n return this.users = _.filter(this.users, this.filterUsers.bind(this));\n }\n };\n\n ChangeOwnerLightboxController.prototype.selectUser = function(user) {\n this.activeUsers = _.map(this.activeUsers, function(user) {\n user.selected = false;\n return user;\n });\n user.selected = true;\n return this.userSearch();\n };\n\n ChangeOwnerLightboxController.prototype.submit = function() {\n this.loading = true;\n return this.rs.projects.transferStart(this.projectId, this.selected.id, this.comment).then((function(_this) {\n return function() {\n var desc, title;\n _this.loading = false;\n _this.lightboxService.closeAll();\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.CHANGE_OWNER_SUCCESS_TITLE\");\n desc = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.CHANGE_OWNER_SUCCESS_DESC\");\n return _this.confirm.success(title, desc, {\n type: \"svg\",\n name: \"icon-speak-up\"\n });\n };\n })(this));\n };\n\n return ChangeOwnerLightboxController;\n\n })();\n\n ChangeOwnerLightboxController.$inject = [\"tgResources\", \"lightboxService\", \"$tgConfirm\", \"$translate\"];\n\n module.controller('ChangeOwnerLightbox', ChangeOwnerLightboxController);\n\n ChangeOwnerLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService, $template, $compile) {\n var link;\n link = function(scope, el) {\n return lightboxService.open(el);\n };\n return {\n scope: true,\n controller: \"ChangeOwnerLightbox\",\n controllerAs: \"vm\",\n bindToController: {\n currentOwnerId: \"=\",\n projectId: \"=\",\n activeUsers: \"=\"\n },\n templateUrl: \"common/lightbox/lightbox-change-owner.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbChangeOwner\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", ChangeOwnerLightboxDirective]);\n\n TransferProjectStartSuccessDirective = function(lightboxService) {\n var link;\n link = function(scope, el) {\n scope.close = function() {\n return lightboxService.close(el);\n };\n return lightboxService.open(el);\n };\n return {\n templateUrl: \"common/lightbox/lightbox-transfer-project-start-success.html\",\n link: link\n };\n };\n\n module.directive(\"tgLbTransferProjectStartSuccess\", [\"lightboxService\", TransferProjectStartSuccessDirective]);\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/memberships.coffee\n */\n\n(function() {\n var MembershipsController, MembershipsDirective, MembershipsRowActionsDirective, MembershipsRowAdminCheckboxDirective, MembershipsRowAvatarDirective, MembershipsRowRoleSelectorDirective, NoMoreMembershipsExplanationDirective, bindMethods, mixOf, 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 mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaAdmin\");\n\n MembershipsController = (function(superClass) {\n extend(MembershipsController, superClass);\n\n MembershipsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAnalytics\", \"tgAppMetaService\", \"$translate\", \"$tgAuth\", \"tgLightboxFactory\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function MembershipsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, analytics, appMetaService, translate, auth, lightboxFactory1, errorHandlingService, projectService1) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.auth = auth;\n this.lightboxFactory = lightboxFactory1;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n bindMethods(this);\n this.scope.project = {};\n this.scope.filters = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.MEMBERSHIPS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"membersform:new:success\", (function(_this) {\n return function() {\n _this.loadInitialData();\n return _this.analytics.trackEvent(\"membership\", \"create\", \"create memberships on admin\", 1);\n };\n })(this));\n }\n\n MembershipsController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.canAddUsers = project.max_memberships === null || project.max_memberships > project.total_memberships;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n MembershipsController.prototype.loadMembers = function() {\n var httpFilters;\n httpFilters = this.getUrlFilters();\n return this.rs.memberships.list(this.scope.projectId, httpFilters).then((function(_this) {\n return function(data) {\n _this.scope.memberships = _.filter(data.models, function(membership) {\n return membership.user === null || membership.is_user_active;\n });\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n return data;\n };\n })(this));\n };\n\n MembershipsController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.q.all([this.loadMembers(), this.auth.refresh()]);\n };\n\n MembershipsController.prototype.getUrlFilters = function() {\n var filters;\n filters = _.pick(this.location.search(), \"page\");\n if (!filters.page) {\n filters.page = 1;\n }\n return filters;\n };\n\n MembershipsController.prototype.addNewMembers = function() {\n return this.lightboxFactory.create('tg-lb-add-members', {\n \"class\": \"lightbox lightbox-add-member\",\n \"project\": \"project\"\n }, {\n \"project\": this.scope.project\n });\n };\n\n MembershipsController.prototype.showLimitUsersWarningMessage = function() {\n var icon, message, title;\n title = this.translate.instant(\"ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING\");\n message = this.translate.instant(\"ADMIN.MEMBERSHIPS.LIMIT_USERS_WARNING_MESSAGE\", {\n members: this.scope.project.max_memberships\n });\n icon = \"/\" + window._version + \"/svg/icons/team-question.svg\";\n return this.confirm.success(title, message, {\n name: icon,\n type: \"img\"\n });\n };\n\n return MembershipsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"MembershipsController\", MembershipsController);\n\n MembershipsDirective = function($template, $compile) {\n var link, linkPagination, template;\n template = $template.get(\"admin/admin-membership-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".memberships-paginator\");\n getNumPages = function() {\n var numPages;\n numPages = $scope.count / $scope.paginatedBy;\n if (parseInt(numPages, 10) < numPages) {\n numPages = parseInt(numPages, 10) + 1;\n } else {\n numPages = parseInt(numPages, 10);\n }\n return numPages;\n };\n renderPagination = function() {\n var cpage, html, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n html = template(options);\n html = $compile(html)($scope);\n $pagEl.html(html);\n return $pagEl.show();\n };\n $scope.$watch(\"memberships\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".memberships-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadMembers();\n });\n });\n $el.on(\"click\", \".memberships-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadMembers();\n });\n });\n return $el.on(\"click\", \".memberships-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadMembers();\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMemberships\", [\"$tgTemplate\", \"$compile\", MembershipsDirective]);\n\n MembershipsRowAvatarDirective = function($log, $template, $translate, $compile, avatarService) {\n var link, template;\n template = $template.get(\"admin/memberships-row-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n var member, pending, render;\n pending = $translate.instant(\"ADMIN.MEMBERSHIP.STATUS_PENDING\");\n render = function(member) {\n var avatar, ctx, html;\n avatar = avatarService.getAvatar(member);\n ctx = {\n full_name: member.full_name ? member.full_name : \"\",\n email: member.user_email ? member.user_email : member.email,\n imgurl: avatar.url,\n bg: avatar.bg,\n pending: !member.is_user_active ? pending : \"\",\n isOwner: member.is_owner\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowAvatar == null) {\n return $log.error(\"MembershipsRowAvatarDirective: the directive need a member\");\n }\n member = $scope.$eval($attrs.tgMembershipsRowAvatar);\n render(member);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowAvatar\", [\"$log\", \"$tgTemplate\", '$translate', \"$compile\", \"tgAvatarService\", MembershipsRowAvatarDirective]);\n\n MembershipsRowAdminCheckboxDirective = function($log, $repo, $confirm, $template, $compile) {\n var link, template;\n template = $template.get(\"admin/admin-memberships-row-checkbox.html\", true);\n link = function($scope, $el, $attrs) {\n var html, member, render;\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n if ($attrs.tgMembershipsRowAdminCheckbox == null) {\n return $log.error(\"MembershipsRowAdminCheckboxDirective: the directive need a member\");\n }\n member = $scope.$eval($attrs.tgMembershipsRowAdminCheckbox);\n if (member.is_owner) {\n $el.find(\".js-check\").remove();\n return;\n }\n render = function(member) {\n var ctx, html;\n ctx = {\n inputId: \"is-admin-\" + member.id\n };\n html = template(ctx);\n html = $compile(html)($scope);\n return $el.html(html);\n };\n $el.on(\"click\", \":checkbox\", (function(_this) {\n return function(event) {\n var onError, onSuccess, target;\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function(data) {\n member.revert();\n $el.find(\":checkbox\").prop(\"checked\", member.is_admin);\n return $confirm.notify(\"error\", data.is_admin[0]);\n };\n target = angular.element(event.currentTarget);\n member.is_admin = target.prop(\"checked\");\n return $repo.save(member).then(onSuccess, onError);\n };\n })(this));\n html = render(member);\n if (member.is_admin) {\n return $el.find(\":checkbox\").prop(\"checked\", true);\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMembershipsRowAdminCheckbox\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", \"$compile\", MembershipsRowAdminCheckboxDirective]);\n\n MembershipsRowRoleSelectorDirective = function($log, $repo, $confirm) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs) {\n var $ctrl, html, member, render;\n render = function(member) {\n var ctx, html;\n ctx = {\n roleList: $scope.project.roles,\n selectedRole: member.role\n };\n html = template(ctx);\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowRoleSelector == null) {\n return $log.error(\"MembershipsRowRoleSelectorDirective: the directive need a member\");\n }\n $ctrl = $el.controller();\n member = $scope.$eval($attrs.tgMembershipsRowRoleSelector);\n html = render(member);\n $el.on(\"change\", \"select\", (function(_this) {\n return function(event) {\n var newRole, onError, onSuccess, target;\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n target = angular.element(event.currentTarget);\n newRole = parseInt(target.val(), 10);\n if (member.role !== newRole) {\n member.role = newRole;\n return $repo.save(member).then(onSuccess, onError);\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(\"tgMembershipsRowRoleSelector\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", MembershipsRowRoleSelectorDirective]);\n\n MembershipsRowActionsDirective = function($log, $repo, $rs, $confirm, $compile, $translate, $location, $navUrls, lightboxFactory, projectService) {\n var activedTemplate, link, pendingTemplate;\n activedTemplate = \"
    \\n
    \\n\\n \\n\";\n pendingTemplate = \"\\n\\n\\n \\n\";\n link = function($scope, $el, $attrs) {\n var $ctrl, leaveConfirm, member, render;\n render = function(member) {\n var html;\n if (member.user) {\n html = $compile(activedTemplate)($scope);\n } else {\n html = $compile(pendingTemplate)($scope);\n }\n return $el.html(html);\n };\n if ($attrs.tgMembershipsRowActions == null) {\n return $log.error(\"MembershipsRowActionsDirective: the directive need a member\");\n }\n $ctrl = $el.controller();\n member = $scope.$eval($attrs.tgMembershipsRowActions);\n render(member);\n $el.on(\"click\", \".js-resend\", function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function() {\n var text;\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION\", {\n email: $scope.member.email\n });\n return $confirm.notify(\"success\", text);\n };\n onError = function() {\n var text;\n text = $translate.instant(\"ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION\");\n return $confirm.notify(\"error\", text);\n };\n return $rs.memberships.resendInvitation($scope.member.id).then(onSuccess, onError);\n });\n leaveConfirm = function() {\n var defaultMsg, message, title;\n title = $translate.instant(\"ADMIN.MEMBERSHIP.DELETE_MEMBER\");\n defaultMsg = $translate.instant(\"ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE\", {\n email: member.email\n });\n message = member.user ? member.full_name : defaultMsg;\n return $confirm.askOnDelete(title, message).then(function(askResponse) {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n var text;\n askResponse.finish();\n if (member.user !== $scope.user.id) {\n if ($scope.page > 1 && ($scope.count - 1) <= $scope.paginatedBy) {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n }\n projectService.fetchProject().then(function() {\n return $ctrl.loadInitialData();\n });\n } else {\n $location.path($navUrls.resolve(\"home\"));\n }\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_DELETE\", {\n message: message\n });\n return $confirm.notify(\"success\", text, null, 5000);\n };\n })(this);\n onError = (function(_this) {\n return function() {\n var text;\n askResponse.finish(false);\n text = $translate.instant(\"ADMIN.MEMBERSHIP.ERROR_DELETE\", {\n message: message\n });\n return $confirm.notify(\"error\", text);\n };\n })(this);\n return $repo.remove(member).then(onSuccess, onError);\n });\n };\n $el.on(\"click\", \".delete\", function(event) {\n var isCurrentUser;\n event.preventDefault();\n if ($scope.project.owner.id === member.user) {\n isCurrentUser = $scope.user.id === member.user;\n return lightboxFactory.create(\"tg-lightbox-leave-project-warning\", {\n \"class\": \"lightbox lightbox-leave-project-warning\"\n }, {\n isCurrentUser: isCurrentUser,\n project: $scope.project\n });\n } else {\n return leaveConfirm();\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(\"tgMembershipsRowActions\", [\"$log\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$compile\", \"$translate\", \"$tgLocation\", \"$tgNavUrls\", \"tgLightboxFactory\", \"tgProjectService\", MembershipsRowActionsDirective]);\n\n NoMoreMembershipsExplanationDirective = function() {\n return {\n templateUrl: \"admin/no-more-memberships-explanation.html\",\n scope: {\n project: \"=\"\n }\n };\n };\n\n module.directive(\"tgNoMoreMembershipsExplanation\", [NoMoreMembershipsExplanationDirective]);\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/nav.coffee\n */\n\n(function() {\n var AdminNavigationDirective, module;\n\n AdminNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgAdminNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#adminmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaAdmin\");\n\n module.directive(\"tgAdminNavigation\", AdminNavigationDirective);\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/project-profile.coffee\n */\n\n(function() {\n var AdminProjectChangeOwnerDirective, AdminProjectRequestOwnershipDirective, AdminProjectRestrictionsDirective, CsvEpicDirective, CsvExporterController, CsvExporterEpicsController, CsvExporterIssuesController, CsvExporterTasksController, CsvExporterUserstoriesController, CsvIssueDirective, CsvTaskDirective, CsvUsDirective, ProjectDefaultValuesDirective, ProjectExportDirective, ProjectLogoDirective, ProjectLogoModelDirective, ProjectModulesDirective, ProjectProfileController, ProjectProfileDirective, bindOnce, debounce, groupBy, joinStr, mixOf, module, scopeDefer, taiga, toString, 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 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n scopeDefer = this.taiga.scopeDefer;\n\n trim = this.taiga.trim;\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 debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectProfileController = (function(superClass) {\n extend(ProjectProfileController, superClass);\n\n ProjectProfileController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"$tgAuth\", \"tgCurrentUserService\", \"tgErrorHandlingService\", \"tgProjectService\", \"$tgModel\"];\n\n function ProjectProfileController(scope1, rootscope, repo, confirm, rs, params, q, location, navUrls, appMetaService, translate, tgAuth, currentUserService1, errorHandlingService, projectService1, model1) {\n var promise;\n this.scope = scope1;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.tgAuth = tgAuth;\n this.currentUserService = currentUserService1;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.model = model1;\n this.scope.project = {};\n this.scope.projectTags = [];\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, sectionName, title;\n sectionName = _this.translate.instant(_this.scope.sectionName);\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName,\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n _this.appMetaService.setAll(title, description);\n return _this.fillUsersAndRoles(_this.scope.project.members, _this.scope.project.roles);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:loaded\", (function(_this) {\n return function() {\n var description, sectionName, title;\n sectionName = _this.translate.instant(_this.scope.sectionName);\n title = _this.translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName,\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n }\n\n ProjectProfileController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n project = this.model.make_model(\"projects\", project);\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.epicStatusList = _.sortBy(project.epic_statuses, \"order\");\n this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n this.scope.pointsList = _.sortBy(project.points, \"order\");\n this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n this.scope.issueTypesList = _.sortBy(project.issue_types, \"order\");\n this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n this.scope.prioritiesList = _.sortBy(project.priorities, \"order\");\n this.scope.severitiesList = _.sortBy(project.severities, \"order\");\n scopeDefer(this.scope, (function(_this) {\n return function() {\n return _this.scope.$emit('project:loaded', project);\n };\n })(this));\n this.scope.projectTags = _.map(this.scope.project.tags, (function(_this) {\n return function(it) {\n return [it, _this.scope.project.tags_colors[it]];\n };\n })(this));\n return project;\n };\n\n ProjectProfileController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.tgAuth.refresh();\n };\n\n ProjectProfileController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.project);\n };\n\n ProjectProfileController.prototype.addTag = function(name, color) {\n var tags;\n tags = _.clone(this.scope.project.tags);\n tags.push(name);\n this.scope.projectTags.push([name, null]);\n return this.scope.project.tags = tags;\n };\n\n ProjectProfileController.prototype.deleteTag = function(tag) {\n var tags;\n tags = _.clone(this.scope.project.tags);\n _.pull(tags, tag[0]);\n _.remove(this.scope.projectTags, (function(_this) {\n return function(it) {\n return it[0] === tag[0];\n };\n })(this));\n return this.scope.project.tags = tags;\n };\n\n return ProjectProfileController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectProfileController\", ProjectProfileController);\n\n ProjectProfileDirective = function($repo, $confirm, $loading, $navurls, $location, projectService, currentUserService, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, form, submit, submitButton;\n $ctrl = $el.controller();\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var currentLoading, privacyChanged, promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n privacyChanged = $scope.project.isAttributeModified(\"is_private\");\n promise = $repo.save($scope.project);\n promise.then(function() {\n var newUrl;\n currentLoading.finish();\n if (privacyChanged && $scope.project.is_private) {\n $analytics.trackEvent(\"project-privacy-changed\", \"from-public-to-private\", \"Change project privacy from public to private\", 1);\n } else if (privacyChanged && !$scope.project.is_private) {\n $analytics.trackEvent(\"project-privacy-changed\", \"from-private-to-public\", \"Change project privacy from private to public\", 1);\n }\n $confirm.notify(\"success\");\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n });\n $location.path(newUrl);\n projectService.fetchProject().then((function(_this) {\n return function() {\n return $ctrl.loadInitialData();\n };\n })(this));\n return currentUserService.loadProjects();\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 return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\", \"tgProjectService\", \"tgCurrentUserService\", \"$tgAnalytics\", ProjectProfileDirective]);\n\n ProjectDefaultValuesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\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.save($scope.project);\n promise.then(function() {\n currentLoading.finish();\n return $confirm.notify(\"success\");\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(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectDefaultValuesDirective]);\n\n ProjectModulesDirective = function($repo, $confirm, $loading, projectService) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n submit = (function(_this) {\n return function() {\n var form, promise;\n form = $el.find(\"form\").checksley();\n form.initializeFields();\n form.reset();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save($scope.project);\n promise.then(function() {\n $scope.$emit(\"project:loaded\", $scope.project);\n $confirm.notify(\"success\");\n return projectService.fetchProject();\n });\n return promise.then(null, function(data) {\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this);\n $el.on(\"change\", \".module-activation.module-direct-active input\", function(event) {\n event.preventDefault();\n return $scope.$applyAsync(submit);\n });\n $el.on(\"submit\", \"form\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"keydown\", \".videoconference-attributes input\", function(e) {\n return e.which !== 32;\n });\n $scope.$watch(\"project.videoconferences\", function(newVal, oldVal) {\n if ((newVal != null) && (oldVal != null) && newVal !== oldVal) {\n return $scope.project.videoconferences_extra_data = \"\";\n }\n });\n $scope.$watch(\"isVideoconferenceActivated\", function(newValue, oldValue) {\n if (newValue === false) {\n $scope.project.videoconferences = null;\n $scope.project.videoconferences_extra_data = \"\";\n if (oldValue === true) {\n return submit();\n }\n }\n });\n return $scope.$watch(\"project\", function(project) {\n if (project.videoconferences != null) {\n return $scope.isVideoconferenceActivated = true;\n } else {\n return $scope.isVideoconferenceActivated = false;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgProjectService\", ProjectModulesDirective]);\n\n ProjectExportDirective = function($window, $rs, $confirm, $translate, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var 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;\n buttonsEl = $el.find(\".admin-project-export-buttons\");\n showButtons = function() {\n return buttonsEl.removeClass(\"hidden\");\n };\n hideButtons = function() {\n return buttonsEl.addClass(\"hidden\");\n };\n resultEl = $el.find(\".admin-project-export-result\");\n showResult = function() {\n return resultEl.removeClass(\"hidden\");\n };\n hideResult = function() {\n return resultEl.addClass(\"hidden\");\n };\n spinnerEl = $el.find(\".spin\");\n showSpinner = function() {\n return spinnerEl.removeClass(\"hidden\");\n };\n hideSpinner = function() {\n return spinnerEl.addClass(\"hidden\");\n };\n resultTitleEl = $el.find(\".result-title\");\n loading_title = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_TITLE\");\n loading_msg = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_MESSAGE\");\n dump_ready_text = function() {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.DUMP_READY\"));\n };\n asyn_message = function() {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE\"));\n };\n syn_message = function(url) {\n return resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.SYNC_MESSAGE\", {\n url: url\n }));\n };\n setLoadingTitle = function() {\n return resultTitleEl.html(loading_title);\n };\n setAsyncTitle = function() {\n return resultTitleEl.html(loading_msg);\n };\n setSyncTitle = function() {\n return resultTitleEl.html(dump_ready_text);\n };\n resultMessageEl = $el.find(\".result-message \");\n setLoadingMessage = function() {\n return resultMessageEl.html(loading_msg);\n };\n setAsyncMessage = function() {\n return resultMessageEl.html(asyn_message);\n };\n setSyncMessage = function(url) {\n return resultMessageEl.html(syn_message(url));\n };\n showLoadingMode = function() {\n showSpinner();\n setLoadingTitle();\n setLoadingMessage();\n hideButtons();\n return showResult();\n };\n showExportResultAsyncMode = function() {\n hideSpinner();\n setAsyncTitle();\n return setAsyncMessage();\n };\n showExportResultSyncMode = function(url) {\n hideSpinner();\n setSyncTitle();\n return setSyncMessage(url);\n };\n showErrorMode = function() {\n hideSpinner();\n hideResult();\n return showButtons();\n };\n return $el.on(\"click\", \"a.button-export\", debounce(2000, (function(_this) {\n return function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function(result) {\n var dumpUrl;\n $analytics.trackEvent(\"exporter\", \"export-project\", \"Exported project\", 1);\n if (result.status === 202) {\n return showExportResultAsyncMode();\n } else {\n dumpUrl = result.data.url;\n showExportResultSyncMode(dumpUrl);\n return $window.open(dumpUrl, \"_blank\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n showErrorMode();\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR\");\n if (result.status === 429) {\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\");\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\", {\n message: result.data._error_message\n });\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n showLoadingMode();\n return $rs.projects[\"export\"]($scope.projectId).then(onSuccess, onError);\n };\n })(this)));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", \"$translate\", \"$tgAnalytics\", ProjectExportDirective]);\n\n CsvExporterController = (function(superClass) {\n extend(CsvExporterController, superClass);\n\n CsvExporterController.$inject = [\"$scope\", \"$rootScope\", \"$tgUrls\", \"$tgConfirm\", \"$tgResources\", \"$translate\"];\n\n function CsvExporterController(scope1, rootscope, urls, confirm, rs, translate) {\n this.scope = scope1;\n this.rootscope = rootscope;\n this.urls = urls;\n this.confirm = confirm;\n this.rs = rs;\n this.translate = translate;\n this._generateUuid = bind(this._generateUuid, this);\n this.setCsvUuid = bind(this.setCsvUuid, this);\n this.rootscope.$on(\"project:loaded\", this.setCsvUuid);\n this.scope.$watch(\"csvUuid\", (function(_this) {\n return function(value) {\n if (value) {\n return _this.scope.csvUrl = _this.urls.resolveAbsolute(_this.type + \"-csv\", value);\n } else {\n return _this.scope.csvUrl = \"\";\n }\n };\n })(this));\n }\n\n CsvExporterController.prototype.setCsvUuid = function() {\n return this.scope.csvUuid = this.scope.project[this.type + \"_csv_uuid\"];\n };\n\n CsvExporterController.prototype._generateUuid = function(response) {\n var promise;\n if (response == null) {\n response = null;\n }\n promise = this.rs.projects[\"regenerate_\" + this.type + \"_csv_uuid\"](this.scope.projectId);\n promise.then((function(_this) {\n return function(data) {\n var ref;\n return _this.scope.csvUuid = (ref = data.data) != null ? ref.uuid : void 0;\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n promise[\"finally\"](function() {\n if (response) {\n return response.finish();\n }\n });\n return promise;\n };\n\n CsvExporterController.prototype.regenerateUuid = function() {\n var subtitle, title;\n if (this.scope.csvUuid) {\n title = this.translate.instant(\"ADMIN.REPORTS.REGENERATE_TITLE\");\n subtitle = this.translate.instant(\"ADMIN.REPORTS.REGENERATE_SUBTITLE\");\n return this.confirm.ask(title, subtitle).then(this._generateUuid);\n } else {\n return this._generateUuid();\n }\n };\n\n return CsvExporterController;\n\n })(taiga.Controller);\n\n CsvExporterEpicsController = (function(superClass) {\n extend(CsvExporterEpicsController, superClass);\n\n function CsvExporterEpicsController() {\n return CsvExporterEpicsController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterEpicsController.prototype.type = \"epics\";\n\n return CsvExporterEpicsController;\n\n })(CsvExporterController);\n\n CsvExporterUserstoriesController = (function(superClass) {\n extend(CsvExporterUserstoriesController, superClass);\n\n function CsvExporterUserstoriesController() {\n return CsvExporterUserstoriesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterUserstoriesController.prototype.type = \"userstories\";\n\n return CsvExporterUserstoriesController;\n\n })(CsvExporterController);\n\n CsvExporterTasksController = (function(superClass) {\n extend(CsvExporterTasksController, superClass);\n\n function CsvExporterTasksController() {\n return CsvExporterTasksController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterTasksController.prototype.type = \"tasks\";\n\n return CsvExporterTasksController;\n\n })(CsvExporterController);\n\n CsvExporterIssuesController = (function(superClass) {\n extend(CsvExporterIssuesController, superClass);\n\n function CsvExporterIssuesController() {\n return CsvExporterIssuesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterIssuesController.prototype.type = \"issues\";\n\n return CsvExporterIssuesController;\n\n })(CsvExporterController);\n\n module.controller(\"CsvExporterEpicsController\", CsvExporterEpicsController);\n\n module.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController);\n\n module.controller(\"CsvExporterTasksController\", CsvExporterTasksController);\n\n module.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController);\n\n CsvEpicDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_EPIC\";\n };\n return {\n controller: \"CsvExporterEpicsController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvEpic\", [\"$translate\", CsvEpicDirective]);\n\n CsvUsDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_US\";\n };\n return {\n controller: \"CsvExporterUserstoriesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvUs\", [\"$translate\", CsvUsDirective]);\n\n CsvTaskDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_TASK\";\n };\n return {\n controller: \"CsvExporterTasksController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvTask\", [\"$translate\", CsvTaskDirective]);\n\n CsvIssueDirective = function($translate) {\n var link;\n link = function($scope) {\n return $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_ISSUE\";\n };\n return {\n controller: \"CsvExporterIssuesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n };\n };\n\n module.directive(\"tgCsvIssue\", [\"$translate\", CsvIssueDirective]);\n\n ProjectLogoDirective = function($auth, $model, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, showSizeInfo;\n showSizeInfo = function() {\n return $el.find(\".size-info\").addClass(\"active\");\n };\n onSuccess = function(response) {\n var project;\n project = $model.make_model(\"projects\", response.data);\n $scope.project = project;\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('success');\n };\n onError = function(response) {\n if (response.status === 413) {\n showSizeInfo();\n }\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('error', response.data._error_message);\n };\n $el.on(\"click\", \".js-change-logo\", function() {\n return $el.find(\"#logo-field\").click();\n });\n $el.on(\"change\", \"#logo-field\", function(event) {\n if ($scope.logoAttachment) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.projects.changeLogo($scope.project.id, $scope.logoAttachment).then(onSuccess, onError);\n }\n });\n $el.on(\"click\", \"a.js-use-default-logo\", function(event) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.projects.removeLogo($scope.project.id).then(onSuccess, onError);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectLogo\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", ProjectLogoDirective]);\n\n ProjectLogoModelDirective = function($parse) {\n var link;\n link = function($scope, $el, $attrs) {\n var model, modelSetter;\n model = $parse($attrs.tgProjectLogoModel);\n modelSetter = model.assign;\n return $el.bind('change', function() {\n return $scope.$apply(function() {\n return modelSetter($scope, $el[0].files[0]);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive('tgProjectLogoModel', ['$parse', ProjectLogoModelDirective]);\n\n AdminProjectRestrictionsDirective = function() {\n return {\n scope: {\n \"project\": \"=\"\n },\n templateUrl: \"admin/admin-project-restrictions.html\"\n };\n };\n\n module.directive('tgAdminProjectRestrictions', [AdminProjectRestrictionsDirective]);\n\n AdminProjectRequestOwnershipDirective = function(lightboxFactory) {\n return {\n link: function(scope) {\n return scope.requestOwnership = function() {\n return lightboxFactory.create(\"tg-lb-request-ownership\", {\n \"class\": \"lightbox lightbox-request-ownership\"\n }, {\n projectId: scope.projectId\n });\n };\n },\n scope: {\n \"projectId\": \"=\",\n \"owner\": \"=\"\n },\n templateUrl: \"admin/admin-project-request-ownership.html\"\n };\n };\n\n module.directive('tgAdminProjectRequestOwnership', [\"tgLightboxFactory\", AdminProjectRequestOwnershipDirective]);\n\n AdminProjectChangeOwnerDirective = function(lightboxFactory) {\n return {\n link: function(scope) {\n return scope.changeOwner = function() {\n return lightboxFactory.create(\"tg-lb-change-owner\", {\n \"class\": \"lightbox lightbox-select-user\",\n \"project-id\": \"projectId\",\n \"active-users\": \"activeUsers\",\n \"current-owner-id\": \"currentOwnerId\"\n }, {\n projectId: scope.projectId,\n activeUsers: scope.activeUsers,\n currentOwnerId: scope.owner.id,\n members: scope.members\n });\n };\n },\n scope: {\n \"activeUsers\": \"=\",\n \"projectId\": \"=\",\n \"owner\": \"=\",\n \"members\": \"=\"\n },\n templateUrl: \"admin/admin-project-change-owner.html\"\n };\n };\n\n module.directive('tgAdminProjectChangeOwner', [\"tgLightboxFactory\", AdminProjectChangeOwnerDirective]);\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/project-profile.coffee\n */\n\n(function() {\n var ColorSelectionDirective, DATE_TYPE, MULTILINE_TYPE, ProjectCustomAttributesController, ProjectCustomAttributesDirective, ProjectTagsController, ProjectTagsDirective, ProjectValuesController, ProjectValuesDirective, ProjectValuesSectionController, RICHTEXT_TYPE, TEXT_TYPE, TYPE_CHOICES, URL_TYPE, bindOnce, debounce, getDefaulColorList, groupBy, joinStr, mixOf, module, taiga, toString, 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 bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\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 debounce = this.taiga.debounce;\n\n getDefaulColorList = this.taiga.getDefaulColorList;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectValuesSectionController = (function(superClass) {\n extend(ProjectValuesSectionController, superClass);\n\n ProjectValuesSectionController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function ProjectValuesSectionController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appMetaService, translate, errorHandlingService, projectService1) {\n var description, sectionName, title;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService1;\n this.scope.project = {};\n this.loadInitialData();\n sectionName = this.translate.instant(this.scope.sectionName);\n title = this.translate.instant(\"ADMIN.PROJECT_VALUES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": this.scope.project.name\n });\n description = this.scope.project.description;\n this.appMetaService.setAll(title, description);\n }\n\n ProjectValuesSectionController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n ProjectValuesSectionController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise;\n };\n\n return ProjectValuesSectionController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController);\n\n ProjectValuesController = (function(superClass) {\n extend(ProjectValuesController, superClass);\n\n ProjectValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\"];\n\n function ProjectValuesController(scope, rootscope, repo, confirm, rs) {\n var unwatch;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.moveValue = bind(this.moveValue, this);\n this.loadValues = bind(this.loadValues, this);\n this.scope.$on(\"admin:project-values:move\", this.moveValue);\n unwatch = this.scope.$watch(\"resource\", (function(_this) {\n return function(resource) {\n if (resource) {\n _this.loadValues();\n return unwatch();\n }\n };\n })(this));\n }\n\n ProjectValuesController.prototype.loadValues = function() {\n return this.rs[this.scope.resource].listValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(values) {\n _this.scope.values = values;\n _this.scope.maxValueOrder = _.maxBy(values, \"order\").order;\n return values;\n };\n })(this));\n };\n\n ProjectValuesController.prototype.moveValue = function(ctx, itemValue, itemIndex) {\n var r, values;\n values = this.scope.values;\n r = values.indexOf(itemValue);\n values.splice(r, 1);\n values.splice(itemIndex, 0, itemValue);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return ProjectValuesController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectValuesController\", ProjectValuesController);\n\n ProjectValuesDirective = function($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope, projectService) {\n var link, linkDragAndDrop, linkValue;\n linkDragAndDrop = function($scope, $el, $attrs) {\n var drake, itemEl, newParentScope, oldParentScope, scroll, tdom;\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el.find(\".sortable\");\n drake = dragula([tdom[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: tdom[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var itemIndex, itemValue;\n itemEl = $(item);\n itemValue = itemEl.scope().value;\n itemIndex = itemEl.index();\n return $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return drake.destroy();\n });\n };\n linkValue = function($scope, $el, $attrs) {\n var $ctrl, cancel, goToBottomList, initializeNewValue, initializeTextTranslations, objName, saveNewValue, saveValue, valueType;\n $ctrl = $el.controller();\n valueType = $attrs.type;\n objName = $attrs.objname;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"is_closed\": false,\n \"is_archived\": false\n };\n };\n initializeTextTranslations = function() {\n return $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_\" + (objName.toUpperCase()) + \".ACTION_ADD\");\n };\n initializeNewValue();\n initializeTextTranslations();\n $rootscope.$on(\"$translateChangeEnd\", function() {\n return $scope.$evalAsync(initializeTextTranslations);\n });\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = function(target) {\n var form, formEl, promise, value;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n value = formEl.scope().value;\n promise = $repo.save(value);\n promise.then((function(_this) {\n return function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n row.siblings(\".visualization\").removeClass('hidden');\n return projectService.fetchProject();\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n saveNewValue = function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n $scope.newValue.order = $scope.maxValueOrder ? $scope.maxValueOrder + 1 : 1;\n promise = $repo.create(valueType, $scope.newValue);\n promise.then((function(_this) {\n return function(data) {\n target.addClass(\"hidden\");\n $scope.values.push(data);\n $scope.maxValueOrder = data.order;\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n cancel = function(target) {\n var formEl, row, value;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n value.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").removeClass('hidden');\n return goToBottomList(true);\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n return $el.on(\"click\", \".delete-value\", function(event) {\n var choices, formEl, subtitle, target, text, title, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n choices = {};\n _.each($scope.values, function(option) {\n if (value.id !== option.id) {\n return choices[option.id] = option.name;\n }\n });\n subtitle = value.name;\n if (_.keys(choices).length === 0) {\n return $confirm.error($translate.instant(\"ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL\"));\n }\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE\");\n text = $translate.instant(\"ADMIN.PROJECT_VALUES.REPLACEMENT\");\n return $confirm.askChoice(title, subtitle, choices, text).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadValues()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $repo.remove(value, {\n \"moveTo\": response.selected\n }).then(onSucces, onError);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n linkDragAndDrop($scope, $el, $attrs);\n linkValue($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", \"tgProjectService\", ProjectValuesDirective]);\n\n ColorSelectionDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var $ctrl;\n $scope.colorList = getDefaulColorList();\n $scope.allowEmpty = false;\n if ($attrs.tgAllowEmpty) {\n $scope.allowEmpty = true;\n }\n $ctrl = $el.controller();\n $scope.$watch($attrs.ngModel, function(element) {\n return $scope.color = element.color;\n });\n $el.on(\"click\", \".current-color\", function(event) {\n var body, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n $(\".select-color\").hide();\n target.siblings(\".select-color\").show();\n body = angular.element(\"body\");\n return body.on(\"click\", (function(_this) {\n return function(event) {\n if (angular.element(event.target).parent(\".select-color\").length === 0) {\n $el.find(\".select-color\").hide();\n return body.unbind(\"click\");\n }\n };\n })(this));\n });\n $el.on(\"click\", \".select-color .color\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n $scope.$apply(function() {\n return $model.$modelValue.color = target.data(\"color\");\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"click\", \".select-color .selected-color\", function(event) {\n event.preventDefault();\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n event.stopPropagation();\n if (event.keyCode === 13) {\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n } else if (event.keyCode === 27) {\n return $el.find(\".select-color\").hide();\n }\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(\"tgColorSelection\", ColorSelectionDirective);\n\n TEXT_TYPE = \"text\";\n\n MULTILINE_TYPE = \"multiline\";\n\n RICHTEXT_TYPE = \"richtext\";\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: RICHTEXT_TYPE,\n name: \"ADMIN.CUSTOM_FIELDS.FIELD_TYPE_RICHTEXT\"\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 ];\n\n ProjectCustomAttributesController = (function(superClass) {\n extend(ProjectCustomAttributesController, superClass);\n\n ProjectCustomAttributesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function ProjectCustomAttributesController(scope, rootscope, repo, rs, params, q, location, navUrls, appMetaService, translate, projectService1) {\n var description, sectionName, title;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService1;\n this.moveCustomAttributes = bind(this.moveCustomAttributes, this);\n this.deleteCustomAttribute = bind(this.deleteCustomAttribute, this);\n this.saveCustomAttribute = bind(this.saveCustomAttribute, this);\n this.createCustomAttribute = bind(this.createCustomAttribute, this);\n this.loadCustomAttributes = bind(this.loadCustomAttributes, this);\n this.scope.TYPE_CHOICES = TYPE_CHOICES;\n this.scope.project = this.projectService.project.toJS();\n this.scope.projectId = this.scope.project.id;\n sectionName = this.translate.instant(this.scope.sectionName);\n title = this.translate.instant(\"ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": this.scope.project.name\n });\n description = this.scope.project.description;\n this.appMetaService.setAll(title, description);\n this.scope.init = (function(_this) {\n return function(type) {\n _this.scope.type = type;\n return _this.loadCustomAttributes();\n };\n })(this);\n }\n\n ProjectCustomAttributesController.prototype.loadCustomAttributes = function() {\n return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then((function(_this) {\n return function(customAttributes) {\n var ref;\n _this.scope.customAttributes = customAttributes;\n _this.scope.maxOrder = (ref = _.maxBy(customAttributes, \"order\")) != null ? ref.order : void 0;\n return customAttributes;\n };\n })(this));\n };\n\n ProjectCustomAttributesController.prototype.createCustomAttribute = function(attrValues) {\n return this.repo.create(\"custom-attributes/\" + this.scope.type, attrValues);\n };\n\n ProjectCustomAttributesController.prototype.saveCustomAttribute = function(attrModel) {\n return this.repo.save(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.deleteCustomAttribute = function(attrModel) {\n return this.repo.remove(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.moveCustomAttributes = function(attrModel, newIndex) {\n var customAttributes, r;\n customAttributes = this.scope.customAttributes;\n r = customAttributes.indexOf(attrModel);\n customAttributes.splice(r, 1);\n customAttributes.splice(newIndex, 0, attrModel);\n _.each(customAttributes, function(val, idx) {\n return val.order = idx;\n });\n return this.repo.saveAll(customAttributes);\n };\n\n return ProjectCustomAttributesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController);\n\n ProjectCustomAttributesDirective = function($log, $confirm, animationFrame, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, cancelCreate, cancelUpdate, create, deleteCustomAttribute, drake, hideAddButton, hideCancelButton, hideCreateForm, hideEditForm, resetNewAttr, revertChangesInCustomAttribute, showAddButton, showCancelButton, showCreateForm, showEditForm, sortableEl, update;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n sortableEl = $el.find(\".js-sortable\");\n drake = dragula([sortableEl[0]], {\n direction: 'vertical',\n copySortSource: false,\n copy: false,\n mirrorContainer: sortableEl[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var itemAttr, itemEl, itemIndex;\n itemEl = $(item);\n itemAttr = itemEl.scope().attr;\n itemIndex = itemEl.index();\n return $ctrl.moveCustomAttributes(itemAttr, itemIndex);\n });\n showCreateForm = function() {\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\");\n return $el.find(\".js-new-custom-field input:visible\").first().focus();\n };\n hideCreateForm = function() {\n return $el.find(\".js-new-custom-field\").addClass(\"hidden\");\n };\n showAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\");\n };\n hideAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").addClass(\"hidden\");\n };\n showCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\");\n };\n hideCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\");\n };\n resetNewAttr = function() {\n return $scope.newAttr = {};\n };\n create = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideCreateForm();\n resetNewAttr();\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = $scope.newAttr;\n attr.project = $scope.projectId;\n attr.order = $scope.maxOrder ? $scope.maxOrder + 1 : 1;\n return $ctrl.createCustomAttribute(attr).then(onSucces, onError);\n };\n cancelCreate = function() {\n hideCreateForm();\n return resetNewAttr();\n };\n $scope.$watch(\"customAttributes\", function(customAttributes) {\n if (!customAttributes) {\n return;\n }\n if (customAttributes.length === 0) {\n hideCancelButton();\n hideAddButton();\n return showCreateForm();\n } else {\n hideCreateForm();\n showAddButton();\n return showCancelButton();\n }\n });\n $el.on(\"click\", \".js-add-custom-field-button\", function(event) {\n event.preventDefault();\n return showCreateForm();\n });\n $el.on(\"click\", \".js-create-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n }));\n $el.on(\"click\", \".js-cancel-new-custom-field-button\", function(event) {\n event.preventDefault();\n return cancelCreate();\n });\n $el.on(\"keyup\", \".js-new-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n } else if (event.keyCode === 27) {\n return cancelCreate();\n }\n });\n showEditForm = function(formEl) {\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\");\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\");\n return formEl.find(\".js-edit-custom-field input:visible\").first().focus().select();\n };\n hideEditForm = function(formEl) {\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\");\n return formEl.find(\".js-view-custom-field\").removeClass(\"hidden\");\n };\n revertChangesInCustomAttribute = function(formEl) {\n return $scope.$apply(function() {\n return formEl.scope().attr.revert();\n });\n };\n update = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideEditForm(formEl);\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = formEl.scope().attr;\n return $ctrl.saveCustomAttribute(attr).then(onSucces, onError);\n };\n cancelUpdate = function(formEl) {\n hideEditForm(formEl);\n return revertChangesInCustomAttribute(formEl);\n };\n $el.on(\"click\", \".js-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return showEditForm(formEl);\n });\n $el.on(\"click\", \".js-update-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n }));\n $el.on(\"click\", \".js-cancel-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n });\n $el.on(\"keyup\", \".js-edit-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n }\n });\n deleteCustomAttribute = function(formEl) {\n var attr, message, text, title;\n attr = formEl.scope().attr;\n message = attr.name;\n title = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.DELETE\");\n text = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE\");\n return $confirm.ask(title, text, message).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadCustomAttributes()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\", null, \"We have not been able to delete '\" + message + \"'.\");\n };\n return $ctrl.deleteCustomAttribute(attr).then(onSucces, onError);\n });\n };\n return $el.on(\"click\", \".js-delete-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return deleteCustomAttribute(formEl);\n }));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", \"$translate\", ProjectCustomAttributesDirective]);\n\n ProjectTagsController = (function(superClass) {\n extend(ProjectTagsController, superClass);\n\n ProjectTagsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgModel\", \"tgProjectService\"];\n\n function ProjectTagsController(scope, rootscope, repo, confirm, rs, model, projectService1) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.model = model;\n this.projectService = projectService1;\n this.mixingClass = bind(this.mixingClass, this);\n this.cancelMixingTags = bind(this.cancelMixingTags, this);\n this.confirmMixingTags = bind(this.confirmMixingTags, this);\n this.toggleMixingFromTags = bind(this.toggleMixingFromTags, this);\n this.startMixingTags = bind(this.startMixingTags, this);\n this.deleteTag = bind(this.deleteTag, this);\n this.editTag = bind(this.editTag, this);\n this.createTag = bind(this.createTag, this);\n this.filterAndSortTags = bind(this.filterAndSortTags, this);\n this.loadTags = bind(this.loadTags, this);\n this.loading = true;\n this.loadTags();\n }\n\n ProjectTagsController.prototype.loadTags = function() {\n var project;\n project = this.projectService.project.toJS();\n return this.rs.projects.tagsColors(project.id).then((function(_this) {\n return function(tags) {\n _this.scope.projectTagsAll = _.map(tags.getAttrs(), function(color, name) {\n return _this.model.make_model('tag', {\n name: name,\n color: color\n });\n });\n _this.filterAndSortTags();\n return _this.loading = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.filterAndSortTags = function() {\n this.scope.projectTags = _.sortBy(this.scope.projectTagsAll, function(it) {\n return it.name.toLowerCase();\n });\n return this.scope.projectTags = _.filter(this.scope.projectTags, (function(_this) {\n return function(tag) {\n return tag.name.indexOf(_this.scope.tagsFilter.name) !== -1;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.createTag = function(tag, color) {\n return this.rs.projects.createTag(this.scope.projectId, tag, color);\n };\n\n ProjectTagsController.prototype.editTag = function(from_tag, to_tag, color) {\n if (from_tag === to_tag) {\n to_tag = null;\n }\n return this.rs.projects.editTag(this.scope.projectId, from_tag, to_tag, color);\n };\n\n ProjectTagsController.prototype.deleteTag = function(tag) {\n this.scope.loadingDelete = true;\n return this.rs.projects.deleteTag(this.scope.projectId, tag)[\"finally\"]((function(_this) {\n return function() {\n return _this.scope.loadingDelete = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.startMixingTags = function(tag) {\n return this.scope.mixingTags.toTag = tag.name;\n };\n\n ProjectTagsController.prototype.toggleMixingFromTags = function(tag) {\n var index;\n if (tag.name !== this.scope.mixingTags.toTag) {\n index = this.scope.mixingTags.fromTags.indexOf(tag.name);\n if (index === -1) {\n return this.scope.mixingTags.fromTags.push(tag.name);\n } else {\n return this.scope.mixingTags.fromTags.splice(index, 1);\n }\n }\n };\n\n ProjectTagsController.prototype.confirmMixingTags = function() {\n var fromTags, toTag;\n toTag = this.scope.mixingTags.toTag;\n fromTags = this.scope.mixingTags.fromTags;\n this.scope.loadingMixing = true;\n return this.rs.projects.mixTags(this.scope.projectId, toTag, fromTags).then((function(_this) {\n return function() {\n _this.cancelMixingTags();\n return _this.loadTags();\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.scope.loadingMixing = false;\n };\n })(this));\n };\n\n ProjectTagsController.prototype.cancelMixingTags = function() {\n this.scope.mixingTags.toTag = null;\n return this.scope.mixingTags.fromTags = [];\n };\n\n ProjectTagsController.prototype.mixingClass = function(tag) {\n if (this.scope.mixingTags.toTag !== null) {\n if (tag.name === this.scope.mixingTags.toTag) {\n return \"mixing-tags-to\";\n } else if (this.scope.mixingTags.fromTags.indexOf(tag.name) !== -1) {\n return \"mixing-tags-from\";\n }\n }\n };\n\n return ProjectTagsController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectTagsController\", ProjectTagsController);\n\n ProjectTagsDirective = function($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, $window, cancel, goToBottomList, initializeMixingTags, initializeNewValue, initializeTagsFilter, initializeTextTranslations, objName, saveNewValue, saveValue, valueType;\n $window = $(window);\n $ctrl = $el.controller();\n valueType = $attrs.type;\n objName = $attrs.objname;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"tag\": \"\",\n \"color\": \"\"\n };\n };\n initializeTagsFilter = function() {\n return $scope.tagsFilter = {\n \"name\": \"\"\n };\n };\n initializeMixingTags = function() {\n return $scope.mixingTags = {\n \"toTag\": null,\n \"fromTags\": []\n };\n };\n initializeTextTranslations = function() {\n return $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_TAGS.ACTION_ADD\");\n };\n initializeNewValue();\n initializeTagsFilter();\n initializeMixingTags();\n initializeTextTranslations();\n $rootscope.$on(\"$translateChangeEnd\", function() {\n return $scope.$evalAsync(initializeTextTranslations);\n });\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = (function(_this) {\n return function(target) {\n var form, formEl, originalTag, promise, tag;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n tag = formEl.scope().tag;\n originalTag = tag.clone();\n originalTag.revert();\n $scope.loadingEdit = true;\n promise = $ctrl.editTag(originalTag.name, tag.name, tag.color);\n promise.then(function() {\n return $ctrl.loadTags().then(function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n $scope.loadingEdit = false;\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n });\n return promise.then(null, function(response) {\n $scope.loadingEdit = false;\n return form.setErrors(response.data);\n });\n };\n })(this);\n saveNewValue = (function(_this) {\n return function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n formEl = target;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.loadingCreate = true;\n promise = $ctrl.createTag($scope.newValue.tag, $scope.newValue.color);\n promise.then(function(data) {\n return $ctrl.loadTags().then(function() {\n $scope.loadingCreate = false;\n target.addClass(\"hidden\");\n return initializeNewValue();\n });\n });\n return promise.then(null, function(response) {\n $scope.loadingCreate = false;\n return form.setErrors(response.data);\n });\n };\n })(this);\n cancel = function(target) {\n var formEl, row, tag;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n tag = formEl.scope().tag;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n tag.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $scope.$watch(\"tagsFilter.name\", function(tagsFilter) {\n return $ctrl.filterAndSortTags();\n });\n $window.on(\"keyup\", function(event) {\n if (event.keyCode === 27) {\n return $scope.$apply(function() {\n return initializeMixingTags();\n });\n }\n });\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n return $el.find(\".new-value\").removeClass('hidden');\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".mix-tags\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n return $ctrl.startMixingTags(target.parents('form').scope().tag);\n });\n });\n $el.on(\"click\", \".mixing-row\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return $scope.$apply(function() {\n return $ctrl.toggleMixingFromTags(target.parents('form').scope().tag);\n });\n });\n $el.on(\"click\", \".mixing-confirm\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $scope.$apply(function() {\n return $ctrl.confirmMixingTags();\n });\n });\n $el.on(\"click\", \".mixing-cancel\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $scope.$apply(function() {\n return $ctrl.cancelMixingTags();\n });\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"keyup\", \".status-name input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === 13) {\n return saveValue(target);\n } else if (event.keyCode === 27) {\n return cancel(target);\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n $el.on(\"click\", \".delete-tag\", function(event) {\n var formEl, tag, target, title;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n tag = formEl.scope().tag;\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_TAG\");\n return $confirm.askOnDelete(title, tag.name).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadTags()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $ctrl.deleteTag(tag.name).then(onSucces, onError);\n });\n });\n return $scope.$on(\"$destroy\", function() {\n $el.off();\n return $window.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectTags\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", ProjectTagsDirective]);\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/memberships.coffee\n */\n\n(function() {\n var EditRoleDirective, NewRoleDirective, RolePermissionsDirective, RolesController, RolesDirective, bindMethods, bindOnce, debounce, mixOf, 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 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 mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaAdmin\");\n\n RolesController = (function(superClass) {\n extend(RolesController, superClass);\n\n RolesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgModel\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function RolesController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, model, appMetaService, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.model = model;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n this._disableComputable = bind(this._disableComputable, this);\n this._enableComputable = bind(this._enableComputable, this);\n bindMethods(this);\n this.scope.sectionName = \"ADMIN.MENU.PERMISSIONS\";\n this.scope.project = {};\n this.scope.anyComputableRole = true;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.ROLES.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n RolesController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n project = this.model.make_model(\"projects\", project);\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.anyComputableRole = _.some(_.map(project.roles, function(point) {\n return point.computable;\n }));\n return project;\n };\n\n RolesController.prototype.loadRoles = function() {\n return this.rs.roles.list(this.scope.projectId).then((function(_this) {\n return function(roles) {\n var public_permission;\n roles = roles.map(function(role) {\n role.external_user = false;\n return role;\n });\n public_permission = {\n \"name\": _this.translate.instant(\"ADMIN.ROLES.EXTERNAL_USER\"),\n \"permissions\": _this.scope.project.public_permissions,\n \"external_user\": true\n };\n roles.push(public_permission);\n _this.scope.roles = roles;\n _this.scope.role = _this.scope.roles[0];\n return roles;\n };\n })(this));\n };\n\n RolesController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadRoles();\n };\n\n RolesController.prototype.forceLoadProject = function() {\n return this.projectService.fetchProject((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n RolesController.prototype.setRole = function(role) {\n this.scope.role = role;\n return this.scope.$broadcast(\"role:changed\", this.scope.role);\n };\n\n RolesController.prototype[\"delete\"] = function() {\n var choices, i, len, ref, replacement, role, subtitle, title, warning;\n choices = {};\n ref = this.scope.roles;\n for (i = 0, len = ref.length; i < len; i++) {\n role = ref[i];\n if (role.id !== this.scope.role.id) {\n choices[role.id] = role.name;\n }\n }\n if (_.keys(choices).length === 0) {\n return this.confirm.error(this.translate.instant(\"ADMIN.ROLES.ERROR_DELETE_ALL\"));\n }\n title = this.translate.instant(\"ADMIN.ROLES.TITLE_DELETE_ROLE\");\n subtitle = this.scope.role.name;\n replacement = this.translate.instant(\"ADMIN.ROLES.REPLACEMENT_ROLE\");\n warning = this.translate.instant(\"ADMIN.ROLES.WARNING_DELETE_ROLE\");\n return this.confirm.askChoice(title, subtitle, choices, replacement, warning).then((function(_this) {\n return function(response) {\n var onError, onSuccess;\n onSuccess = function() {\n _this.forceLoadProject();\n return _this.loadRoles()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return _this.confirm.notify('error');\n };\n return _this.repo.remove(_this.scope.role, {\n moveTo: response.selected\n }).then(onSuccess, onError);\n };\n })(this));\n };\n\n RolesController.prototype._enableComputable = function() {\n var onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this.confirm.notify(\"success\");\n return _this.forceLoadProject();\n };\n })(this);\n onError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.scope.role.revert();\n };\n })(this);\n return this.repo.save(this.scope.role).then(onSuccess, onError);\n };\n\n RolesController.prototype._disableComputable = function() {\n var askOnError, askOnSuccess, subtitle, title;\n askOnSuccess = (function(_this) {\n return function(response) {\n var onError, onSuccess;\n onSuccess = function() {\n response.finish();\n _this.confirm.notify(\"success\");\n return _this.forceLoadProject();\n };\n onError = function() {\n response.finish();\n _this.confirm.notify(\"error\");\n return _this.scope.role.revert();\n };\n return _this.repo.save(_this.scope.role).then(onSuccess, onError);\n };\n })(this);\n askOnError = (function(_this) {\n return function(response) {\n return _this.scope.role.revert();\n };\n })(this);\n title = this.translate.instant(\"ADMIN.ROLES.DISABLE_COMPUTABLE_ALERT_TITLE\");\n subtitle = this.translate.instant(\"ADMIN.ROLES.DISABLE_COMPUTABLE_ALERT_SUBTITLE\", {\n roleName: this.scope.role.name\n });\n return this.confirm.ask(title, subtitle, \"\").then(askOnSuccess, askOnError);\n };\n\n RolesController.prototype.toggleComputable = debounce(2000, function() {\n if (!this.scope.role.computable) {\n return this._disableComputable();\n } else {\n return this._enableComputable();\n }\n });\n\n return RolesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"RolesController\", RolesController);\n\n EditRoleDirective = function($repo, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit, toggleView;\n toggleView = function() {\n $el.find('.total').toggle();\n return $el.find('.edit-role').toggle();\n };\n submit = function() {\n var promise;\n $scope.role.name = $el.find(\"input\").val();\n promise = $repo.save($scope.role);\n promise.then(function() {\n return $confirm.notify(\"success\");\n });\n promise.then(null, function(data) {\n return $confirm.notify(\"error\");\n });\n return toggleView();\n };\n $el.on(\"click\", \".edit-value\", function() {\n toggleView();\n $el.find(\"input\").focus();\n return $el.find(\"input\").val($scope.role.name);\n });\n $el.on(\"click\", \"a.save\", submit);\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return submit();\n } else if (event.keyCode === 27) {\n return toggleView();\n }\n });\n $scope.$on(\"role:changed\", function() {\n if ($el.find('.edit-role').is(\":visible\")) {\n return toggleView();\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(\"tgEditRole\", [\"$tgRepo\", \"$tgConfirm\", EditRoleDirective]);\n\n RolesDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRoles\", RolesDirective);\n\n NewRoleDirective = function($tgrepo, $confirm) {\n var DEFAULT_PERMISSIONS, link;\n DEFAULT_PERMISSIONS = [\"view_project\", \"view_milestones\", \"view_us\", \"view_tasks\", \"view_issues\"];\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n $el.on(\"click\", \"a.add-button\", function(event) {\n event.preventDefault();\n $el.find(\".new\").removeClass(\"hidden\");\n $el.find(\".new\").focus();\n return $el.find(\".add-button\").hide();\n });\n return $el.on(\"keyup\", \".new\", function(event) {\n var newRole, onError, onSuccess, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newRole = {\n project: $scope.projectId,\n name: target.val(),\n permissions: DEFAULT_PERMISSIONS,\n order: _.maxBy($scope.roles, function(r) {\n return r.order;\n }).order + 1,\n computable: false\n };\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new\").val('');\n onSuccess = function(role) {\n var insertPosition;\n insertPosition = $scope.roles.length - 1;\n $scope.roles.splice(insertPosition, 0, role);\n $ctrl.setRole(role);\n $el.find(\".add-button\").show();\n return $ctrl.forceLoadProject();\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $tgrepo.create(\"roles\", newRole).then(onSuccess, onError);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n $el.find(\".new\").addClass(\"hidden\");\n $el.find(\".new\").val('');\n return $el.find(\".add-button\").show();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewRole\", [\"$tgRepo\", \"$tgConfirm\", NewRoleDirective]);\n\n RolePermissionsDirective = function($rootscope, $repo, $confirm, $compile) {\n var baseTemplate, categoryTemplate, link, resumeTemplate;\n resumeTemplate = _.template(\"
    \\\">
    \\n
    \\n
    <%- category.activePermissions %>/<%- category.permissions.length %>
    \\n <% _.each(category.permissions, function(permission) { %>\\n
    active<% } %>\\\"\\n title=\\\"{{ '<%- permission.name %>' | translate }}\\\">
    \\n <% }) %>\\n
    \\n\");\n categoryTemplate = _.template(\"
    \\\">\\n
    \\n
    \\n
    \\n
    \\n <% _.each(category.permissions, function(permission) { %>\\n
    \\\">\\n \\\">\\n
    \\n disabled=\\\"disabled\\\" <% } %>\\n <% if(permission.active) { %> checked=\\\"checked\\\" <% } %>/>\\n
    \\n \\n \\n
    \\n
    \\n <% }) %>\\n
    \\n
    \\n
    \");\n baseTemplate = _.template(\"
    \");\n link = function($scope, $el, $attrs) {\n var $ctrl, generateCategoriesFromRole, renderCategory, renderPermissions, renderResume;\n $ctrl = $el.controller();\n generateCategoriesFromRole = function(role) {\n var categories, epicPermissions, isPermissionEditable, issuePermissions, milestonePermissions, setActivePermissions, setActivePermissionsPerCategory, taskPermissions, userStoryPermissions, wikiPermissions;\n setActivePermissions = function(permissions) {\n return _.map(permissions, function(x) {\n var ref;\n return _.extend({}, x, {\n active: (ref = x[\"key\"], indexOf.call(role.permissions, ref) >= 0)\n });\n });\n };\n isPermissionEditable = function(permission, role, project) {\n if (role.external_user && !project.is_private && permission.key.indexOf(\"view_\") === 0) {\n return false;\n } else {\n return true;\n }\n };\n setActivePermissionsPerCategory = function(category) {\n return _.map(category, function(cat) {\n cat.permissions = cat.permissions.map(function(permission) {\n permission.editable = isPermissionEditable(permission, role, $scope.project);\n return permission;\n });\n return _.extend({}, cat, {\n activePermissions: _.filter(cat[\"permissions\"], \"active\").length\n });\n });\n };\n categories = [];\n epicPermissions = [\n {\n key: \"view_epics\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.VIEW_EPICS\"\n }, {\n key: \"add_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.ADD_EPICS\"\n }, {\n key: \"modify_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.MODIFY_EPICS\"\n }, {\n key: \"comment_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.COMMENT_EPICS\"\n }, {\n key: \"delete_epic\",\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.DELETE_EPICS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.EPICS.NAME\",\n permissions: setActivePermissions(epicPermissions)\n });\n milestonePermissions = [\n {\n key: \"view_milestones\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS\"\n }, {\n key: \"add_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS\"\n }, {\n key: \"modify_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS\"\n }, {\n key: \"delete_milestone\",\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME\",\n permissions: setActivePermissions(milestonePermissions)\n });\n userStoryPermissions = [\n {\n key: \"view_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES\"\n }, {\n key: \"add_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES\"\n }, {\n key: \"modify_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES\"\n }, {\n key: \"comment_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.COMMENT_USER_STORIES\"\n }, {\n key: \"delete_us\",\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME\",\n permissions: setActivePermissions(userStoryPermissions)\n });\n taskPermissions = [\n {\n key: \"view_tasks\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS\"\n }, {\n key: \"add_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS\"\n }, {\n key: \"modify_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS\"\n }, {\n key: \"comment_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.COMMENT_TASKS\"\n }, {\n key: \"delete_task\",\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME\",\n permissions: setActivePermissions(taskPermissions)\n });\n issuePermissions = [\n {\n key: \"view_issues\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES\"\n }, {\n key: \"add_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES\"\n }, {\n key: \"modify_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES\"\n }, {\n key: \"comment_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.COMMENT_ISSUES\"\n }, {\n key: \"delete_issue\",\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME\",\n permissions: setActivePermissions(issuePermissions)\n });\n wikiPermissions = [\n {\n key: \"view_wiki_pages\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES\"\n }, {\n key: \"add_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES\"\n }, {\n key: \"modify_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES\"\n }, {\n key: \"delete_wiki_page\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES\"\n }, {\n key: \"view_wiki_links\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS\"\n }, {\n key: \"add_wiki_link\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS\"\n }, {\n key: \"delete_wiki_link\",\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS\"\n }\n ];\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME\",\n permissions: setActivePermissions(wikiPermissions)\n });\n return setActivePermissionsPerCategory(categories);\n };\n renderResume = function(element, category) {\n return element.find(\".resume\").html($compile(resumeTemplate({\n category: category\n }))($scope));\n };\n renderCategory = function(category, index) {\n var html;\n html = categoryTemplate({\n category: category,\n index: index\n });\n html = angular.element(html);\n renderResume(html, category);\n return $compile(html)($scope);\n };\n renderPermissions = function() {\n var html;\n $el.off();\n html = baseTemplate();\n _.each(generateCategoriesFromRole($scope.role), function(category, index) {\n return html = angular.element(html).append(renderCategory(category, index));\n });\n $el.html(html);\n $el.on(\"click\", \".resume\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass(\"open-drawer\");\n return target.next().toggleClass(\"open\");\n });\n return $el.on(\"change\", \".category-item input\", function(event) {\n var getActivePermissions, onError, onSuccess, target;\n getActivePermissions = function() {\n var activePermissions;\n activePermissions = _.filter($el.find(\".category-item input\"), function(t) {\n return angular.element(t).is(\":checked\");\n });\n activePermissions = _.sortBy(_.map(activePermissions, function(t) {\n var permission;\n return permission = angular.element(t).parents(\".category-item\").data(\"id\");\n }));\n if (activePermissions.length) {\n activePermissions.push(\"view_project\");\n }\n return activePermissions;\n };\n target = angular.element(event.currentTarget);\n $scope.role.permissions = getActivePermissions();\n onSuccess = function() {\n var categories, categoryId;\n categories = generateCategoriesFromRole($scope.role);\n categoryId = target.parents(\".category-config\").data(\"id\");\n renderResume(target.parents(\".category-config\"), categories[categoryId]);\n $rootscope.$broadcast(\"projects:reload\");\n $confirm.notify(\"success\");\n return $ctrl.forceLoadProject();\n };\n onError = function() {\n $confirm.notify(\"error\");\n target.prop(\"checked\", !target.prop(\"checked\"));\n return $scope.role.permissions = getActivePermissions();\n };\n if ($scope.role.external_user) {\n $scope.project.public_permissions = $scope.role.permissions;\n $scope.project.anon_permissions = $scope.role.permissions.filter(function(permission) {\n return permission.indexOf(\"view_\") === 0;\n });\n return $repo.save($scope.project).then(onSuccess, onError);\n } else {\n return $repo.save($scope.role).then(onSuccess, onError);\n }\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n $scope.$on(\"role:changed\", function() {\n return renderPermissions();\n });\n return bindOnce($scope, $attrs.ngModel, renderPermissions);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRolePermissions\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", RolePermissionsDirective]);\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/third-parties.coffee\n */\n\n(function() {\n var BitbucketController, BitbucketWebhooksDirective, GithubController, GithubWebhooksDirective, GitlabController, GitlabWebhooksDirective, GogsController, GogsWebhooksDirective, NewWebhookDirective, SelectInputText, ValidOriginIpsDirective, WebhookDirective, WebhooksController, bindMethods, debounce, mixOf, 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 mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n debounce = this.taiga.debounce;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaAdmin\");\n\n WebhooksController = (function(superClass) {\n extend(WebhooksController, superClass);\n\n WebhooksController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$tgLocation\", \"$tgNavUrls\", \"tgAppMetaService\", \"$translate\", \"tgErrorHandlingService\", \"tgProjectService\"];\n\n function WebhooksController(scope, repo, rs, params, location, navUrls, appMetaService, translate, errorHandlingService, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = \"ADMIN.WEBHOOKS.SECTION_NAME\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.WEBHOOKS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"webhooks:reload\", this.loadWebhooks);\n }\n\n WebhooksController.prototype.loadWebhooks = function() {\n return this.rs.webhooks.list(this.scope.projectId).then((function(_this) {\n return function(webhooks) {\n return _this.scope.webhooks = webhooks;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n if (!project.i_am_admin) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n WebhooksController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadWebhooks();\n };\n\n return WebhooksController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"WebhooksController\", WebhooksController);\n\n WebhookDirective = function($rs, $repo, $confirm, $loading, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var cancel, openHistory, save, showEditMode, showVisualizationMode, updateLogs, updateShowHideHistoryText, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n updateLogs = function() {\n var prettyDate;\n prettyDate = $translate.instant(\"ADMIN.WEBHOOKS.DATE\");\n return $rs.webhooklogs.list(webhook.id).then((function(_this) {\n return function(webhooklogs) {\n var i, len, log, ref;\n for (i = 0, len = webhooklogs.length; i < len; i++) {\n log = webhooklogs[i];\n log.validStatus = (200 <= (ref = log.status) && ref < 300);\n log.prettySentHeaders = _.map(_.toPairs(log.request_headers), function(arg) {\n var header, value;\n header = arg[0], value = arg[1];\n return header + \": \" + value;\n }).join(\"\\n\");\n log.prettySentData = JSON.stringify(log.request_data);\n log.prettyDate = moment(log.created).format(prettyDate);\n }\n webhook.logs_counter = webhooklogs.length;\n webhook.logs = webhooklogs;\n return updateShowHideHistoryText();\n };\n })(this));\n };\n updateShowHideHistoryText = function() {\n var historyElement, text, textElement, title;\n textElement = $el.find(\".toggle-history\");\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\");\n if (historyElement.hasClass(\"open\")) {\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY\");\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY_TITLE\");\n } else {\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY\");\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY_TITLE\");\n }\n textElement.text(text);\n return textElement.prop(\"title\", title);\n };\n showVisualizationMode = function() {\n $el.find(\".edition-mode\").addClass(\"hidden\");\n return $el.find(\".visualization-mode\").removeClass(\"hidden\");\n };\n showEditMode = function() {\n $el.find(\".visualization-mode\").addClass(\"hidden\");\n return $el.find(\".edition-mode\").removeClass(\"hidden\");\n };\n openHistory = function() {\n return $el.find(\".webhooks-history\").addClass(\"open\");\n };\n cancel = function() {\n showVisualizationMode();\n return $scope.$apply(function() {\n return webhook.revert();\n });\n };\n save = debounce(2000, function(target) {\n var form, promise;\n form = target.parents(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save(webhook);\n promise.then((function(_this) {\n return function() {\n return showVisualizationMode();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n $el.on(\"click\", \".test-webhook\", function() {\n openHistory();\n return $rs.webhooks.test(webhook.id).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n $el.on(\"click\", \".edit-webhook\", function() {\n return showEditMode();\n });\n $el.on(\"click\", \".cancel-existing\", function() {\n return cancel();\n });\n $el.on(\"click\", \".edit-existing\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return save(target);\n });\n $el.on(\"keyup\", \".edition-mode input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return save(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"click\", \".delete-webhook\", function() {\n var message, title;\n title = $translate.instant(\"ADMIN.WEBHOOKS.DELETE\");\n message = $translate.instant(\"ADMIN.WEBHOOKS.WEBHOOK_NAME\", {\n name: webhook.name\n });\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSucces;\n onSucces = function() {\n askResponse.finish();\n return $scope.$emit(\"webhooks:reload\");\n };\n onError = function() {\n askResponse.finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove(webhook).then(onSucces, onError);\n };\n })(this));\n });\n $el.on(\"click\", \".toggle-history\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if ((webhook.logs == null) || webhook.logs.length === 0) {\n return updateLogs().then(function() {\n return timeout(0, function() {\n $el.find(\".webhooks-history\").toggleClass(\"open\").slideToggle();\n return updateShowHideHistoryText();\n });\n });\n } else {\n $el.find(\".webhooks-history\").toggleClass(\"open\").slideToggle();\n return $scope.$apply(function() {\n return updateShowHideHistoryText();\n });\n }\n });\n $el.on(\"click\", \".history-single\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n target.toggleClass(\"history-single-open\");\n return target.siblings(\".history-single-response\").toggleClass(\"open\");\n });\n return $el.on(\"click\", \".resend-request\", function(event) {\n var log, target;\n target = angular.element(event.currentTarget);\n log = target.data(\"log\");\n return $rs.webhooklogs.resend(log).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$translate\", WebhookDirective]);\n\n NewWebhookDirective = function($rs, $repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var addWebhookDOMNode, formDOMNode, initializeNewValue, save, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n formDOMNode = $el.find(\".new-webhook-form\");\n addWebhookDOMNode = $el.find(\".add-webhook\");\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"url\": \"\",\n \"key\": \"\"\n };\n };\n initializeNewValue();\n $scope.$watch(\"webhooks\", function(webhooks) {\n if (webhooks != null) {\n if (webhooks.length === 0) {\n formDOMNode.removeClass(\"hidden\");\n addWebhookDOMNode.addClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n } else {\n formDOMNode.addClass(\"hidden\");\n return addWebhookDOMNode.removeClass(\"hidden\");\n }\n }\n });\n save = debounce(2000, function() {\n var form, promise;\n form = formDOMNode.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n promise = $repo.create(\"webhooks\", $scope.newValue);\n promise.then((function(_this) {\n return function() {\n $analytics.trackEvent(\"webhooks\", \"create\", \"Create new webhook\", 1);\n $scope.$emit(\"webhooks:reload\");\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n formDOMNode.on(\"click\", \".add-new\", function(event) {\n event.preventDefault();\n return save();\n });\n formDOMNode.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return save();\n }\n });\n formDOMNode.on(\"click\", \".cancel-new\", function(event) {\n return $scope.$apply(function() {\n initializeNewValue();\n if ($scope.webhooks.length >= 1) {\n return formDOMNode.addClass(\"hidden\");\n }\n });\n });\n return addWebhookDOMNode.on(\"click\", function(event) {\n formDOMNode.removeClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", NewWebhookDirective]);\n\n GithubController = (function(superClass) {\n extend(GithubController, superClass);\n\n GithubController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GithubController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GITHUB.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GITHUB.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GithubController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"github\").then((function(_this) {\n return function(github) {\n return _this.scope.github = github;\n };\n })(this));\n };\n\n GithubController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GithubController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return this.loadModules();\n };\n\n return GithubController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GithubController\", GithubController);\n\n GitlabController = (function(superClass) {\n extend(GitlabController, superClass);\n\n GitlabController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GitlabController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GITLAB.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GITLAB.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n GitlabController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gitlab\").then((function(_this) {\n return function(gitlab) {\n return _this.scope.gitlab = gitlab;\n };\n })(this));\n };\n\n GitlabController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GitlabController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return GitlabController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GitlabController\", GitlabController);\n\n BitbucketController = (function(superClass) {\n extend(BitbucketController, superClass);\n\n BitbucketController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function BitbucketController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.BITBUCKET.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.BITBUCKET.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n BitbucketController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"bitbucket\").then((function(_this) {\n return function(bitbucket) {\n return _this.scope.bitbucket = bitbucket;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n BitbucketController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return BitbucketController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"BitbucketController\", BitbucketController);\n\n SelectInputText = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", \".select-input-content\", function() {\n $el.find(\"input\").select();\n return $el.find(\".help-copy\").addClass(\"visible\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSelectInputText\", SelectInputText);\n\n GithubWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\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.saveAttribute($scope.github, \"github\");\n promise.then(function() {\n $analytics.trackEvent(\"github-webhook\", \"created-or-changed\", \"Create or changed github webhook\", 1);\n currentLoading.finish();\n return $confirm.notify(\"success\");\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 return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GithubWebhooksDirective]);\n\n GitlabWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\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.saveAttribute($scope.gitlab, \"gitlab\");\n promise.then(function() {\n $analytics.trackEvent(\"gitlab-webhook\", \"created-or-changed\", \"Create or changed gitlab webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\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 return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GitlabWebhooksDirective]);\n\n BitbucketWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\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.saveAttribute($scope.bitbucket, \"bitbucket\");\n promise.then(function() {\n $analytics.trackEvent(\"bitbucket-webhook\", \"created-or-changed\", \"Create or changed bitbucket webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\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 return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", BitbucketWebhooksDirective]);\n\n ValidOriginIpsDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $ngModel) {\n return $ngModel.$parsers.push(function(value) {\n value = $.trim(value);\n if (value === \"\") {\n return [];\n }\n return value.split(\",\");\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgValidOriginIps\", ValidOriginIpsDirective);\n\n GogsController = (function(superClass) {\n extend(GogsController, superClass);\n\n GogsController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"tgAppMetaService\", \"$translate\", \"tgProjectService\"];\n\n function GogsController(scope, repo, rs, params, appMetaService, translate, projectService) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n bindMethods(this);\n this.scope.sectionName = this.translate.instant(\"ADMIN.GOGS.SECTION_NAME\");\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n var description, title;\n title = _this.translate.instant(\"ADMIN.GOGS.PAGE_TITLE\", {\n projectName: _this.scope.project.name\n });\n description = _this.scope.project.description;\n return _this.appMetaService.setAll(title, description);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GogsController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gogs\").then((function(_this) {\n return function(gogs) {\n return _this.scope.gogs = gogs;\n };\n })(this));\n };\n\n GogsController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n return project;\n };\n\n GogsController.prototype.loadInitialData = function() {\n this.loadProject();\n return this.loadModules();\n };\n\n return GogsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n GogsWebhooksDirective = function($repo, $confirm, $loading, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\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.saveAttribute($scope.gogs, \"gogs\");\n promise.then(function() {\n $analytics.trackEvent(\"gogs-webhook\", \"create-or-change\", \"Create or change gogs webhook\", 1);\n currentLoading.finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\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 $el.on(\"click\", \".submit-button\", submit);\n };\n return {\n link: link\n };\n };\n\n module.controller(\"GogsController\", GogsController);\n\n module.directive(\"tgGogsWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgAnalytics\", GogsWebhooksDirective]);\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/attachments.coffee\n */\n\n(function() {\n var DeleteProjectDirective, bindOnce, debounce, module, taiga, timeout;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n timeout = this.taiga.timeout;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaProject\");\n\n DeleteProjectDirective = function($repo, $rootscope, $auth, $location, $navUrls, $confirm, lightboxService, tgLoader, currentUserService, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var projectToDelete, submit;\n projectToDelete = null;\n $scope.$on(\"deletelightbox:new\", function(ctx, project) {\n lightboxService.open($el);\n return projectToDelete = project;\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var promise;\n tgLoader.start();\n lightboxService.close($el);\n promise = $repo.remove(projectToDelete);\n promise.then(function(data) {\n $analytics.trackEvent(\"projects\", \"delete\", \"Delete project\", 1);\n tgLoader.pageLoaded();\n $rootscope.$broadcast(\"projects:reload\");\n $location.path($navUrls.resolve(\"home\"));\n $confirm.notify(\"success\");\n return currentUserService.loadProjects();\n });\n return promise.then(null, function() {\n $confirm.notify(\"error\");\n return lightboxService.close($el);\n });\n };\n $el.on(\"click\", \".button-red\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n return $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return submit();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbDeleteProject\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfirm\", \"lightboxService\", \"tgLoader\", \"tgCurrentUserService\", \"$tgAnalytics\", DeleteProjectDirective]);\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/bind.coffee\n */\n\n(function() {\n var BindHtmlDirective, BindOnceAltDirective, BindOnceBindDirective, BindOnceHrefDirective, BindOnceHtmlDirective, BindOnceRefDirective, BindOnceSrcDirective, BindOnceTitleDirective, BindTitleDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n BindOnceBindDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoBind, function(val) {\n return $el.text(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHtml, function(val) {\n return $el.html(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceRefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoRef, function(val) {\n return $el.html(\"#\" + val + \" \");\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceSrcDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoSrc, function(val) {\n return $el.attr(\"src\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHrefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHref, function(val) {\n return $el.attr(\"href\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceAltDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoAlt, function(val) {\n return $el.attr(\"alt\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoTitle, function(val) {\n return $el.attr(\"title\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgTitleHtml, function(val) {\n if (val != null) {\n return $el.attr(\"title\", val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n BindHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgBindHtml, function(val) {\n if (val != null) {\n return $el.html(val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.directive(\"tgBoBind\", BindOnceBindDirective);\n\n module.directive(\"tgBoHtml\", BindOnceHtmlDirective);\n\n module.directive(\"tgBoRef\", BindOnceRefDirective);\n\n module.directive(\"tgBoSrc\", BindOnceSrcDirective);\n\n module.directive(\"tgBoHref\", BindOnceHrefDirective);\n\n module.directive(\"tgBoAlt\", BindOnceAltDirective);\n\n module.directive(\"tgBoTitle\", BindOnceTitleDirective);\n\n module.directive(\"tgBindTitle\", BindTitleDirective);\n\n module.directive(\"tgBindHtml\", BindHtmlDirective);\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/conf.coffee\n */\n\n(function() {\n var ConfigurationService, module;\n\n ConfigurationService = (function() {\n function ConfigurationService() {\n this.config = window.taigaConfig;\n }\n\n ConfigurationService.prototype.get = function(key, defaultValue) {\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (_.has(this.config, key)) {\n return this.config[key];\n }\n return defaultValue;\n };\n\n return ConfigurationService;\n\n })();\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgConfig\", ConfigurationService);\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/contrib.coffee\n */\n\n(function() {\n var ContribController, ContribUserSettingsController, module,\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 module = angular.module(\"taigaBase\");\n\n ContribController = (function(superClass) {\n extend(ContribController, superClass);\n\n ContribController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"tgProjectService\"];\n\n function ContribController(rootScope, scope, params, repo, rs, confirm, projectService) {\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.projectService = projectService;\n this.scope.currentPlugin = _.head(_.filter(this.rootScope.adminPlugins, {\n \"slug\": this.params.plugin\n }));\n this.scope.projectSlug = this.params.pslug;\n this.loadInitialData();\n }\n\n ContribController.prototype.loadProject = function() {\n var project;\n project = this.projectService.project.toJS();\n this.scope.projectId = project.id;\n this.scope.project = project;\n this.scope.$emit('project:loaded', project);\n this.scope.$broadcast('project:loaded', project);\n return project;\n };\n\n ContribController.prototype.loadInitialData = function() {\n return this.loadProject();\n };\n\n return ContribController;\n\n })(taiga.Controller);\n\n module.controller(\"ContribController\", ContribController);\n\n ContribUserSettingsController = (function(superClass) {\n extend(ContribUserSettingsController, superClass);\n\n ContribUserSettingsController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\"];\n\n function ContribUserSettingsController(rootScope, scope, params) {\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.scope.currentPlugin = _.head(_.filter(this.rootScope.userSettingsPlugins, {\n \"slug\": this.params.plugin\n }));\n }\n\n return ContribUserSettingsController;\n\n })(taiga.Controller);\n\n module.controller(\"ContribUserSettingsController\", ContribUserSettingsController);\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/filters.coffee\n */\n\n(function() {\n var FiltersStorageService, 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 FiltersStorageService = (function(superClass) {\n extend(FiltersStorageService, superClass);\n\n FiltersStorageService.$inject = [\"$tgStorage\", \"$routeParams\"];\n\n function FiltersStorageService(storage, params) {\n this.storage = storage;\n this.params = params;\n }\n\n FiltersStorageService.prototype.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 return FiltersStorageService;\n\n })(taiga.Service);\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/http.coffee\n */\n\n(function() {\n var HttpService, 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 HttpService = (function(superClass) {\n extend(HttpService, superClass);\n\n HttpService.$inject = [\"$http\", \"$q\", \"$tgStorage\", \"$rootScope\", \"$cacheFactory\", \"$translate\"];\n\n function HttpService(http, q, storage, rootScope, cacheFactory, translate) {\n this.http = http;\n this.q = q;\n this.storage = storage;\n this.rootScope = rootScope;\n this.cacheFactory = cacheFactory;\n this.translate = translate;\n HttpService.__super__.constructor.call(this);\n this.cache = this.cacheFactory(\"httpget\");\n }\n\n HttpService.prototype.headers = function() {\n var headers, lang, token;\n headers = {};\n token = this.storage.get('token');\n if (token) {\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n lang = this.translate.preferredLanguage();\n if (lang) {\n headers[\"Accept-Language\"] = lang;\n }\n return headers;\n };\n\n HttpService.prototype.request = function(options) {\n options.headers = _.assign({}, options.headers || {}, this.headers());\n return this.http(options);\n };\n\n HttpService.prototype.get = function(url, params, options) {\n options = _.assign({\n method: \"GET\",\n url: url\n }, options);\n if (params) {\n options.params = params;\n }\n options.cache = this.cache;\n return this.request(options)[\"finally\"]((function(_this) {\n return function(data) {\n return _this.cache.removeAll();\n };\n })(this));\n };\n\n HttpService.prototype.post = function(url, data, params, options) {\n options = _.assign({\n method: \"POST\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.put = function(url, data, params, options) {\n options = _.assign({\n method: \"PUT\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.patch = function(url, data, params, options) {\n options = _.assign({\n method: \"PATCH\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype[\"delete\"] = function(url, data, params, options) {\n options = _.assign({\n method: \"DELETE\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n return HttpService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgHttp\", HttpService);\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/location.coffee\n */\n\n(function() {\n var locationFactory, module;\n\n locationFactory = function($location, $route, $rootscope) {\n $location.noreload = function(scope) {\n var lastRoute, un;\n lastRoute = $route.current;\n un = scope.$on(\"$locationChangeSuccess\", function() {\n $route.current = lastRoute;\n return un();\n });\n return $location;\n };\n $location.isInCurrentRouteParams = function(name, value) {\n var params;\n params = $location.search() || {};\n return params[name] === value;\n };\n return $location;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory]);\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/model.coffee\n */\n\n(function() {\n var Model, ModelService, module, provider, taiga,\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 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 Model = (function() {\n function Model(name, data, dataTypes) {\n this._attrs = data;\n this._name = name;\n this._dataTypes = dataTypes;\n this.setAttrs(data);\n this.initialize();\n }\n\n Model.prototype.realClone = function() {\n var attrs, instance;\n attrs = _.cloneDeep(this._attrs);\n instance = new Model(this._name, attrs, this._dataTypes);\n instance._modifiedAttrs = _.cloneDeep(this._modifiedAttrs);\n instance._isModified = _.cloneDeep(this._isModified);\n return instance;\n };\n\n Model.prototype.clone = function() {\n var instance;\n instance = new Model(this._name, this._attrs, this._dataTypes);\n instance._modifiedAttrs = this._modifiedAttrs;\n instance._isModified = this._isModified;\n return instance;\n };\n\n Model.prototype.applyCasts = function() {\n var attrName, castMethod, castName, ref, results;\n ref = this._dataTypes;\n results = [];\n for (attrName in ref) {\n castName = ref[attrName];\n castMethod = service.casts[castName];\n if (!castMethod) {\n continue;\n }\n results.push(this._attrs[attrName] = castMethod(this._attrs[attrName]));\n }\n return results;\n };\n\n Model.prototype.getIdAttrName = function() {\n return \"id\";\n };\n\n Model.prototype.getName = function() {\n return this._name;\n };\n\n Model.prototype.getAttrs = function(patch) {\n if (patch == null) {\n patch = false;\n }\n if (this._attrs.version != null) {\n this._modifiedAttrs.version = this._attrs.version;\n }\n if (patch) {\n return _.extend({}, this._modifiedAttrs);\n }\n return _.extend({}, this._attrs, this._modifiedAttrs);\n };\n\n Model.prototype.setAttrs = function(attrs) {\n this._attrs = attrs;\n this._modifiedAttrs = {};\n this.applyCasts();\n return this._isModified = false;\n };\n\n Model.prototype.setAttr = function(name, value) {\n this._modifiedAttrs[name] = value;\n return this._isModified = true;\n };\n\n Model.prototype.initialize = function() {\n var getter, self, setter;\n self = this;\n getter = function(name) {\n return function() {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n return self[name];\n }\n if (indexOf.call(_.keys(self._modifiedAttrs), name) < 0) {\n return self._attrs[name];\n }\n return self._modifiedAttrs[name];\n };\n };\n setter = function(name) {\n return function(value) {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n self[name] = value;\n return;\n }\n if (self._attrs[name] !== value) {\n self._modifiedAttrs[name] = value;\n self._isModified = true;\n } else {\n delete self._modifiedAttrs[name];\n }\n };\n };\n return _.each(this._attrs, function(value, name) {\n var options;\n options = {\n get: getter(name),\n set: setter(name),\n enumerable: true,\n configurable: true\n };\n return Object.defineProperty(self, name, options);\n });\n };\n\n Model.prototype.serialize = function() {\n var data;\n data = {\n \"data\": _.clone(this._attrs),\n \"name\": this._name\n };\n return JSON.stringify(data);\n };\n\n Model.prototype.isModified = function() {\n return this._isModified;\n };\n\n Model.prototype.isAttributeModified = function(attribute) {\n return this._modifiedAttrs[attribute] != null;\n };\n\n Model.prototype.markSaved = function() {\n this._isModified = false;\n this._attrs = this.getAttrs();\n return this._modifiedAttrs = {};\n };\n\n Model.prototype.revert = function() {\n this._modifiedAttrs = {};\n return this._isModified = false;\n };\n\n Model.desSerialize = function(sdata) {\n var ddata, model;\n ddata = JSON.parse(sdata);\n model = new Model(ddata.url, ddata.data);\n return model;\n };\n\n return Model;\n\n })();\n\n taiga = this.taiga;\n\n ModelService = (function(superClass) {\n extend(ModelService, superClass);\n\n ModelService.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"];\n\n function ModelService(q, urls, storage, http) {\n this.q = q;\n this.urls = urls;\n this.storage = storage;\n this.http = http;\n ModelService.__super__.constructor.call(this);\n }\n\n return ModelService;\n\n })(taiga.Service);\n\n provider = function($q, $http, $gmUrls, $gmStorage) {\n var service;\n service = {};\n service.make_model = function(name, data, cls, dataTypes) {\n if (cls == null) {\n cls = Model;\n }\n if (dataTypes == null) {\n dataTypes = {};\n }\n return new cls(name, data, dataTypes);\n };\n service.cls = Model;\n service.casts = {\n int: function(value) {\n return parseInt(value, 10);\n },\n float: function(value) {\n return parseFloat(value, 10);\n }\n };\n return service;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider]);\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/navurl.coffee\n */\n\n(function() {\n var NavigationUrlsDirective, NavigationUrlsService, bindOnce, 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 trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\");\n\n NavigationUrlsService = (function(superClass) {\n extend(NavigationUrlsService, superClass);\n\n function NavigationUrlsService() {\n this.urls = {};\n }\n\n NavigationUrlsService.prototype.update = function(urls) {\n return this.urls = _.merge({}, this.urls, urls || {});\n };\n\n NavigationUrlsService.prototype.formatUrl = function(url, ctx) {\n var replacer;\n if (ctx == null) {\n ctx = {};\n }\n replacer = function(match) {\n match = trim(match, \":\");\n return ctx[match] || \"undefined\";\n };\n return url.replace(/(:\\w+)/g, replacer);\n };\n\n NavigationUrlsService.prototype.resolve = function(name, ctx) {\n var url;\n url = this.urls[name];\n if (!url) {\n return \"\";\n }\n if (ctx) {\n return this.formatUrl(url, ctx);\n }\n return url;\n };\n\n return NavigationUrlsService;\n\n })(taiga.Service);\n\n module.service(\"$tgNavUrls\", NavigationUrlsService);\n\n NavigationUrlsDirective = function($navurls, $auth, $q, $location, lightboxService) {\n var bindOnceP, link, parseNav;\n bindOnceP = function($scope, attr) {\n var defered;\n defered = $q.defer();\n bindOnce($scope, attr, function(v) {\n return defered.resolve(v);\n });\n return defered.promise;\n };\n parseNav = function(data, $scope) {\n var index, name, obj, params, promises, ref, result, values;\n ref = _.map(data.split(\":\"), trim), name = ref[0], params = ref[1];\n if (params) {\n result = params.split(/(\\w+)=/);\n result = _.filter(result, function(str) {\n return str.length;\n });\n result = _.map(result, function(str) {\n return trim(str.replace(/,$/g, ''));\n });\n params = [];\n index = 0;\n while (index < result.length) {\n obj = {};\n obj[result[index]] = result[index + 1];\n params.push(obj);\n index = index + 2;\n }\n } else {\n params = [];\n }\n values = _.map(params, function(param) {\n return _.values(param)[0];\n });\n promises = _.map(values, function(x) {\n return bindOnceP($scope, x);\n });\n return $q.all(promises).then(function() {\n var i, key, len, options, param, value;\n options = {};\n for (i = 0, len = params.length; i < len; i++) {\n param = params[i];\n key = Object.keys(param)[0];\n value = param[key];\n options[key] = $scope.$eval(value);\n }\n return [name, options];\n });\n };\n link = function($scope, $el, $attrs) {\n if ($el.is(\"a\")) {\n $el.attr(\"href\", \"#\");\n }\n $el.on(\"mouseenter\", function(event) {\n var target;\n target = $(event.currentTarget);\n if (!target.data(\"fullUrl\") || $attrs.tgNavGetParams !== target.data(\"params\")) {\n return parseNav($attrs.tgNav, $scope).then(function(result) {\n var fullUrl, getURLParams, getURLParamsStr, name, options, url, user;\n name = result[0], options = result[1];\n user = $auth.getUser();\n if (user) {\n options.user = user.username;\n }\n url = $navurls.resolve(name);\n fullUrl = $navurls.formatUrl(url, options);\n if ($attrs.tgNavGetParams) {\n getURLParams = JSON.parse($attrs.tgNavGetParams);\n getURLParamsStr = $.param(getURLParams);\n fullUrl = fullUrl + \"?\" + getURLParamsStr;\n target.data(\"params\", $attrs.tgNavGetParams);\n }\n target.data(\"fullUrl\", fullUrl);\n if (target.is(\"a\")) {\n target.attr(\"href\", fullUrl);\n }\n return $el.on(\"click\", function(event) {\n if (event.metaKey || event.ctrlKey) {\n return;\n }\n event.preventDefault();\n target = $(event.currentTarget);\n if (target.hasClass('noclick')) {\n return;\n }\n fullUrl = target.data(\"fullUrl\");\n switch (event.which) {\n case 1:\n $location.url(fullUrl);\n $scope.$apply();\n break;\n case 2:\n window.open(fullUrl);\n }\n return lightboxService.closeAll();\n });\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", \"lightboxService\", NavigationUrlsDirective]);\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/repository.coffee\n */\n\n(function() {\n var RepositoryService, 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 RepositoryService = (function(superClass) {\n extend(RepositoryService, superClass);\n\n RepositoryService.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"];\n\n function RepositoryService(q, model1, storage, http, urls) {\n this.q = q;\n this.model = model1;\n this.storage = storage;\n this.http = http;\n this.urls = urls;\n RepositoryService.__super__.constructor.call(this);\n }\n\n RepositoryService.prototype.resolveUrlForModel = function(model) {\n var idAttrName;\n idAttrName = model.getIdAttrName();\n return (this.urls.resolve(model.getName())) + \"/\" + model[idAttrName];\n };\n\n RepositoryService.prototype.resolveUrlForAttributeModel = function(model) {\n return this.urls.resolve(model.getName(), model.parent);\n };\n\n RepositoryService.prototype.create = function(name, data, dataTypes, extraParams) {\n var defered, promise, url;\n if (dataTypes == null) {\n dataTypes = {};\n }\n if (extraParams == null) {\n extraParams = {};\n }\n defered = this.q.defer();\n url = this.urls.resolve(name);\n promise = this.http.post(url, JSON.stringify(data), extraParams);\n promise.success((function(_this) {\n return function(_data, _status) {\n return defered.resolve(_this.model.make_model(name, _data, null, dataTypes));\n };\n })(this));\n promise.error((function(_this) {\n return function(data, status) {\n return defered.reject(data);\n };\n })(this));\n return defered.promise;\n };\n\n RepositoryService.prototype.remove = function(model, params) {\n var defered, promise, url;\n if (params == null) {\n params = {};\n }\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http[\"delete\"](url, {}, params);\n promise.success(function(data, status) {\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(model);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAll = function(models, patch) {\n var promises;\n if (patch == null) {\n patch = true;\n }\n promises = _.map(models, (function(_this) {\n return function(x) {\n return _this.save(x, true);\n };\n })(this));\n return this.q.all(promises);\n };\n\n RepositoryService.prototype.save = function(model, patch, params, options, returnHeaders) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n if (params == null) {\n params = {};\n }\n if (returnHeaders == null) {\n returnHeaders = false;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForModel(model);\n data = JSON.stringify(model.getAttrs(patch));\n if (patch) {\n promise = this.http.patch(url, data, params, options);\n } else {\n promise = this.http.put(url, data, params, options);\n }\n promise.success((function(_this) {\n return function(data, status, headers, response) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n if (returnHeaders) {\n return defered.resolve([model, headers()]);\n } else {\n return defered.resolve(model);\n }\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAttribute = function(model, attribute, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForAttributeModel(model);\n data = {};\n data[attribute] = model.getAttrs();\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.refresh = function(model) {\n var defered, promise, url;\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http.get(url);\n promise.success(function(data, status) {\n model._modifiedAttrs = {};\n model._attrs = data;\n model._isModified = false;\n model.applyCasts();\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.queryMany = function(name, params, options, headers) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n if (headers == null) {\n headers = false;\n }\n url = this.urls.resolve(name);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var result;\n result = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n if (headers) {\n return [result, data.headers];\n }\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneAttribute = function(name, id, attribute, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name, id);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var model;\n model = _this.model.make_model(name, data.data[attribute]);\n model.parent = id;\n return model;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOne = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _this.model.make_model(name, data.data);\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryPaginated = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.models = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOnePaginatedRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.data = data.data;\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.resolve = function(options) {\n var cache, params;\n params = {};\n if (options.pslug != null) {\n params.project = options.pslug;\n }\n if (options.usref != null) {\n params.us = options.usref;\n }\n if (options.taskref != null) {\n params.task = options.taskref;\n }\n if (options.issueref != null) {\n params.issue = options.issueref;\n }\n if (options.sslug != null) {\n params.milestone = options.sslug;\n }\n if (options.wikipage != null) {\n params.wikipage = options.wikipage;\n }\n if (options.ref != null) {\n params.ref = options.ref;\n }\n cache = !(options.wikipage || options.sslug);\n return this.queryOneRaw(\"resolver\", null, params, {\n cache: cache\n });\n };\n\n return RepositoryService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgRepo\", RepositoryService);\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/storage.coffee\n */\n\n(function() {\n var StorageService, 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 StorageService = (function(superClass) {\n extend(StorageService, superClass);\n\n StorageService.$inject = [\"$rootScope\"];\n\n function StorageService($rootScope) {\n StorageService.__super__.constructor.call(this);\n }\n\n StorageService.prototype.get = function(key, _default) {\n var serializedValue;\n serializedValue = localStorage.getItem(key);\n if (serializedValue === null) {\n return _default || null;\n }\n return JSON.parse(serializedValue);\n };\n\n StorageService.prototype.set = function(key, val) {\n if (_.isObject(key)) {\n return _.each(key, (function(_this) {\n return function(val, key) {\n return _this.set(key, val);\n };\n })(this));\n } else {\n return localStorage.setItem(key, JSON.stringify(val));\n }\n };\n\n StorageService.prototype.contains = function(key) {\n var value;\n value = this.get(key);\n return value !== null;\n };\n\n StorageService.prototype.remove = function(key) {\n return localStorage.removeItem(key);\n };\n\n StorageService.prototype.clear = function() {\n return localStorage.clear();\n };\n\n return StorageService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgStorage\", StorageService);\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/http.coffee\n */\n\n(function() {\n var UrlsService, format, 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 format = function(fmt, obj) {\n obj = _.clone(obj);\n return fmt.replace(/%s/g, function(match) {\n return String(obj.shift());\n });\n };\n\n taiga = this.taiga;\n\n UrlsService = (function(superClass) {\n extend(UrlsService, superClass);\n\n UrlsService.$inject = [\"$tgConfig\"];\n\n function UrlsService(config) {\n this.config = config;\n this.urls = {};\n this.mainUrl = this.config.get(\"api\");\n }\n\n UrlsService.prototype.update = function(urls) {\n return this.urls = _.merge(this.urls, urls);\n };\n\n UrlsService.prototype.resolve = function() {\n var args, name, url;\n args = _.toArray(arguments);\n if (args.length === 0) {\n throw Error(\"wrong arguments to setUrls\");\n }\n name = args.slice(0, 1)[0];\n url = format(this.urls[name], args.slice(1));\n return format(\"%s/%s\", [_.trimEnd(this.mainUrl, \"/\"), _.trimStart(url, \"/\")]);\n };\n\n UrlsService.prototype.resolveAbsolute = function() {\n var url;\n url = this.resolve.apply(this, arguments);\n if (/^https?:\\/\\//i.test(url)) {\n return url;\n }\n if (/^\\//.test(url)) {\n return window.location.protocol + \"//\" + window.location.host + url;\n }\n return window.location.protocol + \"//\" + window.location.host + \"/\" + url;\n };\n\n return UrlsService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service('$tgUrls', UrlsService);\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/custom-field-values.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var _get, service;\n _get = function(objectId, resource) {\n return $repo.queryOne(resource, objectId);\n };\n service = {\n epic: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/epic\");\n }\n },\n userstory: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/userstory\");\n }\n },\n task: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/task\");\n }\n },\n issue: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributesValues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var _list, service;\n _list = function(projectId, resource) {\n return $repo.queryMany(resource, {\n project: projectId\n });\n };\n service = {\n epic: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/epic\");\n }\n },\n userstory: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/userstory\");\n }\n },\n task: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/task\");\n }\n },\n issue: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributes = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\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/epics.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"epics-queryparams\";\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"epics\", \"by_ref\", params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.upvote = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-upvote\", epicId);\n return $http.post(url);\n };\n service.downvote = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-downvote\", epicId);\n return $http.post(url);\n };\n service.watch = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-watch\", epicId);\n return $http.post(url);\n };\n service.unwatch = function(epicId) {\n var url;\n url = $urls.resolve(\"epic-unwatch\", epicId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.epics = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgEpicsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\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/history.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(type, objectId) {\n return $repo.queryOneRaw(\"history/\" + type, objectId);\n };\n service.editComment = function(type, objectId, activityId, comment) {\n var commentData, params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/edit_comment\";\n params = {\n id: activityId\n };\n commentData = {\n comment: comment\n };\n return $http.post(url, commentData, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.getCommentHistory = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/comment_versions\";\n params = {\n id: activityId\n };\n return $http.get(url, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.deleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/delete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.undeleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/undelete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.history = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.get = function(token) {\n return $repo.queryOne(\"invitations\", token);\n };\n return function(instance) {\n return instance.invitations = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider]);\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/issues.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"issues-queryparams\";\n service.get = function(projectId, issueId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"issues\", issueId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"issues\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"issues\", filters);\n };\n service.list = function(projectId, filters, options) {\n var params;\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryPaginated(\"issues\", params, options);\n };\n service.bulkCreate = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-issues\");\n params = {\n project_id: projectId,\n bulk_issues: data\n };\n return $http.post(url, params);\n };\n service.upvote = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-upvote\", issueId);\n return $http.post(url);\n };\n service.downvote = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-downvote\", issueId);\n return $http.post(url);\n };\n service.watch = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-watch\", issueId);\n return $http.post(url);\n };\n service.unwatch = function(issueId) {\n var url;\n url = $urls.resolve(\"issue-unwatch\", issueId);\n return $http.post(url);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issues_stats\");\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"issues-filters\", null, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.issues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\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/kanban.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($storage) {\n var hashSuffixStatusColumnModes, hashSuffixStatusViewModes, service;\n service = {};\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\";\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\";\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.kanban = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider]);\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/locales.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var service;\n service = {\n list: function() {\n return $repo.queryMany(\"locales\");\n }\n };\n return function(instance) {\n return instance.locales = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgLocalesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\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/mdrender.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.render = function(projectId, content) {\n var params, url;\n if ((content == null) || content === \"\") {\n content = ' ';\n }\n params = {\n project_id: projectId,\n content: content\n };\n url = $urls.resolve(\"wiki\");\n return $http.post(url + \"/render\", params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.mdrender = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"memberships\", id);\n };\n service.list = function(projectId, filters, enablePagination) {\n var options, params;\n if (enablePagination == null) {\n enablePagination = true;\n }\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n if (enablePagination) {\n return $repo.queryPaginated(\"memberships\", params);\n }\n return $repo.queryMany(\"memberships\", params, options = {\n enablePagination: enablePagination\n });\n };\n service.listByUser = function(userId, filters) {\n var params;\n params = {\n user: userId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryPaginated(\"memberships\", params);\n };\n service.resendInvitation = function(id) {\n var url;\n url = $urls.resolve(\"memberships\");\n return $http.post(url + \"/\" + id + \"/resend_invitation\", {});\n };\n service.bulkCreateMemberships = function(projectId, data, invitation_extra_text) {\n var params, url;\n url = $urls.resolve(\"bulk-create-memberships\");\n params = {\n project_id: projectId,\n bulk_memberships: data,\n invitation_extra_text: invitation_extra_text\n };\n return $http.post(url, params);\n };\n return function(instance) {\n return instance.memberships = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\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: modules.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.list = function(projectId, module) {\n return $repo.queryOneAttribute(\"project-modules\", projectId, module);\n };\n return function(instance) {\n return instance.modules = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"notify-policies\", id);\n };\n service.list = function(filters) {\n var params;\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"notify-policies\", params);\n };\n return function(instance) {\n return instance.notifyPolicies = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $auth, $q, $translate) {\n var service;\n service = {};\n service.get = function(projectId) {\n return $repo.queryOne(\"projects\", projectId);\n };\n service.getBySlug = function(projectSlug) {\n return $repo.queryOne(\"projects\", \"by_slug?slug=\" + projectSlug);\n };\n service.list = function() {\n return $repo.queryMany(\"projects\");\n };\n service.listByMember = function(memberId) {\n var params;\n params = {\n \"member\": memberId,\n \"order_by\": \"user_order\"\n };\n return $repo.queryMany(\"projects\", params);\n };\n service.templates = function() {\n return $repo.queryMany(\"project-templates\");\n };\n service.usersList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"users\", params);\n };\n service.rolesList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"roles\", params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/stats\");\n };\n service.bulkUpdateOrder = function(bulkData) {\n var url;\n url = $urls.resolve(\"bulk-update-projects-order\");\n return $http.post(url, bulkData);\n };\n service.regenerate_epics_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_epics_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_userstories_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_userstories_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_tasks_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_tasks_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_issues_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_issues_csv_uuid\";\n return $http.post(url);\n };\n service.leave = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/leave\";\n return $http.post(url);\n };\n service.memberStats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/member_stats\");\n };\n service.tagsColors = function(projectId) {\n return $repo.queryOne(\"projects\", projectId + \"/tags_colors\");\n };\n service.deleteTag = function(projectId, tag) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/delete_tag\";\n return $http.post(url, {\n tag: tag\n });\n };\n service.createTag = function(projectId, tag, color) {\n var data, url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/create_tag\";\n data = {};\n data.tag = tag;\n data.color = null;\n if (color) {\n data.color = color;\n }\n return $http.post(url, data);\n };\n service.editTag = function(projectId, from_tag, to_tag, color) {\n var data, url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/edit_tag\";\n data = {};\n data.from_tag = from_tag;\n if (to_tag) {\n data.to_tag = to_tag;\n }\n data.color = null;\n if (color) {\n data.color = color;\n }\n return $http.post(url, data);\n };\n service.mixTags = function(projectId, to_tag, from_tags) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/mix_tags\";\n return $http.post(url, {\n to_tag: to_tag,\n from_tags: from_tags\n });\n };\n service[\"export\"] = function(projectId) {\n var url;\n url = ($urls.resolve(\"exporter\")) + \"/\" + projectId;\n return $http.get(url);\n };\n service[\"import\"] = function(file, statusUpdater) {\n var complete, data, defered, errorMsg, failed, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name,\n fileSize: sizeFormat(file.size),\n maxFileSize: sizeFormat(maxFileSize)\n });\n response = {\n status: 413,\n data: {\n _error_message: errorMsg\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n var message, percent;\n percent = Math.round((evt.loaded / evt.total) * 100);\n message = $translate.instant(\"PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE\", {\n uploadedSize: sizeFormat(evt.loaded),\n totalSize: sizeFormat(evt.total)\n });\n return statusUpdater(\"in-progress\", null, message, percent);\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return statusUpdater(\"done\", $translate.instant(\"PROJECT.IMPORT.TITLE\"), $translate.instant(\"PROJECT.IMPORT.DESCRIPTION\"));\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return statusUpdater(\"error\");\n };\n })(this);\n complete = (function(_this) {\n return function(evt) {\n var ref;\n response = {};\n try {\n response.data = JSON.parse(evt.target.responseText);\n } catch (error) {\n response.data = {};\n }\n response.status = evt.target.status;\n if (evt.target.getResponseHeader('Taiga-Info-Project-Is-Private')) {\n response.headers = {\n isPrivate: evt.target.getResponseHeader('Taiga-Info-Project-Is-Private') === 'True',\n memberships: parseInt(evt.target.getResponseHeader('Taiga-Info-Project-Memberships'))\n };\n }\n if ((ref = response.status) === 201 || ref === 202) {\n defered.resolve(response);\n }\n return defered.reject(response);\n };\n })(this);\n failed = (function(_this) {\n return function(evt) {\n return defered.reject(\"fail\");\n };\n })(this);\n data = new FormData();\n data.append('dump', file);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.upload.addEventListener(\"load\", uploadComplete, false);\n xhr.upload.addEventListener(\"error\", uploadFailed, false);\n xhr.upload.addEventListener(\"abort\", uploadFailed, false);\n xhr.addEventListener(\"load\", complete, false);\n xhr.addEventListener(\"error\", failed, false);\n xhr.open(\"POST\", $urls.resolve(\"importer\"));\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + ($auth.getToken()));\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n service.changeLogo = function(projectId, file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered = $q.defer();\n defered.reject(response);\n return defered.promise;\n }\n data = new FormData();\n data.append('logo', file);\n options = {\n transformRequest: angular.identity,\n headers: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/change_logo\";\n return $http.post(url, data, {}, options);\n };\n service.removeLogo = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/remove_logo\";\n return $http.post(url);\n };\n return function(instance) {\n return instance.projects = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\", \"$q\", \"$translate\", resourceProvider]);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"roles\", id);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"roles\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.roles = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\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/search.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http, $q) {\n var service;\n service = {};\n service[\"do\"] = function(projectId, term) {\n var deferredAbort, params, request, url;\n deferredAbort = $q.defer();\n url = $urls.resolve(\"search\");\n params = {\n url: url,\n method: \"GET\",\n timeout: deferredAbort.promise,\n cancelable: true,\n params: {\n project: projectId,\n text: term,\n get_all: false\n }\n };\n request = $http.request(params).then(function(data) {\n return data.data;\n });\n request.abort = function() {\n return deferredAbort.resolve();\n };\n request[\"finally\"] = function() {\n request.abort = angular.noop;\n return deferredAbort = request = null;\n };\n return request;\n };\n return function(instance) {\n return instance.search = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", \"$q\", resourceProvider]);\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/sprints.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $model, $storage) {\n var service;\n service = {};\n service.get = function(projectId, sprintId) {\n return $repo.queryOne(\"milestones\", sprintId).then(function(sprint) {\n var uses;\n uses = sprint.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n sprint._attrs.user_stories = uses;\n return sprint;\n });\n };\n service.stats = function(projectId, sprintId) {\n return $repo.queryOneRaw(\"milestones\", sprintId + \"/stats\");\n };\n service.list = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"milestones\", params, {}, true).then((function(_this) {\n return function(result) {\n var headers, i, len, m, milestones, uses;\n milestones = result[0];\n headers = result[1];\n for (i = 0, len = milestones.length; i < len; i++) {\n m = milestones[i];\n uses = m.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n m._attrs.user_stories = uses;\n }\n return {\n milestones: milestones,\n closed: parseInt(headers(\"Taiga-Info-Total-Closed-Milestones\"), 10),\n open: parseInt(headers(\"Taiga-Info-Total-Opened-Milestones\"), 10)\n };\n };\n })(this));\n };\n return function(instance) {\n return instance.sprints = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider]);\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/tasks.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, hashSuffixStatusColumnModes, hashSuffixUsRowModes, service;\n service = {};\n hashSuffix = \"tasks-queryparams\";\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\";\n hashSuffixUsRowModes = \"tasks-usrowmodels\";\n service.get = function(projectId, taskId, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"tasks\", taskId, params);\n };\n service.getByRef = function(projectId, ref, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"tasks\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"tasks\", filters);\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"task-filters\", null, params);\n };\n service.list = function(projectId, sprintId, userStoryId, params) {\n if (sprintId == null) {\n sprintId = null;\n }\n if (userStoryId == null) {\n userStoryId = null;\n }\n params = _.merge(params, {\n project: projectId\n });\n if (sprintId) {\n params.milestone = sprintId;\n }\n if (userStoryId) {\n params.user_story = userStoryId;\n }\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"tasks\", params);\n };\n service.bulkCreate = function(projectId, sprintId, usId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-tasks\");\n params = {\n project_id: projectId,\n milestone_id: sprintId,\n us_id: usId,\n bulk_tasks: data\n };\n return $http.post(url, params).then(function(result) {\n return result.data;\n });\n };\n service.upvote = function(taskId) {\n var url;\n url = $urls.resolve(\"task-upvote\", taskId);\n return $http.post(url);\n };\n service.downvote = function(taskId) {\n var url;\n url = $urls.resolve(\"task-downvote\", taskId);\n return $http.post(url);\n };\n service.watch = function(taskId) {\n var url;\n url = $urls.resolve(\"task-watch\", taskId);\n return $http.post(url);\n };\n service.unwatch = function(taskId) {\n var url;\n url = $urls.resolve(\"task-unwatch\", taskId);\n return $http.post(url);\n };\n service.bulkUpdateTaskTaskboardOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-task-taskboard-order\");\n params = {\n project_id: projectId,\n bulk_tasks: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeUsRowModes = function(projectId, sprintId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.set(hash, params);\n };\n service.getUsRowModes = function(projectId, sprintId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.tasks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $q) {\n var service;\n service = {};\n service.changeAvatar = function(file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered = $q.defer();\n defered.reject(response);\n return defered.promise;\n }\n data = new FormData();\n data.append('avatar', file);\n options = {\n transformRequest: angular.identity,\n headers: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"users\")) + \"/change_avatar\";\n return $http.post(url, data, {}, options);\n };\n service.removeAvatar = function() {\n var url;\n url = ($urls.resolve(\"users\")) + \"/remove_avatar\";\n return $http.post(url);\n };\n service.changePassword = function(currentPassword, newPassword) {\n var data, url;\n url = ($urls.resolve(\"users\")) + \"/change_password\";\n data = {\n current_password: currentPassword,\n password: newPassword\n };\n return $http.post(url, data);\n };\n return function(instance) {\n return instance.userSettings = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\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/user.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($http, $urls) {\n var service;\n service = {};\n service.contacts = function(userId, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = $urls.resolve(\"user-contacts\", userId);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return $http.get(url, {}, httpOptions).then(function(result) {\n return result.data;\n });\n };\n return function(instance) {\n return instance.users = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUsersResourcesProvider\", [\"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\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/userstories.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"userstories-queryparams\";\n service.get = function(projectId, usId, extraParams) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"userstories\", usId, params);\n };\n service.getByRef = function(projectId, ref, extraParams) {\n var params;\n if (extraParams == null) {\n extraParams = {};\n }\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n params = _.extend({}, params, extraParams);\n return $repo.queryOne(\"userstories\", \"by_ref\", params);\n };\n service.listInAllProjects = function(filters) {\n return $repo.queryMany(\"userstories\", filters);\n };\n service.filtersData = function(params) {\n return $repo.queryOneRaw(\"userstories-filters\", null, params);\n };\n service.listUnassigned = function(projectId, filters, pageSize) {\n var params;\n params = {\n \"project\": projectId,\n \"milestone\": \"null\"\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", _.extend(params, {\n page_size: pageSize\n }), {\n enablePagination: true\n }, true);\n };\n service.listAll = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.bulkCreate = function(projectId, status, bulk) {\n var data, url;\n data = {\n project_id: projectId,\n status_id: status,\n bulk_stories: bulk\n };\n url = $urls.resolve(\"bulk-create-us\");\n return $http.post(url, data);\n };\n service.upvote = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-upvote\", userStoryId);\n return $http.post(url);\n };\n service.downvote = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-downvote\", userStoryId);\n return $http.post(url);\n };\n service.watch = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-watch\", userStoryId);\n return $http.post(url);\n };\n service.unwatch = function(userStoryId) {\n var url;\n url = $urls.resolve(\"userstory-unwatch\", userStoryId);\n return $http.post(url);\n };\n service.bulkUpdateBacklogOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-backlog-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateMilestone = function(projectId, milestoneId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-milestone\");\n params = {\n project_id: projectId,\n milestone_id: milestoneId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateKanbanOrder = function(projectId, statusId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-kanban-order\");\n params = {\n project_id: projectId,\n status_id: statusId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeShowTags = function(projectId, showTags) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.set(hash, showTags);\n };\n service.getShowTags = function(projectId) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.get(hash) || null;\n };\n return function(instance) {\n return instance.userstories = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\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: webhooklogs.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(webhookId) {\n var params;\n params = {\n webhook: webhookId\n };\n return $repo.queryMany(\"webhooklogs\", params);\n };\n service.resend = function(webhooklogId) {\n var url;\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooklogs = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\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: webhooks.coffee\n */\n\n(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(projectId) {\n var params;\n params = {\n project: projectId\n };\n return $repo.queryMany(\"webhooks\", params);\n };\n service.test = function(webhookId) {\n var url;\n url = $urls.resolve(\"webhooks-test\", webhookId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\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/wikis.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(wikiId) {\n return $repo.queryOne(\"wiki\", wikiId);\n };\n service.getBySlug = function(projectId, slug) {\n return $repo.queryOne(\"wiki\", \"by_slug?project=\" + projectId + \"&slug=\" + slug);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"wiki\", {\n project: projectId\n });\n };\n service.listLinks = function(projectId) {\n return $repo.queryMany(\"wiki-links\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.wiki = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\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/main.coffee\n */\n\n(function() {\n var UserChangePasswordController, UserChangePasswordDirective, debounce, mixOf, 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 mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserChangePasswordController = (function(superClass) {\n extend(UserChangePasswordController, superClass);\n\n UserChangePasswordController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"$translate\"];\n\n function UserChangePasswordController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, translate) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.translate = translate;\n this.scope.sectionName = this.translate.instant(\"CHANGE_PASSWORD.SECTION_NAME\");\n this.scope.user = this.auth.getUser();\n }\n\n return UserChangePasswordController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserChangePasswordController\", UserChangePasswordController);\n\n UserChangePasswordDirective = function($rs, $confirm, $loading, $translate) {\n var link;\n link = function($scope, $el, $attrs, ctrl) {\n var form, submit, submitButton;\n form = new checksley.Form($el.find(\"form\"));\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 if ($scope.newPassword1 !== $scope.newPassword2) {\n $confirm.notify('error', $translate.instant(\"CHANGE_PASSWORD.ERROR_PASSWORD_MATCH\"));\n return;\n }\n currentLoading = $loading().target(submitButton).start();\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1);\n promise.then(function() {\n currentLoading.finish();\n return $confirm.notify('success');\n });\n return promise.then(null, function(response) {\n currentLoading.finish();\n return $confirm.notify('error', response.data._error_message);\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(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", \"$translate\", UserChangePasswordDirective]);\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/lightboxes.coffee\n */\n\n(function() {\n var DeleteUserDirective, 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(\"taigaUserSettings\");\n\n DeleteUserDirective = function($repo, $rootscope, $auth, $location, $navUrls, lightboxService, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit, submitButton;\n $scope.$on(\"deletelightbox:new\", function(ctx, user) {\n return lightboxService.open($el);\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var currentLoading, promise;\n currentLoading = $loading().target(submitButton).start();\n promise = $repo.remove($scope.user);\n promise.then(function(data) {\n currentLoading.finish();\n lightboxService.close($el);\n $auth.logout();\n return $location.path($navUrls.resolve(\"login\"));\n });\n return promise.then(null, function() {\n currentLoading.finish();\n return console.log(\"FAIL\");\n });\n };\n $el.on(\"click\", \".button-green\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n $el.on(\"click\", \".button-red\", debounce(2000, function(event) {\n event.preventDefault();\n return submit();\n }));\n return submitButton = $el.find(\".button-red\");\n };\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n };\n };\n\n module.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"lightboxService\", \"$tgLoading\", DeleteUserDirective]);\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/live-notifications.coffee\n */\n\n(function() {\n var UserLiveNotificationsController, UserLiveNotificationsDirective, UserLiveNotificationsListDirective, bindOnce, mixOf, 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 mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserLiveNotificationsController = (function(superClass) {\n extend(UserLiveNotificationsController, superClass);\n\n UserLiveNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"tgErrorHandlingService\"];\n\n function UserLiveNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.LIVE_SECTION_NAME\";\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserLiveNotificationsController.prototype.loadInitialData = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n return UserLiveNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserLiveNotificationsController\", UserLiveNotificationsController);\n\n UserLiveNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserLiveNotifications\", UserLiveNotificationsDirective);\n\n UserLiveNotificationsListDirective = function($repo, $confirm, $compile) {\n var link, template;\n template = _.template(\"<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\\n
    \\\">\\n
    <%- notifyPolicy.project_name %>
    \\n
    \\n
    \\n \\\" id=\\\"policy-all-<%- notifyPolicy.id %>\\\"\\n value=\\\"2\\\" <% if (notifyPolicy.live_notify_level == 2) { %>checked=\\\"checked\\\"<% } %>/>\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-involved-<%- notifyPolicy.id %>\\\"\\n value=\\\"1\\\" <% if (notifyPolicy.live_notify_level == 1) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-none-<%- notifyPolicy.id %>\\\"\\n value=\\\"3\\\" <% if (notifyPolicy.live_notify_level == 3) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n<% }) %>\");\n link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n var ctx, html;\n $el.off();\n ctx = {\n notifyPolicies: $scope.notifyPolicies\n };\n html = template(ctx);\n $el.html($compile(html)($scope));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\n policyIndex = target.parents(\".policy-table-row\").data('index');\n policy = $scope.notifyPolicies[policyIndex];\n prev_level = policy.live_notify_level;\n policy.live_notify_level = parseInt(target.val(), 10);\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserLiveNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\", UserLiveNotificationsListDirective]);\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/main.coffee\n */\n\n(function() {\n var TaigaAvatarModelDirective, UserAvatarDirective, UserProfileDirective, UserSettingsController, debounce, mixOf, module, sizeFormat, 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 mixOf = this.taiga.mixOf;\n\n sizeFormat = this.taiga.sizeFormat;\n\n module = angular.module(\"taigaUserSettings\");\n\n debounce = this.taiga.debounce;\n\n UserSettingsController = (function(superClass) {\n extend(UserSettingsController, superClass);\n\n UserSettingsController.$inject = [\"$scope\", \"$rootScope\", \"$tgConfig\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"$translate\", \"tgErrorHandlingService\", \"$window\"];\n\n function UserSettingsController(scope, rootscope, config, repo, confirm, rs, params, q, location, navUrls, auth, translate, errorHandlingService, window) {\n var maxFileSize, promise, text;\n this.scope = scope;\n this.rootscope = rootscope;\n this.config = config;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.translate = translate;\n this.errorHandlingService = errorHandlingService;\n this.window = window;\n this.scope.sectionName = \"USER_SETTINGS.MENU.SECTION_TITLE\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n if (!this.scope.user) {\n this.errorHandlingService.permissionDenied();\n }\n this.scope.lang = this.getLan();\n this.scope.theme = this.getTheme();\n maxFileSize = this.config.get(\"maxUploadFileSize\", null);\n if (maxFileSize) {\n text = this.translate.instant(\"USER_SETTINGS.AVATAR_MAX_SIZE\", {\n \"maxFileSize\": sizeFormat(maxFileSize)\n });\n this.scope.maxFileSizeMsg = text;\n }\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserSettingsController.prototype.loadInitialData = function() {\n this.scope.availableThemes = this.config.get(\"themes\", []);\n return this.rs.locales.list().then((function(_this) {\n return function(locales) {\n _this.scope.locales = locales;\n return locales;\n };\n })(this));\n };\n\n UserSettingsController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.user);\n };\n\n UserSettingsController.prototype.getLan = function() {\n return this.scope.user.lang || this.translate.preferredLanguage();\n };\n\n UserSettingsController.prototype.getTheme = function() {\n return this.scope.user.theme || this.config.get(\"defaultTheme\") || \"taiga\";\n };\n\n UserSettingsController.prototype.exportProfile = function() {\n var onError, onSuccess;\n onSuccess = function(result) {\n var dumpUrl;\n dumpUrl = result.data.url;\n return this.window.open(dumpUrl, \"_blank\");\n };\n onError = (function(_this) {\n return function(response) {\n var ref;\n if ((ref = response.data) != null ? ref._error_message : void 0) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this);\n return this.auth.exportProfile().then(onSuccess, onError);\n };\n\n return UserSettingsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserSettingsController\", UserSettingsController);\n\n UserProfileDirective = function($confirm, $auth, $repo, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var changeEmail, form, onError, onSuccess;\n event.preventDefault();\n form = $el.find(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n changeEmail = $scope.user.isAttributeModified(\"email\");\n $scope.user.lang = $scope.lang;\n $scope.user.theme = $scope.theme;\n onSuccess = function(data) {\n var text;\n $auth.setUser(data);\n if (changeEmail) {\n text = $translate.instant(\"USER_PROFILE.CHANGE_EMAIL_SUCCESS\");\n return $confirm.success(text);\n } else {\n return $confirm.notify('success');\n }\n };\n onError = function(data) {\n form.setErrors(data);\n return $confirm.notify('error', data._error_message);\n };\n return $repo.save($scope.user).then(onSuccess, onError);\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(\"tgUserProfile\", [\"$tgConfirm\", \"$tgAuth\", \"$tgRepo\", \"$translate\", UserProfileDirective]);\n\n UserAvatarDirective = function($auth, $model, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, showSizeInfo;\n showSizeInfo = function() {\n return $el.find(\".size-info\").removeClass(\"hidden\");\n };\n onSuccess = function(response) {\n var user;\n user = $model.make_model(\"users\", response.data);\n $auth.setUser(user);\n $scope.user = user;\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('success');\n };\n onError = function(response) {\n if (response.status === 413) {\n showSizeInfo();\n }\n $el.find('.loading-overlay').removeClass('active');\n return $confirm.notify('error', response.data._error_message);\n };\n $el.on(\"click\", \".js-change-avatar\", function() {\n return $el.find(\"#avatar-field\").click();\n });\n $el.on(\"change\", \"#avatar-field\", function(event) {\n if ($scope.avatarAttachment) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.userSettings.changeAvatar($scope.avatarAttachment).then(onSuccess, onError);\n }\n });\n $el.on(\"click\", \"a.js-use-gravatar\", function(event) {\n $el.find('.loading-overlay').addClass(\"active\");\n return $rs.userSettings.removeAvatar().then(onSuccess, onError);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserAvatar\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", UserAvatarDirective]);\n\n TaigaAvatarModelDirective = function($parse) {\n var link;\n link = function($scope, $el, $attrs) {\n var model, modelSetter;\n model = $parse($attrs.tgAvatarModel);\n modelSetter = model.assign;\n return $el.bind('change', function() {\n return $scope.$apply(function() {\n return modelSetter($scope, $el[0].files[0]);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive('tgAvatarModel', ['$parse', TaigaAvatarModelDirective]);\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/nav.coffee\n */\n\n(function() {\n var UserSettingsNavigationDirective, module;\n\n UserSettingsNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgUserSettingsNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#usersettingsmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaUserSettings\");\n\n module.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective);\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/notifications.coffee\n */\n\n(function() {\n var UserNotificationsController, UserNotificationsDirective, UserNotificationsListDirective, bindOnce, mixOf, 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 mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserNotificationsController = (function(superClass) {\n extend(UserNotificationsController, superClass);\n\n UserNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\", \"tgErrorHandlingService\"];\n\n function UserNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth, errorHandlingService) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.errorHandlingService = errorHandlingService;\n this.scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.SECTION_NAME\";\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserNotificationsController.prototype.loadInitialData = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n return UserNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserNotificationsController\", UserNotificationsController);\n\n UserNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotifications\", UserNotificationsDirective);\n\n UserNotificationsListDirective = function($repo, $confirm, $compile) {\n var link, template;\n template = _.template(\"<% _.each(notifyPolicies, function (notifyPolicy, index) { %>\\n
    \\\">\\n
    <%- notifyPolicy.project_name %>
    \\n
    \\n
    \\n \\\" id=\\\"policy-all-<%- notifyPolicy.id %>\\\"\\n value=\\\"2\\\" <% if (notifyPolicy.notify_level == 2) { %>checked=\\\"checked\\\"<% } %>/>\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-involved-<%- notifyPolicy.id %>\\\"\\n value=\\\"1\\\" <% if (notifyPolicy.notify_level == 1) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n
    \\n \\\" id=\\\"policy-none-<%- notifyPolicy.id %>\\\"\\n value=\\\"3\\\" <% if (notifyPolicy.notify_level == 3) { %>checked=\\\"checked\\\"<% } %> />\\n \\n
    \\n
    \\n
    \\n<% }) %>\");\n link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n var ctx, html;\n $el.off();\n ctx = {\n notifyPolicies: $scope.notifyPolicies\n };\n html = template(ctx);\n $el.html($compile(html)($scope));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\n policyIndex = target.parents(\".policy-table-row\").data('index');\n policy = $scope.notifyPolicies[policyIndex];\n prev_level = policy.notify_level;\n policy.notify_level = parseInt(target.val(), 10);\n onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\", UserNotificationsListDirective]);\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: components.module.coffee\n */\n\n(function() {\n angular.module(\"taigaComponents\", []);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaDiscover\", []);\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: external-apps.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaExternalApps\", []);\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: history.module.coffee\n */\n\n(function() {\n angular.module(\"taigaHistory\", []);\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: home.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaHome\", []);\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: navigation-bar.module.coffee\n */\n\n(function() {\n angular.module(\"taigaNavigationBar\", []);\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: profile.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaProfile\", []);\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: projects.module.coffee\n */\n\n(function() {\n angular.module(\"taigaProjects\", []);\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: resources.module.coffee\n */\n\n(function() {\n angular.module(\"taigaResources2\", []);\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: user-timeline.module.coffee\n */\n\n(function() {\n angular.module(\"taigaUserTimeline\", []);\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: utils.module.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaUtils\", []);\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: wiki-history.module.coffee\n */\n\n(function() {\n angular.module(\"taigaWikiHistory\", []);\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: assigned-to-selector.directive.coffee\n */\n\n(function() {\n var AssignedItemDirective;\n\n AssignedItemDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n templateUrl: \"components/assigned-to/assigned-item/assigned-item.html\",\n scope: {\n member: \"=\"\n },\n link: link\n };\n };\n\n AssignedItemDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedItem\", AssignedItemDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: assigned-to-selector.controller.coffee\n */\n\n(function() {\n var AssignedToSelectorController;\n\n AssignedToSelectorController = (function() {\n AssignedToSelectorController.$inject = [];\n\n function AssignedToSelectorController() {\n if (this.assigned) {\n this._getAssignedMember();\n }\n this._filterAssignedMember();\n }\n\n AssignedToSelectorController.prototype._getAssignedMember = function() {\n return this.assignedMember = _.filter(this.project.members, (function(_this) {\n return function(member) {\n return member.id === _this.assigned.get('id');\n };\n })(this));\n };\n\n AssignedToSelectorController.prototype._filterAssignedMember = function() {\n if (this.assigned) {\n return this.nonAssignedMembers = _.filter(this.project.members, (function(_this) {\n return function(member) {\n return member.id !== _this.assigned.get('id');\n };\n })(this));\n } else {\n return this.nonAssignedMembers = this.project.members;\n }\n };\n\n return AssignedToSelectorController;\n\n })();\n\n angular.module('taigaComponents').controller('AssignedToSelectorCtrl', AssignedToSelectorController);\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: assigned-to-selector.directive.coffee\n */\n\n(function() {\n var AssignedToSelectorDirective;\n\n AssignedToSelectorDirective = function() {\n return {\n controller: \"AssignedToSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/assigned-to/assigned-to-selector/assigned-to-selector.html\",\n scope: {\n assigned: \"=\",\n project: \"=\",\n onRemoveAssigned: \"&\",\n onAssignTo: \"&\"\n }\n };\n };\n\n AssignedToSelectorDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedToSelector\", AssignedToSelectorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: assigned-to.controller.coffee\n */\n\n(function() {\n var AssignedToController;\n\n AssignedToController = (function() {\n AssignedToController.$inject = [\"tgLightboxFactory\", \"lightboxService\"];\n\n function AssignedToController(lightboxFactory, lightboxService) {\n this.lightboxFactory = lightboxFactory;\n this.lightboxService = lightboxService;\n this.has_permissions = _.includes(this.project.my_permissions, 'modify_epic');\n }\n\n AssignedToController.prototype._closeAndRemoveAssigned = function() {\n this.lightboxService.closeAll();\n return this.onRemoveAssigned();\n };\n\n AssignedToController.prototype._closeAndAssign = function(member) {\n this.lightboxService.closeAll();\n return this.onAssignTo({\n 'member': member\n });\n };\n\n AssignedToController.prototype.onSelectAssignedTo = function(assigned, project) {\n return this.lightboxFactory.create('tg-assigned-to-selector', {\n \"class\": \"lightbox lightbox-assigned-to-selector open\",\n \"assigned\": \"assigned\",\n \"project\": \"project\",\n \"on-remove-assigned\": \"onRemoveAssigned()\",\n \"on-assign-to\": \"assignTo(member)\"\n }, {\n \"assigned\": this.assignedTo,\n \"project\": this.project,\n \"onRemoveAssigned\": this._closeAndRemoveAssigned.bind(this),\n \"assignTo\": this._closeAndAssign.bind(this)\n });\n };\n\n return AssignedToController;\n\n })();\n\n angular.module('taigaComponents').controller('AssignedToCtrl', AssignedToController);\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: assigned-to.directive.coffee\n */\n\n(function() {\n var AssignedToDirective;\n\n AssignedToDirective = function() {\n return {\n controller: \"AssignedToCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/assigned-to/assigned-to.html\",\n scope: {\n assignedTo: \"=\",\n project: \"=\",\n onRemoveAssigned: \"&\",\n onAssignTo: \"&\"\n }\n };\n };\n\n AssignedToDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAssignedToComponent\", AssignedToDirective);\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: attachment-link.directive.coffee\n */\n\n(function() {\n var AttachmentLinkDirective;\n\n AttachmentLinkDirective = function($parse, attachmentsPreviewService, lightboxService) {\n var link;\n link = function(scope, el, attrs) {\n var attachment;\n attachment = $parse(attrs.tgAttachmentLink)(scope);\n el.on(\"click\", function(event) {\n if (taiga.isImage(attachment.getIn(['file', 'name']))) {\n event.preventDefault();\n return scope.$apply(function() {\n lightboxService.open($('tg-attachments-preview'));\n return attachmentsPreviewService.fileId = attachment.getIn(['file', 'id']);\n });\n } else if (taiga.isPdf(attachment.getIn(['file', 'name']))) {\n event.preventDefault();\n return window.open(attachment.getIn(['file', 'url']));\n }\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentLinkDirective.$inject = [\"$parse\", \"tgAttachmentsPreviewService\", \"lightboxService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentLink\", AttachmentLinkDirective);\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: attachment-gallery.directive.coffee\n */\n\n(function() {\n var AttachmentGalleryDirective;\n\n AttachmentGalleryDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachment: \"=\",\n onDelete: \"&\",\n onUpdate: \"&\",\n type: \"=\"\n },\n controller: \"Attachment\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachment/attachment-gallery.html\",\n link: link\n };\n };\n\n AttachmentGalleryDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentGallery\", AttachmentGalleryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchment.controller.coffee\n */\n\n(function() {\n var AttachmentController;\n\n AttachmentController = (function() {\n AttachmentController.$inject = ['tgAttachmentsService', '$translate'];\n\n function AttachmentController(attachmentsService, translate) {\n this.attachmentsService = attachmentsService;\n this.translate = translate;\n this.form = {};\n this.form.description = this.attachment.getIn(['file', 'description']);\n this.form.is_deprecated = this.attachment.get(['file', 'is_deprecated']);\n this.title = this.translate.instant(\"ATTACHMENT.TITLE\", {\n fileName: this.attachment.get('name'),\n date: moment(this.attachment.get('created_date')).format(this.translate.instant(\"ATTACHMENT.DATE\"))\n });\n }\n\n AttachmentController.prototype.editMode = function(mode) {\n var attachment;\n attachment = this.attachment.set('editable', mode);\n return this.onUpdate({\n attachment: attachment\n });\n };\n\n AttachmentController.prototype[\"delete\"] = function() {\n return this.onDelete({\n attachment: this.attachment\n });\n };\n\n AttachmentController.prototype.save = function() {\n var attachment;\n attachment = this.attachment.set('loading', true);\n this.onUpdate({\n attachment: attachment\n });\n attachment = this.attachment.merge({\n editable: false,\n loading: false\n });\n attachment = attachment.mergeIn(['file'], {\n description: this.form.description,\n is_deprecated: !!this.form.is_deprecated\n });\n return this.onUpdate({\n attachment: attachment\n });\n };\n\n return AttachmentController;\n\n })();\n\n angular.module('taigaComponents').controller('Attachment', AttachmentController);\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: attachment.directive.coffee\n */\n\n(function() {\n var AttachmentDirective;\n\n AttachmentDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachment: \"=\",\n onDelete: \"&\",\n onUpdate: \"&\",\n type: \"=\"\n },\n controller: \"Attachment\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachment/attachment.html\",\n link: link\n };\n };\n\n AttachmentDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachment\", AttachmentDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attachments-drop.directive.coffee\n */\n\n(function() {\n var AttachmentsDropDirective;\n\n AttachmentsDropDirective = function($parse) {\n var link;\n link = function(scope, el, attrs) {\n var eventAttr;\n eventAttr = $parse(attrs.tgAttachmentsDrop);\n el.on('dragover', function(e) {\n e.preventDefault();\n return false;\n });\n el.on('drop', function(e) {\n var dataTransfer;\n e.stopPropagation();\n e.preventDefault();\n dataTransfer = e.dataTransfer || (e.originalEvent && e.originalEvent.dataTransfer);\n return scope.$apply(function() {\n return eventAttr(scope, {\n files: dataTransfer.files\n });\n });\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentsDropDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsDrop\", AttachmentsDropDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchments-full.controller.coffee\n */\n\n(function() {\n var AttachmentsFullController, sizeFormat;\n\n sizeFormat = this.taiga.sizeFormat;\n\n AttachmentsFullController = (function() {\n AttachmentsFullController.$inject = [\"$translate\", \"$tgConfirm\", \"$tgConfig\", \"$tgStorage\", \"tgAttachmentsFullService\", \"tgProjectService\", \"tgAttachmentsPreviewService\"];\n\n function AttachmentsFullController(translate, confirm, config, storage, attachmentsFullService, projectService, attachmentsPreviewService) {\n this.translate = translate;\n this.confirm = confirm;\n this.config = config;\n this.storage = storage;\n this.attachmentsFullService = attachmentsFullService;\n this.projectService = projectService;\n this.attachmentsPreviewService = attachmentsPreviewService;\n this.mode = this.storage.get('attachment-mode', 'list');\n this.maxFileSize = this.config.get(\"maxUploadFileSize\", null);\n if (this.maxFileSize) {\n this.maxFileSize = sizeFormat(this.maxFileSize);\n }\n this.maxFileSizeMsg = this.maxFileSize ? this.translate.instant(\"ATTACHMENT.MAX_UPLOAD_SIZE\", {\n maxFileSize: this.maxFileSize\n }) : \"\";\n taiga.defineImmutableProperty(this, 'attachments', (function(_this) {\n return function() {\n return _this.attachmentsFullService.attachments;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsCount', (function(_this) {\n return function() {\n return _this.attachmentsFullService.deprecatedsCount;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'attachmentsVisible', (function(_this) {\n return function() {\n return _this.attachmentsFullService.attachmentsVisible;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsVisible', (function(_this) {\n return function() {\n return _this.attachmentsFullService.deprecatedsVisible;\n };\n })(this));\n }\n\n AttachmentsFullController.prototype.uploadingAttachments = function() {\n return this.attachmentsFullService.uploadingAttachments;\n };\n\n AttachmentsFullController.prototype.addAttachment = function(file) {\n var editable;\n editable = this.mode === 'list';\n return this.attachmentsFullService.addAttachment(this.projectId, this.objId, this.type, file, editable);\n };\n\n AttachmentsFullController.prototype.setMode = function(mode) {\n this.mode = mode;\n return this.storage.set('attachment-mode', mode);\n };\n\n AttachmentsFullController.prototype.toggleDeprecatedsVisible = function() {\n return this.attachmentsFullService.toggleDeprecatedsVisible();\n };\n\n AttachmentsFullController.prototype.addAttachments = function(files) {\n return _.forEach(files, (function(_this) {\n return function(file) {\n return _this.addAttachment(file);\n };\n })(this));\n };\n\n AttachmentsFullController.prototype.loadAttachments = function() {\n return this.attachmentsFullService.loadAttachments(this.type, this.objId, this.projectId);\n };\n\n AttachmentsFullController.prototype.deleteAttachment = function(toDeleteAttachment) {\n var message, title;\n this.attachmentsPreviewService.fileId = null;\n title = this.translate.instant(\"ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT\");\n message = this.translate.instant(\"ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT\", {\n fileName: toDeleteAttachment.getIn(['file', 'name'])\n });\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var onError, onSuccess;\n onError = function() {\n message = _this.translate.instant(\"ATTACHMENT.ERROR_DELETE_ATTACHMENT\", {\n errorMessage: message\n });\n _this.confirm.notify(\"error\", null, message);\n return askResponse.finish(false);\n };\n onSuccess = function() {\n return askResponse.finish();\n };\n return _this.attachmentsFullService.deleteAttachment(toDeleteAttachment, _this.type).then(onSuccess, onError);\n };\n })(this));\n };\n\n AttachmentsFullController.prototype.reorderAttachment = function(attachment, newIndex) {\n return this.attachmentsFullService.reorderAttachment(this.type, attachment, newIndex);\n };\n\n AttachmentsFullController.prototype.updateAttachment = function(toUpdateAttachment) {\n return this.attachmentsFullService.updateAttachment(toUpdateAttachment, this.type);\n };\n\n AttachmentsFullController.prototype._isEditable = function() {\n if (this.projectService.project) {\n return this.projectService.hasPermission(this.editPermission);\n }\n return false;\n };\n\n AttachmentsFullController.prototype.showAttachments = function() {\n return this._isEditable() || this.attachmentsFullService.attachments.size;\n };\n\n return AttachmentsFullController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"AttachmentsFull\", AttachmentsFullController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchments-full.directive.coffee\n */\n\n(function() {\n var AttachmentsFullDirective, bindOnce;\n\n bindOnce = this.taiga.bindOnce;\n\n AttachmentsFullDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return bindOnce(scope, 'vm.objId', function(value) {\n return ctrl.loadAttachments();\n });\n };\n return {\n scope: {},\n bindToController: {\n type: \"@\",\n objId: \"=\",\n projectId: \"=\",\n editPermission: \"@\"\n },\n controller: \"AttachmentsFull\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachments-full/attachments-full.html\",\n link: link\n };\n };\n\n AttachmentsFullDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsFull\", AttachmentsFullDirective);\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: attachments-full.service.coffee\n */\n\n(function() {\n var AttachmentsFullService,\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 AttachmentsFullService = (function(superClass) {\n extend(AttachmentsFullService, superClass);\n\n AttachmentsFullService.$inject = [\"tgAttachmentsService\", \"$rootScope\"];\n\n function AttachmentsFullService(attachmentsService, rootScope) {\n this.attachmentsService = attachmentsService;\n this.rootScope = rootScope;\n this._attachments = Immutable.List();\n this._deprecatedsCount = 0;\n this._attachmentsVisible = Immutable.List();\n this._deprecatedsVisible = false;\n this.uploadingAttachments = [];\n taiga.defineImmutableProperty(this, 'attachments', (function(_this) {\n return function() {\n return _this._attachments;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsCount', (function(_this) {\n return function() {\n return _this._deprecatedsCount;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'attachmentsVisible', (function(_this) {\n return function() {\n return _this._attachmentsVisible;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'deprecatedsVisible', (function(_this) {\n return function() {\n return _this._deprecatedsVisible;\n };\n })(this));\n }\n\n AttachmentsFullService.prototype.toggleDeprecatedsVisible = function() {\n this._deprecatedsVisible = !this._deprecatedsVisible;\n return this.regenerate();\n };\n\n AttachmentsFullService.prototype.regenerate = function() {\n this._deprecatedsCount = this._attachments.count(function(it) {\n return it.getIn(['file', 'is_deprecated']);\n });\n if (this._deprecatedsVisible) {\n return this._attachmentsVisible = this._attachments;\n } else {\n return this._attachmentsVisible = this._attachments.filter(function(it) {\n return !it.getIn(['file', 'is_deprecated']);\n });\n }\n };\n\n AttachmentsFullService.prototype.addAttachment = function(projectId, objId, type, file, editable, comment) {\n if (editable == null) {\n editable = true;\n }\n if (comment == null) {\n comment = false;\n }\n return new Promise((function(_this) {\n return function(resolve, reject) {\n var promise;\n if (_this.attachmentsService.validate(file)) {\n _this.uploadingAttachments.push(file);\n promise = _this.attachmentsService.upload(file, objId, projectId, type, comment);\n return promise.then(function(file) {\n var attachment;\n _this.uploadingAttachments = _this.uploadingAttachments.filter(function(uploading) {\n return uploading.name !== file.get('name');\n });\n attachment = Immutable.Map();\n attachment = attachment.merge({\n file: file,\n editable: editable,\n loading: false,\n from_comment: comment\n });\n _this._attachments = _this._attachments.push(attachment);\n _this.regenerate();\n _this.rootScope.$broadcast(\"attachment:create\");\n return resolve(attachment);\n });\n } else {\n return reject(new Error(file));\n }\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.loadAttachments = function(type, objId, projectId) {\n return this.attachmentsService.list(type, objId, projectId).then((function(_this) {\n return function(files) {\n _this._attachments = files.map(function(file) {\n var attachment;\n attachment = Immutable.Map();\n return attachment.merge({\n loading: false,\n editable: false,\n file: file\n });\n });\n return _this.regenerate();\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.deleteAttachment = function(toDeleteAttachment, type) {\n var onSuccess;\n onSuccess = (function(_this) {\n return function() {\n _this._attachments = _this._attachments.filter(function(attachment) {\n return attachment !== toDeleteAttachment;\n });\n return _this.regenerate();\n };\n })(this);\n return this.attachmentsService[\"delete\"](type, toDeleteAttachment.getIn(['file', 'id'])).then(onSuccess);\n };\n\n AttachmentsFullService.prototype.reorderAttachment = function(type, attachment, newIndex) {\n var attachments, oldIndex, promises;\n oldIndex = this.attachments.findIndex(function(it) {\n return it === attachment;\n });\n if (oldIndex === newIndex) {\n return;\n }\n attachments = this.attachments.remove(oldIndex);\n attachments = attachments.splice(newIndex, 0, attachment);\n attachments = attachments.map(function(x, i) {\n return x.setIn(['file', 'order'], i + 1);\n });\n promises = [];\n attachments.forEach((function(_this) {\n return function(attachment) {\n var patch;\n patch = {\n order: attachment.getIn(['file', 'order'])\n };\n return promises.push(_this.attachmentsService.patch(attachment.getIn(['file', 'id']), type, patch));\n };\n })(this));\n return Promise.all(promises).then((function(_this) {\n return function() {\n _this._attachments = attachments;\n return _this.regenerate();\n };\n })(this));\n };\n\n AttachmentsFullService.prototype.updateAttachment = function(toUpdateAttachment, type) {\n var index, oldAttachment, patch;\n index = this._attachments.findIndex(function(attachment) {\n return attachment.getIn(['file', 'id']) === toUpdateAttachment.getIn(['file', 'id']);\n });\n oldAttachment = this._attachments.get(index);\n patch = taiga.patch(oldAttachment.get('file'), toUpdateAttachment.get('file'));\n if (toUpdateAttachment.get('loading')) {\n this._attachments = this._attachments.set(index, toUpdateAttachment);\n return this.regenerate();\n } else {\n return this.attachmentsService.patch(toUpdateAttachment.getIn(['file', 'id']), type, patch).then((function(_this) {\n return function() {\n _this._attachments = _this._attachments.set(index, toUpdateAttachment);\n return _this.regenerate();\n };\n })(this));\n }\n };\n\n return AttachmentsFullService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgAttachmentsFullService\", AttachmentsFullService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchments-preview.controller.coffee\n */\n\n(function() {\n var AttachmentsPreviewController;\n\n AttachmentsPreviewController = (function() {\n AttachmentsPreviewController.$inject = [\"tgAttachmentsPreviewService\"];\n\n function AttachmentsPreviewController(attachmentsPreviewService) {\n this.attachmentsPreviewService = attachmentsPreviewService;\n taiga.defineImmutableProperty(this, \"current\", (function(_this) {\n return function() {\n if (!_this.attachmentsPreviewService.fileId) {\n return null;\n }\n return _this.getCurrent();\n };\n })(this));\n }\n\n AttachmentsPreviewController.prototype.hasPagination = function() {\n var images;\n images = this.attachments.filter((function(_this) {\n return function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n };\n })(this));\n return images.size > 1;\n };\n\n AttachmentsPreviewController.prototype.getCurrent = function() {\n var attachment, file;\n attachment = this.attachments.find((function(_this) {\n return function(attachment) {\n return _this.attachmentsPreviewService.fileId === attachment.getIn(['file', 'id']);\n };\n })(this));\n file = attachment.get('file');\n return file;\n };\n\n AttachmentsPreviewController.prototype.getIndex = function() {\n return this.attachments.findIndex((function(_this) {\n return function(attachment) {\n return _this.attachmentsPreviewService.fileId === attachment.getIn(['file', 'id']);\n };\n })(this));\n };\n\n AttachmentsPreviewController.prototype.next = function() {\n var attachmentIndex, image;\n attachmentIndex = this.getIndex();\n image = this.attachments.slice(attachmentIndex + 1).find(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n if (!image) {\n image = this.attachments.find(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n }\n return this.attachmentsPreviewService.fileId = image.getIn(['file', 'id']);\n };\n\n AttachmentsPreviewController.prototype.previous = function() {\n var attachmentIndex, image;\n attachmentIndex = this.getIndex();\n image = this.attachments.slice(0, attachmentIndex).findLast(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n if (!image) {\n image = this.attachments.findLast(function(attachment) {\n return taiga.isImage(attachment.getIn(['file', 'name']));\n });\n }\n return this.attachmentsPreviewService.fileId = image.getIn(['file', 'id']);\n };\n\n return AttachmentsPreviewController;\n\n })();\n\n angular.module('taigaComponents').controller('AttachmentsPreview', AttachmentsPreviewController);\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: attachments-preview.directive.coffee\n */\n\n(function() {\n var AttachmentPreviewLightboxDirective;\n\n AttachmentPreviewLightboxDirective = function(lightboxService, attachmentsPreviewService) {\n var link;\n link = function($scope, el, attrs, ctrl) {\n $(document.body).on(\"keydown.image-preview\", function(e) {\n if (attachmentsPreviewService.fileId) {\n if (e.keyCode === 39) {\n ctrl.next();\n } else if (e.keyCode === 37) {\n ctrl.previous();\n }\n }\n return $scope.$digest();\n });\n return $scope.$on('$destroy', function() {\n return $(document.body).off('.image-preview');\n });\n };\n return {\n scope: {},\n controller: 'AttachmentsPreview',\n templateUrl: 'components/attachments-preview/attachments-preview.html',\n link: link,\n controllerAs: \"vm\",\n bindToController: {\n attachments: \"=\"\n }\n };\n };\n\n angular.module('taigaComponents').directive(\"tgAttachmentsPreview\", [\"lightboxService\", \"tgAttachmentsPreviewService\", AttachmentPreviewLightboxDirective]);\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: attachments-preview.service.coffee\n */\n\n(function() {\n var AttachmentsPreviewService,\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 AttachmentsPreviewService = (function(superClass) {\n extend(AttachmentsPreviewService, superClass);\n\n AttachmentsPreviewService.$inject = [];\n\n function AttachmentsPreviewService() {}\n\n return AttachmentsPreviewService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgAttachmentsPreviewService\", AttachmentsPreviewService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchments-simple.controller.coffee\n */\n\n(function() {\n var AttachmentsSimpleController;\n\n AttachmentsSimpleController = (function() {\n AttachmentsSimpleController.$inject = [\"tgAttachmentsService\"];\n\n function AttachmentsSimpleController(attachmentsService) {\n this.attachmentsService = attachmentsService;\n }\n\n AttachmentsSimpleController.prototype.addAttachment = function(file) {\n var attachment;\n attachment = Immutable.fromJS({\n file: file,\n name: file.name,\n size: file.size\n });\n if (this.attachmentsService.validate(file)) {\n this.attachments = this.attachments.push(attachment);\n if (this.onAdd) {\n return this.onAdd({\n attachment: attachment\n });\n }\n }\n };\n\n AttachmentsSimpleController.prototype.addAttachments = function(files) {\n return _.forEach(files, this.addAttachment.bind(this));\n };\n\n AttachmentsSimpleController.prototype.deleteAttachment = function(toDeleteAttachment) {\n this.attachments = this.attachments.filter(function(attachment) {\n return attachment !== toDeleteAttachment;\n });\n if (this.onDelete) {\n return this.onDelete({\n attachment: toDeleteAttachment\n });\n }\n };\n\n return AttachmentsSimpleController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"AttachmentsSimple\", AttachmentsSimpleController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attchments-simple.directive.coffee\n */\n\n(function() {\n var AttachmentsSimpleDirective;\n\n AttachmentsSimpleDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n scope: {},\n bindToController: {\n attachments: \"=\",\n onAdd: \"&\",\n onDelete: \"&\"\n },\n controller: \"AttachmentsSimple\",\n controllerAs: \"vm\",\n templateUrl: \"components/attachments-simple/attachments-simple.html\",\n link: link\n };\n };\n\n AttachmentsSimpleDirective.$inject = [];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsSimple\", AttachmentsSimpleDirective);\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: attachments-sortable.directive.coffee\n */\n\n(function() {\n var AttachmentSortableDirective;\n\n AttachmentSortableDirective = function($parse) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n callback = $parse(attrs.tgAttachmentsSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('div[tg-bind-scope]');\n }\n });\n drake.on('dragend', function(item) {\n var attachment, newIndex;\n item = $(item);\n attachment = item.scope().attachment;\n newIndex = item.index();\n return scope.$apply(function() {\n return callback(scope, {\n attachment: attachment,\n index: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n AttachmentSortableDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgAttachmentsSortable\", AttachmentSortableDirective);\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: auto-select.directive.coffee\n */\n\n(function() {\n var AutoSelectDirective;\n\n AutoSelectDirective = function($timeout) {\n return {\n link: function(scope, elm) {\n return $timeout(function() {\n return elm[0].select();\n });\n }\n };\n };\n\n AutoSelectDirective.$inject = ['$timeout'];\n\n angular.module(\"taigaComponents\").directive(\"tgAutoSelect\", AutoSelectDirective);\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: avatar.directive.coffee\n */\n\n(function() {\n var AvatarDirective;\n\n AvatarDirective = function(avatarService) {\n var link;\n link = function(scope, el, attrs) {\n var attributeName;\n if (attrs.tgAvatarBig) {\n attributeName = 'avatarBig';\n } else {\n attributeName = 'avatar';\n }\n return scope.$watch(attributeName, function(user) {\n var avatar;\n avatar = avatarService.getAvatar(user, attributeName);\n el.attr('src', avatar.url);\n return el.css('background', avatar.bg || \"\");\n });\n };\n return {\n link: link,\n scope: {\n avatar: \"=tgAvatar\",\n avatarBig: \"=tgAvatarBig\"\n }\n };\n };\n\n AvatarDirective.$inject = ['tgAvatarService'];\n\n angular.module(\"taigaComponents\").directive(\"tgAvatar\", AvatarDirective);\n\n angular.module(\"taigaComponents\").directive(\"tgAvatarBig\", AvatarDirective);\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: belong-to-epics.directive.coffee\n */\n\n(function() {\n var BelongToEpicsDirective, module;\n\n module = angular.module('taigaEpics');\n\n BelongToEpicsDirective = function() {\n var link, templateUrl;\n link = function(scope, el, attrs) {\n return scope.$watch('epics', function(epics) {\n if (epics && !epics.isIterable) {\n return scope.immutable_epics = Immutable.fromJS(epics);\n }\n });\n };\n templateUrl = function(el, attrs) {\n if (attrs.format) {\n return \"components/belong-to-epics/belong-to-epics-\" + attrs.format + \".html\";\n }\n return \"components/belong-to-epics/belong-to-epics-pill.html\";\n };\n return {\n link: link,\n scope: {\n epics: '='\n },\n templateUrl: templateUrl\n };\n };\n\n module.directive(\"tgBelongToEpics\", BelongToEpicsDirective);\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/components/bind-code.directive.coffee\n */\n\n(function() {\n var BindCode;\n\n BindCode = function($sce, $parse, $compile, wysiwygService, wysiwygCodeHightlighterService) {\n return {\n restrict: 'A',\n compile: function(tElement, tAttrs) {\n var tgBindCodeGetter, tgBindCodeWatch;\n tgBindCodeGetter = $parse(tAttrs.tgBindCode);\n tgBindCodeWatch = $parse(tAttrs.tgBindCode, function(value) {\n return (value || '').toString();\n });\n $compile.$$addBindingClass(tElement);\n return function(scope, element, attr) {\n $compile.$$addBindingInfo(element, attr.tgBindCode);\n return scope.$watch(tgBindCodeWatch, function() {\n var html;\n html = wysiwygService.getHTML(tgBindCodeGetter(scope));\n element.html($sce.getTrustedHtml(html) || '');\n return wysiwygCodeHightlighterService.addHightlighter(element);\n });\n };\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgBindCode\", [\"$sce\", \"$parse\", \"$compile\", \"tgWysiwygService\", \"tgWysiwygCodeHightlighterService\", BindCode]);\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: board-zoom.directive.coffee\n */\n\n(function() {\n var BoardZoomDirective;\n\n BoardZoomDirective = function() {\n return {\n scope: {\n levels: \"=\",\n value: \"=\"\n },\n templateUrl: 'components/board-zoom/board-zoom.html'\n };\n };\n\n angular.module('taigaComponents').directive(\"tgBoardZoom\", [BoardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: card-slideshow.controller.coffee\n */\n\n(function() {\n var CardSlideshowController;\n\n CardSlideshowController = (function() {\n CardSlideshowController.$inject = [];\n\n function CardSlideshowController() {\n this.index = 0;\n }\n\n CardSlideshowController.prototype.next = function() {\n this.index++;\n if (this.index >= this.images.size) {\n return this.index = 0;\n }\n };\n\n CardSlideshowController.prototype.previous = function() {\n this.index--;\n if (this.index < 0) {\n return this.index = this.images.size - 1;\n }\n };\n\n return CardSlideshowController;\n\n })();\n\n angular.module('taigaComponents').controller('CardSlideshow', CardSlideshowController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: card.directive.coffee\n */\n\n(function() {\n var cardSlideshowDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n cardSlideshowDirective = function() {\n return {\n controller: \"CardSlideshow\",\n templateUrl: \"components/card-slideshow/card-slideshow.html\",\n bindToController: true,\n controllerAs: \"vm\",\n scope: {\n images: \"=\"\n }\n };\n };\n\n module.directive('tgCardSlideshow', cardSlideshowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: card.controller.coffee\n */\n\n(function() {\n var CardController;\n\n CardController = (function() {\n function CardController() {}\n\n CardController.$inject = [];\n\n CardController.prototype.visible = function(name) {\n return this.zoom.indexOf(name) !== -1;\n };\n\n CardController.prototype.hasTasks = function() {\n var tasks;\n tasks = this.item.getIn(['model', 'tasks']);\n return tasks && tasks.size > 0;\n };\n\n CardController.prototype.hasMultipleAssignedUsers = function() {\n var assignedUsers;\n assignedUsers = this.item.getIn(['model', 'assigned_users']);\n return assignedUsers && assignedUsers.size > 1;\n };\n\n CardController.prototype.hasVisibleAttachments = function() {\n return this.item.get('images').size > 0;\n };\n\n CardController.prototype.toggleFold = function() {\n return this.onToggleFold({\n id: this.item.get('id')\n });\n };\n\n CardController.prototype.getClosedTasks = function() {\n return this.item.getIn(['model', 'tasks']).filter(function(task) {\n return task.get('is_closed');\n });\n };\n\n CardController.prototype.closedTasksPercent = function() {\n return this.getClosedTasks().size * 100 / this.item.getIn(['model', 'tasks']).size;\n };\n\n CardController.prototype.getModifyPermisionKey = function() {\n if (this.type === 'task') {\n return 'modify_task';\n } else {\n return 'modify_us';\n }\n };\n\n CardController.prototype.getDeletePermisionKey = function() {\n if (this.type === 'task') {\n return 'delete_task';\n } else {\n return 'delete_us';\n }\n };\n\n CardController.prototype._setVisibility = function() {\n var visibility;\n visibility = {\n related: this.visible('related_tasks'),\n slides: this.visible('attachments')\n };\n if (!_.isUndefined(this.item.get('foldStatusChanged'))) {\n if (this.visible('related_tasks') && this.visible('attachments')) {\n visibility.related = !this.item.get('foldStatusChanged');\n visibility.slides = !this.item.get('foldStatusChanged');\n } else if (this.visible('attachments')) {\n visibility.related = this.item.get('foldStatusChanged');\n visibility.slides = this.item.get('foldStatusChanged');\n } else if (!this.visible('related_tasks') && !this.visible('attachments')) {\n visibility.related = this.item.get('foldStatusChanged');\n visibility.slides = this.item.get('foldStatusChanged');\n }\n }\n if (!this.item.getIn(['model', 'tasks']) || !this.item.getIn(['model', 'tasks']).size) {\n visibility.related = false;\n }\n if (!this.item.get('images') || !this.item.get('images').size) {\n visibility.slides = false;\n }\n return visibility;\n };\n\n CardController.prototype.isRelatedTasksVisible = function() {\n var visibility;\n visibility = this._setVisibility();\n return visibility.related;\n };\n\n CardController.prototype.isSlideshowVisible = function() {\n var visibility;\n visibility = this._setVisibility();\n return visibility.slides;\n };\n\n CardController.prototype.getNavKey = function() {\n if (this.type === 'task') {\n return 'project-tasks-detail';\n } else {\n return 'project-userstories-detail';\n }\n };\n\n return CardController;\n\n })();\n\n angular.module('taigaComponents').controller('Card', CardController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: card.directive.coffee\n */\n\n(function() {\n var cardDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n cardDirective = function() {\n return {\n link: function(scope) {},\n controller: \"Card\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"components/card/card.html\",\n scope: {\n onToggleFold: \"&\",\n onClickAssignedTo: \"&\",\n onClickEdit: \"&\",\n onClickDelete: \"&\",\n project: \"=\",\n item: \"=\",\n zoom: \"=\",\n zoomLevel: \"=\",\n archived: \"=\",\n type: \"@\"\n }\n };\n };\n\n module.directive('tgCard', cardDirective);\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/components/click-input-file.directive.coffee\n */\n\n(function() {\n var ClickInputFile;\n\n ClickInputFile = function() {\n return {\n link: function(scope, el) {\n el.on('click', function(e) {\n var inputFile;\n if (!$(e.target).is('input')) {\n e.preventDefault();\n inputFile = el.find('input[type=\"file\"]');\n inputFile.val('');\n return inputFile.trigger('click');\n }\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgClickInputFile\", [ClickInputFile]);\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: color-selector.controller.coffee\n */\n\n(function() {\n var ColorSelectorController, getDefaulColorList, taiga;\n\n taiga = this.taiga;\n\n getDefaulColorList = taiga.getDefaulColorList;\n\n ColorSelectorController = (function() {\n ColorSelectorController.$inject = [\"tgProjectService\"];\n\n function ColorSelectorController(projectService) {\n this.projectService = projectService;\n this.colorList = getDefaulColorList();\n this.checkIsColorRequired();\n this.displayColorList = false;\n }\n\n ColorSelectorController.prototype.userCanChangeColor = function() {\n if (!this.requiredPerm) {\n return true;\n }\n return this.projectService.hasPermission(this.requiredPerm);\n };\n\n ColorSelectorController.prototype.checkIsColorRequired = function() {\n if (!this.isColorRequired) {\n return this.colorList = _.dropRight(this.colorList);\n }\n };\n\n ColorSelectorController.prototype.setColor = function(color) {\n this.color = color;\n return this.customColor = color;\n };\n\n ColorSelectorController.prototype.resetColor = function() {\n if (this.isColorRequired && !this.color) {\n return this.color = this.initColor;\n }\n };\n\n ColorSelectorController.prototype.toggleColorList = function() {\n this.displayColorList = !this.displayColorList;\n this.customColor = this.color;\n return this.resetColor();\n };\n\n ColorSelectorController.prototype.onSelectDropdownColor = function(color) {\n this.color = color;\n this.onSelectColor({\n color: color\n });\n return this.toggleColorList();\n };\n\n ColorSelectorController.prototype.onKeyDown = function(event) {\n if (event.which === 13) {\n if (this.customColor || !this.isColorRequired) {\n this.onSelectDropdownColor(this.customColor);\n }\n return event.preventDefault();\n }\n };\n\n return ColorSelectorController;\n\n })();\n\n angular.module('taigaComponents').controller(\"ColorSelectorCtrl\", ColorSelectorController);\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: color-selector.directive.coffee\n */\n\n(function() {\n var ColorSelectorDirective, bindOnce;\n\n bindOnce = this.taiga.bindOnce;\n\n ColorSelectorDirective = function($timeout) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var _timeout, cancel, close;\n _timeout = null;\n cancel = function() {\n $timeout.cancel(_timeout);\n return _timeout = null;\n };\n close = function() {\n if (_timeout) {\n return;\n }\n return _timeout = $timeout((function() {\n ctrl.displayColorList = false;\n return ctrl.resetColor();\n }), 400);\n };\n el.find('.color-selector').mouseenter(cancel).mouseleave(close);\n el.find('.color-selector-dropdown').mouseenter(cancel).mouseleave(close);\n return scope.$watch('vm.initColor', function(color) {\n return ctrl.setColor(color);\n });\n };\n return {\n link: link,\n templateUrl: \"components/color-selector/color-selector.html\",\n controller: \"ColorSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n isColorRequired: \"=\",\n onSelectColor: \"&\",\n initColor: \"=\",\n requiredPerm: \"@\"\n },\n scope: {}\n };\n };\n\n ColorSelectorDirective.$inject = [\"$timeout\"];\n\n angular.module('taigaComponents').directive(\"tgColorSelector\", ColorSelectorDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: story-header.controller.coffee\n */\n\n(function() {\n var StoryHeaderController, module;\n\n module = angular.module(\"taigaUserStories\");\n\n StoryHeaderController = (function() {\n StoryHeaderController.$inject = [\"$rootScope\", \"$tgConfirm\", \"$tgQueueModelTransformation\", \"$tgNavUrls\", \"$window\"];\n\n function StoryHeaderController(rootScope, confirm, modelTransform, navUrls, window) {\n this.rootScope = rootScope;\n this.confirm = confirm;\n this.modelTransform = modelTransform;\n this.navUrls = navUrls;\n this.window = window;\n this.editMode = false;\n this.loadingSubject = false;\n this.originalSubject = this.item.subject;\n }\n\n StoryHeaderController.prototype._checkNav = function() {\n var ctx, ref, ref1;\n if (((ref = this.item.neighbors.previous) != null ? ref.ref : void 0) != null) {\n ctx = {\n project: this.project.slug,\n ref: this.item.neighbors.previous.ref\n };\n this.previousUrl = this.navUrls.resolve(\"project-\" + this.item._name + \"-detail\", ctx);\n }\n if (((ref1 = this.item.neighbors.next) != null ? ref1.ref : void 0) != null) {\n ctx = {\n project: this.project.slug,\n ref: this.item.neighbors.next.ref\n };\n return this.nextUrl = this.navUrls.resolve(\"project-\" + this.item._name + \"-detail\", ctx);\n }\n };\n\n StoryHeaderController.prototype._checkPermissions = function() {\n return this.permissions = {\n canEdit: _.includes(this.project.my_permissions, this.requiredPerm)\n };\n };\n\n StoryHeaderController.prototype.editSubject = function(value) {\n var selection;\n selection = this.window.getSelection();\n if (selection.type !== \"Range\") {\n if (value) {\n this.editMode = true;\n }\n if (!value) {\n return this.editMode = false;\n }\n }\n };\n\n StoryHeaderController.prototype.onKeyDown = function(event) {\n if (event.which === 13) {\n this.saveSubject();\n }\n if (event.which === 27) {\n this.item.subject = this.originalSubject;\n return this.editSubject(false);\n }\n };\n\n StoryHeaderController.prototype.saveSubject = function() {\n var item, onEditSubjectError, onEditSubjectSuccess, transform;\n onEditSubjectSuccess = (function(_this) {\n return function() {\n _this.loadingSubject = false;\n _this.rootScope.$broadcast(\"object:updated\");\n _this.confirm.notify('success');\n return _this.originalSubject = _this.item.subject;\n };\n })(this);\n onEditSubjectError = (function(_this) {\n return function() {\n _this.loadingSubject = false;\n return _this.confirm.notify('error');\n };\n })(this);\n this.editMode = false;\n this.loadingSubject = true;\n item = this.item;\n transform = this.modelTransform.save(function(item) {\n return item;\n });\n return transform.then(onEditSubjectSuccess, onEditSubjectError);\n };\n\n return StoryHeaderController;\n\n })();\n\n module.controller(\"StoryHeaderCtrl\", StoryHeaderController);\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: story-header.directive.coffee\n */\n\n(function() {\n var DetailHeaderDirective, module;\n\n module = angular.module('taigaUserStories');\n\n DetailHeaderDirective = function() {\n var link;\n this.$inject = [];\n link = function(scope, el, attrs, ctrl) {\n ctrl._checkPermissions();\n return ctrl._checkNav();\n };\n return {\n link: link,\n controller: \"StoryHeaderCtrl\",\n bindToController: true,\n scope: {\n item: \"=\",\n project: \"=\",\n requiredPerm: \"@\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/detail/header/detail-header.html\"\n };\n };\n\n module.directive(\"tgDetailHeader\", DetailHeaderDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 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: due-date-controller.coffee\n */\n\n(function() {\n var DueDateController;\n\n DueDateController = (function() {\n DueDateController.$inject = [\"$translate\", \"tgLightboxFactory\"];\n\n function DueDateController(translate, tgLightboxFactory) {\n this.translate = translate;\n this.tgLightboxFactory = tgLightboxFactory;\n }\n\n DueDateController.prototype.visible = function() {\n return this.format === 'button' || (this.dueDate != null);\n };\n\n DueDateController.prototype.disabled = function() {\n return this.isClosed;\n };\n\n DueDateController.prototype.color = function() {\n var colors;\n colors = {\n 'no_longer_applicable': 'closed',\n 'due_soon': 'due-soon',\n 'past_due': 'past-due',\n 'set': 'due-set'\n };\n return colors[this.dueDateStatus] || '';\n };\n\n DueDateController.prototype.title = function() {\n if (this.format === 'button') {\n if (this.dueDate) {\n return this._formatTitle();\n } else {\n return 'Edit due date';\n }\n }\n return this._formatTitle();\n };\n\n DueDateController.prototype._formatTitle = function() {\n var dueDateStatus, formatedDate, prettyDate, titles;\n dueDateStatus = 'closed';\n titles = {\n 'no_longer_applicable': 'COMMON.DUE_DATE.NO_LONGER_APPLICABLE',\n 'due_soon': 'COMMON.DUE_DATE.DUE_SOON',\n 'past_due': 'COMMON.DUE_DATE.PAST_DUE'\n };\n prettyDate = this.translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n formatedDate = moment(this.dueDate).format(prettyDate);\n if (!titles[this.dueDateStatus]) {\n return formatedDate;\n }\n return formatedDate + \" (\" + (this.translate.instant(titles[this.dueDateStatus])) + \")\";\n };\n\n DueDateController.prototype.setDueDate = function() {\n if (this.disabled()) {\n return;\n }\n return this.tgLightboxFactory.create(\"tg-lb-set-due-date\", {\n \"class\": \"lightbox lightbox-set-due-date\"\n }, {\n \"object\": this.item\n });\n };\n\n return DueDateController;\n\n })();\n\n angular.module('taigaComponents').controller('DueDate', DueDateController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2018 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: due-date.directive.coffee\n */\n\n(function() {\n var dueDateDirective, module;\n\n module = angular.module(\"taigaComponents\");\n\n dueDateDirective = function() {\n var templateUrl;\n templateUrl = function(el, attrs) {\n if (attrs.format) {\n return \"components/due-date/due-date-\" + attrs.format + \".html\";\n }\n return \"components/due-date/due-date-icon.html\";\n };\n return {\n link: function(scope) {},\n controller: \"DueDate\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: templateUrl,\n scope: {\n dueDate: '=',\n dueDateStatus: '=',\n isClosed: '=',\n item: '=',\n format: '@'\n }\n };\n };\n\n module.directive('tgDueDate', dueDateDirective);\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: file-change.directive.coffee\n */\n\n(function() {\n var FileChangeDirective;\n\n FileChangeDirective = function($parse) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var eventAttr;\n eventAttr = $parse(attrs.tgFileChange);\n el.on('change', function(event) {\n return scope.$apply(function() {\n return eventAttr(scope, {\n files: event.currentTarget.files\n });\n });\n });\n return scope.$on(\"$destroy\", function() {\n return el.off();\n });\n };\n return {\n restrict: \"A\",\n link: link\n };\n };\n\n FileChangeDirective.$inject = [\"$parse\"];\n\n angular.module(\"taigaComponents\").directive(\"tgFileChange\", FileChangeDirective);\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: filter-utils.service.coffee\n */\n\n(function() {\n var FilterRemoteStorageService, generateHash,\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 generateHash = taiga.generateHash;\n\n FilterRemoteStorageService = (function(superClass) {\n extend(FilterRemoteStorageService, superClass);\n\n FilterRemoteStorageService.$inject = [\"$q\", \"$tgUrls\", \"$tgHttp\"];\n\n function FilterRemoteStorageService(q, urls, http) {\n this.q = q;\n this.urls = urls;\n this.http = http;\n }\n\n FilterRemoteStorageService.prototype.storeFilters = function(projectId, myFilters, filtersHashSuffix) {\n var deferred, hash, ns, promise, url;\n deferred = this.q.defer();\n url = this.urls.resolve(\"user-storage\");\n ns = projectId + \":\" + filtersHashSuffix;\n hash = generateHash([projectId, ns]);\n if (_.isEmpty(myFilters)) {\n promise = this.http[\"delete\"](url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function() {\n return deferred.resolve();\n });\n promise.then(null, function() {\n return deferred.reject();\n });\n } else {\n promise = this.http.put(url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function(data) {\n return deferred.resolve();\n });\n promise.then(null, (function(_this) {\n return function(data) {\n var innerPromise;\n innerPromise = _this.http.post(\"\" + url, {\n key: hash,\n value: myFilters\n });\n innerPromise.then(function() {\n return deferred.resolve();\n });\n return innerPromise.then(null, function() {\n return deferred.reject();\n });\n };\n })(this));\n }\n return deferred.promise;\n };\n\n FilterRemoteStorageService.prototype.getFilters = function(projectId, filtersHashSuffix) {\n var deferred, hash, ns, promise, url;\n deferred = this.q.defer();\n url = this.urls.resolve(\"user-storage\");\n ns = projectId + \":\" + filtersHashSuffix;\n hash = generateHash([projectId, ns]);\n promise = this.http.get(url + \"/\" + hash);\n promise.then(function(data) {\n return deferred.resolve(data.data.value);\n });\n promise.then(null, function(data) {\n return deferred.resolve({});\n });\n return deferred.promise;\n };\n\n return FilterRemoteStorageService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgFilterRemoteStorageService\", FilterRemoteStorageService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: filter.-slide-down.controller.coffee\n */\n\n(function() {\n var FilterSlideDownDirective;\n\n FilterSlideDownDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var filter;\n filter = $('tg-filter');\n return scope.$watch(attrs.ngIf, function(value) {\n var contentHeight, wrapperHeight;\n if (value) {\n filter.find('.filter-list').hide();\n wrapperHeight = filter.height();\n contentHeight = 0;\n filter.children().each(function() {\n return contentHeight += $(this).outerHeight(true);\n });\n return $(el.context.nextSibling).css({\n \"max-height\": wrapperHeight - contentHeight,\n \"display\": \"block\"\n });\n }\n });\n };\n return {\n priority: 900,\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgFilterSlideDown\", [FilterSlideDownDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: filter.controller.coffee\n */\n\n(function() {\n var FilterController;\n\n FilterController = (function() {\n FilterController.$inject = [];\n\n function FilterController() {\n this.opened = null;\n this.customFilterForm = false;\n this.customFilterName = '';\n }\n\n FilterController.prototype.toggleFilterCategory = function(filterName) {\n if (this.opened === filterName) {\n return this.opened = null;\n } else {\n return this.opened = filterName;\n }\n };\n\n FilterController.prototype.isOpen = function(filterName) {\n return this.opened === filterName;\n };\n\n FilterController.prototype.saveCustomFilter = function() {\n this.onSaveCustomFilter({\n name: this.customFilterName\n });\n this.customFilterForm = false;\n this.opened = 'custom-filter';\n return this.customFilterName = '';\n };\n\n FilterController.prototype.changeQ = function() {\n return this.onChangeQ({\n q: this.q\n });\n };\n\n FilterController.prototype.unselectFilter = function(filter) {\n return this.onRemoveFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.unselectFilter = function(filter) {\n return this.onRemoveFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.selectFilter = function(filterCategory, filter) {\n filter = {\n category: filterCategory,\n filter: filter\n };\n return this.onAddFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.removeCustomFilter = function(filter) {\n return this.onRemoveCustomFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.selectCustomFilter = function(filter) {\n return this.onSelectCustomFilter({\n filter: filter\n });\n };\n\n FilterController.prototype.isFilterSelected = function(filterCategory, filter) {\n return !!_.find(this.selectedFilters, function(it) {\n return filter.id === it.id && filterCategory.dataType === it.dataType;\n });\n };\n\n return FilterController;\n\n })();\n\n angular.module('taigaComponents').controller('Filter', FilterController);\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: filter.directive.coffee\n */\n\n(function() {\n var FilterDirective;\n\n FilterDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var unwatch;\n unwatch = scope.$watch(\"vm.defaultQ\", function(q) {\n if (q && !scope.vm.filtersForm.$dirty) {\n scope.vm.q = q;\n return unwatch();\n } else if (scope.vm.filtersForm.$dirty) {\n return unwatch();\n }\n });\n return attrs.$observe(\"open\", function(open) {\n open = scope.$eval(open);\n if (open) {\n return el.addClass('open');\n } else {\n return el.removeClass('open');\n }\n });\n };\n return {\n scope: {\n onChangeQ: \"&\",\n onAddFilter: \"&\",\n onSelectCustomFilter: \"&\",\n onRemoveFilter: \"&\",\n onRemoveCustomFilter: \"&\",\n onSaveCustomFilter: \"&\",\n customFilters: \"<\",\n defaultQ: \"=q\",\n filters: \"<\",\n customFilters: \"<\",\n selectedFilters: \"<\"\n },\n bindToController: true,\n controller: \"Filter\",\n controllerAs: \"vm\",\n templateUrl: 'components/filter/filter.html',\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgFilter\", [FilterDirective]);\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: joy-ride.directive.coffee\n */\n\n(function() {\n var JoyRideDirective, taiga;\n\n taiga = this.taiga;\n\n JoyRideDirective = function($rootScope, currentUserService, joyRideService, $location, $translate) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var initJoyrRide, intro, unsuscribe;\n unsuscribe = null;\n intro = introJs();\n intro.oncomplete(function() {\n return $('html,body').scrollTop(0);\n });\n intro.onexit(function() {\n return currentUserService.disableJoyRide();\n });\n initJoyrRide = function(next, config) {\n if (!config[next.joyride]) {\n return;\n }\n intro.setOptions({\n exitOnEsc: false,\n exitOnOverlayClick: false,\n showStepNumbers: false,\n nextLabel: $translate.instant('JOYRIDE.NAV.NEXT') + ' →',\n prevLabel: '← ' + $translate.instant('JOYRIDE.NAV.BACK'),\n skipLabel: $translate.instant('JOYRIDE.NAV.SKIP'),\n doneLabel: $translate.instant('JOYRIDE.NAV.DONE'),\n disableInteraction: true\n });\n intro.setOption('steps', joyRideService.get(next.joyride));\n return intro.start();\n };\n return $rootScope.$on('$routeChangeSuccess', function(event, next) {\n if (!next.joyride || !currentUserService.isAuthenticated()) {\n intro.exit();\n if (unsuscribe) {\n unsuscribe();\n }\n return;\n }\n intro.oncomplete(function() {\n return currentUserService.disableJoyRide(next.joyride);\n });\n if (next.loader) {\n return unsuscribe = $rootScope.$on('loader:end', function() {\n currentUserService.loadJoyRideConfig().then(function(config) {\n return initJoyrRide(next, config);\n });\n return unsuscribe();\n });\n } else {\n return currentUserService.loadJoyRideConfig().then(function(config) {\n return initJoyrRide(next, config);\n });\n }\n });\n };\n return {\n scope: {},\n link: link\n };\n };\n\n JoyRideDirective.$inject = [\"$rootScope\", \"tgCurrentUserService\", \"tgJoyRideService\", \"$location\", \"$translate\"];\n\n angular.module(\"taigaComponents\").directive(\"tgJoyRide\", JoyRideDirective);\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: joy-ride.service.coffee\n */\n\n(function() {\n var JoyRideService,\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 JoyRideService = (function(superClass) {\n extend(JoyRideService, superClass);\n\n JoyRideService.$inject = ['$translate', 'tgCheckPermissionsService'];\n\n function JoyRideService(translate, checkPermissionsService) {\n this.translate = translate;\n this.checkPermissionsService = checkPermissionsService;\n }\n\n JoyRideService.prototype.getConfig = function() {\n return {\n dashboard: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.project-list > section:not(.ng-hide)',\n position: 'left',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP1.TITLE'),\n text: _this.translate.instant('JOYRIDE.DASHBOARD.STEP1.TEXT')\n }\n }, {\n element: '.working-on-container',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.DASHBOARD.STEP2.TEXT')\n }\n }, {\n element: '.watching-container',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TITLE'),\n text: [_this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TEXT1'), _this.translate.instant('JOYRIDE.DASHBOARD.STEP3.TEXT2')]\n }\n }\n ];\n if (!$('.project-list .create-project-button').is(':hidden')) {\n steps.push({\n element: '.project-list .create-project-button',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TITLE'),\n text: [_this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TEXT1'), _this.translate.instant('JOYRIDE.DASHBOARD.STEP4.TEXT2')]\n }\n });\n }\n return steps;\n };\n })(this),\n backlog: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.summary',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP1.TITLE'),\n text: [_this.translate.instant('JOYRIDE.BACKLOG.STEP1.TEXT1'), _this.translate.instant('JOYRIDE.BACKLOG.STEP1.TEXT2')]\n }\n }, {\n element: '.backlog-table-empty',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP2.TEXT')\n }\n }, {\n element: '.sprints',\n position: 'left',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP3.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP3.TEXT')\n }\n }\n ];\n if (_this.checkPermissionsService.check('add_us')) {\n steps.push({\n element: '.new-us',\n position: 'rigth',\n joyride: {\n title: _this.translate.instant('JOYRIDE.BACKLOG.STEP4.TITLE'),\n text: _this.translate.instant('JOYRIDE.BACKLOG.STEP4.TEXT')\n }\n });\n }\n return steps;\n };\n })(this),\n kanban: (function(_this) {\n return function() {\n var steps;\n steps = [\n {\n element: '.kanban-table-inner',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP1.TITLE'),\n text: _this.translate.instant('JOYRIDE.KANBAN.STEP1.TEXT')\n }\n }, {\n element: '.card-placeholder',\n position: 'right',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP2.TITLE'),\n text: _this.translate.instant('JOYRIDE.KANBAN.STEP2.TEXT')\n }\n }\n ];\n if (_this.checkPermissionsService.check('add_us')) {\n steps.push({\n element: '.add-action',\n position: 'bottom',\n joyride: {\n title: _this.translate.instant('JOYRIDE.KANBAN.STEP3.TITLE'),\n text: [_this.translate.instant('JOYRIDE.KANBAN.STEP3.TEXT1'), _this.translate.instant('JOYRIDE.KANBAN.STEP3.TEXT2')]\n }\n });\n }\n return steps;\n };\n })(this)\n };\n };\n\n JoyRideService.prototype.get = function(name) {\n var joyRide, joyRides;\n joyRides = this.getConfig();\n joyRide = joyRides[name].call(this);\n return _.map(joyRide, function(item) {\n var html;\n html = \"\";\n if (item.joyride.title) {\n html += \"

    \" + item.joyride.title + \"

    \";\n }\n if (_.isArray(item.joyride.text)) {\n _.forEach(item.joyride.text, function(text) {\n return html += \"

    \" + text + \"

    \";\n });\n } else {\n html += \"

    \" + item.joyride.text + \"

    \";\n }\n item.intro = html;\n return item;\n });\n };\n\n return JoyRideService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgJoyRideService\", JoyRideService);\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: kanban-board-zoom.directive.coffee\n */\n\n(function() {\n var KanbanBoardZoomDirective;\n\n KanbanBoardZoomDirective = function(storage, projectService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var getZoomView, unwatch, zooms;\n scope.zoomIndex = storage.get(\"kanban_zoom\") || 2;\n scope.levels = 5;\n zooms = [[\"ref\"], [\"subject\"], [\"owner\", \"tags\", \"extra_info\", \"unfold\"], [\"attachments\"], [\"related_tasks\", \"empty_extra_info\"]];\n getZoomView = function(zoomIndex) {\n if (zoomIndex == null) {\n zoomIndex = 0;\n }\n if (storage.get(\"kanban_zoom\") !== zoomIndex) {\n storage.set(\"kanban_zoom\", zoomIndex);\n }\n return _.reduce(zooms, function(result, value, key) {\n if (key <= zoomIndex) {\n result = result.concat(value);\n }\n return result;\n });\n };\n scope.$watch('zoomIndex', function(zoomLevel) {\n var zoom;\n zoom = getZoomView(zoomLevel);\n return scope.onZoomChange({\n zoomLevel: zoomLevel,\n zoom: zoom\n });\n });\n return unwatch = scope.$watch(function() {\n return projectService.project;\n }, function(project) {\n if (project) {\n if (project.get('my_permissions').indexOf(\"view_tasks\") === -1) {\n scope.levels = 4;\n }\n return unwatch();\n }\n });\n };\n return {\n scope: {\n onZoomChange: \"&\"\n },\n template: \"\",\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgKanbanBoardZoom\", [\"$tgStorage\", \"tgProjectService\", KanbanBoardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Andrey Antukh \n * Copyright (C) 2014-2015 Jesús Espino Garcia \n * Copyright (C) 2014-2015 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: live-announcement.directive.coffee\n */\n\n(function() {\n var LiveAnnouncementDirective;\n\n LiveAnnouncementDirective = function(liveAnnouncementService) {\n var link;\n link = function(scope, el, attrs) {};\n return {\n restrict: \"AE\",\n scope: {},\n controllerAs: 'vm',\n controller: function() {\n this.close = function() {\n return liveAnnouncementService.open = false;\n };\n return Object.defineProperties(this, {\n open: {\n get: function() {\n return liveAnnouncementService.open;\n }\n },\n title: {\n get: function() {\n return liveAnnouncementService.title;\n }\n },\n desc: {\n get: function() {\n return liveAnnouncementService.desc;\n }\n }\n });\n },\n link: link,\n templateUrl: \"components/live-announcement/live-announcement.html\"\n };\n };\n\n LiveAnnouncementDirective.$inject = [\"tgLiveAnnouncementService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgLiveAnnouncement\", LiveAnnouncementDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: notification.service.coffee\n */\n\n(function() {\n var LiveAnnouncementService,\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 LiveAnnouncementService = (function(superClass) {\n extend(LiveAnnouncementService, superClass);\n\n function LiveAnnouncementService() {\n this.open = false;\n this.title = \"\";\n this.desc = \"\";\n }\n\n LiveAnnouncementService.prototype.show = function(title, desc) {\n this.open = true;\n this.title = title;\n return this.desc = desc;\n };\n\n return LiveAnnouncementService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgLiveAnnouncementService\", LiveAnnouncementService);\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: project-logo-big-src.directive.coffee\n */\n\n(function() {\n var ProjectLogoBigSrcDirective;\n\n ProjectLogoBigSrcDirective = function(projectLogoService) {\n var link;\n link = function(scope, el, attrs) {\n return scope.$watch('project', function(project) {\n var logo, projectLogo;\n project = Immutable.fromJS(project);\n if (!project) {\n return;\n }\n projectLogo = project.get('logo_big_url');\n if (projectLogo) {\n el.attr('src', projectLogo);\n return el.css('background', \"\");\n } else {\n logo = projectLogoService.getDefaultProjectLogo(project.get('slug'), project.get('id'));\n el.attr('src', logo.src);\n return el.css('background', logo.color);\n }\n });\n };\n return {\n link: link,\n scope: {\n project: \"=tgProjectLogoBigSrc\"\n }\n };\n };\n\n ProjectLogoBigSrcDirective.$inject = [\"tgProjectLogoService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectLogoBigSrc\", ProjectLogoBigSrcDirective);\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: project-logo-small-src.directive.coffee\n */\n\n(function() {\n var ProjectLogoSmallSrcDirective;\n\n ProjectLogoSmallSrcDirective = function(projectLogoService) {\n var link;\n link = function(scope, el, attrs) {\n return scope.$watch('project', function(project) {\n var logo, projectLogo;\n project = Immutable.fromJS(project);\n if (!project) {\n return;\n }\n projectLogo = project.get('logo_small_url');\n if (projectLogo) {\n el.attr('src', projectLogo);\n return el.css('background', \"\");\n } else {\n logo = projectLogoService.getDefaultProjectLogo(project.get('slug'), project.get('id'));\n el.attr('src', logo.src);\n return el.css('background', logo.color);\n }\n });\n };\n return {\n link: link,\n scope: {\n project: \"=tgProjectLogoSmallSrc\"\n }\n };\n };\n\n ProjectLogoSmallSrcDirective.$inject = [\"tgProjectLogoService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectLogoSmallSrc\", ProjectLogoSmallSrcDirective);\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: project-menu.controller.coffee\n */\n\n(function() {\n var ProjectMenuController;\n\n ProjectMenuController = (function() {\n ProjectMenuController.$inject = [\"tgProjectService\", \"tgLightboxFactory\"];\n\n function ProjectMenuController(projectService, lightboxFactory) {\n this.projectService = projectService;\n this.lightboxFactory = lightboxFactory;\n this.project = null;\n this.menu = Immutable.Map();\n }\n\n ProjectMenuController.prototype.show = function() {\n this.project = this.projectService.project;\n this.active = this._getActiveSection();\n this._setVideoConference();\n return this._setMenuPermissions();\n };\n\n ProjectMenuController.prototype.hide = function() {\n this.project = null;\n return this.menu = {};\n };\n\n ProjectMenuController.prototype.search = function() {\n return this.lightboxFactory.create(\"tg-search-box\", {\n \"class\": \"lightbox lightbox-search\"\n });\n };\n\n ProjectMenuController.prototype._setVideoConference = function() {\n var videoconferenceUrl;\n videoconferenceUrl = this._videoConferenceUrl();\n if (videoconferenceUrl) {\n return this.project = this.project.set(\"videoconferenceUrl\", videoconferenceUrl);\n }\n };\n\n ProjectMenuController.prototype._setMenuPermissions = function() {\n this.menu = Immutable.Map({\n epics: false,\n backlog: false,\n kanban: false,\n issues: false,\n wiki: false\n });\n if (this.project.get(\"is_epics_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_epics\") !== -1) {\n this.menu = this.menu.set(\"epics\", true);\n }\n if (this.project.get(\"is_backlog_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_us\") !== -1) {\n this.menu = this.menu.set(\"backlog\", true);\n }\n if (this.project.get(\"is_kanban_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_us\") !== -1) {\n this.menu = this.menu.set(\"kanban\", true);\n }\n if (this.project.get(\"is_issues_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_issues\") !== -1) {\n this.menu = this.menu.set(\"issues\", true);\n }\n if (this.project.get(\"is_wiki_activated\") && this.project.get(\"my_permissions\").indexOf(\"view_wiki_pages\") !== -1) {\n return this.menu = this.menu.set(\"wiki\", true);\n }\n };\n\n ProjectMenuController.prototype._getActiveSection = function() {\n var indexBacklog, indexKanban, oldSectionName, sectionName, sectionsBreadcrumb;\n sectionName = this.projectService.section;\n sectionsBreadcrumb = this.projectService.sectionsBreadcrumb;\n indexBacklog = sectionsBreadcrumb.lastIndexOf(\"backlog\");\n indexKanban = sectionsBreadcrumb.lastIndexOf(\"kanban\");\n if (indexBacklog !== -1 || indexKanban !== -1) {\n if (indexKanban === -1 || indexBacklog > indexKanban) {\n oldSectionName = \"backlog\";\n } else {\n oldSectionName = \"kanban\";\n }\n }\n if (sectionName === \"backlog-kanban\") {\n if (oldSectionName === \"backlog\" || oldSectionName === \"kanban\") {\n sectionName = oldSectionName;\n } else if (this.project.get(\"is_backlog_activated\") && !this.project.get(\"is_kanban_activated\")) {\n sectionName = \"backlog\";\n } else if (!this.project.get(\"is_backlog_activated\") && this.project.get(\"is_kanban_activated\")) {\n sectionName = \"kanban\";\n }\n }\n return sectionName;\n };\n\n ProjectMenuController.prototype._videoConferenceUrl = function() {\n var baseUrl, url;\n if (this.project.get(\"videoconferences\") === \"appear-in\") {\n baseUrl = \"https://appear.in/\";\n } else if (this.project.get(\"videoconferences\") === \"talky\") {\n baseUrl = \"https://talky.io/\";\n } else if (this.project.get(\"videoconferences\") === \"jitsi\") {\n baseUrl = \"https://meet.jit.si/\";\n } else if (this.project.get(\"videoconferences\") === \"custom\") {\n return this.project.get(\"videoconferences_extra_data\");\n } else {\n return \"\";\n }\n if (this.project.get(\"videoconferences_extra_data\")) {\n url = this.project.get(\"slug\") + \"-\" + taiga.slugify(this.project.get(\"videoconferences_extra_data\"));\n } else {\n url = this.project.get(\"slug\");\n }\n if (this.project.get(\"videoconferences\") === \"jitsi\") {\n url = url.replace(/-/g, \"\");\n }\n return baseUrl + url;\n };\n\n return ProjectMenuController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"ProjectMenu\", ProjectMenuController);\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: project-menu.directive.coffee\n */\n\n(function() {\n var ProjectMenuDirective, taiga;\n\n taiga = this.taiga;\n\n ProjectMenuDirective = function(projectService, lightboxFactory) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var projectChange;\n projectChange = function() {\n if (projectService.project) {\n return ctrl.show();\n } else {\n return ctrl.hide();\n }\n };\n scope.$watch((function() {\n return projectService.project;\n }), projectChange);\n scope.vm.fixed = false;\n return $(window).on(\"scroll\", function() {\n var position;\n position = $(window).scrollTop();\n if (position > 100 && scope.vm.fixed === false) {\n scope.vm.fixed = true;\n return scope.$digest();\n } else if (position < 100 && scope.vm.fixed === true) {\n scope.vm.fixed = false;\n return scope.$digest();\n }\n });\n };\n return {\n scope: {},\n controller: \"ProjectMenu\",\n controllerAs: \"vm\",\n templateUrl: \"components/project-menu/project-menu.html\",\n link: link\n };\n };\n\n ProjectMenuDirective.$inject = [\"tgProjectService\", \"tgLightboxFactory\"];\n\n angular.module(\"taigaComponents\").directive(\"tgProjectMenu\", ProjectMenuDirective);\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: tag-line.directive.coffee\n */\n\n(function() {\n var TagOptionDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagOptionDirective = function() {\n var dispatch, link, select, stop;\n select = function(selected) {\n var containerHeight, diff, selectedPosition;\n selected.addClass('selected');\n selectedPosition = selected.position().top + selected.outerHeight();\n containerHeight = selected.parent().outerHeight();\n if (selectedPosition > containerHeight) {\n diff = selectedPosition - containerHeight;\n return selected.parent().scrollTop(selected.parent().scrollTop() + diff);\n } else if (selected.position().top < 0) {\n return selected.parent().scrollTop(selected.parent().scrollTop() + selected.position().top);\n }\n };\n dispatch = function(el, code, scope) {\n var activeElement, next, prev;\n activeElement = el.find(\".selected\");\n if (code === 40) {\n if (!activeElement.length) {\n return select(el.find('li:first'));\n } else {\n next = activeElement.next('li');\n if (next.length) {\n activeElement.removeClass('selected');\n return select(next);\n }\n }\n } else if (code === 38) {\n if (!activeElement.length) {\n return select(el.find('li:last'));\n } else {\n prev = activeElement.prev('li');\n if (prev.length) {\n activeElement.removeClass('selected');\n return select(prev);\n }\n }\n }\n };\n stop = function() {\n return $(document).off(\".tags-keyboard-navigation\");\n };\n link = function(scope, el) {\n stop();\n $(el).parent().on(\"keydown.tags-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) {\n event.preventDefault();\n return dispatch(el, code, scope);\n }\n };\n })(this));\n return scope.$on(\"$destroy\", stop);\n };\n return {\n link: link,\n templateUrl: \"components/tags/tag-dropdown/tag-dropdown.html\",\n scope: {\n onSelectTag: \"&\",\n colorArray: \"=\",\n tag: \"=\"\n }\n };\n };\n\n module.directive(\"tgTagsDropdown\", TagOptionDirective);\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: tag-line.controller.coffee\n */\n\n(function() {\n var TagLineCommonController, module, trim;\n\n trim = this.taiga.trim;\n\n module = angular.module('taigaCommon');\n\n TagLineCommonController = (function() {\n TagLineCommonController.$inject = [\"tgTagLineService\"];\n\n function TagLineCommonController(tagLineService) {\n this.tagLineService = tagLineService;\n this.disableColorSelection = false;\n this.newTag = {\n name: \"\",\n color: null\n };\n this.colorArray = [];\n this.addTag = false;\n }\n\n TagLineCommonController.prototype.checkPermissions = function() {\n return this.tagLineService.checkPermissions(this.project.my_permissions, this.permissions);\n };\n\n TagLineCommonController.prototype._createColorsArray = function(projectTagColors) {\n return this.colorArray = this.tagLineService.createColorsArray(projectTagColors);\n };\n\n TagLineCommonController.prototype.displayTagInput = function() {\n return this.addTag = true;\n };\n\n TagLineCommonController.prototype.addNewTag = function(name, color) {\n this.newTag.name = \"\";\n this.newTag.color = null;\n if (!name.length) {\n return;\n }\n if (this.disableColorSelection) {\n if (name.length) {\n return this.onAddTag({\n name: name,\n color: color\n });\n }\n } else {\n if (this.project.tags_colors[name]) {\n color = this.project.tags_colors[name];\n }\n return this.onAddTag({\n name: name,\n color: color\n });\n }\n };\n\n TagLineCommonController.prototype.selectColor = function(color) {\n return this.newTag.color = color;\n };\n\n return TagLineCommonController;\n\n })();\n\n module.controller(\"TagLineCommonCtrl\", TagLineCommonController);\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: tag-line.directive.coffee\n */\n\n(function() {\n var TagLineCommonDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagLineCommonDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n var unwatch;\n if (!_.isUndefined(attr.disableColorSelection)) {\n ctrl.disableColorSelection = true;\n }\n unwatch = scope.$watch(\"vm.project\", function(project) {\n if (!project || !Object.keys(project).length) {\n return;\n }\n unwatch();\n if (!ctrl.disableColorSelection) {\n return ctrl.colorArray = ctrl._createColorsArray(ctrl.project.tags_colors);\n }\n });\n return el.on(\"keydown\", \".tag-input\", function(event) {\n var tagName;\n if (event.keyCode === 27) {\n ctrl.addTag = false;\n ctrl.newTag.name = \"\";\n ctrl.newTag.color = \"\";\n event.stopPropagation();\n } else if (event.keyCode === 13) {\n event.preventDefault();\n if (el.find('.tags-dropdown .selected').length) {\n tagName = $('.tags-dropdown .selected .tags-dropdown-name').text();\n ctrl.addNewTag(tagName, null);\n } else {\n ctrl.addNewTag(ctrl.newTag.name, ctrl.newTag.color);\n }\n }\n return scope.$apply();\n });\n };\n return {\n link: link,\n scope: {\n permissions: \"@\",\n loadingAddTag: \"=\",\n loadingRemoveTag: \"=\",\n tags: \"=\",\n project: \"=\",\n onAddTag: \"&\",\n onDeleteTag: \"&\"\n },\n templateUrl: \"components/tags/tag-line-common/tag-line-common.html\",\n controller: \"TagLineCommonCtrl\",\n controllerAs: \"vm\",\n bindToController: true\n };\n };\n\n module.directive(\"tgTagLineCommon\", TagLineCommonDirective);\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: tag-line.controller.coffee\n */\n\n(function() {\n var TagLineController, module, trim;\n\n trim = this.taiga.trim;\n\n module = angular.module('taigaCommon');\n\n TagLineController = (function() {\n TagLineController.$inject = [\"$rootScope\", \"$tgConfirm\", \"$tgQueueModelTransformation\"];\n\n function TagLineController(rootScope, confirm, modelTransform) {\n this.rootScope = rootScope;\n this.confirm = confirm;\n this.modelTransform = modelTransform;\n this.loadingAddTag = false;\n }\n\n TagLineController.prototype.onDeleteTag = function(tag) {\n var onDeleteTagError, onDeleteTagSuccess, tagName, transform;\n this.loadingRemoveTag = tag[0];\n onDeleteTagSuccess = (function(_this) {\n return function(item) {\n _this.rootScope.$broadcast(\"object:updated\");\n _this.loadingRemoveTag = false;\n return item;\n };\n })(this);\n onDeleteTagError = (function(_this) {\n return function() {\n _this.confirm.notify(\"error\");\n return _this.loadingRemoveTag = false;\n };\n })(this);\n tagName = trim(tag[0].toLowerCase());\n transform = this.modelTransform.save(function(item) {\n var itemtags;\n itemtags = _.clone(item.tags);\n _.remove(itemtags, function(tag) {\n return tag[0] === tagName;\n });\n item.tags = itemtags;\n return item;\n });\n return transform.then(onDeleteTagSuccess, onDeleteTagError);\n };\n\n TagLineController.prototype.onAddTag = function(tag, color) {\n var onAddTagError, onAddTagSuccess, transform;\n this.loadingAddTag = true;\n onAddTagSuccess = (function(_this) {\n return function(item) {\n _this.rootScope.$broadcast(\"object:updated\");\n _this.addTag = false;\n _this.loadingAddTag = false;\n return item;\n };\n })(this);\n onAddTagError = (function(_this) {\n return function() {\n _this.loadingAddTag = false;\n return _this.confirm.notify(\"error\");\n };\n })(this);\n transform = this.modelTransform.save((function(_this) {\n return function(item) {\n var itemtags, value;\n value = trim(tag.toLowerCase());\n itemtags = _.clone(item.tags);\n itemtags.push([tag, color]);\n item.tags = itemtags;\n return item;\n };\n })(this));\n return transform.then(onAddTagSuccess, onAddTagError);\n };\n\n return TagLineController;\n\n })();\n\n module.controller(\"TagLineCtrl\", TagLineController);\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: tag-line.directive.coffee\n */\n\n(function() {\n var TagLineDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagLineDirective = function() {\n return {\n scope: {\n item: \"=\",\n permissions: \"@\",\n project: \"=\"\n },\n templateUrl: \"components/tags/tag-line-detail/tag-line-detail.html\",\n controller: \"TagLineCtrl\",\n controllerAs: \"vm\",\n bindToController: true\n };\n };\n\n module.directive(\"tgTagLine\", TagLineDirective);\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: tag-line.service.coffee\n */\n\n(function() {\n var TagLineService, module,\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 module = angular.module('taigaCommon');\n\n TagLineService = (function(superClass) {\n extend(TagLineService, superClass);\n\n TagLineService.$inject = [];\n\n function TagLineService() {}\n\n TagLineService.prototype.checkPermissions = function(myPermissions, projectPermissions) {\n return _.includes(myPermissions, projectPermissions);\n };\n\n TagLineService.prototype.createColorsArray = function(projectTagColors) {\n return _.map(projectTagColors, function(index, value) {\n return [value, index];\n });\n };\n\n return TagLineService;\n\n })(taiga.Service);\n\n module.service(\"tgTagLineService\", TagLineService);\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: tag-line.directive.coffee\n */\n\n(function() {\n var TagDirective, module;\n\n module = angular.module('taigaCommon');\n\n TagDirective = function() {\n return {\n templateUrl: \"components/tags/tag/tag.html\",\n scope: {\n tag: \"<\",\n loadingRemoveTag: \"<\",\n onDeleteTag: \"&\",\n hasPermissions: \"@\"\n }\n };\n };\n\n module.directive(\"tgTag\", TagDirective);\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: taskboard-zoom.directive.coffee\n */\n\n(function() {\n var TaskboardZoomDirective;\n\n TaskboardZoomDirective = function(storage) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var getZoomView, zooms;\n scope.zoomIndex = storage.get(\"taskboard_zoom\") || 2;\n scope.levels = 4;\n zooms = [[\"ref\"], [\"subject\"], [\"owner\", \"tags\", \"extra_info\", \"unfold\"], [\"attachments\", \"empty_extra_info\"], [\"related_tasks\"]];\n getZoomView = function(zoomIndex) {\n if (zoomIndex == null) {\n zoomIndex = 0;\n }\n if (storage.get(\"taskboard_zoom\") !== zoomIndex) {\n storage.set(\"taskboard_zoom\", zoomIndex);\n }\n return _.reduce(zooms, function(result, value, key) {\n if (key <= zoomIndex) {\n result = result.concat(value);\n }\n return result;\n });\n };\n return scope.$watch('zoomIndex', function(zoomLevel) {\n var zoom;\n zoom = getZoomView(zoomLevel);\n return scope.onZoomChange({\n zoomLevel: zoomLevel,\n zoom: zoom\n });\n });\n };\n return {\n scope: {\n onZoomChange: \"&\"\n },\n template: \"\",\n link: link\n };\n };\n\n angular.module('taigaComponents').directive(\"tgTaskboardZoom\", [\"$tgStorage\", TaskboardZoomDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 Andrey Antukh \n * Copyright (C) 2014-2015 Jesús Espino Garcia \n * Copyright (C) 2014-2015 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: terms-announcement.directive.coffee\n */\n\n(function() {\n var TermsAnnouncementDirective;\n\n TermsAnnouncementDirective = function(TermsAnnouncementService, $repo, $auth, $config, $model) {\n var link;\n link = function(scope, el, attrs) {\n scope.privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n scope.termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n return scope.GDPRUrl = $config.get(\"GDPRUrl\");\n };\n return {\n restrict: \"AE\",\n scope: {},\n controllerAs: 'vm',\n controller: function() {\n this.close = function() {\n var onSuccess, user, userData;\n TermsAnnouncementService.open = false;\n user = $auth.getUser();\n if (user.read_new_terms === void 0) {\n userData = user.getAttrs();\n userData.read_new_terms = false;\n user = $model.make_model(\"users\", userData);\n }\n user.read_new_terms = true;\n onSuccess = function(data) {\n return $auth.setUser(data);\n };\n return $repo.save(user).then(onSuccess);\n };\n return Object.defineProperties(this, {\n open: {\n get: function() {\n return TermsAnnouncementService.open;\n }\n }\n });\n },\n link: link,\n templateUrl: \"components/terms-announcement/terms-announcement.html\"\n };\n };\n\n TermsAnnouncementDirective.$inject = [\"tgTermsAnnouncementService\", \"$tgRepo\", \"$tgAuth\", \"$tgConfig\", \"$tgModel\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTermsAnnouncement\", TermsAnnouncementDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: terms-announcement.service.coffee\n */\n\n(function() {\n var TermsAnnouncementService,\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 TermsAnnouncementService = (function(superClass) {\n extend(TermsAnnouncementService, superClass);\n\n function TermsAnnouncementService() {\n this.open = false;\n }\n\n TermsAnnouncementService.prototype.show = function() {\n return this.open = true;\n };\n\n return TermsAnnouncementService;\n\n })(taiga.Service);\n\n angular.module(\"taigaComponents\").service(\"tgTermsAnnouncementService\", TermsAnnouncementService);\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/components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.directive.coffee\n */\n\n(function() {\n var TermsOfServiceAndPrivacyPolicyNoticeDirective;\n\n TermsOfServiceAndPrivacyPolicyNoticeDirective = function($config) {\n var link;\n link = function(scope, el, attrs) {\n scope.privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n scope.termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n scope.target = false;\n if (!scope.privacyPolicyUrl || !scope.termsOfServiceUrl) {\n scope.target = true;\n }\n return el.on(\"change\", \"input[name='accepted_terms']\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n scope.target = target.is(\":checked\");\n return scope.$apply();\n });\n };\n return {\n restrict: \"AE\",\n link: link,\n scope: {\n target: \"=\"\n },\n templateUrl: \"components/terms-of-service-and-privacy-policy-notice/terms-of-service-and-privacy-policy-notice.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgTermsOfServiceAndPrivacyPolicyNotice\", [\"$tgConfig\", TermsOfServiceAndPrivacyPolicyNoticeDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: tribe-button.directive.coffee\n */\n\n(function() {\n var TribeButtonDirective;\n\n TribeButtonDirective = function(configService, locationService) {\n var link;\n link = function(scope, el, attrs) {\n scope.vm = {};\n scope.vm.tribeHost = configService.config.tribeHost;\n scope.vm.url = (locationService.protocol()) + \"://\" + (locationService.host());\n if (locationService.protocol() === \"http\" && locationService.port() !== 80) {\n return scope.vm.url = scope.vm.url + \":\" + (locationService.port());\n } else if (locationService.protocol() === \"https\" && locationService.port() !== 443) {\n return scope.vm.url = scope.vm.url + \":\" + (locationService.port());\n }\n };\n return {\n scope: {\n usId: \"=\",\n projectSlug: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/tribe-button/tribe-button.html\",\n link: link\n };\n };\n\n TribeButtonDirective.$inject = [\"$tgConfig\", \"$tgLocation\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTribeButton\", TribeButtonDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: tribe-linked.directive.coffee\n */\n\n(function() {\n var TribeLinkedDirective;\n\n TribeLinkedDirective = function(configService) {\n var directive, link;\n link = function(scope, el, attrs) {\n scope.vm = {};\n scope.vm.tribeHost = configService.config.tribeHost;\n scope.vm.show = function() {\n return scope.vm.open = true;\n };\n return scope.vm.hide = function(event) {\n return scope.vm.open = false;\n };\n };\n directive = {\n templateUrl: \"components/tribe-button/tribe-linked.html\",\n scope: {\n gigTitle: \"=\",\n gigId: \"=\"\n },\n link: link\n };\n return directive;\n };\n\n TribeLinkedDirective.$inject = [\"$tgConfig\"];\n\n angular.module(\"taigaComponents\").directive(\"tgTribeLinked\", TribeLinkedDirective);\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: vote-button.controller.coffee\n */\n\n(function() {\n var VoteButtonController;\n\n VoteButtonController = (function() {\n VoteButtonController.$inject = [\"tgCurrentUserService\"];\n\n function VoteButtonController(currentUserService) {\n this.currentUserService = currentUserService;\n this.user = this.currentUserService.getUser();\n this.isMouseOver = false;\n this.loading = false;\n }\n\n VoteButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n VoteButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n VoteButtonController.prototype.toggleVote = function() {\n var promise;\n this.loading = true;\n if (!this.item.is_voter) {\n promise = this._upvote();\n } else {\n promise = this._downvote();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n VoteButtonController.prototype._upvote = function() {\n return this.onUpvote().then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this));\n };\n\n VoteButtonController.prototype._downvote = function() {\n return this.onDownvote();\n };\n\n return VoteButtonController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"VoteButton\", VoteButtonController);\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: vote-button.directive.coffee\n */\n\n(function() {\n var VoteButtonDirective;\n\n VoteButtonDirective = function() {\n return {\n scope: {},\n controller: \"VoteButton\",\n bindToController: {\n item: \"=\",\n onUpvote: \"=\",\n onDownvote: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"components/vote-button/vote-button.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgVoteButton\", VoteButtonDirective);\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: watch-button.controller.coffee\n */\n\n(function() {\n var WatchButtonController;\n\n WatchButtonController = (function() {\n WatchButtonController.$inject = [\"tgCurrentUserService\", \"$rootScope\"];\n\n function WatchButtonController(currentUserService, rootScope) {\n this.currentUserService = currentUserService;\n this.rootScope = rootScope;\n this.user = this.currentUserService.getUser();\n this.isMouseOver = false;\n this.loading = false;\n }\n\n WatchButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n WatchButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n WatchButtonController.prototype.openWatchers = function() {\n return this.rootScope.$broadcast(\"watcher:add\", this.item);\n };\n\n WatchButtonController.prototype.getPerms = function() {\n var name, perms;\n if (!this.item) {\n return \"\";\n }\n name = this.item._name;\n perms = {\n userstories: 'modify_us',\n issues: 'modify_issue',\n tasks: 'modify_task',\n epics: 'modify_epic'\n };\n return perms[name];\n };\n\n WatchButtonController.prototype.toggleWatch = function() {\n var promise;\n this.loading = true;\n if (!this.item.is_watcher) {\n promise = this._watch();\n } else {\n promise = this._unwatch();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n WatchButtonController.prototype._watch = function() {\n return this.onWatch().then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this));\n };\n\n WatchButtonController.prototype._unwatch = function() {\n return this.onUnwatch();\n };\n\n return WatchButtonController;\n\n })();\n\n angular.module(\"taigaComponents\").controller(\"WatchButton\", WatchButtonController);\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: watch-button.directive.coffee\n */\n\n(function() {\n var WatchButtonDirective;\n\n WatchButtonDirective = function() {\n return {\n scope: {},\n controller: \"WatchButton\",\n bindToController: {\n item: \"=\",\n onWatch: \"=\",\n onUnwatch: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: function(item, attributes) {\n return \"components/watch-button/watch-button-\" + attributes.environment + \".html\";\n }\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWatchButton\", WatchButtonDirective);\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/components/wysiwyg/comment-edit-wysiwyg.directive.coffee\n */\n\n(function() {\n var CommentEditWysiwyg;\n\n CommentEditWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n types = {\n epics: \"epic\",\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.comment.comment.id, types[$scope.vm.comment.comment._name], file, true, true).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n return $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCommentEditWysiwyg\", [\"tgAttachmentsFullService\", CommentEditWysiwyg]);\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/components/wysiwyg/comment-wysiwyg.directive.coffee\n */\n\n(function() {\n var CommentWysiwyg;\n\n CommentWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n $scope.editableDescription = false;\n $scope.saveComment = function(description, cb) {\n $scope.content = '';\n $scope.vm.type.comment = description;\n return $scope.vm.onAddComment({\n callback: cb\n });\n };\n types = {\n epics: \"epic\",\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.type.id, types[$scope.vm.type._name], file, true, true).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.onChange = function(markdown) {\n return $scope.vm.type.comment = markdown;\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.content = '';\n return $scope.$watch(\"vm.type\", function(value) {\n if (!value) {\n return;\n }\n return $scope.storageKey = \"comment-\" + value.project + \"-\" + value.id + \"-\" + value._name;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCommentWysiwyg\", [\"tgAttachmentsFullService\", CommentWysiwyg]);\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/components/wysiwyg/comment-edit-wysiwyg.directive.coffee\n */\n\n(function() {\n var CustomFieldEditWysiwyg;\n\n CustomFieldEditWysiwyg = function(attachmentsFullService) {\n var link;\n link = function($scope, $el, $attrs) {\n var types, uploadFile;\n types = {\n userstories: \"us\",\n issues: \"issue\",\n tasks: \"task\"\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.vm.projectId, $scope.vm.comment.comment.id, types[$scope.vm.comment.comment._name], file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n return $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n
    \"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgCustomFieldEditWysiwyg\", [\"tgAttachmentsFullService\", CustomFieldEditWysiwyg]);\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/components/wysiwyg/item-wysiwyg.directive.coffee\n */\n\n(function() {\n var ItemWysiwyg;\n\n ItemWysiwyg = function($modelTransform, $rootscope, $confirm, attachmentsFullService, $translate) {\n var link;\n link = function($scope, $el, $attrs) {\n var uploadFile;\n $scope.editableDescription = false;\n $scope.saveDescription = function(description, cb) {\n var transform;\n transform = $modelTransform.save(function(item) {\n item.description = description;\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\"](cb);\n };\n uploadFile = function(file, cb) {\n return attachmentsFullService.addAttachment($scope.project.id, $scope.item.id, $attrs.type, file).then(function(result) {\n return cb(result.getIn(['file', 'name']), result.getIn(['file', 'url']));\n });\n };\n $scope.uploadFiles = function(files, cb) {\n var file, i, len, results;\n results = [];\n for (i = 0, len = files.length; i < len; i++) {\n file = files[i];\n results.push(uploadFile(file, cb));\n }\n return results;\n };\n $scope.$watch($attrs.model, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n $scope.version = value.version;\n return $scope.storageKey = $scope.project.id + \"-\" + value.id + \"-\" + $attrs.type;\n });\n return $scope.$watch('project', function(project) {\n if (!project) {\n return;\n }\n return $scope.editableDescription = project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n });\n };\n return {\n scope: true,\n link: link,\n template: \"
    \\n \\n \\n\\n
    \\n\\n \\n {{'COMMON.DESCRIPTION.NO_DESCRIPTION' | translate}}\\n
    \\n\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgItemWysiwyg\", [\"$tgQueueModelTransformation\", \"$rootScope\", \"$tgConfirm\", \"tgAttachmentsFullService\", \"$translate\", ItemWysiwyg]);\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/components/wysiwyg/wysiwyg-code-hightlighter.service.coffee\n */\n\n(function() {\n var WysiwygCodeHightlighterService;\n\n WysiwygCodeHightlighterService = (function() {\n function WysiwygCodeHightlighterService() {\n Prism.plugins.customClass.prefix('prism-');\n Prism.plugins.customClass.map({});\n }\n\n WysiwygCodeHightlighterService.prototype.getLanguages = function() {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n if (_this.languages) {\n return resolve(_this.languages);\n } else if (_this.loadPromise) {\n return _this.loadPromise.then(function() {\n return resolve(_this.languages);\n });\n } else {\n return _this.loadPromise = $.getJSON(\"/\" + window._version + \"/prism/prism-languages.json\").then(function(_languages_) {\n _this.loadPromise = null;\n _this.languages = _.map(_languages_, function(it) {\n it.url = (\"/\" + window._version + \"/prism/\") + it.file;\n return it;\n });\n return resolve(_this.languages);\n });\n }\n };\n })(this));\n };\n\n WysiwygCodeHightlighterService.prototype.getLanguageInClassList = function(classes) {\n var lan;\n lan = _.find(this.languages, function(it) {\n return !!_.find(classes, function(className) {\n return 'language-' + it.name === className;\n });\n });\n if (lan) {\n return lan.name;\n } else {\n return null;\n }\n };\n\n WysiwygCodeHightlighterService.prototype.loadLanguage = function(lan) {\n return new Promise(function(resolve) {\n if (!Prism.languages[lan]) {\n return ljs.load(\"/\" + window._version + \"/prism/prism-\" + lan + \".min.js\", resolve);\n } else {\n return resolve();\n }\n });\n };\n\n WysiwygCodeHightlighterService.prototype.replaceCodeBrToNl = function(code) {\n return $(code).find('br').replaceWith('\\n');\n };\n\n WysiwygCodeHightlighterService.prototype.hightlightCode = function(code) {\n var lan;\n this.replaceCodeBrToNl(code);\n lan = this.getLanguageInClassList(code.classList);\n if (lan) {\n return this.loadLanguage(lan).then(function() {\n return Prism.highlightElement(code);\n });\n }\n };\n\n WysiwygCodeHightlighterService.prototype.addHightlighter = function(element) {\n var codes;\n codes = $(element).find('code');\n return codes.each((function(_this) {\n return function(index, code) {\n return _this.hightlightCode(code);\n };\n })(this));\n };\n\n return WysiwygCodeHightlighterService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygCodeHightlighterService\", WysiwygCodeHightlighterService);\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/components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.directive.coffee\n */\n\n(function() {\n var WysiwygCodeLightbox;\n\n WysiwygCodeLightbox = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch('visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n scope.open = true;\n lightboxService.open(el, null, scope.onClose);\n return scope.$applyAsync(function() {\n var textarea;\n textarea = el[0].querySelector('textarea');\n if (textarea) {\n return textarea.select();\n }\n });\n } else if (!visible && el.hasClass('open')) {\n scope.open = false;\n return lightboxService.close(el);\n }\n });\n };\n return {\n scope: {\n languages: '<',\n codeLanguage: '<',\n code: '<',\n visible: '<',\n onClose: '&',\n onSave: '&'\n },\n link: link,\n templateUrl: \"components/wysiwyg/wysiwyg-code-lightbox/wysiwyg-code-lightbox.html\"\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWysiwygCodeLightbox\", [\"lightboxService\", WysiwygCodeLightbox]);\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/components/wysiwyg/wysiwyg-mention.service.coffee\n */\n\n(function() {\n var WysiwygMentionService;\n\n WysiwygMentionService = (function() {\n WysiwygMentionService.$inject = [\"tgProjectService\", \"tgWysiwygService\", \"$tgNavUrls\", \"$tgResources\"];\n\n function WysiwygMentionService(projectService, wysiwygService, navurls, rs) {\n this.projectService = projectService;\n this.wysiwygService = wysiwygService;\n this.navurls = navurls;\n this.rs = rs;\n this.cancelablePromise = null;\n }\n\n WysiwygMentionService.prototype.searchEmoji = function(name, cb) {\n var filteredEmojis;\n filteredEmojis = this.wysiwygService.searchEmojiByName(name);\n filteredEmojis = filteredEmojis.slice(0, 10);\n return cb(filteredEmojis);\n };\n\n WysiwygMentionService.prototype.searchUser = function(term, cb) {\n var searchProps, users;\n searchProps = ['username', 'full_name', 'full_name_display'];\n users = this.projectService.project.toJS().members.filter((function(_this) {\n return function(user) {\n var i, len, prop;\n for (i = 0, len = searchProps.length; i < len; i++) {\n prop = searchProps[i];\n if (taiga.slugify(user[prop]).indexOf(term) >= 0) {\n return true;\n } else if (user[prop].indexOf(term) >= 0) {\n return true;\n }\n }\n return false;\n };\n })(this));\n users = users.slice(0, 10).map((function(_this) {\n return function(it) {\n it.url = _this.navurls.resolve('user-profile', {\n project: _this.projectService.project.get('slug'),\n username: it.username\n });\n return it;\n };\n })(this));\n return cb(users);\n };\n\n WysiwygMentionService.prototype.searchItem = function(term) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n var filter, searchProps, searchTypes, urls;\n term = taiga.slugify(term);\n searchTypes = ['issues', 'tasks', 'userstories'];\n urls = {\n issues: \"project-issues-detail\",\n tasks: \"project-tasks-detail\",\n userstories: \"project-userstories-detail\"\n };\n searchProps = ['ref', 'subject'];\n filter = function(item) {\n var i, len, prop;\n for (i = 0, len = searchProps.length; i < len; i++) {\n prop = searchProps[i];\n if (taiga.slugify(item[prop]).indexOf(term) >= 0) {\n return true;\n }\n }\n return false;\n };\n if (_this.cancelablePromise) {\n _this.cancelablePromise.abort();\n }\n _this.cancelablePromise = _this.rs.search[\"do\"](_this.projectService.project.get('id'), term);\n return _this.cancelablePromise.then(function(res) {\n var i, items, len, result, type;\n if (res.count < 1 || res.count === res.wikipages.length) {\n return resolve([]);\n } else {\n result = [];\n for (i = 0, len = searchTypes.length; i < len; i++) {\n type = searchTypes[i];\n if (res[type] && res[type].length > 0) {\n items = res[type].filter(filter);\n items = items.map(function(it) {\n it.url = _this.navurls.resolve(urls[type], {\n project: _this.projectService.project.get('slug'),\n ref: it.ref\n });\n return it;\n });\n result = result.concat(items);\n }\n }\n result = _.sortBy(result, [\"ref\"]);\n return resolve(result.slice(0, 10));\n }\n });\n };\n })(this));\n };\n\n WysiwygMentionService.prototype.search = function(mention) {\n return new Promise((function(_this) {\n return function(resolve) {\n if ('#'.indexOf(mention[0]) !== -1) {\n return _this.searchItem(mention.replace('#', '')).then(resolve);\n } else if ('@'.indexOf(mention[0]) !== -1) {\n return _this.searchUser(mention.replace('@', ''), resolve);\n } else if (':'.indexOf(mention[0]) !== -1) {\n return _this.searchEmoji(mention.replace(':', ''), resolve);\n }\n };\n })(this));\n };\n\n return WysiwygMentionService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygMentionService\", WysiwygMentionService);\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/components/wysiwyg/wysiwyg.directive.coffee\n */\n\n(function() {\n var Medium, bindOnce, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n Medium = function($translate, $confirm, $storage, wysiwygService, animationFrame, tgLoader, wysiwygCodeHightlighterService, wysiwygMentionService, analytics, $location) {\n var AlignRightButton, CodeButton, CustomPasteHandler, addCodeBlockAndHightlight, getIcon, getRangeCodeBlock, isCodeBlockSelected, link, oldIsBlockContainer, refreshCodeBlocks, removeCodeBlockAndHightlight, removeSelections;\n removeSelections = function() {\n if (window.getSelection) {\n if (window.getSelection().empty) {\n return window.getSelection().empty();\n }\n } else if (window.getSelection().removeAllRanges) {\n return window.getSelection().removeAllRanges();\n } else if (document.selection) {\n return document.selection.empty();\n }\n };\n getRangeCodeBlock = function(range) {\n return $(range.endContainer).parentsUntil('.editor', 'code');\n };\n isCodeBlockSelected = function(range) {\n return !!getRangeCodeBlock(range).length;\n };\n removeCodeBlockAndHightlight = function(selection, mediumInstance) {\n var code, p, pre;\n if ($(selection).is('code')) {\n code = selection;\n } else {\n code = $(selection).closest('code')[0];\n }\n pre = code.parentNode;\n p = document.createElement('p');\n p.innerText = code.innerText;\n pre.parentNode.replaceChild(p, pre);\n return mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n };\n addCodeBlockAndHightlight = function(range, mediumInstance) {\n var code, extract, pre, start;\n pre = document.createElement('pre');\n code = document.createElement('code');\n if (!range.startContainer.parentNode.nextSibling) {\n $('
    ').insertAfter(range.startContainer.parentNode);\n }\n start = range.endContainer.parentNode.nextSibling;\n extract = range.extractContents();\n code.appendChild(extract);\n pre.appendChild(code);\n start.parentNode.insertBefore(pre, start);\n refreshCodeBlocks(mediumInstance);\n return mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n };\n refreshCodeBlocks = function(mediumInstance) {\n var i, j, len, len1, mainChildren, p, pre, preList, ref, results;\n if (!mediumInstance) {\n return;\n }\n ref = mediumInstance.elements[0].children;\n for (i = 0, len = ref.length; i < len; i++) {\n mainChildren = ref[i];\n if (mainChildren && mainChildren.tagName.toLowerCase() === 'p' && !mainChildren.innerHTML.trim().length) {\n mainChildren.parentNode.removeChild(mainChildren);\n }\n }\n preList = mediumInstance.elements[0].querySelectorAll('pre');\n results = [];\n for (j = 0, len1 = preList.length; j < len1; j++) {\n pre = preList[j];\n pre.setAttribute('contenteditable', false);\n pre.setAttribute('title', $translate.instant(\"COMMON.WYSIWYG.DB_CLICK\"));\n pre.addEventListener('mousedown', function(e) {\n return e.preventDefault();\n });\n if (pre.nextElementSibling && pre.nextElementSibling.nodeName.toLowerCase() === 'p' && !pre.nextElementSibling.children.length) {\n results.push(pre.nextElementSibling.appendChild(document.createElement('br')));\n } else if (!pre.nextElementSibling || ['p', 'ul', 'h1', 'h2', 'h3'].indexOf(pre.nextElementSibling.nodeName.toLowerCase()) === -1) {\n p = document.createElement('p');\n p.appendChild(document.createElement('br'));\n results.push(pre.parentNode.insertBefore(p, pre.nextSibling));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n AlignRightButton = MediumEditor.extensions.button.extend({\n name: 'rtl',\n init: function() {\n var option;\n option = _.find(this.base.options.toolbar.buttons, function(it) {\n return it.name === 'rtl';\n });\n this.button = this.document.createElement('button');\n this.button.classList.add('medium-editor-action');\n this.button.innerHTML = option.contentDefault || 'RTL';\n this.button.title = 'RTL';\n return this.on(this.button, 'click', this.handleClick.bind(this));\n },\n getButton: function() {\n return this.button;\n },\n handleClick: function(event) {\n var range;\n range = MediumEditor.selection.getSelectionRange(document);\n if (range.commonAncestorContainer.parentNode.style.textAlign === 'right') {\n return document.execCommand('justifyLeft', false);\n } else {\n return document.execCommand('justifyRight', false);\n }\n }\n });\n getIcon = function(icon) {\n return \"\\n \\n\";\n };\n CodeButton = MediumEditor.extensions.button.extend({\n name: 'code',\n init: function() {\n var option;\n option = _.find(this.base.options.toolbar.buttons, function(it) {\n return it.name === 'code';\n });\n this.button = this.document.createElement('button');\n this.button.classList.add('medium-editor-action');\n this.button.innerHTML = option.contentDefault || 'Code';\n this.button.title = 'Code';\n return this.on(this.button, 'click', this.handleClick.bind(this));\n },\n getButton: function() {\n return this.button;\n },\n tagNames: ['code'],\n handleClick: function(event) {\n var range, toolbar;\n range = MediumEditor.selection.getSelectionRange(self.document);\n if (isCodeBlockSelected(range, this.base)) {\n removeCodeBlockAndHightlight(range.endContainer, this.base);\n } else {\n addCodeBlockAndHightlight(range, this.base);\n removeSelections();\n }\n toolbar = this.base.getExtensionByName('toolbar');\n if (toolbar) {\n return toolbar.hideToolbar();\n }\n }\n });\n CustomPasteHandler = MediumEditor.extensions.paste.extend({\n doPaste: function(pastedHTML, pastedPlain, editable) {\n var html;\n html = MediumEditor.util.htmlEntities(pastedPlain);\n return MediumEditor.util.insertHTMLCommand(this.document, html);\n }\n });\n oldIsBlockContainer = MediumEditor.util.isBlockContainer;\n MediumEditor.util.isBlockContainer = function(element) {\n var tagName;\n if (!element) {\n return oldIsBlockContainer(element);\n }\n if (element.tagName) {\n tagName = element.tagName;\n } else {\n tagName = element.parentNode.tagName;\n }\n if (tagName.toLowerCase() === 'code') {\n return true;\n }\n return oldIsBlockContainer(element);\n };\n link = function($scope, $el, $attrs) {\n var cancelWithConfirmation, change, clean, codeBlockSelected, create, discardLocalStorage, editorMarkdown, editorMedium, getCurrentContent, isDraft, isEditOnly, isOutdated, localSave, mediumInstance, notPersist, replaceCodeBrToNl, saveEnd, setEditMode, setHtmlMedium, throttleChange, unwatch, updateMarkdownWithCurrentHtml, uploadEnd;\n mediumInstance = null;\n editorMedium = $el.find('.medium');\n editorMarkdown = $el.find('.markdown');\n codeBlockSelected = null;\n isEditOnly = !!$attrs.$attr.editonly;\n notPersist = !!$attrs.$attr.notPersist;\n $scope.required = !!$attrs.$attr.required;\n $scope.editMode = isEditOnly || false;\n $scope.mode = $storage.get('editor-mode', 'html');\n $scope.markdown = '';\n $scope.codeEditorVisible = false;\n $scope.codeLans = [];\n wysiwygCodeHightlighterService.getLanguages().then(function(codeLans) {\n return $scope.codeLans = codeLans;\n });\n setEditMode = function(editMode) {\n return $scope.editMode = editMode;\n };\n setHtmlMedium = function(markdown) {\n var html;\n html = wysiwygService.getHTML(markdown);\n editorMedium.html(html);\n wysiwygCodeHightlighterService.addHightlighter(mediumInstance.elements[0]);\n if ($scope.editMode) {\n return refreshCodeBlocks(mediumInstance);\n }\n };\n $scope.saveSnippet = function(lan, code) {\n var codePre;\n $scope.codeEditorVisible = false;\n codeBlockSelected.innerText = code;\n codePre = codeBlockSelected.parentNode;\n if (lan === 'remove-formating') {\n codeBlockSelected.className = '';\n codePre.className = '';\n removeCodeBlockAndHightlight(codeBlockSelected, mediumInstance);\n } else if (_.trim(code).length) {\n if (lan) {\n codeBlockSelected.className = 'language-' + lan;\n codePre.className = 'language-' + lan;\n } else {\n codeBlockSelected.className = '';\n codePre.className = '';\n }\n wysiwygCodeHightlighterService.hightlightCode(codeBlockSelected);\n mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n } else {\n codeBlockSelected.parentNode.parentNode.removeChild(codeBlockSelected.parentNode);\n mediumInstance.checkContentChanged(mediumInstance.elements[0]);\n }\n throttleChange();\n return null;\n };\n $scope.setMode = function(mode) {\n $storage.set('editor-mode', mode);\n if (mode === 'markdown') {\n updateMarkdownWithCurrentHtml();\n } else {\n setHtmlMedium($scope.markdown);\n }\n $scope.mode = mode;\n return mediumInstance.trigger('editableBlur', {}, editorMedium[0]);\n };\n $scope.save = function(e) {\n if (e) {\n e.preventDefault();\n }\n if ($scope.mode === 'html') {\n updateMarkdownWithCurrentHtml();\n }\n setHtmlMedium($scope.markdown);\n if ($scope.required && !$scope.markdown.length) {\n return;\n }\n $scope.saving = true;\n $scope.outdated = false;\n $scope.onSave({\n text: $scope.markdown,\n cb: saveEnd\n });\n };\n $scope.cancel = function(e) {\n if (e) {\n e.preventDefault();\n }\n if (!isEditOnly) {\n setEditMode(false);\n }\n if (notPersist) {\n clean();\n } else if ($scope.mode === 'html') {\n setHtmlMedium($scope.content || null);\n }\n $scope.markdown = $scope.content;\n discardLocalStorage();\n mediumInstance.trigger('blur', {}, editorMedium[0]);\n $scope.outdated = false;\n refreshCodeBlocks(mediumInstance);\n $scope.onCancel();\n };\n clean = function() {\n $scope.markdown = '';\n return editorMedium.html('');\n };\n saveEnd = function() {\n $scope.saving = false;\n if (!isEditOnly) {\n setEditMode(false);\n }\n if (notPersist) {\n clean();\n }\n discardLocalStorage();\n mediumInstance.trigger('blur', {}, editorMedium[0]);\n return analytics.trackEvent('develop', 'save wysiwyg', $scope.mode, 1);\n };\n uploadEnd = function(name, url) {\n if (taiga.isImage(name)) {\n return mediumInstance.pasteHTML(\"
    \");\n } else {\n name = $('
    ').text(name).html();\n return mediumInstance.pasteHTML(\"\" + name + \"
    \");\n }\n };\n isOutdated = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store && store.version && store.version !== $scope.version) {\n return true;\n }\n return false;\n };\n isDraft = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store) {\n return true;\n }\n return false;\n };\n getCurrentContent = function() {\n var store;\n store = $storage.get($scope.storageKey);\n if (store) {\n return store.text;\n }\n return $scope.content;\n };\n discardLocalStorage = function() {\n return $storage.remove($scope.storageKey);\n };\n cancelWithConfirmation = function() {\n var message, title;\n if ($scope.content === $scope.markdown) {\n $scope.cancel();\n document.activeElement.blur();\n document.body.click();\n return null;\n }\n title = $translate.instant(\"COMMON.CONFIRM_CLOSE_EDIT_MODE_TITLE\");\n message = $translate.instant(\"COMMON.CONFIRM_CLOSE_EDIT_MODE_MESSAGE\");\n return $confirm.ask(title, null, message).then(function(askResponse) {\n $scope.cancel();\n return askResponse.finish();\n });\n };\n replaceCodeBrToNl = function() {\n var html;\n html = $('
    ').html(editorMedium.html());\n html.find('code br').replaceWith('\\n');\n return html.html();\n };\n updateMarkdownWithCurrentHtml = function() {\n var html;\n html = replaceCodeBrToNl();\n return $scope.markdown = wysiwygService.getMarkdown(html);\n };\n localSave = function(markdown) {\n var store;\n if ($scope.storageKey) {\n store = {};\n store.version = $scope.version || 0;\n store.text = markdown;\n return $storage.set($scope.storageKey, store);\n }\n };\n change = function() {\n if ($scope.mode === 'html') {\n updateMarkdownWithCurrentHtml();\n }\n localSave($scope.markdown);\n return $scope.onChange({\n markdown: $scope.markdown\n });\n };\n throttleChange = _.throttle(change, 200);\n create = function(text, editMode) {\n var html;\n if (editMode == null) {\n editMode = false;\n }\n if (text.length) {\n html = wysiwygService.getHTML(text);\n editorMedium.html(html);\n }\n mediumInstance = new MediumEditor(editorMedium[0], {\n imageDragging: false,\n placeholder: {\n text: $scope.placeholder\n },\n toolbar: {\n buttons: [\n {\n name: 'bold',\n contentDefault: getIcon('editor-bold')\n }, {\n name: 'italic',\n contentDefault: getIcon('editor-italic')\n }, {\n name: 'strikethrough',\n contentDefault: getIcon('editor-cross-out')\n }, {\n name: 'anchor',\n contentDefault: getIcon('editor-link')\n }, {\n name: 'image',\n contentDefault: getIcon('editor-image')\n }, {\n name: 'orderedlist',\n contentDefault: getIcon('editor-list-n')\n }, {\n name: 'unorderedlist',\n contentDefault: getIcon('editor-list-o')\n }, {\n name: 'h1',\n contentDefault: getIcon('editor-h1')\n }, {\n name: 'h2',\n contentDefault: getIcon('editor-h2')\n }, {\n name: 'h3',\n contentDefault: getIcon('editor-h3')\n }, {\n name: 'quote',\n contentDefault: getIcon('editor-quote')\n }, {\n name: 'removeFormat',\n contentDefault: getIcon('editor-no-format')\n }, {\n name: 'rtl',\n contentDefault: getIcon('editor-rtl')\n }, {\n name: 'code',\n contentDefault: getIcon('editor-code')\n }\n ]\n },\n extensions: {\n paste: new CustomPasteHandler(),\n code: new CodeButton(),\n autolist: new AutoList(),\n alignright: new AlignRightButton(),\n mediumMention: new MentionExtension({\n getItems: function(mention, mentionCb) {\n return wysiwygMentionService.search(mention).then(mentionCb);\n }\n })\n }\n });\n $scope.changeMarkdown = throttleChange;\n mediumInstance.subscribe('editableInput', function(e) {\n return $scope.$applyAsync(throttleChange);\n });\n mediumInstance.subscribe(\"editableClick\", function(e) {\n var r;\n r = new RegExp('^(?:[a-z]+:)?//', 'i');\n if (e.target.href) {\n if (r.test(e.target.getAttribute('href')) || e.target.getAttribute('target') === '_blank') {\n e.stopPropagation();\n return window.open(e.target.href);\n } else {\n return $location.url(e.target.href);\n }\n }\n });\n mediumInstance.subscribe('editableDrop', function(event) {\n return $scope.onUploadFile({\n files: event.dataTransfer.files,\n cb: uploadEnd\n });\n });\n mediumInstance.subscribe('editableKeydown', function(e) {\n var code, mention;\n code = e.keyCode ? e.keyCode : e.which;\n mention = $('.medium-mention');\n if ((code === 40 || code === 38) && mention.length) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n if ($scope.editMode && code === 27) {\n e.stopPropagation();\n return $scope.$applyAsync(cancelWithConfirmation);\n } else if (code === 27) {\n return editorMedium.blur();\n }\n });\n setEditMode(editMode);\n return $scope.$applyAsync(function() {\n wysiwygCodeHightlighterService.addHightlighter(mediumInstance.elements[0]);\n return refreshCodeBlocks(mediumInstance);\n });\n };\n $(editorMedium[0]).on('mousedown', function(e) {\n if (e.target.href) {\n e.preventDefault();\n return e.stopPropagation();\n } else {\n return $scope.$applyAsync(function() {\n if (!$scope.editMode) {\n setEditMode(true);\n return refreshCodeBlocks(mediumInstance);\n }\n });\n }\n });\n $(editorMedium[0]).on('dblclick', 'pre', function(e) {\n return $scope.$applyAsync(function() {\n $scope.codeEditorVisible = true;\n codeBlockSelected = e.currentTarget.querySelector('code');\n $scope.currentCodeLanguage = wysiwygCodeHightlighterService.getLanguageInClassList(codeBlockSelected.classList);\n return $scope.code = codeBlockSelected.innerText;\n });\n });\n unwatch = $scope.$watch('content', function(content) {\n var unwatchLoader;\n if (!_.isUndefined(content)) {\n $scope.outdated = isOutdated();\n if (!mediumInstance && isDraft()) {\n setEditMode(true);\n }\n if (($scope.markdown.length || content.length) && $scope.markdown === content) {\n return;\n }\n content = getCurrentContent();\n $scope.markdown = content;\n if (mediumInstance) {\n mediumInstance.destroy();\n }\n if (tgLoader.open()) {\n unwatchLoader = tgLoader.onEnd(function() {\n create(content, $scope.editMode);\n return unwatchLoader();\n });\n } else {\n create(content, $scope.editMode);\n }\n return unwatch();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n if (mediumInstance) {\n if (editorMedium.length) {\n $(editorMedium[0]).off();\n }\n return mediumInstance.destroy();\n }\n });\n };\n return {\n templateUrl: \"common/components/wysiwyg-toolbar.html\",\n scope: {\n placeholder: '@',\n version: '<',\n storageKey: '<',\n content: '<',\n onCancel: '&',\n onSave: '&',\n onUploadFile: '&',\n onChange: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaComponents\").directive(\"tgWysiwyg\", [\"$translate\", \"$tgConfirm\", \"$tgStorage\", \"tgWysiwygService\", \"animationFrame\", \"tgLoader\", \"tgWysiwygCodeHightlighterService\", \"tgWysiwygMentionService\", \"$tgAnalytics\", \"$location\", Medium]);\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/components/wysiwyg/wysiwyg.service.coffee\n */\n\n(function() {\n var WysiwygService;\n\n WysiwygService = (function() {\n WysiwygService.$inject = [\"tgWysiwygCodeHightlighterService\", \"tgProjectService\", \"$tgNavUrls\", \"$tgEmojis\"];\n\n function WysiwygService(wysiwygCodeHightlighterService, projectService, navurls, emojis) {\n this.wysiwygCodeHightlighterService = wysiwygCodeHightlighterService;\n this.projectService = projectService;\n this.navurls = navurls;\n this.emojis = emojis;\n }\n\n WysiwygService.prototype.searchEmojiByName = function(name) {\n return this.emojis.searchByName(name);\n };\n\n WysiwygService.prototype.pipeLinks = function(text) {\n return text.replace(/\\[\\[(.*?)\\]\\]/g, function(match, p1, offset, str) {\n var link, linkParams, title;\n linkParams = p1.split('|');\n link = linkParams[0];\n title = linkParams[1] || linkParams[0];\n return '[' + title + '](' + link + ')';\n });\n };\n\n WysiwygService.prototype.replaceUrls = function(html) {\n var el, i, len, link, links;\n el = document.createElement('html');\n el.innerHTML = html;\n links = el.querySelectorAll('a');\n for (i = 0, len = links.length; i < len; i++) {\n link = links[i];\n if (link.getAttribute('href').indexOf('/profile/') !== -1) {\n link.parentNode.replaceChild(document.createTextNode(link.innerText), link);\n } else if (link.getAttribute('href').indexOf('/t/') !== -1) {\n link.parentNode.replaceChild(document.createTextNode(link.innerText), link);\n }\n }\n return el.innerHTML;\n };\n\n WysiwygService.prototype.searchWikiLinks = function(html) {\n var el, i, len, link, links, url;\n el = document.createElement('html');\n el.innerHTML = html;\n links = el.querySelectorAll('a');\n for (i = 0, len = links.length; i < len; i++) {\n link = links[i];\n if (link.getAttribute('href').indexOf('/') === -1) {\n url = this.navurls.resolve('project-wiki-page', {\n project: this.projectService.project.get('slug'),\n slug: link.getAttribute('href')\n });\n link.setAttribute('href', url);\n }\n }\n return el.innerHTML;\n };\n\n WysiwygService.prototype.removeTrailingListBr = function(text) {\n return text.replace(/
  • (.*?)
    <\\/li>/g, '
  • $1
  • ');\n };\n\n WysiwygService.prototype.getMarkdown = function(html) {\n var cleanIssueConverter, codeLanguageConverter, markdown;\n cleanIssueConverter = {\n filter: ['html', 'body', 'span', 'div'],\n replacement: function(innerHTML) {\n return innerHTML;\n }\n };\n codeLanguageConverter = {\n filter: (function(_this) {\n return function(node) {\n return node.nodeName === 'PRE' && node.firstChild && node.firstChild.nodeName === 'CODE';\n };\n })(this),\n replacement: (function(_this) {\n return function(content, node) {\n var lan;\n lan = _this.wysiwygCodeHightlighterService.getLanguageInClassList(node.firstChild.classList);\n if (!lan) {\n lan = '';\n }\n return '\\n\\n```' + lan + '\\n' + _.trim(node.firstChild.textContent) + '\\n```\\n\\n';\n };\n })(this)\n };\n html = html.replace(/ (<\\/.*>)/g, \"$1\");\n html = this.emojis.replaceImgsByEmojiName(html);\n html = this.replaceUrls(html);\n html = this.removeTrailingListBr(html);\n markdown = toMarkdown(html, {\n gfm: true,\n converters: [cleanIssueConverter, codeLanguageConverter]\n });\n return markdown;\n };\n\n WysiwygService.prototype.parseMentionMatches = function(text) {\n var m, matches, offset, prevChar, regex, serviceName, tagBuilder;\n serviceName = 'twitter';\n tagBuilder = this.tagBuilder;\n matches = [];\n regex = /@[^\\s]{1,50}[^.\\s]/g;\n m = regex.exec(text);\n while (m !== null) {\n offset = m.index;\n prevChar = text.charAt(offset - 1);\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n m.forEach(function(match, groupIndex) {\n return matches.push(new Autolinker.match.Mention({\n tagBuilder: tagBuilder,\n matchedText: match,\n offset: offset,\n serviceName: serviceName,\n mention: match.slice(1)\n }));\n });\n m = regex.exec(text);\n }\n return matches;\n };\n\n WysiwygService.prototype.autoLinkHTML = function(html) {\n var autolinker, matchRegexStr;\n matchRegexStr = String(Autolinker.matcher.Mention.prototype.matcherRegexes.twitter);\n if (matchRegexStr.indexOf('.') === -1) {\n matchRegexStr = '@[^\\s]{1,50}[^.\\s]';\n }\n autolinker = new Autolinker({\n mention: 'twitter',\n hashtag: 'twitter',\n replaceFn: (function(_this) {\n return function(match) {\n var profileUrl, url;\n if (match.getType() === 'mention') {\n profileUrl = _this.navurls.resolve('user-profile', {\n project: _this.projectService.project.get('slug'),\n username: match.getMention()\n });\n return '@' + match.getMention() + '';\n } else if (match.getType() === 'hashtag') {\n url = _this.navurls.resolve('project-detail-ref', {\n project: _this.projectService.project.get('slug'),\n ref: match.getHashtag()\n });\n return '#' + match.getHashtag() + '';\n }\n };\n })(this)\n });\n Autolinker.matcher.Mention.prototype.parseMatches = this.parseMentionMatches.bind(autolinker);\n return autolinker.link(html);\n };\n\n WysiwygService.prototype.getHTML = function(text) {\n var md, options, result;\n if (!text || !text.length) {\n return \"\";\n }\n options = {\n breaks: true\n };\n text = this.emojis.replaceEmojiNameByImgs(text);\n text = this.pipeLinks(text);\n md = window.markdownit({\n breaks: true\n });\n md.use(window.markdownitLazyHeaders);\n result = md.render(text);\n result = this.searchWikiLinks(result);\n result = this.autoLinkHTML(result);\n return result;\n };\n\n return WysiwygService;\n\n })();\n\n angular.module(\"taigaComponents\").service(\"tgWysiwygService\", WysiwygService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-home-order-by.controller.coffee\n */\n\n(function() {\n var DiscoverHomeOrderByController;\n\n DiscoverHomeOrderByController = (function() {\n DiscoverHomeOrderByController.$inject = ['$translate'];\n\n function DiscoverHomeOrderByController(translate) {\n this.translate = translate;\n this.is_open = false;\n this.texts = {\n week: this.translate.instant('DISCOVER.FILTERS.WEEK'),\n month: this.translate.instant('DISCOVER.FILTERS.MONTH'),\n year: this.translate.instant('DISCOVER.FILTERS.YEAR'),\n all: this.translate.instant('DISCOVER.FILTERS.ALL_TIME')\n };\n }\n\n DiscoverHomeOrderByController.prototype.currentText = function() {\n return this.texts[this.currentOrderBy];\n };\n\n DiscoverHomeOrderByController.prototype.open = function() {\n return this.is_open = true;\n };\n\n DiscoverHomeOrderByController.prototype.close = function() {\n return this.is_open = false;\n };\n\n DiscoverHomeOrderByController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n this.is_open = false;\n return this.onChange({\n orderBy: this.currentOrderBy\n });\n };\n\n return DiscoverHomeOrderByController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverHomeOrderBy\", DiscoverHomeOrderByController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-home-order-by.directive.coffee\n */\n\n(function() {\n var DiscoverHomeOrderByDirective;\n\n DiscoverHomeOrderByDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"DiscoverHomeOrderBy\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"discover/components/discover-home-order-by/discover-home-order-by.html\",\n scope: {\n currentOrderBy: \"=orderBy\",\n onChange: \"&\"\n },\n link: link\n };\n };\n\n DiscoverHomeOrderByDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverHomeOrderBy\", DiscoverHomeOrderByDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-search-bar.controller.coffee\n */\n\n(function() {\n var DiscoverSearchBarController;\n\n DiscoverSearchBarController = (function() {\n DiscoverSearchBarController.$inject = ['tgDiscoverProjectsService'];\n\n function DiscoverSearchBarController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.discoverProjectsService.projectsCount;\n };\n })(this));\n this.discoverProjectsService.fetchStats();\n }\n\n DiscoverSearchBarController.prototype.selectFilter = function(filter) {\n return this.onChange({\n filter: filter,\n q: this.q\n });\n };\n\n DiscoverSearchBarController.prototype.submitFilter = function() {\n return this.onChange({\n filter: this.filter,\n q: this.q\n });\n };\n\n return DiscoverSearchBarController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearchBar\", DiscoverSearchBarController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-search.directive.coffee\n */\n\n(function() {\n var DiscoverSearchBarDirective;\n\n DiscoverSearchBarDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {};\n return {\n controller: \"DiscoverSearchBar\",\n controllerAs: \"vm\",\n templateUrl: 'discover/components/discover-search-bar/discover-search-bar.html',\n bindToController: true,\n scope: {\n q: \"=\",\n filter: \"=\",\n onChange: \"&\"\n },\n compile: function(element, attrs) {\n if (!attrs.q) {\n return attrs.q = '';\n }\n },\n link: link\n };\n };\n\n DiscoverSearchBarDirective.$inject = [];\n\n angular.module('taigaDiscover').directive('tgDiscoverSearchBar', DiscoverSearchBarDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-search-list-header.controller.coffee\n */\n\n(function() {\n var DiscoverSearchListHeaderController;\n\n DiscoverSearchListHeaderController = (function() {\n DiscoverSearchListHeaderController.$inject = [];\n\n function DiscoverSearchListHeaderController() {\n this.like_is_open = this.orderBy.indexOf('-total_fans') === 0;\n this.activity_is_open = this.orderBy.indexOf('-total_activity') === 0;\n }\n\n DiscoverSearchListHeaderController.prototype.openLike = function() {\n this.like_is_open = true;\n this.activity_is_open = false;\n return this.setOrderBy('-total_fans_last_week');\n };\n\n DiscoverSearchListHeaderController.prototype.openActivity = function() {\n this.activity_is_open = true;\n this.like_is_open = false;\n return this.setOrderBy('-total_activity_last_week');\n };\n\n DiscoverSearchListHeaderController.prototype.setOrderBy = function(type) {\n if (type == null) {\n type = '';\n }\n if (!type) {\n this.like_is_open = false;\n this.activity_is_open = false;\n }\n return this.onChange({\n orderBy: type\n });\n };\n\n return DiscoverSearchListHeaderController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearchListHeader\", DiscoverSearchListHeaderController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-search-list-header.directive.coffee\n */\n\n(function() {\n var DiscoverSearchListHeaderDirective;\n\n DiscoverSearchListHeaderDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"DiscoverSearchListHeader\",\n controllerAs: \"vm\",\n bindToController: true,\n templateUrl: \"discover/components/discover-search-list-header/discover-search-list-header.html\",\n scope: {\n onChange: \"&\",\n orderBy: \"=\"\n },\n link: link\n };\n };\n\n DiscoverSearchListHeaderDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverSearchListHeader\", DiscoverSearchListHeaderDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: featured-projects.controller.coffee\n */\n\n(function() {\n var FeaturedProjectsController;\n\n FeaturedProjectsController = (function() {\n FeaturedProjectsController.$inject = [\"tgDiscoverProjectsService\"];\n\n function FeaturedProjectsController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"featured\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.featured;\n };\n })(this));\n this.discoverProjectsService.fetchFeatured();\n }\n\n return FeaturedProjectsController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"FeaturedProjects\", FeaturedProjectsController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: featured-projects.directive.coffee\n */\n\n(function() {\n var FeaturedProjectsDirective;\n\n FeaturedProjectsDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n controller: \"FeaturedProjects\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/featured-projects/featured-projects.html\",\n scope: {},\n link: link\n };\n };\n\n FeaturedProjectsDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgFeaturedProjects\", FeaturedProjectsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: highlighted.directive.coffee\n */\n\n(function() {\n var HighlightedDirective;\n\n HighlightedDirective = function() {\n return {\n templateUrl: \"discover/components/highlighted/highlighted.html\",\n scope: {\n loading: \"=\",\n highlighted: \"=\",\n orderBy: \"=\"\n }\n };\n };\n\n HighlightedDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgHighlighted\", HighlightedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: most-active.controller.coffee\n */\n\n(function() {\n var MostActiveController;\n\n MostActiveController = (function() {\n MostActiveController.$inject = [\"tgDiscoverProjectsService\"];\n\n function MostActiveController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"highlighted\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.mostActive;\n };\n })(this));\n this.currentOrderBy = 'week';\n this.order_by = this.getOrderBy();\n }\n\n MostActiveController.prototype.fetch = function() {\n this.loading = true;\n this.order_by = this.getOrderBy();\n return this.discoverProjectsService.fetchMostActive({\n order_by: this.order_by\n }).then((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n MostActiveController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n return this.fetch();\n };\n\n MostActiveController.prototype.getOrderBy = function(type) {\n if (this.currentOrderBy === 'all') {\n return '-total_activity';\n } else {\n return '-total_activity_last_' + this.currentOrderBy;\n }\n };\n\n return MostActiveController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"MostActive\", MostActiveController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: most-active.directive.coffee\n */\n\n(function() {\n var MostActiveDirective;\n\n MostActiveDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"MostActive\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/most-active/most-active.html\",\n scope: {},\n link: link\n };\n };\n\n MostActiveDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgMostActive\", MostActiveDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: msot-liked.controller.coffee\n */\n\n(function() {\n var MostLikedController;\n\n MostLikedController = (function() {\n MostLikedController.$inject = [\"tgDiscoverProjectsService\"];\n\n function MostLikedController(discoverProjectsService) {\n this.discoverProjectsService = discoverProjectsService;\n taiga.defineImmutableProperty(this, \"highlighted\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.mostLiked;\n };\n })(this));\n this.currentOrderBy = 'week';\n this.order_by = this.getOrderBy();\n }\n\n MostLikedController.prototype.fetch = function() {\n this.loading = true;\n this.order_by = this.getOrderBy();\n return this.discoverProjectsService.fetchMostLiked({\n order_by: this.order_by\n }).then((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n MostLikedController.prototype.orderBy = function(type) {\n this.currentOrderBy = type;\n return this.fetch();\n };\n\n MostLikedController.prototype.getOrderBy = function() {\n if (this.currentOrderBy === 'all') {\n return '-total_fans';\n } else {\n return '-total_fans_last_' + this.currentOrderBy;\n }\n };\n\n return MostLikedController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"MostLiked\", MostLikedController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: most-liked.directive.coffee\n */\n\n(function() {\n var MostLikedDirective;\n\n MostLikedDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"MostLiked\",\n controllerAs: \"vm\",\n templateUrl: \"discover/components/most-liked/most-liked.html\",\n scope: {},\n link: link\n };\n };\n\n MostLikedDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgMostLiked\", MostLikedDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-home.controller.coffee\n */\n\n(function() {\n var DiscoverHomeController;\n\n DiscoverHomeController = (function() {\n DiscoverHomeController.$inject = ['$tgLocation', '$tgNavUrls', 'tgAppMetaService', '$translate'];\n\n function DiscoverHomeController(location, navUrls, appMetaService, translate) {\n var description, title;\n this.location = location;\n this.navUrls = navUrls;\n this.appMetaService = appMetaService;\n this.translate = translate;\n title = this.translate.instant(\"DISCOVER.PAGE_TITLE\");\n description = this.translate.instant(\"DISCOVER.PAGE_DESCRIPTION\");\n this.appMetaService.setAll(title, description);\n }\n\n DiscoverHomeController.prototype.onSubmit = function(q) {\n var url;\n url = this.navUrls.resolve('discover-search');\n return this.location.search('text', q).path(url);\n };\n\n return DiscoverHomeController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverHome\", DiscoverHomeController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-search.controller.coffee\n */\n\n(function() {\n var DiscoverSearchController;\n\n DiscoverSearchController = (function() {\n DiscoverSearchController.$inject = ['$routeParams', 'tgDiscoverProjectsService', '$route', '$tgLocation', '$tgAnalytics', 'tgAppMetaService', '$translate'];\n\n function DiscoverSearchController(routeParams, discoverProjectsService, route, location, analytics, appMetaService, translate) {\n var description, title;\n this.routeParams = routeParams;\n this.discoverProjectsService = discoverProjectsService;\n this.route = route;\n this.location = location;\n this.analytics = analytics;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.page = 1;\n taiga.defineImmutableProperty(this, \"searchResult\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.searchResult;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"nextSearchPage\", (function(_this) {\n return function() {\n return _this.discoverProjectsService.nextSearchPage;\n };\n })(this));\n this.q = this.routeParams.text;\n this.filter = this.routeParams.filter || 'all';\n this.orderBy = this.routeParams['order_by'] || '';\n this.loadingGlobal = false;\n this.loadingList = false;\n this.loadingPagination = false;\n title = this.translate.instant(\"DISCOVER.SEARCH.PAGE_TITLE\");\n description = this.translate.instant(\"DISCOVER.SEARCH.PAGE_DESCRIPTION\");\n this.appMetaService.setAll(title, description);\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n }\n\n DiscoverSearchController.prototype.fetch = function() {\n this.page = 1;\n this.discoverProjectsService.resetSearchList();\n return this.search();\n };\n\n DiscoverSearchController.prototype.fetchByGlobalSearch = function() {\n if (this.loadingGlobal) {\n return;\n }\n this.loadingGlobal = true;\n return this.fetch().then((function(_this) {\n return function() {\n return _this.loadingGlobal = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.fetchByOrderBy = function() {\n if (this.loadingList) {\n return;\n }\n this.loadingList = true;\n return this.fetch().then((function(_this) {\n return function() {\n return _this.loadingList = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.showMore = function() {\n if (this.loadingPagination) {\n return;\n }\n this.loadingPagination = true;\n this.page++;\n return this.search().then((function(_this) {\n return function() {\n return _this.loadingPagination = false;\n };\n })(this));\n };\n\n DiscoverSearchController.prototype.search = function() {\n var filter, params;\n filter = this.getFilter();\n params = {\n page: this.page,\n q: this.q,\n order_by: this.orderBy\n };\n _.assign(params, filter);\n return this.discoverProjectsService.fetchSearch(params);\n };\n\n DiscoverSearchController.prototype.getFilter = function() {\n if (this.filter === 'people') {\n return {\n is_looking_for_people: true\n };\n } else if (this.filter === 'scrum') {\n return {\n is_backlog_activated: true\n };\n } else if (this.filter === 'kanban') {\n return {\n is_kanban_activated: true\n };\n }\n return {};\n };\n\n DiscoverSearchController.prototype.onChangeFilter = function(filter, q) {\n this.filter = filter;\n this.q = q;\n this.route.updateParams({\n filter: this.filter,\n text: this.q\n });\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n return this.fetchByGlobalSearch();\n };\n\n DiscoverSearchController.prototype.onChangeOrder = function(orderBy) {\n this.orderBy = orderBy;\n this.route.updateParams({\n order_by: orderBy\n });\n this.analytics.trackPage(this.location.url(), \"Discover Search\");\n return this.fetchByOrderBy();\n };\n\n return DiscoverSearchController;\n\n })();\n\n angular.module(\"taigaDiscover\").controller(\"DiscoverSearch\", DiscoverSearchController);\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: discover-search.directive.coffee\n */\n\n(function() {\n var DiscoverSearchDirective;\n\n DiscoverSearchDirective = function() {\n var link;\n link = function(scope, element, attrs, ctrl) {\n return ctrl.fetch();\n };\n return {\n controller: \"DiscoverSearch\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n DiscoverSearchDirective.$inject = [];\n\n angular.module(\"taigaDiscover\").directive(\"tgDiscoverSearch\", DiscoverSearchDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: discover-projects.service.coffee\n */\n\n(function() {\n var DiscoverProjectsService, 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 DiscoverProjectsService = (function(superClass) {\n var _discoverParams;\n\n extend(DiscoverProjectsService, superClass);\n\n DiscoverProjectsService.$inject = [\"tgResources\", \"tgProjectsService\"];\n\n _discoverParams = {\n discover_mode: true\n };\n\n function DiscoverProjectsService(rs, projectsService) {\n this.rs = rs;\n this.projectsService = projectsService;\n this._mostLiked = Immutable.List();\n this._mostActive = Immutable.List();\n this._featured = Immutable.List();\n this._searchResult = Immutable.List();\n this._projectsCount = 0;\n this.decorate = this.projectsService._decorate.bind(this.projectsService);\n taiga.defineImmutableProperty(this, \"mostLiked\", (function(_this) {\n return function() {\n return _this._mostLiked;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"mostActive\", (function(_this) {\n return function() {\n return _this._mostActive;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"featured\", (function(_this) {\n return function() {\n return _this._featured;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"searchResult\", (function(_this) {\n return function() {\n return _this._searchResult;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"nextSearchPage\", (function(_this) {\n return function() {\n return _this._nextSearchPage;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"projectsCount\", (function(_this) {\n return function() {\n return _this._projectsCount;\n };\n })(this));\n }\n\n DiscoverProjectsService.prototype.fetchMostLiked = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 5);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._mostLiked = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchMostActive = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 5);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._mostActive = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchFeatured = function() {\n var _params;\n _params = _.extend({}, _discoverParams);\n _params.is_featured = true;\n return this.rs.projects.getProjects(_params, false).then((function(_this) {\n return function(result) {\n var data, projects;\n data = result.data.slice(0, 4);\n projects = Immutable.fromJS(data);\n projects = projects.map(_this.decorate);\n return _this._featured = projects;\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.resetSearchList = function() {\n return this._searchResult = Immutable.List();\n };\n\n DiscoverProjectsService.prototype.fetchStats = function() {\n return this.rs.stats.discover().then((function(_this) {\n return function(discover) {\n return _this._projectsCount = discover.getIn(['projects', 'total']);\n };\n })(this));\n };\n\n DiscoverProjectsService.prototype.fetchSearch = function(params) {\n var _params;\n _params = _.extend({}, _discoverParams, params);\n return this.rs.projects.getProjects(_params).then((function(_this) {\n return function(result) {\n var projects;\n _this._nextSearchPage = !!result.headers('X-Pagination-Next');\n projects = Immutable.fromJS(result.data);\n projects = projects.map(_this.decorate);\n return _this._searchResult = _this._searchResult.concat(projects);\n };\n })(this));\n };\n\n return DiscoverProjectsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaDiscover\").service(\"tgDiscoverProjectsService\", DiscoverProjectsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: create-epic.controller.coffee\n */\n\n(function() {\n var CreateEpicController, getRandomDefaultColor, taiga, trim;\n\n taiga = this.taiga;\n\n trim = taiga.trim;\n\n getRandomDefaultColor = taiga.getRandomDefaultColor;\n\n CreateEpicController = (function() {\n CreateEpicController.$inject = [\"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\", \"$tgAnalytics\"];\n\n function CreateEpicController(confirm, projectService, epicsService, analytics) {\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.analytics = analytics;\n this.project = this.projectService.project.toJS();\n this.newEpic = {\n color: getRandomDefaultColor(),\n status: this.project.default_epic_status,\n tags: []\n };\n this.attachments = Immutable.List();\n this.loading = false;\n }\n\n CreateEpicController.prototype.createEpic = function() {\n if (!this.validateForm()) {\n return;\n }\n this.loading = true;\n return this.epicsService.createEpic(this.newEpic, this.attachments).then((function(_this) {\n return function(response) {\n _this.analytics.trackEvent(\"epic\", \"create\", \"create epic\", 1);\n _this.onCreateEpic();\n return _this.loading = false;\n };\n })(this))[\"catch\"]((function(_this) {\n return function(response) {\n _this.loading = false;\n _this.setFormErrors(response.data);\n if (response.data._error_message) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this));\n };\n\n CreateEpicController.prototype.selectColor = function(color) {\n return this.newEpic.color = color;\n };\n\n CreateEpicController.prototype.addTag = function(name, color) {\n name = trim(name.toLowerCase());\n if (!_.find(this.newEpic.tags, function(it) {\n return it[0] === name;\n })) {\n return this.newEpic.tags.push([name, color]);\n }\n };\n\n CreateEpicController.prototype.deleteTag = function(tag) {\n return _.remove(this.newEpic.tags, function(it) {\n return it[0] === tag[0];\n });\n };\n\n CreateEpicController.prototype.addAttachment = function(attachment) {\n return this.attachments.push(attachment);\n };\n\n return CreateEpicController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"CreateEpicCtrl\", CreateEpicController);\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: create-epic.directive.coffee\n */\n\n(function() {\n var CreateEpicDirective;\n\n CreateEpicDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var form;\n form = el.find(\"form\").checksley();\n ctrl.validateForm = (function(_this) {\n return function() {\n return form.validate();\n };\n })(this);\n return ctrl.setFormErrors = (function(_this) {\n return function(errors) {\n return form.setErrors(errors);\n };\n })(this);\n };\n return {\n link: link,\n templateUrl: \"epics/create-epic/create-epic.html\",\n controller: \"CreateEpicCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n onCreateEpic: '&'\n },\n scope: {}\n };\n };\n\n angular.module('taigaEpics').directive(\"tgCreateEpic\", CreateEpicDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: epics-table.controller.coffee\n */\n\n(function() {\n var EpicRowController;\n\n EpicRowController = (function() {\n EpicRowController.$inject = [\"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\"];\n\n function EpicRowController(confirm, projectService, epicsService) {\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.displayUserStories = false;\n this.displayAssignedTo = false;\n this.displayStatusList = false;\n this.loadingStatus = false;\n this.project = this.projectService.project.toJS();\n this._calculateProgressBar();\n }\n\n EpicRowController.prototype._calculateProgressBar = function() {\n var progress, total;\n if (this.epic.getIn(['status_extra_info', 'is_closed']) === true) {\n return this.percentage = \"100%\";\n } else {\n progress = this.epic.getIn(['user_stories_counts', 'progress']);\n total = this.epic.getIn(['user_stories_counts', 'total']);\n if (total === 0) {\n return this.percentage = \"0%\";\n } else {\n return this.percentage = (progress * 100 / total) + \"%\";\n }\n }\n };\n\n EpicRowController.prototype.canEditEpics = function() {\n return this.projectService.hasPermission(\"modify_epic\");\n };\n\n EpicRowController.prototype.toggleUserStoryList = function() {\n if (!this.displayUserStories) {\n return this.epicsService.listRelatedUserStories(this.epic).then((function(_this) {\n return function(userStories) {\n _this.epicStories = userStories;\n return _this.displayUserStories = true;\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this));\n } else {\n return this.displayUserStories = false;\n }\n };\n\n EpicRowController.prototype.updateStatus = function(statusId) {\n this.displayStatusList = false;\n this.loadingStatus = true;\n return this.epicsService.updateEpicStatus(this.epic, statusId)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loadingStatus = false;\n };\n })(this));\n };\n\n EpicRowController.prototype.updateAssignedTo = function(member) {\n this.assignLoader = true;\n return this.epicsService.updateEpicAssignedTo(this.epic, (member != null ? member.id : void 0) || null)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify('error');\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.assignLoader = false;\n };\n })(this));\n };\n\n return EpicRowController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicRowCtrl\", EpicRowController);\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: epics-table.directive.coffee\n */\n\n(function() {\n var EpicRowDirective;\n\n EpicRowDirective = function() {\n return {\n templateUrl: \"epics/dashboard/epic-row/epic-row.html\",\n controller: \"EpicRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n epic: '=',\n column: '='\n }\n };\n };\n\n angular.module('taigaEpics').directive(\"tgEpicRow\", EpicRowDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: epics.dashboard.controller.coffee\n */\n\n(function() {\n var EpicsDashboardController, taiga;\n\n taiga = this.taiga;\n\n EpicsDashboardController = (function() {\n EpicsDashboardController.$inject = [\"$routeParams\", \"tgErrorHandlingService\", \"tgLightboxFactory\", \"lightboxService\", \"$tgConfirm\", \"tgProjectService\", \"tgEpicsService\", \"tgAppMetaService\", \"$translate\"];\n\n function EpicsDashboardController(params, errorHandlingService, lightboxFactory, lightboxService, confirm, projectService, epicsService, appMetaService, translate) {\n this.params = params;\n this.errorHandlingService = errorHandlingService;\n this.lightboxFactory = lightboxFactory;\n this.lightboxService = lightboxService;\n this.confirm = confirm;\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.sectionName = \"EPICS.SECTION_NAME\";\n taiga.defineImmutableProperty(this, 'project', (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this.epicsService.epics;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n }\n\n EpicsDashboardController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\"),\n projectDescription: this.project.get(\"description\")\n };\n return {\n title: this.translate.instant(\"EPICS.PAGE_TITLE\", ctx),\n description: this.translate.instant(\"EPICS.PAGE_DESCRIPTION\", ctx)\n };\n };\n\n EpicsDashboardController.prototype.loadInitialData = function() {\n this.epicsService.clear();\n return this.projectService.setProjectBySlug(this.params.pslug).then((function(_this) {\n return function() {\n if (!_this.projectService.isEpicsDashboardEnabled()) {\n return _this.errorHandlingService.notFound();\n }\n if (!_this.projectService.hasPermission(\"view_epics\")) {\n return _this.errorHandlingService.permissionDenied();\n }\n return _this.epicsService.fetchEpics();\n };\n })(this));\n };\n\n EpicsDashboardController.prototype.canCreateEpics = function() {\n return this.projectService.hasPermission(\"add_epic\");\n };\n\n EpicsDashboardController.prototype.onCreateEpic = function() {\n var onCreateEpic;\n onCreateEpic = (function(_this) {\n return function() {\n _this.lightboxService.closeAll();\n _this.confirm.notify(\"success\");\n };\n })(this);\n return this.lightboxFactory.create('tg-create-epic', {\n \"class\": \"lightbox lightbox-create-epic open\",\n \"on-create-epic\": \"onCreateEpic()\"\n }, {\n \"onCreateEpic\": onCreateEpic.bind(this)\n });\n };\n\n return EpicsDashboardController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicsDashboardCtrl\", EpicsDashboardController);\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: epics-sortable.directive.coffee\n */\n\n(function() {\n var EpicsSortableDirective;\n\n EpicsSortableDirective = function($parse, projectService) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n if (!projectService.hasPermission(\"modify_epic\")) {\n return;\n }\n callback = $parse(attrs.tgEpicsSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('div.epics-table-body-row');\n }\n });\n drake.on('dragend', function(item) {\n var epic, itemEl, newIndex;\n itemEl = $(item);\n epic = itemEl.scope().epic;\n newIndex = itemEl.index();\n return scope.$apply(function() {\n return callback(scope, {\n epic: epic,\n newIndex: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n EpicsSortableDirective.$inject = [\"$parse\", \"tgProjectService\"];\n\n angular.module(\"taigaComponents\").directive(\"tgEpicsSortable\", EpicsSortableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: epics-table.controller.coffee\n */\n\n(function() {\n var EpicsTableController, generateHash, taiga;\n\n taiga = this.taiga;\n\n generateHash = this.taiga.generateHash;\n\n EpicsTableController = (function() {\n EpicsTableController.$inject = [\"$tgConfirm\", \"tgEpicsService\", \"$timeout\", \"$tgStorage\", \"tgProjectService\"];\n\n function EpicsTableController(confirm, epicsService, timeout, storage, projectService) {\n this.confirm = confirm;\n this.epicsService = epicsService;\n this.timeout = timeout;\n this.storage = storage;\n this.projectService = projectService;\n this.hash = generateHash([this.projectService.project.get('id'), 'epics']);\n this.displayOptions = false;\n this.displayVotes = true;\n this.column = this.storage.get(this.hash, {\n votes: true,\n name: true,\n project: true,\n sprint: true,\n assigned: true,\n status: true,\n progress: true\n });\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this.epicsService.epics;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'disabledEpicsPagination', (function(_this) {\n return function() {\n return _this.epicsService._disablePagination;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'loadingEpics', (function(_this) {\n return function() {\n return _this.epicsService._loadingEpics;\n };\n })(this));\n }\n\n EpicsTableController.prototype.toggleEpicTableOptions = function() {\n return this.displayOptions = !this.displayOptions;\n };\n\n EpicsTableController.prototype.reorderEpic = function(epic, newIndex) {\n if (epic.get('epics_order') === newIndex) {\n return null;\n }\n return this.epicsService.reorderEpic(epic, newIndex).then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n EpicsTableController.prototype.nextPage = function() {\n return this.epicsService.nextPage();\n };\n\n EpicsTableController.prototype.hoverEpicTableOption = function() {\n if (this.timer) {\n return this.timeout.cancel(this.timer);\n }\n };\n\n EpicsTableController.prototype.hideEpicTableOption = function() {\n return this.timer = this.timeout(((function(_this) {\n return function() {\n return _this.displayOptions = false;\n };\n })(this)), 400);\n };\n\n EpicsTableController.prototype.updateViewOptions = function() {\n return this.storage.set(this.hash, this.column);\n };\n\n return EpicsTableController;\n\n })();\n\n angular.module(\"taigaEpics\").controller(\"EpicsTableCtrl\", EpicsTableController);\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: epics-table.directive.coffee\n */\n\n(function() {\n var EpicsTableDirective;\n\n EpicsTableDirective = function() {\n return {\n templateUrl: \"epics/dashboard/epics-table/epics-table.html\",\n controller: \"EpicsTableCtrl\",\n controllerAs: \"vm\",\n scope: {}\n };\n };\n\n angular.module('taigaEpics').directive(\"tgEpicsTable\", EpicsTableDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: epics-table.controller.coffee\n */\n\n(function() {\n var StoryRowController, module;\n\n module = angular.module(\"taigaEpics\");\n\n StoryRowController = (function() {\n StoryRowController.$inject = [];\n\n function StoryRowController() {\n this._calculateProgressBar();\n }\n\n StoryRowController.prototype._calculateProgressBar = function() {\n var totalTasks, totalTasksCompleted;\n if (this.story.get('is_closed') === true) {\n return this.percentage = \"100%\";\n } else {\n totalTasks = this.story.get('tasks').size;\n totalTasksCompleted = this.story.get('tasks').filter(function(it) {\n return it.get(\"is_closed\");\n }).size;\n if (totalTasks === 0) {\n return this.percentage = \"0%\";\n } else {\n return this.percentage = (totalTasksCompleted * 100 / totalTasks) + \"%\";\n }\n }\n };\n\n return StoryRowController;\n\n })();\n\n module.controller(\"StoryRowCtrl\", StoryRowController);\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: epics-table.directive.coffee\n */\n\n(function() {\n var StoryRowDirective, module;\n\n module = angular.module('taigaEpics');\n\n StoryRowDirective = function() {\n return {\n templateUrl: \"epics/dashboard/story-row/story-row.html\",\n controller: \"StoryRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n story: '=',\n column: '='\n }\n };\n };\n\n module.directive(\"tgStoryRow\", StoryRowDirective);\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: epics.service.coffee\n */\n\n(function() {\n var EpicsService, taiga;\n\n taiga = this.taiga;\n\n EpicsService = (function() {\n EpicsService.$inject = ['tgProjectService', 'tgAttachmentsService', 'tgResources', 'tgXhrErrorService'];\n\n function EpicsService(projectService, attachmentsService, resources, xhrError) {\n this.projectService = projectService;\n this.attachmentsService = attachmentsService;\n this.resources = resources;\n this.xhrError = xhrError;\n this.clear();\n taiga.defineImmutableProperty(this, 'epics', (function(_this) {\n return function() {\n return _this._epics;\n };\n })(this));\n }\n\n EpicsService.prototype.clear = function() {\n this._loadingEpics = false;\n this._disablePagination = false;\n this._page = 1;\n return this._epics = Immutable.List();\n };\n\n EpicsService.prototype.fetchEpics = function(reset) {\n if (reset == null) {\n reset = false;\n }\n this._loadingEpics = true;\n this._disablePagination = true;\n return this.resources.epics.list(this.projectService.project.get('id'), this._page).then((function(_this) {\n return function(result) {\n if (reset) {\n _this.clear();\n _this._epics = result.list;\n } else {\n _this._epics = _this._epics.concat(result.list);\n }\n _this._loadingEpics = false;\n return _this._disablePagination = !result.headers('x-pagination-next');\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n EpicsService.prototype.nextPage = function() {\n this._page++;\n return this.fetchEpics();\n };\n\n EpicsService.prototype.listRelatedUserStories = function(epic) {\n return this.resources.userstories.listInEpic(epic.get('id'));\n };\n\n EpicsService.prototype.createEpic = function(epicData, attachments) {\n epicData.project = this.projectService.project.get('id');\n return this.resources.epics.post(epicData).then((function(_this) {\n return function(epic) {\n var promises;\n promises = _.map(attachments.toJS(), function(attachment) {\n return _this.attachmentsService.upload(attachment.file, epic.get('id'), epic.get('project'), 'epic');\n });\n return Promise.all(promises).then(_this.fetchEpics.bind(_this, true));\n };\n })(this));\n };\n\n EpicsService.prototype.reorderEpic = function(epic, newIndex) {\n var afterDestination, beforeDestination, data, newOrder, orderList, previous, previousWithTheSameOrder, setOrders, withoutMoved;\n orderList = {};\n this._epics.forEach(function(it) {\n return orderList[it.get('id')] = it.get('epics_order');\n });\n withoutMoved = this.epics.filter((function(_this) {\n return function(it) {\n return it.get('id') !== epic.get('id');\n };\n })(this));\n beforeDestination = withoutMoved.slice(0, newIndex);\n afterDestination = withoutMoved.slice(newIndex);\n previous = beforeDestination.last();\n newOrder = !previous ? 0 : previous.get('epics_order') + 1;\n orderList[epic.get('id')] = newOrder;\n previousWithTheSameOrder = beforeDestination.filter((function(_this) {\n return function(it) {\n return it.get('epics_order') === previous.get('epics_order');\n };\n })(this));\n setOrders = _.fromPairs(previousWithTheSameOrder.map((function(_this) {\n return function(it) {\n return [it.get('id'), it.get('epics_order')];\n };\n })(this)).toJS());\n afterDestination.forEach(function(it) {\n return orderList[it.get('id')] = it.get('epics_order') + 1;\n });\n this._epics = this._epics.map(function(it) {\n return it.set('epics_order', orderList[it.get('id')]);\n });\n this._epics = this._epics.sortBy(function(it) {\n return it.get('epics_order');\n });\n data = {\n epics_order: newOrder,\n version: epic.get('version')\n };\n return this.resources.epics.reorder(epic.get('id'), data, setOrders).then((function(_this) {\n return function(newEpic) {\n return _this._epics = _this._epics.map(function(it) {\n if (it.get('id') === newEpic.get('id')) {\n return newEpic;\n }\n return it;\n });\n };\n })(this));\n };\n\n EpicsService.prototype.reorderRelatedUserstory = function(epic, epicUserstories, userstory, newIndex) {\n var beforeDestination, data, epicId, newOrder, previous, previousWithTheSameOrder, setOrders, userstoryId, withoutMoved;\n withoutMoved = epicUserstories.filter((function(_this) {\n return function(it) {\n return it.get('id') !== userstory.get('id');\n };\n })(this));\n beforeDestination = withoutMoved.slice(0, newIndex);\n previous = beforeDestination.last();\n newOrder = !previous ? 0 : previous.get('epic_order') + 1;\n previousWithTheSameOrder = beforeDestination.filter((function(_this) {\n return function(it) {\n return it.get('epic_order') === previous.get('epic_order');\n };\n })(this));\n setOrders = _.fromPairs(previousWithTheSameOrder.map((function(_this) {\n return function(it) {\n return [it.get('id'), it.get('epic_order')];\n };\n })(this)).toJS());\n data = {\n order: newOrder\n };\n epicId = epic.get('id');\n userstoryId = userstory.get('id');\n return this.resources.epics.reorderRelatedUserstory(epicId, userstoryId, data, setOrders).then((function(_this) {\n return function() {\n return _this.listRelatedUserStories(epic);\n };\n })(this));\n };\n\n EpicsService.prototype.replaceEpic = function(epic) {\n return this._epics = this._epics.map(function(it) {\n if (it.get('id') === epic.get('id')) {\n return epic;\n }\n return it;\n });\n };\n\n EpicsService.prototype.updateEpicStatus = function(epic, statusId) {\n var data;\n data = {\n status: statusId,\n version: epic.get('version')\n };\n return this.resources.epics.patch(epic.get('id'), data).then(this.replaceEpic.bind(this));\n };\n\n EpicsService.prototype.updateEpicAssignedTo = function(epic, userId) {\n var data;\n data = {\n assigned_to: userId,\n version: epic.get('version')\n };\n return this.resources.epics.patch(epic.get('id'), data).then(this.replaceEpic.bind(this));\n };\n\n return EpicsService;\n\n })();\n\n angular.module('taigaEpics').service('tgEpicsService', EpicsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: related-userstories.controller.coffee\n */\n\n(function() {\n var RelatedUserStoriesController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserStoriesController = (function() {\n RelatedUserStoriesController.$inject = [\"tgProjectService\", \"tgEpicsService\"];\n\n function RelatedUserStoriesController(projectService, epicsService) {\n this.projectService = projectService;\n this.epicsService = epicsService;\n this.sectionName = \"Epics\";\n this.showCreateRelatedUserstoriesLightbox = false;\n }\n\n RelatedUserStoriesController.prototype.showRelatedUserStoriesSection = function() {\n var ref;\n return this.projectService.hasPermission(\"view_epics\") || ((ref = this.userstories) != null ? ref.length : void 0) > 0;\n };\n\n RelatedUserStoriesController.prototype.userCanSort = function() {\n return this.projectService.hasPermission(\"modify_epic\");\n };\n\n RelatedUserStoriesController.prototype.loadRelatedUserstories = function() {\n return this.epicsService.listRelatedUserStories(this.epic).then((function(_this) {\n return function(userstories) {\n return _this.userstories = userstories;\n };\n })(this));\n };\n\n RelatedUserStoriesController.prototype.reorderRelatedUserstory = function(us, newIndex) {\n return this.epicsService.reorderRelatedUserstory(this.epic, this.userstories, us, newIndex).then((function(_this) {\n return function(userstories) {\n return _this.userstories = userstories;\n };\n })(this));\n };\n\n return RelatedUserStoriesController;\n\n })();\n\n module.controller(\"RelatedUserStoriesCtrl\", RelatedUserStoriesController);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: related-userstory-create.controller.coffee\n */\n\n(function() {\n var RelatedUserstoriesCreateController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserstoriesCreateController = (function() {\n RelatedUserstoriesCreateController.$inject = [\"tgCurrentUserService\", \"tgResources\", \"$tgConfirm\", \"$tgAnalytics\"];\n\n function RelatedUserstoriesCreateController(currentUserService, rs, confirm, analytics) {\n this.currentUserService = currentUserService;\n this.rs = rs;\n this.confirm = confirm;\n this.analytics = analytics;\n this.projects = null;\n this.projectUserstories = Immutable.List();\n this.loading = false;\n }\n\n RelatedUserstoriesCreateController.prototype.loadProjects = function() {\n if (this.projects === null) {\n return this.projects = this.currentUserService.projects.get(\"all\");\n }\n };\n\n RelatedUserstoriesCreateController.prototype.filterUss = function(selectedProjectId, filterText) {\n var promise;\n promise = this.rs.userstories.listInAllProjects({\n project: selectedProjectId,\n q: filterText\n }, true).then((function(_this) {\n return function(data) {\n var excludeIds, filteredData;\n excludeIds = _this.epicUserstories.map(function(us) {\n return us.get('id');\n });\n filteredData = data.filter(function(us) {\n return excludeIds.indexOf(us.get('id')) === -1;\n });\n return _this.projectUserstories = filteredData;\n };\n })(this));\n return promise;\n };\n\n RelatedUserstoriesCreateController.prototype.saveRelatedUserStory = function(selectedUserstoryId, onSavedRelatedUserstory) {\n var epicId, onError, onSuccess;\n if (!this.validateExistingUserstoryForm()) {\n return;\n }\n this.loading = true;\n onError = (function(_this) {\n return function(data) {\n _this.loading = false;\n _this.confirm.notify(\"error\");\n return _this.setExistingUserstoryFormErrors(data);\n };\n })(this);\n onSuccess = (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"epic related user story\", \"create\", \"create related user story on epic\", 1);\n _this.loading = false;\n if (onSavedRelatedUserstory) {\n onSavedRelatedUserstory();\n }\n return _this.loadRelatedUserstories();\n };\n })(this);\n epicId = this.epic.get('id');\n return this.rs.epics.addRelatedUserstory(epicId, selectedUserstoryId).then(onSuccess, onError);\n };\n\n RelatedUserstoriesCreateController.prototype.bulkCreateRelatedUserStories = function(selectedProjectId, userstoriesText, onCreatedRelatedUserstory) {\n var epicId, onError, onSuccess;\n if (!this.validateNewUserstoryForm()) {\n return;\n }\n this.loading = true;\n onError = (function(_this) {\n return function(data) {\n _this.loading = false;\n _this.confirm.notify(\"error\");\n return _this.setNewUserstoryFormErrors(data);\n };\n })(this);\n onSuccess = (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"epic related user story\", \"create\", \"create related user story on epic\", 1);\n _this.loading = false;\n if (onCreatedRelatedUserstory) {\n onCreatedRelatedUserstory();\n }\n return _this.loadRelatedUserstories();\n };\n })(this);\n epicId = this.epic.get('id');\n return this.rs.epics.bulkCreateRelatedUserStories(epicId, selectedProjectId, userstoriesText).then(onSuccess, onError);\n };\n\n return RelatedUserstoriesCreateController;\n\n })();\n\n module.controller(\"RelatedUserstoriesCreateCtrl\", RelatedUserstoriesCreateController);\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: related-userstory-create.directive.coffee\n */\n\n(function() {\n var RelatedUserstoriesCreateDirective, debounceLeading, module;\n\n module = angular.module('taigaEpics');\n\n debounceLeading = this.taiga.debounceLeading;\n\n RelatedUserstoriesCreateDirective = function(lightboxService1) {\n var link;\n this.lightboxService = lightboxService1;\n link = function(scope, el, attrs, ctrl) {\n var existingUserstoryForm, newUserstoryForm;\n newUserstoryForm = el.find(\".new-user-story-form\").checksley();\n existingUserstoryForm = el.find(\".existing-user-story-form\").checksley();\n ctrl.validateNewUserstoryForm = (function(_this) {\n return function() {\n return newUserstoryForm.validate();\n };\n })(this);\n ctrl.setNewUserstoryFormErrors = (function(_this) {\n return function(errors) {\n return newUserstoryForm.setErrors(errors);\n };\n })(this);\n ctrl.validateExistingUserstoryForm = (function(_this) {\n return function() {\n return existingUserstoryForm.validate();\n };\n })(this);\n ctrl.setExistingUserstoryFormErrors = (function(_this) {\n return function(errors) {\n return existingUserstoryForm.setErrors(errors);\n };\n })(this);\n scope.showLightbox = function(selectedProjectId) {\n ctrl.loadProjects();\n return scope.selectProject(selectedProjectId).then((function(_this) {\n return function() {\n return lightboxService.open(el.find(\".lightbox-create-related-user-stories\"));\n };\n })(this));\n };\n scope.closeLightbox = function() {\n scope.selectedUserstory = null;\n scope.searchUserstory = \"\";\n scope.relatedUserstoriesText = \"\";\n return lightboxService.close(el.find(\".lightbox-create-related-user-stories\"));\n };\n scope.$watch('vm.project', function(project) {\n if (project != null) {\n return scope.selectedProject = project.get('id');\n }\n });\n scope.selectProject = function(selectedProjectId) {\n scope.selectedUserstory = null;\n scope.searchUserstory = \"\";\n return ctrl.filterUss(selectedProjectId, scope.searchUserstory);\n };\n return scope.onUpdateSearchUserstory = debounceLeading(300, function() {\n scope.selectedUserstory = null;\n return ctrl.filterUss(scope.selectedProject, scope.searchUserstory);\n });\n };\n return {\n link: link,\n templateUrl: \"epics/related-userstories/related-userstories-create/related-userstories-create.html\",\n controller: \"RelatedUserstoriesCreateCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n showCreateRelatedUserstoriesLightbox: \"=\",\n project: \"=\",\n epic: \"=\",\n epicUserstories: \"=\",\n loadRelatedUserstories: \"&\"\n }\n };\n };\n\n RelatedUserstoriesCreateDirective.$inject = [\"lightboxService\"];\n\n module.directive(\"tgRelatedUserstoriesCreate\", RelatedUserstoriesCreateDirective);\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: related-userstories-sortable.directive.coffee\n */\n\n(function() {\n var RelatedUserstoriesSortableDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserstoriesSortableDirective = function($parse, projectService) {\n var link;\n link = function(scope, el, attrs) {\n var callback, drake, scroll;\n if (!projectService.hasPermission(\"modify_epic\")) {\n return;\n }\n callback = $parse(attrs.tgRelatedUserstoriesSortable);\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).is('tg-related-userstory-row');\n }\n });\n drake.on('dragend', function(item) {\n var itemEl, newIndex, us;\n itemEl = $(item);\n us = itemEl.scope().us;\n newIndex = itemEl.index();\n return scope.$apply(function() {\n return callback(scope, {\n us: us,\n newIndex: newIndex\n });\n });\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n return {\n link: link\n };\n };\n\n RelatedUserstoriesSortableDirective.$inject = [\"$parse\", \"tgProjectService\"];\n\n module.directive(\"tgRelatedUserstoriesSortable\", RelatedUserstoriesSortableDirective);\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: related-userstories.directive.coffee\n */\n\n(function() {\n var RelatedUserStoriesDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserStoriesDirective = function() {\n return {\n templateUrl: \"epics/related-userstories/related-userstories.html\",\n controller: \"RelatedUserStoriesCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n userstories: '=',\n project: '=',\n epic: '='\n }\n };\n };\n\n RelatedUserStoriesDirective.$inject = [];\n\n module.directive(\"tgRelatedUserstories\", RelatedUserStoriesDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: reñated-userstory-row.controller.coffee\n */\n\n(function() {\n var RelatedUserstoryRowController, module;\n\n module = angular.module(\"taigaEpics\");\n\n RelatedUserstoryRowController = (function() {\n RelatedUserstoryRowController.$inject = [\"tgAvatarService\", \"$translate\", \"$tgConfirm\", \"tgResources\"];\n\n function RelatedUserstoryRowController(avatarService, translate, confirm, rs) {\n this.avatarService = avatarService;\n this.translate = translate;\n this.confirm = confirm;\n this.rs = rs;\n }\n\n RelatedUserstoryRowController.prototype.setAvatarData = function() {\n var member;\n member = this.userstory.get('assigned_to_extra_info');\n return this.avatar = this.avatarService.getAvatar(member);\n };\n\n RelatedUserstoryRowController.prototype.getAssignedToFullNameDisplay = function() {\n if (this.userstory.get('assigned_to')) {\n return this.userstory.getIn(['assigned_to_extra_info', 'full_name_display']);\n }\n return this.translate.instant(\"COMMON.ASSIGNED_TO.NOT_ASSIGNED\");\n };\n\n RelatedUserstoryRowController.prototype.onDeleteRelatedUserstory = function() {\n var message, title;\n title = this.translate.instant('EPIC.TITLE_LIGHTBOX_UNLINK_RELATED_USERSTORY');\n message = this.translate.instant('EPIC.MSG_LIGHTBOX_UNLINK_RELATED_USERSTORY', {\n subject: this.userstory.get('subject')\n });\n return this.confirm.askOnDelete(title, message).then((function(_this) {\n return function(askResponse) {\n var epicId, onError, onSuccess, userstoryId;\n onError = function() {\n message = _this.translate.instant('EPIC.ERROR_UNLINK_RELATED_USERSTORY', {\n errorMessage: message\n });\n _this.confirm.notify(\"error\", null, message);\n return askResponse.finish(false);\n };\n onSuccess = function() {\n _this.loadRelatedUserstories();\n return askResponse.finish();\n };\n epicId = _this.epic.get('id');\n userstoryId = _this.userstory.get('id');\n return _this.rs.epics.deleteRelatedUserstory(epicId, userstoryId).then(onSuccess, onError);\n };\n })(this));\n };\n\n return RelatedUserstoryRowController;\n\n })();\n\n module.controller(\"RelatedUserstoryRowCtrl\", RelatedUserstoryRowController);\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: related-userstory-row.directive.coffee\n */\n\n(function() {\n var RelatedUserstoryRowDirective, module;\n\n module = angular.module('taigaEpics');\n\n RelatedUserstoryRowDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.setAvatarData();\n };\n return {\n link: link,\n templateUrl: \"epics/related-userstories/related-userstory-row/related-userstory-row.html\",\n controller: \"RelatedUserstoryRowCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n userstory: '=',\n epic: '=',\n project: '=',\n loadRelatedUserstories: \"&\"\n }\n };\n };\n\n RelatedUserstoryRowDirective.$inject = [];\n\n module.directive(\"tgRelatedUserstoryRow\", RelatedUserstoryRowDirective);\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: external-app.controller.coffee\n */\n\n(function() {\n var ExternalAppController, 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 ExternalAppController = (function(superClass) {\n extend(ExternalAppController, superClass);\n\n ExternalAppController.$inject = [\"$routeParams\", \"tgExternalAppsService\", \"$window\", \"tgCurrentUserService\", \"$location\", \"$tgNavUrls\", \"tgXhrErrorService\", \"tgLoader\"];\n\n function ExternalAppController(routeParams, externalAppsService, window, currentUserService, location, navUrls, xhrError, loader) {\n var loginUrl, nextUrl;\n this.routeParams = routeParams;\n this.externalAppsService = externalAppsService;\n this.window = window;\n this.currentUserService = currentUserService;\n this.location = location;\n this.navUrls = navUrls;\n this.xhrError = xhrError;\n this.loader = loader;\n this.createApplicationToken = bind(this.createApplicationToken, this);\n this._getApplicationToken = bind(this._getApplicationToken, this);\n this._redirect = bind(this._redirect, this);\n this.loader.start(false);\n this._applicationId = this.routeParams.application;\n this._state = this.routeParams.state;\n this._getApplicationToken();\n this._user = this.currentUserService.getUser();\n this._application = null;\n nextUrl = encodeURIComponent(this.location.url());\n loginUrl = this.navUrls.resolve(\"login\");\n this.loginWithAnotherUserUrl = loginUrl + \"?next=\" + nextUrl;\n taiga.defineImmutableProperty(this, \"user\", (function(_this) {\n return function() {\n return _this._user;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"application\", (function(_this) {\n return function() {\n return _this._application;\n };\n })(this));\n }\n\n ExternalAppController.prototype._redirect = function(applicationToken) {\n var nextUrl;\n nextUrl = applicationToken.get(\"next_url\");\n return this.window.open(nextUrl, \"_self\");\n };\n\n ExternalAppController.prototype._getApplicationToken = function() {\n return this.externalAppsService.getApplicationToken(this._applicationId, this._state).then((function(_this) {\n return function(data) {\n _this._application = data.get(\"application\");\n if (data.get(\"auth_code\")) {\n return _this._redirect(data);\n } else {\n return _this.loader.pageLoaded();\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n _this.loader.pageLoaded();\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n ExternalAppController.prototype.cancel = function() {\n return this.window.history.back();\n };\n\n ExternalAppController.prototype.createApplicationToken = function() {\n return this.externalAppsService.authorizeApplicationToken(this._applicationId, this._state).then((function(_this) {\n return function(data) {\n return _this._redirect(data);\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n return ExternalAppController;\n\n })(taiga.Controller);\n\n angular.module(\"taigaExternalApps\").controller(\"ExternalApp\", ExternalAppController);\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: external-app.service.coffee\n */\n\n(function() {\n var ExternalAppsService,\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 ExternalAppsService = (function(superClass) {\n extend(ExternalAppsService, superClass);\n\n ExternalAppsService.$inject = [\"tgResources\"];\n\n function ExternalAppsService(rs) {\n this.rs = rs;\n }\n\n ExternalAppsService.prototype.getApplicationToken = function(applicationId, state) {\n return this.rs.externalapps.getApplicationToken(applicationId, state);\n };\n\n ExternalAppsService.prototype.authorizeApplicationToken = function(applicationId, state) {\n return this.rs.externalapps.authorizeApplicationToken(applicationId, state);\n };\n\n return ExternalAppsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaExternalApps\").service(\"tgExternalAppsService\", ExternalAppsService);\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: feedback.service.coffee\n */\n\n(function() {\n var FeedbackService,\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 FeedbackService = (function(superClass) {\n extend(FeedbackService, superClass);\n\n FeedbackService.$inject = [\"tgLightboxFactory\"];\n\n function FeedbackService(lightboxFactory) {\n this.lightboxFactory = lightboxFactory;\n }\n\n FeedbackService.prototype.sendFeedback = function() {\n return this.lightboxFactory.create(\"tg-lb-feedback\", {\n \"class\": \"lightbox lightbox-feedback lightbox-generic-form\"\n });\n };\n\n return FeedbackService;\n\n })(taiga.Service);\n\n angular.module(\"taigaFeedback\").service(\"tgFeedbackService\", FeedbackService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: history.controller.coffee\n */\n\n(function() {\n var CommentController, module;\n\n module = angular.module(\"taigaHistory\");\n\n CommentController = (function() {\n CommentController.$inject = [\"tgCurrentUserService\", \"tgCheckPermissionsService\", \"tgLightboxFactory\"];\n\n function CommentController(currentUserService, permissionService, lightboxFactory) {\n this.currentUserService = currentUserService;\n this.permissionService = permissionService;\n this.lightboxFactory = lightboxFactory;\n this.hiddenDeletedComment = true;\n }\n\n CommentController.prototype.showDeletedComment = function() {\n return this.hiddenDeletedComment = false;\n };\n\n CommentController.prototype.hideDeletedComment = function() {\n return this.hiddenDeletedComment = true;\n };\n\n CommentController.prototype.checkCancelComment = function(event) {\n if (event.keyCode === 27) {\n return this.onEditMode({\n commentId: this.comment.id\n });\n }\n };\n\n CommentController.prototype.canEditDeleteComment = function() {\n if (this.currentUserService.getUser()) {\n this.user = this.currentUserService.getUser();\n return this.user.get('id') === this.comment.user.pk || this.permissionService.check('modify_project');\n }\n };\n\n CommentController.prototype.saveComment = function(text, cb) {\n return this.onEditComment({\n commentId: this.comment.id,\n commentData: text,\n callback: cb\n });\n };\n\n CommentController.prototype.displayCommentHistory = function() {\n return this.lightboxFactory.create('tg-lb-display-historic', {\n \"class\": \"lightbox lightbox-display-historic\",\n \"comment\": \"comment\",\n \"name\": \"name\",\n \"object\": \"object\"\n }, {\n \"comment\": this.comment,\n \"name\": this.name,\n \"object\": this.object\n });\n };\n\n return CommentController;\n\n })();\n\n module.controller(\"CommentCtrl\", CommentController);\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: comment.directive.coffee\n */\n\n(function() {\n var CommentDirective, module;\n\n module = angular.module('taigaHistory');\n\n CommentDirective = function() {\n return {\n scope: {\n name: \"@\",\n object: \"@\",\n comment: \"<\",\n type: \"<\",\n loading: \"<\",\n editing: \"<\",\n deleting: \"<\",\n objectId: \"<\",\n editMode: \"<\",\n onEditMode: \"&\",\n onDeleteComment: \"&\",\n onRestoreDeletedComment: \"&\",\n onEditComment: \"&\"\n },\n templateUrl: \"history/comments/comment.html\",\n bindToController: true,\n controller: 'CommentCtrl',\n controllerAs: \"vm\"\n };\n };\n\n module.directive(\"tgComment\", CommentDirective);\n\n}).call(this);\n\n\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: comments.controller.coffee\n */\n\n(function() {\n var CommentsController, module;\n\n module = angular.module(\"taigaHistory\");\n\n CommentsController = (function() {\n CommentsController.$inject = [];\n\n function CommentsController() {}\n\n CommentsController.prototype.initializePermissions = function() {\n return this.canAddCommentPermission = 'comment_' + this.name;\n };\n\n return CommentsController;\n\n })();\n\n module.controller(\"CommentsCtrl\", CommentsController);\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: comments.directive.coffee\n */\n\n(function() {\n var CommentsDirective, module;\n\n module = angular.module('taigaHistory');\n\n CommentsDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.initializePermissions();\n };\n return {\n scope: {\n type: \"<\",\n name: \"@\",\n object: \"@\",\n comments: \"<\",\n onEditMode: \"&\",\n onDeleteComment: \"&\",\n onRestoreDeletedComment: \"&\",\n onAddComment: \"&\",\n onEditComment: \"&\",\n editMode: \"<\",\n loading: \"<\",\n deleting: \"<\",\n editing: \"<\",\n projectId: \"=\"\n },\n templateUrl: \"history/comments/comments.html\",\n bindToController: true,\n controller: 'CommentsCtrl',\n controllerAs: \"vm\",\n link: link\n };\n };\n\n module.directive(\"tgComments\", CommentsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: history.controller.coffee\n */\n\n(function() {\n var LightboxDisplayHistoricController, module;\n\n module = angular.module(\"taigaHistory\");\n\n LightboxDisplayHistoricController = (function() {\n LightboxDisplayHistoricController.$inject = [\"$tgResources\"];\n\n function LightboxDisplayHistoricController(rs) {\n this.rs = rs;\n }\n\n LightboxDisplayHistoricController.prototype._loadHistoric = function() {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.object;\n activityId = this.comment.id;\n return this.rs.history.getCommentHistory(type, objectId, activityId).then((function(_this) {\n return function(data) {\n return _this.commentHistoryEntries = data;\n };\n })(this));\n };\n\n return LightboxDisplayHistoricController;\n\n })();\n\n module.controller(\"LightboxDisplayHistoricCtrl\", LightboxDisplayHistoricController);\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: comment.directive.coffee\n */\n\n(function() {\n var LightboxDisplayHistoricDirective;\n\n LightboxDisplayHistoricDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n ctrl._loadHistoric();\n return lightboxService.open(el);\n };\n return {\n scope: {},\n bindToController: {\n name: '=',\n object: '=',\n comment: '='\n },\n templateUrl: \"history/history-lightbox/comment-history-lightbox.html\",\n controller: \"LightboxDisplayHistoricCtrl\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n LightboxDisplayHistoricDirective.$inject = [\"lightboxService\"];\n\n angular.module('taigaHistory').directive(\"tgLbDisplayHistoric\", LightboxDisplayHistoricDirective);\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: comment.directive.coffee\n */\n\n(function() {\n var HistoryEntryDirective;\n\n HistoryEntryDirective = function() {\n return {\n scope: {\n entry: \"<\"\n },\n templateUrl: \"history/history-lightbox/history-entry.html\"\n };\n };\n\n angular.module('taigaHistory').directive(\"tgHistoryEntry\", HistoryEntryDirective);\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: history-tabs.directive.coffee\n */\n\n(function() {\n var HistoryTabsDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryTabsDirective = function() {\n return {\n templateUrl: \"history/history-tabs/history-tabs.html\",\n scope: {\n showCommentTab: \"&\",\n showActivityTab: \"&\",\n onActiveComments: \"&\",\n onActiveActivities: \"&\",\n onOrderComments: \"&\",\n activeTab: \"<\",\n commentsNum: \"<\",\n activitiesNum: \"<\",\n onReverse: \"<\"\n }\n };\n };\n\n module.directive(\"tgHistoryTabs\", HistoryTabsDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: history.controller.coffee\n */\n\n(function() {\n var HistorySectionController, module;\n\n module = angular.module(\"taigaHistory\");\n\n HistorySectionController = (function() {\n HistorySectionController.$inject = [\"$tgResources\", \"$tgRepo\", \"$tgStorage\", \"tgProjectService\"];\n\n function HistorySectionController(rs, repo, storage, projectService) {\n this.rs = rs;\n this.repo = repo;\n this.storage = storage;\n this.projectService = projectService;\n this.editing = null;\n this.deleting = null;\n this.editMode = {};\n this.viewComments = true;\n this.reverse = this.storage.get(\"orderComments\");\n this._loadHistory();\n }\n\n HistorySectionController.prototype._loadHistory = function() {\n return this.rs.history.get(this.name, this.id).then((function(_this) {\n return function(history) {\n _this._getComments(history);\n return _this._getActivities(history);\n };\n })(this));\n };\n\n HistorySectionController.prototype._getComments = function(comments) {\n this.comments = _.filter(comments, function(item) {\n return item.comment !== \"\";\n });\n if (this.reverse) {\n this.comments - _.reverse(this.comments);\n }\n return this.commentsNum = this.comments.length;\n };\n\n HistorySectionController.prototype._getActivities = function(activities) {\n this.activities = _.filter(activities, function(item) {\n return Object.keys(item.values_diff).length > 0;\n });\n return this.activitiesNum = this.activities.length;\n };\n\n HistorySectionController.prototype.showHistorySection = function() {\n return this.showCommentTab() || this.showActivityTab();\n };\n\n HistorySectionController.prototype.showCommentTab = function() {\n return this.commentsNum > 0 || this.projectService.hasPermission(\"comment_\" + this.name);\n };\n\n HistorySectionController.prototype.showActivityTab = function() {\n return this.activitiesNum > 0;\n };\n\n HistorySectionController.prototype.toggleEditMode = function(commentId) {\n return this.editMode[commentId] = !this.editMode[commentId];\n };\n\n HistorySectionController.prototype.onActiveHistoryTab = function(active) {\n return this.viewComments = active;\n };\n\n HistorySectionController.prototype.deleteComment = function(commentId) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.deleting = commentId;\n return this.rs.history.deleteComment(type, objectId, activityId).then((function(_this) {\n return function() {\n _this._loadHistory();\n return _this.deleting = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.editComment = function(commentId, comment) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.editing = commentId;\n return this.rs.history.editComment(type, objectId, activityId, comment).then((function(_this) {\n return function() {\n _this._loadHistory();\n _this.toggleEditMode(commentId);\n return _this.editing = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.restoreDeletedComment = function(commentId) {\n var activityId, objectId, type;\n type = this.name;\n objectId = this.id;\n activityId = commentId;\n this.editing = commentId;\n return this.rs.history.undeleteComment(type, objectId, activityId).then((function(_this) {\n return function() {\n _this._loadHistory();\n return _this.editing = null;\n };\n })(this));\n };\n\n HistorySectionController.prototype.addComment = function(cb) {\n return this.repo.save(this.type).then((function(_this) {\n return function() {\n _this._loadHistory();\n return cb();\n };\n })(this));\n };\n\n HistorySectionController.prototype.onOrderComments = function() {\n this.reverse = !this.reverse;\n this.storage.set(\"orderComments\", this.reverse);\n return this._loadHistory();\n };\n\n return HistorySectionController;\n\n })();\n\n module.controller(\"HistorySection\", HistorySectionController);\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: history.directive.coffee\n */\n\n(function() {\n var HistorySectionDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistorySectionDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n return scope.$on(\"object:updated\", function() {\n return ctrl._loadHistory(scope.type, scope.id);\n });\n };\n return {\n link: link,\n templateUrl: \"history/history.html\",\n controller: \"HistorySection\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n type: \"=\",\n name: \"@\",\n id: \"=\",\n projectId: \"=\"\n }\n };\n };\n\n HistorySectionDirective.$inject = [];\n\n module.directive(\"tgHistorySection\", HistorySectionDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: history.controller.coffee\n */\n\n(function() {\n var ActivitiesDiffController, module;\n\n module = angular.module(\"taigaHistory\");\n\n ActivitiesDiffController = (function() {\n ActivitiesDiffController.$inject = [];\n\n function ActivitiesDiffController() {}\n\n ActivitiesDiffController.prototype.diffTags = function() {\n if (this.type === 'tags') {\n this.diffRemoveTags = _.difference(this.diff[0], this.diff[1]).toString();\n return this.diffAddTags = _.difference(this.diff[1], this.diff[0]).toString();\n }\n };\n\n return ActivitiesDiffController;\n\n })();\n\n module.controller(\"ActivitiesDiffCtrl\", ActivitiesDiffController);\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: history.directive.coffee\n */\n\n(function() {\n var HistoryDiffDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryDiffDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.diffTags();\n };\n return {\n scope: {\n type: \"<\",\n diff: \"<\"\n },\n templateUrl: \"history/history/history-diff.html\",\n controller: \"ActivitiesDiffCtrl\",\n controllerAs: 'vm',\n bindToController: true,\n link: link\n };\n };\n\n module.directive(\"tgHistoryDiff\", HistoryDiffDirective);\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: history.directive.coffee\n */\n\n(function() {\n var HistoryDirective, module;\n\n module = angular.module('taigaHistory');\n\n HistoryDirective = function() {\n var link;\n link = function(scope, el, attrs) {};\n return {\n scope: {\n activities: \"<\"\n },\n templateUrl: \"history/history/history.html\",\n link: link\n };\n };\n\n module.directive(\"tgHistory\", HistoryDirective);\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: duty.directive.coffee\n */\n\n(function() {\n var DutyDirective;\n\n DutyDirective = function(navurls, $translate) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n scope.vm.duty = scope.duty;\n scope.vm.type = scope.type;\n return scope.vm.getDutyType = function() {\n if (scope.vm.duty) {\n if (scope.vm.duty.get('_name') === \"epics\") {\n return $translate.instant(\"COMMON.EPIC\");\n }\n if (scope.vm.duty.get('_name') === \"userstories\") {\n return $translate.instant(\"COMMON.USER_STORY\");\n }\n if (scope.vm.duty.get('_name') === \"tasks\") {\n return $translate.instant(\"COMMON.TASK\");\n }\n if (scope.vm.duty.get('_name') === \"issues\") {\n return $translate.instant(\"COMMON.ISSUE\");\n }\n }\n };\n };\n return {\n templateUrl: \"home/duties/duty.html\",\n scope: {\n \"duty\": \"=tgDuty\",\n \"type\": \"@\"\n },\n link: link\n };\n };\n\n DutyDirective.$inject = [\"$tgNavUrls\", \"$translate\"];\n\n angular.module(\"taigaHome\").directive(\"tgDuty\", DutyDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: home.controller.coffee\n */\n\n(function() {\n var HomeController;\n\n HomeController = (function() {\n HomeController.$inject = [\"tgCurrentUserService\", \"$location\", \"$tgNavUrls\"];\n\n function HomeController(currentUserService, location, navUrls) {\n this.currentUserService = currentUserService;\n this.location = location;\n this.navUrls = navUrls;\n if (!this.currentUserService.getUser()) {\n this.location.path(this.navUrls.resolve(\"discover\"));\n }\n }\n\n return HomeController;\n\n })();\n\n angular.module(\"taigaHome\").controller(\"Home\", HomeController);\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: home.service.coffee\n */\n\n(function() {\n var HomeService, groupBy,\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 groupBy = this.taiga.groupBy;\n\n HomeService = (function(superClass) {\n extend(HomeService, superClass);\n\n HomeService.$inject = [\"$tgNavUrls\", \"tgResources\", \"tgProjectsService\"];\n\n function HomeService(navurls, rs, projectsService) {\n this.navurls = navurls;\n this.rs = rs;\n this.projectsService = projectsService;\n }\n\n HomeService.prototype._attachProjectInfoToWorkInProgress = function(workInProgress, projectsById) {\n var _attachProjectInfoToDuty, _duties, _getValidDutiesAndAttachProjectInfo, assignedTo, watching;\n _attachProjectInfoToDuty = (function(_this) {\n return function(duty, objType) {\n var ctx, project, url;\n project = projectsById.get(String(duty.get('project')));\n ctx = {\n project: project.get('slug'),\n ref: duty.get('ref')\n };\n url = _this.navurls.resolve(\"project-\" + objType + \"-detail\", ctx);\n duty = duty.set('url', url);\n duty = duty.set('project', project);\n duty = duty.set(\"_name\", objType);\n return duty;\n };\n })(this);\n _getValidDutiesAndAttachProjectInfo = function(duties, dutyType) {\n duties = duties.filter(function(duty) {\n return projectsById.get(String(duty.get('project')));\n });\n duties = duties.map(function(duty) {\n return _attachProjectInfoToDuty(duty, dutyType);\n });\n return duties;\n };\n assignedTo = workInProgress.get(\"assignedTo\");\n if (assignedTo.get(\"epics\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"epics\"), \"epics\");\n assignedTo = assignedTo.set(\"epics\", _duties);\n }\n if (assignedTo.get(\"userStories\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"userStories\"), \"userstories\");\n assignedTo = assignedTo.set(\"userStories\", _duties);\n }\n if (assignedTo.get(\"tasks\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"tasks\"), \"tasks\");\n assignedTo = assignedTo.set(\"tasks\", _duties);\n }\n if (assignedTo.get(\"issues\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(assignedTo.get(\"issues\"), \"issues\");\n assignedTo = assignedTo.set(\"issues\", _duties);\n }\n watching = workInProgress.get(\"watching\");\n if (watching.get(\"epics\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"epics\"), \"epics\");\n watching = watching.set(\"epics\", _duties);\n }\n if (watching.get(\"userStories\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"userStories\"), \"userstories\");\n watching = watching.set(\"userStories\", _duties);\n }\n if (watching.get(\"tasks\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"tasks\"), \"tasks\");\n watching = watching.set(\"tasks\", _duties);\n }\n if (watching.get(\"issues\")) {\n _duties = _getValidDutiesAndAttachProjectInfo(watching.get(\"issues\"), \"issues\");\n watching = watching.set(\"issues\", _duties);\n }\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo);\n return workInProgress = workInProgress.set(\"watching\", watching);\n };\n\n HomeService.prototype.getWorkInProgress = function(userId) {\n var assignedEpicsPromise, assignedIssuesPromise, assignedTasksPromise, assignedTo, assignedUserStoriesPromise, params_epics, params_issues, params_tasks, params_uss, projectsById, projectsPromise, watching, watchingEpicsPromise, watchingIssuesPromise, watchingTasksPromise, watchingUserStoriesPromise, workInProgress;\n projectsById = Immutable.Map();\n projectsPromise = this.projectsService.getProjectsByUserId(userId).then(function(projects) {\n return projectsById = Immutable.fromJS(groupBy(projects.toJS(), function(p) {\n return p.id;\n }));\n });\n assignedTo = Immutable.Map();\n params_epics = {\n status__is_closed: false,\n assigned_to: userId\n };\n params_uss = {\n is_closed: false,\n assigned_users: userId\n };\n params_tasks = {\n status__is_closed: false,\n assigned_to: userId\n };\n params_issues = {\n status__is_closed: false,\n assigned_to: userId\n };\n assignedEpicsPromise = this.rs.epics.listInAllProjects(params_epics).then(function(epics) {\n return assignedTo = assignedTo.set(\"epics\", epics);\n });\n assignedUserStoriesPromise = this.rs.userstories.listInAllProjects(params_uss).then(function(userstories) {\n return assignedTo = assignedTo.set(\"userStories\", userstories);\n });\n assignedTasksPromise = this.rs.tasks.listInAllProjects(params_tasks).then(function(tasks) {\n return assignedTo = assignedTo.set(\"tasks\", tasks);\n });\n assignedIssuesPromise = this.rs.issues.listInAllProjects(params_issues).then(function(issues) {\n return assignedTo = assignedTo.set(\"issues\", issues);\n });\n params_epics = {\n status__is_closed: false,\n watchers: userId\n };\n params_uss = {\n is_closed: false,\n watchers: userId\n };\n params_tasks = {\n status__is_closed: false,\n watchers: userId\n };\n params_issues = {\n status__is_closed: false,\n watchers: userId\n };\n watching = Immutable.Map();\n watchingEpicsPromise = this.rs.epics.listInAllProjects(params_epics).then(function(epics) {\n return watching = watching.set(\"epics\", epics);\n });\n watchingUserStoriesPromise = this.rs.userstories.listInAllProjects(params_uss).then(function(userstories) {\n return watching = watching.set(\"userStories\", userstories);\n });\n watchingTasksPromise = this.rs.tasks.listInAllProjects(params_tasks).then(function(tasks) {\n return watching = watching.set(\"tasks\", tasks);\n });\n watchingIssuesPromise = this.rs.issues.listInAllProjects(params_issues).then(function(issues) {\n return watching = watching.set(\"issues\", issues);\n });\n workInProgress = Immutable.Map();\n return Promise.all([projectsPromise, assignedEpicsPromise, watchingEpicsPromise, assignedUserStoriesPromise, watchingUserStoriesPromise, assignedTasksPromise, watchingTasksPromise, assignedIssuesPromise, watchingIssuesPromise]).then((function(_this) {\n return function() {\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo);\n workInProgress = workInProgress.set(\"watching\", watching);\n workInProgress = _this._attachProjectInfoToWorkInProgress(workInProgress, projectsById);\n return workInProgress;\n };\n })(this));\n };\n\n return HomeService;\n\n })(taiga.Service);\n\n angular.module(\"taigaHome\").service(\"tgHomeService\", HomeService);\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: home-project-list.directive.coffee\n */\n\n(function() {\n var HomeProjectListDirective;\n\n HomeProjectListDirective = function(currentUserService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n return taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n };\n directive = {\n templateUrl: \"home/projects/home-project-list.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n HomeProjectListDirective.$inject = [\"tgCurrentUserService\"];\n\n angular.module(\"taigaHome\").directive(\"tgHomeProjectList\", HomeProjectListDirective);\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: working-on.controller.coffee\n */\n\n(function() {\n var WorkingOnController;\n\n WorkingOnController = (function() {\n WorkingOnController.$inject = [\"tgHomeService\"];\n\n function WorkingOnController(homeService) {\n this.homeService = homeService;\n this.assignedTo = Immutable.Map();\n this.watching = Immutable.Map();\n }\n\n WorkingOnController.prototype._setAssignedTo = function(workInProgress) {\n var epics, issues, tasks, userStories;\n epics = workInProgress.get(\"assignedTo\").get(\"epics\");\n userStories = workInProgress.get(\"assignedTo\").get(\"userStories\");\n tasks = workInProgress.get(\"assignedTo\").get(\"tasks\");\n issues = workInProgress.get(\"assignedTo\").get(\"issues\");\n this.assignedTo = userStories.concat(tasks).concat(issues).concat(epics);\n if (this.assignedTo.size > 0) {\n return this.assignedTo = this.assignedTo.sortBy(function(elem) {\n return elem.get(\"modified_date\");\n }).reverse();\n }\n };\n\n WorkingOnController.prototype._setWatching = function(workInProgress) {\n var epics, issues, tasks, userStories;\n epics = workInProgress.get(\"watching\").get(\"epics\");\n userStories = workInProgress.get(\"watching\").get(\"userStories\");\n tasks = workInProgress.get(\"watching\").get(\"tasks\");\n issues = workInProgress.get(\"watching\").get(\"issues\");\n this.watching = userStories.concat(tasks).concat(issues).concat(epics);\n if (this.watching.size > 0) {\n return this.watching = this.watching.sortBy(function(elem) {\n return elem.get(\"modified_date\");\n }).reverse();\n }\n };\n\n WorkingOnController.prototype.getWorkInProgress = function(userId) {\n return this.homeService.getWorkInProgress(userId).then((function(_this) {\n return function(workInProgress) {\n _this._setAssignedTo(workInProgress);\n return _this._setWatching(workInProgress);\n };\n })(this));\n };\n\n return WorkingOnController;\n\n })();\n\n angular.module(\"taigaHome\").controller(\"WorkingOn\", WorkingOnController);\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: working-on.directive.coffee\n */\n\n(function() {\n var WorkingOnDirective;\n\n WorkingOnDirective = function(homeService, currentUserService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n var user, userId;\n user = currentUserService.getUser();\n if (user) {\n userId = user.get(\"id\");\n return ctrl.getWorkInProgress(userId);\n }\n };\n return {\n controller: \"WorkingOn\",\n controllerAs: \"vm\",\n templateUrl: \"home/working-on/working-on.html\",\n scope: {},\n link: link\n };\n };\n\n WorkingOnDirective.$inject = [\"tgHomeService\", \"tgCurrentUserService\"];\n\n angular.module(\"taigaHome\").directive(\"tgWorkingOn\", WorkingOnDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: add-members.controller.coffee\n */\n\n(function() {\n var InviteMembersFormController, taiga;\n\n taiga = this.taiga;\n\n InviteMembersFormController = (function() {\n InviteMembersFormController.$inject = [\"tgProjectService\", \"$tgResources\", \"lightboxService\", \"$tgConfirm\", \"$rootScope\"];\n\n function InviteMembersFormController(projectService, rs, lightboxService, confirm, rootScope) {\n this.projectService = projectService;\n this.rs = rs;\n this.lightboxService = lightboxService;\n this.confirm = confirm;\n this.rootScope = rootScope;\n this.project = this.projectService.project;\n this.roles = this.projectService.project.get('roles');\n this.rolesValues = {};\n this.loading = false;\n this.defaultMaxInvites = 4;\n }\n\n InviteMembersFormController.prototype._areRolesValidated = function() {\n return Object.defineProperty(this, 'areRolesValidated', {\n get: (function(_this) {\n return function() {\n var roleIds;\n roleIds = _.filter(Object.values(_this.rolesValues), function(it) {\n return it;\n });\n return roleIds.length === _this.contactsToInvite.size + _this.emailsToInvite.size;\n };\n })(this)\n });\n };\n\n InviteMembersFormController.prototype._checkLimitMemberships = function() {\n var pendingMembersCount;\n if (this.project.get('max_memberships') === null) {\n this.membersLimit = this.defaultMaxInvites;\n } else {\n pendingMembersCount = Math.max(this.project.get('max_memberships') - this.project.get('total_memberships'), 0);\n this.membersLimit = Math.min(pendingMembersCount, this.defaultMaxInvites);\n }\n return this.showWarningMessage = this.membersLimit < this.defaultMaxInvites;\n };\n\n InviteMembersFormController.prototype.sendInvites = function() {\n this.setInvitedContacts = [];\n _.forEach(this.rolesValues, (function(_this) {\n return function(key, value) {\n return _this.setInvitedContacts.push({\n 'role_id': key,\n 'username': value\n });\n };\n })(this));\n this.loading = true;\n return this.rs.memberships.bulkCreateMemberships(this.project.get('id'), this.setInvitedContacts, this.inviteContactsMessage).then((function(_this) {\n return function(response) {\n return _this.projectService.fetchProject().then(function() {\n _this.loading = false;\n _this.lightboxService.closeAll();\n _this.rootScope.$broadcast(\"membersform:new:success\");\n return _this.confirm.notify('success');\n });\n };\n })(this))[\"catch\"]((function(_this) {\n return function(response) {\n _this.loading = false;\n if (response.data._error_message) {\n return _this.confirm.notify(\"error\", response.data._error_message);\n }\n };\n })(this));\n };\n\n return InviteMembersFormController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"InviteMembersFormCtrl\", InviteMembersFormController);\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: invite-members.directive.coffee\n */\n\n(function() {\n var InviteMembersFormDirective;\n\n InviteMembersFormDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n ctrl._areRolesValidated();\n return ctrl._checkLimitMemberships();\n };\n return {\n scope: {},\n templateUrl: \"invite-members/invite-members-form/invite-members-form.html\",\n controller: \"InviteMembersFormCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n contactsToInvite: '<',\n emailsToInvite: '=',\n onDisplayContactList: '&',\n onRemoveInvitedContact: '&',\n onRemoveInvitedEmail: '&',\n onSendInvites: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgInviteMembersForm\", InviteMembersFormDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: add-members.controller.coffee\n */\n\n(function() {\n var AddMembersController, taiga;\n\n taiga = this.taiga;\n\n AddMembersController = (function() {\n AddMembersController.$inject = [\"tgUserService\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function AddMembersController(userService, currentUserService, projectService) {\n this.userService = userService;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n this.contactsToInvite = Immutable.List();\n this.emailsToInvite = Immutable.List();\n this.displayContactList = false;\n }\n\n AddMembersController.prototype._getContacts = function() {\n var excludeProjectId, userId;\n userId = this.currentUserService.getUser().get(\"id\");\n excludeProjectId = this.projectService.project.get(\"id\");\n return this.userService.getContacts(userId, excludeProjectId).then((function(_this) {\n return function(contacts) {\n return _this.contacts = contacts;\n };\n })(this));\n };\n\n AddMembersController.prototype._filterContacts = function(invited) {\n return this.contacts = this.contacts.filter((function(_this) {\n return function(contact) {\n return contact.get('id') !== invited.get('id');\n };\n })(this));\n };\n\n AddMembersController.prototype.inviteSuggested = function(contact) {\n this.contactsToInvite = this.contactsToInvite.push(contact);\n this._filterContacts(contact);\n return this.displayContactList = true;\n };\n\n AddMembersController.prototype.removeContact = function(invited) {\n this.contactsToInvite = this.contactsToInvite.filter((function(_this) {\n return function(contact) {\n return contact.get('id') !== invited.id;\n };\n })(this));\n invited = Immutable.fromJS(invited);\n this.contacts = this.contacts.push(invited);\n return this.testEmptyContacts();\n };\n\n AddMembersController.prototype.inviteEmail = function(email) {\n var emailData;\n emailData = Immutable.Map({\n 'email': email\n });\n this.emailsToInvite = this.emailsToInvite.push(emailData);\n return this.displayContactList = true;\n };\n\n AddMembersController.prototype.removeEmail = function(invited) {\n this.emailsToInvite = this.emailsToInvite.filter((function(_this) {\n return function(email) {\n return email.get('email') !== invited.email;\n };\n })(this));\n return this.testEmptyContacts();\n };\n\n AddMembersController.prototype.testEmptyContacts = function() {\n if (this.emailsToInvite.size + this.contactsToInvite.size === 0) {\n return this.displayContactList = false;\n }\n };\n\n return AddMembersController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"AddMembersCtrl\", AddMembersController);\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: add-member.directive.coffee\n */\n\n(function() {\n var LightboxAddMembersDirective;\n\n LightboxAddMembersDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n lightboxService.open(el);\n return ctrl._getContacts();\n };\n return {\n scope: {},\n templateUrl: \"invite-members/lightbox-add-members.html\",\n controller: \"AddMembersCtrl\",\n controllerAs: \"vm\",\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgLbAddMembers\", [\"lightboxService\", LightboxAddMembersDirective]);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: suggest-add-members.controller.coffee\n */\n\n(function() {\n var SuggestAddMembersController, taiga;\n\n taiga = this.taiga;\n\n SuggestAddMembersController = (function() {\n SuggestAddMembersController.$inject = [];\n\n function SuggestAddMembersController() {\n this.contactQuery = \"\";\n }\n\n SuggestAddMembersController.prototype.isEmail = function() {\n return taiga.isEmail(this.contactQuery);\n };\n\n SuggestAddMembersController.prototype.filterContacts = function() {\n return this.filteredContacts = this.contacts.filter((function(_this) {\n return function(contact) {\n return contact.get('full_name_display').toLowerCase().includes(_this.contactQuery.toLowerCase()) || contact.get('username').toLowerCase().includes(_this.contactQuery.toLowerCase());\n };\n })(this)).slice(0, 12);\n };\n\n SuggestAddMembersController.prototype.setInvited = function(contact) {\n return this.onInviteSuggested({\n 'contact': contact\n });\n };\n\n return SuggestAddMembersController;\n\n })();\n\n angular.module(\"taigaAdmin\").controller(\"SuggestAddMembersCtrl\", SuggestAddMembersController);\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: suggest-add-member.directive.coffee\n */\n\n(function() {\n var SuggestAddMembersDirective;\n\n SuggestAddMembersDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch(\"vm.contacts\", (function(_this) {\n return function(contacts) {\n if (contacts) {\n return ctrl.filterContacts();\n }\n };\n })(this));\n };\n return {\n scope: {},\n templateUrl: \"invite-members/suggest-add-members/suggest-add-members.html\",\n controller: \"SuggestAddMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: {\n contacts: '=',\n onInviteSuggested: '&',\n onInviteEmail: '&'\n },\n link: link\n };\n };\n\n angular.module(\"taigaAdmin\").directive(\"tgSuggestAddMembers\", [\"lightboxService\", SuggestAddMembersDirective]);\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: dropdown-project-list.directive.coffee\n */\n\n(function() {\n var DropdownProjectListDirective;\n\n DropdownProjectListDirective = function(currentUserService, projectsService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n return scope.vm.newProject = function() {\n return projectsService.newProject();\n };\n };\n directive = {\n templateUrl: \"navigation-bar/dropdown-project-list/dropdown-project-list.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n DropdownProjectListDirective.$inject = [\"tgCurrentUserService\", \"tgProjectsService\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgDropdownProjectList\", DropdownProjectListDirective);\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: dropdown-user.directive.coffee\n */\n\n(function() {\n var DropdownUserDirective;\n\n DropdownUserDirective = function(authService, configService, locationService, navUrlsService, feedbackService, $rootScope) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n scope.vm.isFeedbackEnabled = configService.get(\"feedbackEnabled\");\n scope.vm.supportUrl = configService.get(\"supportUrl\");\n taiga.defineImmutableProperty(scope.vm, \"user\", function() {\n return authService.userData;\n });\n scope.vm.logout = function() {\n authService.logout();\n locationService.url(navUrlsService.resolve(\"discover\"));\n return locationService.search({});\n };\n scope.vm.sendFeedback = function() {\n return feedbackService.sendFeedback();\n };\n return scope.vm.userSettingsPlugins = _.filter($rootScope.userSettingsPlugins, {\n userMenu: true\n });\n };\n directive = {\n templateUrl: \"navigation-bar/dropdown-user/dropdown-user.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n DropdownUserDirective.$inject = [\"$tgAuth\", \"$tgConfig\", \"$tgLocation\", \"$tgNavUrls\", \"tgFeedbackService\", \"$rootScope\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgDropdownUser\", DropdownUserDirective);\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: navigation-bar.directive.coffee\n */\n\n(function() {\n var NavigationBarDirective;\n\n NavigationBarDirective = function(currentUserService, navigationBarService, locationService, navUrlsService, config) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n scope.vm = {};\n taiga.defineImmutableProperty(scope.vm, \"projects\", function() {\n return currentUserService.projects.get(\"recents\");\n });\n taiga.defineImmutableProperty(scope.vm, \"isAuthenticated\", function() {\n return currentUserService.isAuthenticated();\n });\n taiga.defineImmutableProperty(scope.vm, \"isEnabledHeader\", function() {\n return navigationBarService.isEnabledHeader();\n });\n scope.vm.publicRegisterEnabled = config.get(\"publicRegisterEnabled\");\n scope.vm.supportUrl = config.get(\"supportUrl\");\n scope.vm.login = function() {\n var nextUrl;\n nextUrl = encodeURIComponent(locationService.url());\n locationService.url(navUrlsService.resolve(\"login\"));\n return locationService.search({\n next: nextUrl\n });\n };\n return scope.$on(\"$routeChangeSuccess\", function() {\n if (locationService.path() === \"/\") {\n return scope.vm.active = true;\n } else {\n return scope.vm.active = false;\n }\n });\n };\n directive = {\n templateUrl: \"navigation-bar/navigation-bar.html\",\n scope: {},\n link: link\n };\n return directive;\n };\n\n NavigationBarDirective.$inject = [\"tgCurrentUserService\", \"tgNavigationBarService\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\"];\n\n angular.module(\"taigaNavigationBar\").directive(\"tgNavigationBar\", NavigationBarDirective);\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: navigation-bar.service.coffee\n */\n\n(function() {\n var NavigationBarService,\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 NavigationBarService = (function(superClass) {\n extend(NavigationBarService, superClass);\n\n function NavigationBarService() {\n this.disableHeader();\n }\n\n NavigationBarService.prototype.enableHeader = function() {\n return this.enabledHeader = true;\n };\n\n NavigationBarService.prototype.disableHeader = function() {\n return this.enabledHeader = false;\n };\n\n NavigationBarService.prototype.isEnabledHeader = function() {\n return this.enabledHeader;\n };\n\n return NavigationBarService;\n\n })(taiga.Service);\n\n angular.module(\"taigaNavigationBar\").service(\"tgNavigationBarService\", NavigationBarService);\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: profile-bar.controller.coffee\n */\n\n(function() {\n var ProfileBarController;\n\n ProfileBarController = (function() {\n ProfileBarController.$inject = [\"tgUserService\"];\n\n function ProfileBarController(userService) {\n this.userService = userService;\n this.loadStats();\n }\n\n ProfileBarController.prototype.loadStats = function() {\n return this.userService.getStats(this.user.get(\"id\")).then((function(_this) {\n return function(stats) {\n return _this.stats = stats;\n };\n })(this));\n };\n\n return ProfileBarController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileBar\", ProfileBarController);\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: profile-bar.directive.coffee\n */\n\n(function() {\n var ProfileBarDirective;\n\n ProfileBarDirective = function() {\n return {\n templateUrl: \"profile/profile-bar/profile-bar.html\",\n controller: \"ProfileBar\",\n controllerAs: \"vm\",\n scope: {\n user: \"=user\",\n isCurrentUser: \"=iscurrentuser\"\n },\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileBar\", ProfileBarDirective);\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: profile-contacts.controller.coffee\n */\n\n(function() {\n var ProfileContactsController;\n\n ProfileContactsController = (function() {\n ProfileContactsController.$inject = [\"tgUserService\", \"tgCurrentUserService\"];\n\n function ProfileContactsController(userService, currentUserService) {\n this.userService = userService;\n this.currentUserService = currentUserService;\n this.currentUser = this.currentUserService.getUser();\n this.isCurrentUser = false;\n if (this.currentUser && this.currentUser.get(\"id\") === this.user.get(\"id\")) {\n this.isCurrentUser = true;\n }\n }\n\n ProfileContactsController.prototype.loadContacts = function() {\n return this.userService.getContacts(this.user.get(\"id\")).then((function(_this) {\n return function(contacts) {\n return _this.contacts = contacts;\n };\n })(this));\n };\n\n return ProfileContactsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileContacts\", ProfileContactsController);\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: profile-contacts.directive.coffee\n */\n\n(function() {\n var ProfileContactsDirective;\n\n ProfileContactsDirective = function() {\n var link;\n link = function(scope, elm, attrs, ctrl) {\n return ctrl.loadContacts();\n };\n return {\n templateUrl: \"profile/profile-contacts/profile-contacts.html\",\n scope: {\n user: \"=\"\n },\n controllerAs: \"vm\",\n controller: \"ProfileContacts\",\n link: link,\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileContacts\", ProfileContactsDirective);\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: items.directive.coffee\n */\n\n(function() {\n var FavItemDirective;\n\n FavItemDirective = function() {\n var link, templateUrl;\n link = function(scope, el, attrs, ctrl) {\n return scope.vm = {\n item: scope.item\n };\n };\n templateUrl = function(el, attrs) {\n if (attrs.itemType === \"project\") {\n return \"profile/profile-favs/items/project.html\";\n } else {\n return \"profile/profile-favs/items/ticket.html\";\n }\n };\n return {\n scope: {\n \"item\": \"=tgFavItem\"\n },\n link: link,\n templateUrl: templateUrl\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgFavItem\", FavItemDirective);\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: profile-favs.controller.coffee\n */\n\n(function() {\n var FavsBaseController, ProfileLikedController, ProfileVotedController, ProfileWatchedController, debounceLeading,\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 debounceLeading = this.taiga.debounceLeading;\n\n FavsBaseController = (function() {\n function FavsBaseController() {\n this._init();\n }\n\n FavsBaseController.prototype._init = function() {\n this.enableFilterByAll = true;\n this.enableFilterByProjects = true;\n this.enableFilterByEpics = true;\n this.enableFilterByUserStories = true;\n this.enableFilterByTasks = true;\n this.enableFilterByIssues = true;\n this.enableFilterByTextQuery = true;\n this._resetList();\n this.q = null;\n return this.type = null;\n };\n\n FavsBaseController.prototype._resetList = function() {\n this.items = Immutable.List();\n this.scrollDisabled = false;\n return this._page = 1;\n };\n\n FavsBaseController.prototype._enableLoadingSpinner = function() {\n return this.isLoading = true;\n };\n\n FavsBaseController.prototype._disableLoadingSpinner = function() {\n return this.isLoading = false;\n };\n\n FavsBaseController.prototype._enableScroll = function() {\n return this.scrollDisabled = false;\n };\n\n FavsBaseController.prototype._disableScroll = function() {\n return this.scrollDisabled = true;\n };\n\n FavsBaseController.prototype._checkIfHasMorePages = function(hasNext) {\n if (hasNext) {\n this._page += 1;\n return this._enableScroll();\n } else {\n return this._disableScroll();\n }\n };\n\n FavsBaseController.prototype._checkIfHasNoResults = function() {\n return this.hasNoResults = this.items.size === 0;\n };\n\n FavsBaseController.prototype.loadItems = function() {\n this._enableLoadingSpinner();\n this._disableScroll();\n return this._getItems(this.user.get(\"id\"), this._page, this.type, this.q).then((function(_this) {\n return function(response) {\n _this.items = _this.items.concat(response.get(\"data\"));\n _this._checkIfHasMorePages(response.get(\"next\"));\n _this._checkIfHasNoResults();\n _this._disableLoadingSpinner();\n return _this.items;\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n _this._disableLoadingSpinner();\n return _this.items;\n };\n })(this));\n };\n\n FavsBaseController.prototype.filterByTextQuery = debounceLeading(500, function() {\n this._resetList();\n return this.loadItems();\n });\n\n FavsBaseController.prototype.showAll = function() {\n if (this.type !== null) {\n this.type = null;\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showProjectsOnly = function() {\n if (this.type !== \"project\") {\n this.type = \"project\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showEpicsOnly = function() {\n if (this.type !== \"epic\") {\n this.type = \"epic\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showUserStoriesOnly = function() {\n if (this.type !== \"userstory\") {\n this.type = \"userstory\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showTasksOnly = function() {\n if (this.type !== \"task\") {\n this.type = \"task\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n FavsBaseController.prototype.showIssuesOnly = function() {\n if (this.type !== \"issue\") {\n this.type = \"issue\";\n this._resetList();\n return this.loadItems();\n }\n };\n\n return FavsBaseController;\n\n })();\n\n ProfileLikedController = (function(superClass) {\n extend(ProfileLikedController, superClass);\n\n ProfileLikedController.$inject = [\"tgUserService\"];\n\n function ProfileLikedController(userService) {\n this.userService = userService;\n ProfileLikedController.__super__.constructor.call(this);\n this.tabName = 'likes';\n this.enableFilterByAll = false;\n this.enableFilterByProjects = false;\n this.enableFilterByEpics = false;\n this.enableFilterByUserStories = false;\n this.enableFilterByTasks = false;\n this.enableFilterByIssues = false;\n this.enableFilterByTextQuery = true;\n this._getItems = this.userService.getLiked;\n }\n\n return ProfileLikedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileLiked\", ProfileLikedController);\n\n ProfileVotedController = (function(superClass) {\n extend(ProfileVotedController, superClass);\n\n ProfileVotedController.$inject = [\"tgUserService\"];\n\n function ProfileVotedController(userService) {\n this.userService = userService;\n ProfileVotedController.__super__.constructor.call(this);\n this.tabName = 'upvotes';\n this.enableFilterByAll = true;\n this.enableFilterByProjects = false;\n this.enableFilterByEpics = true;\n this.enableFilterByUserStories = true;\n this.enableFilterByTasks = true;\n this.enableFilterByIssues = true;\n this.enableFilterByTextQuery = true;\n this._getItems = this.userService.getVoted;\n }\n\n return ProfileVotedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileVoted\", ProfileVotedController);\n\n ProfileWatchedController = (function(superClass) {\n extend(ProfileWatchedController, superClass);\n\n ProfileWatchedController.$inject = [\"tgUserService\"];\n\n function ProfileWatchedController(userService) {\n this.userService = userService;\n ProfileWatchedController.__super__.constructor.call(this);\n this.tabName = 'watchers';\n this._getItems = this.userService.getWatched;\n }\n\n return ProfileWatchedController;\n\n })(FavsBaseController);\n\n angular.module(\"taigaProfile\").controller(\"ProfileWatched\", ProfileWatchedController);\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: profile-favs.directive.coffee\n */\n\n(function() {\n var ProfileLikedDirective, ProfileVotedDirective, ProfileWatchedDirective, base;\n\n base = {\n scope: {},\n bindToController: {\n user: \"=\",\n type: \"@\",\n q: \"@\",\n scrollDisabled: \"@\",\n isLoading: \"@\",\n hasNoResults: \"@\"\n },\n controller: null,\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-favs/profile-favs.html\"\n };\n\n ProfileLikedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileLiked\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileLiked\", ProfileLikedDirective);\n\n ProfileVotedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileVoted\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileVoted\", ProfileVotedDirective);\n\n ProfileWatchedDirective = function() {\n return _.extend({}, base, {\n controller: \"ProfileWatched\"\n });\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileWatched\", ProfileWatchedDirective);\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: profile-hints.controller.coffee\n */\n\n(function() {\n var ProfileHints;\n\n ProfileHints = (function() {\n ProfileHints.prototype.HINTS = [\n {\n url: \"https://tree.taiga.io/support/admin/import-export-projects/\"\n }, {\n url: \"https://tree.taiga.io/support/admin/custom-fields/\"\n }, {}, {}\n ];\n\n function ProfileHints(translate) {\n var hintKey;\n this.translate = translate;\n hintKey = Math.floor(Math.random() * this.HINTS.length) + 1;\n this.hint = this.HINTS[hintKey - 1];\n this.hint.linkText = this.hint.linkText || 'HINTS.LINK';\n this.hint.title = this.translate.instant(\"HINTS.HINT\" + hintKey + \"_TITLE\");\n this.hint.text = this.translate.instant(\"HINTS.HINT\" + hintKey + \"_TEXT\");\n }\n\n return ProfileHints;\n\n })();\n\n ProfileHints.$inject = [\"$translate\"];\n\n angular.module(\"taigaProfile\").controller(\"ProfileHints\", ProfileHints);\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: profile-hints.directive.coffee\n */\n\n(function() {\n var ProfileHints;\n\n ProfileHints = function($translate) {\n return {\n scope: {},\n controller: \"ProfileHints\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-hints/profile-hints.html\"\n };\n };\n\n ProfileHints.$inject = [\"$translate\"];\n\n angular.module(\"taigaProfile\").directive(\"tgProfileHints\", ProfileHints);\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: profile-projects.controller.coffee\n */\n\n(function() {\n var ProfileProjectsController;\n\n ProfileProjectsController = (function() {\n ProfileProjectsController.$inject = [\"tgProjectsService\", \"tgUserService\"];\n\n function ProfileProjectsController(projectsService, userService) {\n this.projectsService = projectsService;\n this.userService = userService;\n }\n\n ProfileProjectsController.prototype.loadProjects = function() {\n return this.projectsService.getProjectsByUserId(this.user.get(\"id\")).then((function(_this) {\n return function(projects) {\n return _this.userService.attachUserContactsToProjects(_this.user.get(\"id\"), projects);\n };\n })(this)).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n return ProfileProjectsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileProjects\", ProfileProjectsController);\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: profile-projects.directive.coffee\n */\n\n(function() {\n var ProfileProjectsDirective;\n\n ProfileProjectsDirective = function() {\n var link;\n link = function(scope, elm, attr, ctrl) {\n return ctrl.loadProjects();\n };\n return {\n templateUrl: \"profile/profile-projects/profile-projects.html\",\n scope: {\n user: \"=\"\n },\n link: link,\n bindToController: true,\n controllerAs: \"vm\",\n controller: \"ProfileProjects\"\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileProjects\", ProfileProjectsDirective);\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: profile-tab.directive.coffee\n */\n\n(function() {\n var ProfileTabDirective;\n\n ProfileTabDirective = function() {\n var link;\n link = function(scope, element, attrs, ctrl, transclude) {\n scope.tab = {};\n attrs.$observe(\"tgProfileTab\", function(name) {\n return scope.tab.name = name;\n });\n attrs.$observe(\"tabTitle\", function(title) {\n return scope.tab.title = title;\n });\n scope.tab.icon = attrs.tabIcon;\n scope.tab.active = !!attrs.tabActive;\n if (scope.$eval(attrs.tabDisabled) !== true) {\n return ctrl.addTab(scope.tab);\n }\n };\n return {\n templateUrl: \"profile/profile-tab/profile-tab.html\",\n scope: {},\n require: \"^tgProfileTabs\",\n link: link,\n transclude: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileTab\", ProfileTabDirective);\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: profile-tabs.controller.coffee\n */\n\n(function() {\n var ProfileTabsController;\n\n ProfileTabsController = (function() {\n function ProfileTabsController() {\n this.tabs = [];\n }\n\n ProfileTabsController.prototype.addTab = function(tab) {\n return this.tabs.push(tab);\n };\n\n ProfileTabsController.prototype.toggleTab = function(tab) {\n _.map(this.tabs, function(tab) {\n return tab.active = false;\n });\n return tab.active = true;\n };\n\n return ProfileTabsController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"ProfileTabs\", ProfileTabsController);\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: profile-tabs.directive.coffee\n */\n\n(function() {\n var ProfileTabsDirective;\n\n ProfileTabsDirective = function() {\n return {\n scope: {},\n controller: \"ProfileTabs\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-tabs/profile-tabs.html\",\n transclude: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgProfileTabs\", ProfileTabsDirective);\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: profile.controller.coffee\n */\n\n(function() {\n var ProfileController;\n\n ProfileController = (function() {\n ProfileController.$inject = [\"tgAppMetaService\", \"tgCurrentUserService\", \"$routeParams\", \"tgUserService\", \"tgXhrErrorService\", \"$translate\"];\n\n function ProfileController(appMetaService, currentUserService, routeParams, userService, xhrError, translate) {\n this.appMetaService = appMetaService;\n this.currentUserService = currentUserService;\n this.routeParams = routeParams;\n this.userService = userService;\n this.xhrError = xhrError;\n this.translate = translate;\n this.isCurrentUser = false;\n if (this.routeParams.slug) {\n this.userService.getUserByUserName(this.routeParams.slug).then((function(_this) {\n return function(user) {\n if (!user.get('is_active')) {\n return _this.xhrError.notFound();\n } else {\n _this.user = user;\n _this.isCurrentUser = false;\n _this._setMeta(_this.user);\n return user;\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n } else {\n this.user = this.currentUserService.getUser();\n this.isCurrentUser = true;\n this._setMeta(this.user);\n }\n }\n\n ProfileController.prototype._setMeta = function(user) {\n var ctx, description, title;\n ctx = {\n userFullName: user.get(\"full_name_display\"),\n userUsername: user.get(\"username\")\n };\n title = this.translate.instant(\"USER.PROFILE.PAGE_TITLE\", ctx);\n description = user.get(\"bio\");\n return this.appMetaService.setAll(title, description);\n };\n\n return ProfileController;\n\n })();\n\n angular.module(\"taigaProfile\").controller(\"Profile\", ProfileController);\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: blocked-project-explanation.directive.coffee\n */\n\n(function() {\n var BlockedProjectExplanationDirective;\n\n BlockedProjectExplanationDirective = function() {\n return {\n templateUrl: \"projects/project/blocked-project-explanation.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgBlockedProjectExplanation\", BlockedProjectExplanationDirective);\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: like-project-button.controller.coffee\n */\n\n(function() {\n var ContactProjectButtonController;\n\n ContactProjectButtonController = (function() {\n ContactProjectButtonController.$inject = ['tgLightboxFactory'];\n\n function ContactProjectButtonController(lightboxFactory) {\n this.lightboxFactory = lightboxFactory;\n }\n\n ContactProjectButtonController.prototype.launchContactForm = function() {\n return this.lightboxFactory.create('tg-lb-contact-project', {\n \"class\": \"lightbox lightbox-contact-project e2e-lightbox-contact-project\",\n \"project\": \"project\"\n }, {\n \"project\": this.project\n });\n };\n\n return ContactProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ContactProjectButtonCtrl\", ContactProjectButtonController);\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: contact-project-button.directive.coffee\n */\n\n(function() {\n var ContactProjectButtonDirective;\n\n ContactProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"ContactProjectButtonCtrl\",\n bindToController: {\n project: '=',\n layout: '@'\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/contact-project-button/contact-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgContactProjectButton\", ContactProjectButtonDirective);\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: lb-contact-team.controller.coffee\n */\n\n(function() {\n var ContactProjectLbController;\n\n ContactProjectLbController = (function() {\n ContactProjectLbController.$inject = [\"lightboxService\", \"tgResources\", \"$tgConfirm\"];\n\n function ContactProjectLbController(lightboxService, rs, confirm) {\n this.lightboxService = lightboxService;\n this.rs = rs;\n this.confirm = confirm;\n this.contact = {};\n }\n\n ContactProjectLbController.prototype.contactProject = function() {\n var message, project, promise;\n project = this.project.get('id');\n message = this.contact.message;\n promise = this.rs.projects.contactProject(project, message);\n this.sendingFeedback = true;\n return promise.then((function(_this) {\n return function() {\n _this.lightboxService.closeAll();\n _this.sendingFeedback = false;\n return _this.confirm.notify(\"success\");\n };\n })(this));\n };\n\n return ContactProjectLbController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ContactProjectLbCtrl\", ContactProjectLbController);\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: lb-contact-team.directive.coffee\n */\n\n(function() {\n var ContactProjectLbDirective;\n\n ContactProjectLbDirective = function(lightboxService) {\n var link;\n this.inject = ['lightboxService'];\n link = function(scope, el) {\n return lightboxService.open(el);\n };\n return {\n controller: \"ContactProjectLbCtrl\",\n bindToController: {\n project: '='\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/lb-contact-project/lb-contact-project.html\",\n link: link\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgLbContactProject\", [\"lightboxService\", ContactProjectLbDirective]);\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: like-project-button.controller.coffee\n */\n\n(function() {\n var LikeProjectButtonController;\n\n LikeProjectButtonController = (function() {\n LikeProjectButtonController.$inject = [\"$tgConfirm\", \"tgLikeProjectButtonService\"];\n\n function LikeProjectButtonController(confirm, likeButtonService) {\n this.confirm = confirm;\n this.likeButtonService = likeButtonService;\n this.isMouseOver = false;\n this.loading = false;\n }\n\n LikeProjectButtonController.prototype.showTextWhenMouseIsOver = function() {\n return this.isMouseOver = true;\n };\n\n LikeProjectButtonController.prototype.showTextWhenMouseIsLeave = function() {\n return this.isMouseOver = false;\n };\n\n LikeProjectButtonController.prototype.toggleLike = function() {\n var promise;\n this.loading = true;\n if (!this.project.get(\"is_fan\")) {\n promise = this._like();\n } else {\n promise = this._unlike();\n }\n promise[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n return promise;\n };\n\n LikeProjectButtonController.prototype._like = function() {\n return this.likeButtonService.like(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.showTextWhenMouseIsLeave();\n };\n })(this))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n LikeProjectButtonController.prototype._unlike = function() {\n return this.likeButtonService.unlike(this.project.get('id'))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n };\n\n return LikeProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"LikeProjectButton\", LikeProjectButtonController);\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: like-project-button.directive.coffee\n */\n\n(function() {\n var LikeProjectButtonDirective;\n\n LikeProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"LikeProjectButton\",\n bindToController: {\n project: '='\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/like-project-button/like-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgLikeProjectButton\", LikeProjectButtonDirective);\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: like-project-button.service.coffee\n */\n\n(function() {\n var LikeProjectButtonService, 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 LikeProjectButtonService = (function(superClass) {\n extend(LikeProjectButtonService, superClass);\n\n LikeProjectButtonService.$inject = [\"tgResources\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function LikeProjectButtonService(rs, currentUserService, projectService) {\n this.rs = rs;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n }\n\n LikeProjectButtonService.prototype._getProjectIndex = function(projectId) {\n return this.currentUserService.projects.get('all').findIndex(function(project) {\n return project.get('id') === projectId;\n });\n };\n\n LikeProjectButtonService.prototype._updateProjects = function(projectId, isFan) {\n var projectIndex, projects;\n projectIndex = this._getProjectIndex(projectId);\n if (projectIndex === -1) {\n return;\n }\n projects = this.currentUserService.projects.get('all').update(projectIndex, function(project) {\n var totalFans;\n totalFans = project.get(\"total_fans\");\n if (isFan) {\n totalFans++;\n } else {\n totalFans--;\n }\n return project.merge({\n is_fan: isFan,\n total_fans: totalFans\n });\n });\n return this.currentUserService.setProjects(projects);\n };\n\n LikeProjectButtonService.prototype._updateCurrentProject = function(isFan) {\n var project, totalFans;\n totalFans = this.projectService.project.get(\"total_fans\");\n if (isFan) {\n totalFans++;\n } else {\n totalFans--;\n }\n project = this.projectService.project.merge({\n is_fan: isFan,\n total_fans: totalFans\n });\n return this.projectService.setProject(project);\n };\n\n LikeProjectButtonService.prototype.like = function(projectId) {\n return this.rs.projects.likeProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, true);\n return _this._updateCurrentProject(true);\n };\n })(this));\n };\n\n LikeProjectButtonService.prototype.unlike = function(projectId) {\n return this.rs.projects.unlikeProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, false);\n return _this._updateCurrentProject(false);\n };\n })(this));\n };\n\n return LikeProjectButtonService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgLikeProjectButtonService\", LikeProjectButtonService);\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: sort-projects.directive.coffee\n */\n\n(function() {\n var SortProjectsDirective;\n\n SortProjectsDirective = function(currentUserService) {\n var directive, link;\n link = function(scope, el, attrs, ctrl) {\n var drake, itemEl, scroll;\n itemEl = null;\n drake = dragula([el[0]], {\n copySortSource: false,\n copy: false,\n mirrorContainer: el[0],\n moves: function(item) {\n return $(item).hasClass('list-itemtype-project');\n }\n });\n drake.on('dragend', function(item) {\n var i, index, len, project, sortData, sorted_project_ids, value;\n itemEl = $(item);\n project = itemEl.scope().project;\n index = itemEl.index();\n sorted_project_ids = _.map(scope.projects.toJS(), function(p) {\n return p.id;\n });\n sorted_project_ids = _.without(sorted_project_ids, project.get(\"id\"));\n sorted_project_ids.splice(index, 0, project.get('id'));\n sortData = [];\n for (index = i = 0, len = sorted_project_ids.length; i < len; index = ++i) {\n value = sorted_project_ids[index];\n sortData.push({\n \"project_id\": value,\n \"order\": index\n });\n }\n return currentUserService.bulkUpdateProjectsOrder(sortData);\n });\n scroll = autoScroll(window, {\n margin: 20,\n pixels: 30,\n scrollWhenOutside: true,\n autoScroll: function() {\n return this.down && drake.dragging;\n }\n });\n return scope.$on(\"$destroy\", function() {\n el.off();\n return drake.destroy();\n });\n };\n directive = {\n scope: {\n projects: \"=tgSortProjects\"\n },\n link: link\n };\n return directive;\n };\n\n angular.module(\"taigaProjects\").directive(\"tgSortProjects\", [\"tgCurrentUserService\", SortProjectsDirective]);\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: watch-project-button.controller.coffee\n */\n\n(function() {\n var WatchProjectButtonController;\n\n WatchProjectButtonController = (function() {\n WatchProjectButtonController.$inject = [\"$tgConfirm\", \"tgWatchProjectButtonService\"];\n\n function WatchProjectButtonController(confirm, watchButtonService) {\n this.confirm = confirm;\n this.watchButtonService = watchButtonService;\n this.showWatchOptions = false;\n this.loading = false;\n }\n\n WatchProjectButtonController.prototype.toggleWatcherOptions = function() {\n return this.showWatchOptions = !this.showWatchOptions;\n };\n\n WatchProjectButtonController.prototype.closeWatcherOptions = function() {\n return this.showWatchOptions = false;\n };\n\n WatchProjectButtonController.prototype.watch = function(notifyLevel) {\n if (notifyLevel === this.project.get('notify_level')) {\n return;\n }\n this.loading = true;\n this.closeWatcherOptions();\n return this.watchButtonService.watch(this.project.get('id'), notifyLevel)[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n WatchProjectButtonController.prototype.unwatch = function() {\n this.loading = true;\n this.closeWatcherOptions();\n return this.watchButtonService.unwatch(this.project.get('id'))[\"catch\"]((function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this))[\"finally\"]((function(_this) {\n return function() {\n return _this.loading = false;\n };\n })(this));\n };\n\n return WatchProjectButtonController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"WatchProjectButton\", WatchProjectButtonController);\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: watch-project-button.directive.coffee\n */\n\n(function() {\n var WatchProjectButtonDirective;\n\n WatchProjectButtonDirective = function() {\n return {\n scope: {},\n controller: \"WatchProjectButton\",\n bindToController: {\n project: \"=\"\n },\n controllerAs: \"vm\",\n templateUrl: \"projects/components/watch-project-button/watch-project-button.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgWatchProjectButton\", WatchProjectButtonDirective);\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: watch-project-button.service.coffee\n */\n\n(function() {\n var WatchProjectButtonService, 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 WatchProjectButtonService = (function(superClass) {\n extend(WatchProjectButtonService, superClass);\n\n WatchProjectButtonService.$inject = [\"tgResources\", \"tgCurrentUserService\", \"tgProjectService\"];\n\n function WatchProjectButtonService(rs, currentUserService, projectService) {\n this.rs = rs;\n this.currentUserService = currentUserService;\n this.projectService = projectService;\n }\n\n WatchProjectButtonService.prototype._getProjectIndex = function(projectId) {\n return this.currentUserService.projects.get('all').findIndex(function(project) {\n return project.get('id') === projectId;\n });\n };\n\n WatchProjectButtonService.prototype._updateProjects = function(projectId, notifyLevel, isWatcher) {\n var projectIndex, projects;\n projectIndex = this._getProjectIndex(projectId);\n if (projectIndex === -1) {\n return;\n }\n projects = this.currentUserService.projects.get('all').update(projectIndex, (function(_this) {\n return function(project) {\n var totalWatchers;\n totalWatchers = project.get('total_watchers');\n if (!_this.projectService.project.get('is_watcher') && isWatcher) {\n totalWatchers++;\n } else if (_this.projectService.project.get('is_watcher') && !isWatcher) {\n totalWatchers--;\n }\n return project.merge({\n is_watcher: isWatcher,\n total_watchers: totalWatchers,\n notify_level: notifyLevel\n });\n };\n })(this));\n return this.currentUserService.setProjects(projects);\n };\n\n WatchProjectButtonService.prototype._updateCurrentProject = function(notifyLevel, isWatcher) {\n var project, totalWatchers;\n totalWatchers = this.projectService.project.get(\"total_watchers\");\n if (!this.projectService.project.get('is_watcher') && isWatcher) {\n totalWatchers++;\n } else if (this.projectService.project.get('is_watcher') && !isWatcher) {\n totalWatchers--;\n }\n project = this.projectService.project.merge({\n is_watcher: isWatcher,\n notify_level: notifyLevel,\n total_watchers: totalWatchers\n });\n return this.projectService.setProject(project);\n };\n\n WatchProjectButtonService.prototype.watch = function(projectId, notifyLevel) {\n return this.rs.projects.watchProject(projectId, notifyLevel).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, notifyLevel, true);\n return _this._updateCurrentProject(notifyLevel, true);\n };\n })(this));\n };\n\n WatchProjectButtonService.prototype.unwatch = function(projectId) {\n return this.rs.projects.unwatchProject(projectId).then((function(_this) {\n return function() {\n _this._updateProjects(projectId, null, false);\n return _this._updateCurrentProject(null, false);\n };\n })(this));\n };\n\n return WatchProjectButtonService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgWatchProjectButtonService\", WatchProjectButtonService);\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: asana-import-project-form.controller.coffee\n */\n\n(function() {\n var AsanaImportProjectFormController;\n\n AsanaImportProjectFormController = (function() {\n AsanaImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function AsanaImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Asana\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n this.projectForm.project_type = \"scrum\";\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n AsanaImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n AsanaImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n AsanaImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n AsanaImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return AsanaImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('AsanaImportProjectFormCtrl', AsanaImportProjectFormController);\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: asana-import-project-form.directive.coffee\n */\n\n(function() {\n var AsanaImportProjectFormDirective;\n\n AsanaImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/asana-import/asana-import-project-form/asana-import-project-form.html\",\n controller: \"AsanaImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n AsanaImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgAsanaImportProjectForm\", AsanaImportProjectFormDirective);\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: asana-import.controller.coffee\n */\n\n(function() {\n var AsanaImportController;\n\n AsanaImportController = (function() {\n AsanaImportController.$inject = ['tgAsanaImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function AsanaImportController(asanaImportService, confirm, translate, importProjectService) {\n this.asanaImportService = asanaImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-asana';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.asanaImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.asanaImportService.projectUsers;\n };\n })(this));\n }\n\n AsanaImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-asana';\n return this.asanaImportService.fetchProjects();\n };\n\n AsanaImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-asana';\n this.project = project;\n this.fetchingUsers = true;\n return this.asanaImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n AsanaImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-asana';\n };\n\n AsanaImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-asana';\n };\n\n AsanaImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.asanaImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), this.project.get('project_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n AsanaImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return AsanaImportController;\n\n })();\n\n angular.module('taigaProjects').controller('AsanaImportCtrl', AsanaImportController);\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: asana-import.directive.coffee\n */\n\n(function() {\n var AsanaImportDirective;\n\n AsanaImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/asana-import/asana-import.html\",\n controller: \"AsanaImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n AsanaImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgAsanaImport\", AsanaImportDirective);\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: asana-import.service.coffee\n */\n\n(function() {\n var AsanaImportService,\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 AsanaImportService = (function(superClass) {\n extend(AsanaImportService, superClass);\n\n AsanaImportService.$inject = ['tgResources', '$location'];\n\n function AsanaImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n this.token = null;\n }\n\n AsanaImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n AsanaImportService.prototype.fetchProjects = function() {\n return this.resources.asanaImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n AsanaImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.asanaImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n AsanaImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n return this.resources.asanaImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType);\n };\n\n AsanaImportService.prototype.getAuthUrl = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.asanaImporter.getAuthUrl().then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n AsanaImportService.prototype.authorize = function(code) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.asanaImporter.authorize(code).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return AsanaImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgAsanaImportService\", AsanaImportService);\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: create-project-form.controller.coffee\n */\n\n(function() {\n var CreatetProjectFormController;\n\n CreatetProjectFormController = (function() {\n CreatetProjectFormController.$inject = [\"tgCurrentUserService\", \"tgProjectsService\", \"$projectUrl\", \"$location\", \"$tgNavUrls\", \"$tgAnalytics\"];\n\n function CreatetProjectFormController(currentUserService, projectsService, projectUrl, location, navUrls, analytics) {\n this.currentUserService = currentUserService;\n this.projectsService = projectsService;\n this.projectUrl = projectUrl;\n this.location = location;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.projectForm = {\n is_private: false\n };\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n if (this.type === 'scrum') {\n this.projectForm.creation_template = 1;\n } else {\n this.projectForm.creation_template = 2;\n }\n }\n\n CreatetProjectFormController.prototype.submit = function() {\n this.formSubmitLoading = true;\n return this.projectsService.create(this.projectForm).then((function(_this) {\n return function(project) {\n _this.analytics.trackEvent(\"project\", \"create\", \"project creation\", {\n slug: project.get('slug'),\n id: project.get('id')\n });\n return _this.location.url(_this.projectUrl.get(project));\n };\n })(this));\n };\n\n CreatetProjectFormController.prototype.onCancelForm = function() {\n return this.location.path(this.navUrls.resolve(\"create-project\"));\n };\n\n CreatetProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n CreatetProjectFormController.prototype.isDisabled = function() {\n return this.formSubmitLoading || !this.canCreateProject();\n };\n\n return CreatetProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('CreateProjectFormCtrl', CreatetProjectFormController);\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: create-project-form.directive.coffee\n */\n\n(function() {\n var CreateProjectFormDirective;\n\n CreateProjectFormDirective = function() {\n return {\n templateUrl: \"projects/create/create-project-form/create-project-form.html\",\n controller: \"CreateProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n type: '@'\n }\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgCreateProjectForm\", CreateProjectFormDirective);\n\n}).call(this);\n\n(function() {\n var createProjectMembersRestrictionsDirective, module;\n\n module = angular.module(\"taigaProject\");\n\n createProjectMembersRestrictionsDirective = function() {\n return {\n scope: {\n isPrivate: '=',\n limitMembersPrivateProject: '=',\n limitMembersPublicProject: '='\n },\n templateUrl: \"projects/create/create-project-members-restrictions/create-project-members-restrictions.html\"\n };\n };\n\n module.directive('tgCreateProjectMembersRestrictions', [createProjectMembersRestrictionsDirective]);\n\n}).call(this);\n\n(function() {\n var createProjectRestrictionsDirective, module;\n\n module = angular.module(\"taigaProject\");\n\n createProjectRestrictionsDirective = function() {\n return {\n scope: {\n isPrivate: '=',\n canCreatePrivateProjects: '=',\n canCreatePublicProjects: '='\n },\n templateUrl: \"projects/create/create-project-restrictions/create-project-restrictions.html\"\n };\n };\n\n module.directive('tgCreateProjectRestrictions', [createProjectRestrictionsDirective]);\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: project.controller.coffee\n */\n\n(function() {\n var CreateProjectController;\n\n CreateProjectController = (function() {\n CreateProjectController.$inject = [\"tgAppMetaService\", \"$translate\", \"tgProjectService\", \"$location\", \"$tgAuth\"];\n\n function CreateProjectController(appMetaService, translate, projectService, location, authService) {\n this.appMetaService = appMetaService;\n this.translate = translate;\n this.projectService = projectService;\n this.location = location;\n this.authService = authService;\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n this.authService.refresh();\n this.displayScrumDesc = false;\n this.displayKanbanDesc = false;\n }\n\n CreateProjectController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\")\n };\n return {\n title: this.translate.instant(\"PROJECT.PAGE_TITLE\", ctx),\n description: this.project.get(\"description\")\n };\n };\n\n CreateProjectController.prototype.displayHelp = function(type, $event) {\n $event.stopPropagation();\n $event.preventDefault();\n if (type === 'scrum') {\n this.displayScrumDesc = !this.displayScrumDesc;\n }\n if (type === 'kanban') {\n return this.displayKanbanDesc = !this.displayKanbanDesc;\n }\n };\n\n return CreateProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"CreateProjectCtrl\", CreateProjectController);\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: project.controller.coffee\n */\n\n(function() {\n var DuplicateProjectController;\n\n DuplicateProjectController = (function() {\n DuplicateProjectController.$inject = [\"tgCurrentUserService\", \"tgProjectsService\", \"$tgLocation\", \"$tgNavUrls\"];\n\n function DuplicateProjectController(currentUserService, projectsService, location, navUrls) {\n this.currentUserService = currentUserService;\n this.projectsService = projectsService;\n this.location = location;\n this.navUrls = navUrls;\n this.user = this.currentUserService.getUser();\n this.members = Immutable.List();\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.currentUserService.projects.get(\"all\");\n };\n })(this));\n this.projectForm = {\n is_private: false\n };\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n DuplicateProjectController.prototype.refreshReferenceProject = function(slug) {\n return this.projectsService.getProjectBySlug(slug).then((function(_this) {\n return function(project) {\n _this.referenceProject = project;\n _this.members = project.get('members').filter(function(it) {\n return it.get('id') !== _this.user.get('id');\n });\n _this.invitedMembers = _this.members.map(function(it) {\n return it.get('id');\n });\n return _this.checkUsersLimit();\n };\n })(this));\n };\n\n DuplicateProjectController.prototype.toggleInvitedMember = function(member) {\n if (this.invitedMembers.includes(member)) {\n this.invitedMembers = this.invitedMembers.filter(function(it) {\n return it !== member;\n });\n } else {\n this.invitedMembers = this.invitedMembers.push(member);\n }\n return this.checkUsersLimit();\n };\n\n DuplicateProjectController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.invitedMembers.size + 1);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.invitedMembers.size + 1);\n };\n\n DuplicateProjectController.prototype.submit = function() {\n var data, projectId;\n projectId = this.referenceProject.get('id');\n data = this.projectForm;\n data.users = this.invitedMembers;\n this.formSubmitLoading = true;\n return this.projectsService.duplicate(projectId, data).then((function(_this) {\n return function(newProject) {\n _this.formSubmitLoading = false;\n _this.location.path(_this.navUrls.resolve(\"project\", {\n project: newProject.data.slug\n }));\n return _this.currentUserService.loadProjects();\n };\n })(this));\n };\n\n DuplicateProjectController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid && this.limitMembersPrivateProject.valid;\n } else {\n return this.canCreatePublicProjects.valid && this.limitMembersPublicProject.valid;\n }\n };\n\n DuplicateProjectController.prototype.isDisabled = function() {\n return this.formSubmitLoading || !this.canCreateProject();\n };\n\n DuplicateProjectController.prototype.onCancelForm = function() {\n return this.location.path(this.navUrls.resolve(\"create-project\"));\n };\n\n return DuplicateProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"DuplicateProjectCtrl\", DuplicateProjectController);\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: duplicate-project.directive.coffee\n */\n\n(function() {\n var DuplicateProjectDirective;\n\n DuplicateProjectDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {};\n return {\n link: link,\n templateUrl: \"projects/create/duplicate/duplicate-project.html\",\n controller: \"DuplicateProjectCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {}\n };\n };\n\n DuplicateProjectDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgDuplicateProject\", DuplicateProjectDirective);\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: github-import-project-form.controller.coffee\n */\n\n(function() {\n var GithubImportProjectFormController;\n\n GithubImportProjectFormController = (function() {\n GithubImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function GithubImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Github\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n this.projectForm.project_type = \"kanban\";\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n GithubImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n GithubImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n GithubImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n GithubImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return GithubImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('GithubImportProjectFormCtrl', GithubImportProjectFormController);\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: github-import-project-form.directive.coffee\n */\n\n(function() {\n var GithubImportProjectFormDirective;\n\n GithubImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/github-import/github-import-project-form/github-import-project-form.html\",\n controller: \"GithubImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n GithubImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgGithubImportProjectForm\", GithubImportProjectFormDirective);\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: github-import.controller.coffee\n */\n\n(function() {\n var GithubImportController;\n\n GithubImportController = (function() {\n GithubImportController.$inject = ['tgGithubImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function GithubImportController(githubImportService, confirm, translate, importProjectService) {\n this.githubImportService = githubImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-github';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.githubImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.githubImportService.projectUsers;\n };\n })(this));\n }\n\n GithubImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-github';\n return this.githubImportService.fetchProjects();\n };\n\n GithubImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-github';\n this.project = project;\n this.fetchingUsers = true;\n return this.githubImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n GithubImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-github';\n };\n\n GithubImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-github';\n };\n\n GithubImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.githubImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), this.project.get('project_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n GithubImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return GithubImportController;\n\n })();\n\n angular.module('taigaProjects').controller('GithubImportCtrl', GithubImportController);\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: github-import.directive.coffee\n */\n\n(function() {\n var GithubImportDirective;\n\n GithubImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/github-import/github-import.html\",\n controller: \"GithubImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n GithubImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgGithubImport\", GithubImportDirective);\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: github-import.service.coffee\n */\n\n(function() {\n var GithubImportService,\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 GithubImportService = (function(superClass) {\n extend(GithubImportService, superClass);\n\n GithubImportService.$inject = ['tgResources'];\n\n function GithubImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n }\n\n GithubImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n GithubImportService.prototype.fetchProjects = function() {\n return this.resources.githubImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n GithubImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.githubImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n GithubImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n return this.resources.githubImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType);\n };\n\n GithubImportService.prototype.getAuthUrl = function(callbackUri) {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.githubImporter.getAuthUrl(callbackUri).then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n GithubImportService.prototype.authorize = function(code) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.githubImporter.authorize(code).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return GithubImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgGithubImportService\", GithubImportService);\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: import-project-members.controller.coffee\n */\n\n(function() {\n var ImportProjectMembersController;\n\n ImportProjectMembersController = (function() {\n ImportProjectMembersController.$inject = ['tgCurrentUserService', 'tgUserService'];\n\n function ImportProjectMembersController(currentUserService, userService) {\n this.currentUserService = currentUserService;\n this.userService = userService;\n this.selectImportUserLightbox = false;\n this.warningImportUsers = false;\n this.displayEmailSelector = true;\n this.cancelledUsers = Immutable.List();\n this.selectedUsers = Immutable.List();\n this.selectableUsers = Immutable.List();\n this.userContacts = Immutable.List();\n }\n\n ImportProjectMembersController.prototype.fetchUser = function() {\n this.currentUser = this.currentUserService.getUser();\n return this.userService.getContacts(this.currentUser.get('id')).then((function(_this) {\n return function(userContacts) {\n _this.userContacts = userContacts;\n return _this.refreshSelectableUsers();\n };\n })(this));\n };\n\n ImportProjectMembersController.prototype.searchUser = function(user) {\n this.selectImportUserLightbox = true;\n return this.searchingUser = user;\n };\n\n ImportProjectMembersController.prototype.beforeSubmitUsers = function() {\n if (this.selectedUsers.size !== this.members.size) {\n return this.warningImportUsers = true;\n } else {\n return this.submit();\n }\n };\n\n ImportProjectMembersController.prototype.confirmUser = function(externalUser, taigaUser) {\n var user;\n this.selectImportUserLightbox = false;\n user = Immutable.Map();\n user = user.set('user', externalUser);\n user = user.set('taigaUser', taigaUser);\n this.selectedUsers = this.selectedUsers.push(user);\n this.discardSuggestedUser(externalUser);\n return this.refreshSelectableUsers();\n };\n\n ImportProjectMembersController.prototype.unselectUser = function(user) {\n var index;\n index = this.selectedUsers.findIndex(function(it) {\n return it.getIn(['user', 'id']) === user.get('id');\n });\n this.selectedUsers = this.selectedUsers[\"delete\"](index);\n return this.refreshSelectableUsers();\n };\n\n ImportProjectMembersController.prototype.discardSuggestedUser = function(member) {\n return this.cancelledUsers = this.cancelledUsers.push(member.get('id'));\n };\n\n ImportProjectMembersController.prototype.getSelectedMember = function(member) {\n return this.selectedUsers.find(function(it) {\n return it.getIn(['user', 'id']) === member.get('id');\n });\n };\n\n ImportProjectMembersController.prototype.isMemberSelected = function(member) {\n return !!this.getSelectedMember(member);\n };\n\n ImportProjectMembersController.prototype.getUser = function(user) {\n var userSelected;\n userSelected = this.getSelectedMember(user);\n if (userSelected) {\n return userSelected.get('taigaUser');\n } else {\n return null;\n }\n };\n\n ImportProjectMembersController.prototype.submit = function() {\n var users;\n this.warningImportUsers = false;\n users = Immutable.Map();\n this.selectedUsers.map(function(it) {\n var id;\n id = '';\n if (_.isString(it.get('taigaUser'))) {\n id = it.get('taigaUser');\n } else {\n id = it.getIn(['taigaUser', 'id']);\n }\n return users = users.set(it.getIn(['user', 'id']), id);\n });\n return this.onSubmit({\n users: users\n });\n };\n\n ImportProjectMembersController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size + 1);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size + 1);\n };\n\n ImportProjectMembersController.prototype.showSuggestedMatch = function(member) {\n return member.get('user') && this.cancelledUsers.indexOf(member.get('id')) === -1 && !this.isMemberSelected(member);\n };\n\n ImportProjectMembersController.prototype.getDistinctSelectedTaigaUsers = function() {\n var ids, users;\n ids = [];\n users = this.selectedUsers.filter(function(it) {\n var id;\n id = it.getIn(['taigaUser', 'id']);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n return true;\n }\n return false;\n });\n return users.filter((function(_this) {\n return function(it) {\n return it.getIn(['taigaUser', 'id']) !== _this.currentUser.get('id');\n };\n })(this));\n };\n\n ImportProjectMembersController.prototype.refreshSelectableUsers = function() {\n var users;\n this.importMoreUsersDisabled = this.isImportMoreUsersDisabled();\n if (this.importMoreUsersDisabled) {\n users = this.getDistinctSelectedTaigaUsers();\n this.selectableUsers = users.map(function(it) {\n return it.get('taigaUser');\n });\n this.displayEmailSelector = false;\n } else {\n this.selectableUsers = this.userContacts;\n this.displayEmailSelector = true;\n }\n return this.selectableUsers = this.selectableUsers.push(this.currentUser);\n };\n\n ImportProjectMembersController.prototype.isImportMoreUsersDisabled = function() {\n var total, users;\n users = this.getDistinctSelectedTaigaUsers();\n total = users.size + 2;\n if (this.project.get('is_private')) {\n return !this.currentUserService.canAddMembersPrivateProject(total).valid;\n } else {\n return !this.currentUserService.canAddMembersPublicProject(total).valid;\n }\n };\n\n return ImportProjectMembersController;\n\n })();\n\n angular.module('taigaProjects').controller('ImportProjectMembersCtrl', ImportProjectMembersController);\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: import-project-form.directive.coffee\n */\n\n(function() {\n var ImportProjectMembersDirective;\n\n ImportProjectMembersDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n ctrl.fetchUser();\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/import-project-members/import-project-members.html\",\n controller: \"ImportProjectMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSubmit: '&',\n platform: '@',\n logo: '@',\n onCancel: '&'\n }\n };\n };\n\n ImportProjectMembersDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgImportProjectMembers\", ImportProjectMembersDirective);\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: import-project-selector.controller.coffee\n */\n\n(function() {\n var ImportProjectSelectorController;\n\n ImportProjectSelectorController = (function() {\n function ImportProjectSelectorController() {}\n\n ImportProjectSelectorController.prototype.selectProject = function(project) {\n return this.onSelectProject({\n project: Immutable.fromJS(project)\n });\n };\n\n return ImportProjectSelectorController;\n\n })();\n\n angular.module('taigaProjects').controller('ImportProjectSelectorCtrl', ImportProjectSelectorController);\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: import-project-selector.directive.coffee\n */\n\n(function() {\n var ImportProjectSelectorDirective;\n\n ImportProjectSelectorDirective = function() {\n return {\n templateUrl: \"projects/create/import-project-selector/import-project-selector.html\",\n controller: \"ImportProjectSelectorCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n projects: '<',\n onCancel: '&',\n onSelectProject: '&',\n logo: '@',\n noProjectsMsg: '@',\n search: '@'\n }\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgImportProjectSelector\", ImportProjectSelectorDirective);\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: import-project.controller.coffee\n */\n\n(function() {\n var ImportTaigaController;\n\n ImportTaigaController = (function() {\n ImportTaigaController.$inject = ['$tgConfirm', '$tgResources', 'tgImportProjectService', '$translate', '$tgAnalytics'];\n\n function ImportTaigaController(confirm, rs, importProjectService, translate, analytics) {\n this.confirm = confirm;\n this.rs = rs;\n this.importProjectService = importProjectService;\n this.translate = translate;\n this.analytics = analytics;\n }\n\n ImportTaigaController.prototype.importTaiga = function(files) {\n var file, loader, promise;\n this.analytics.trackEvent(\"import\", \"taiga\", \"Start import from taiga\", 1);\n file = files[0];\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.rs.projects[\"import\"](file, loader.update);\n this.importProjectService.importPromise(promise)[\"finally\"]((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n return ImportTaigaController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ImportTaigaCtrl\", ImportTaigaController);\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: import-taiga.directive.coffee\n */\n\n(function() {\n var ImportTaigaDirective;\n\n ImportTaigaDirective = function() {\n return {\n templateUrl: \"projects/create/import-taiga/import-taiga.html\",\n controller: \"ImportTaigaCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {}\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgImportTaiga\", ImportTaigaDirective);\n\n}).call(this);\n\n(function() {\n var LbImportErrorDirective;\n\n LbImportErrorDirective = function(lightboxService) {\n var link;\n link = function(scope, el, attrs) {\n lightboxService.open(el);\n return scope.close = function() {\n lightboxService.close(el);\n };\n };\n return {\n templateUrl: \"projects/create/import/import-project-error-lb.html\",\n link: link\n };\n };\n\n LbImportErrorDirective.$inject = [\"lightboxService\"];\n\n angular.module(\"taigaProjects\").directive(\"tgLbImportError\", LbImportErrorDirective);\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: import-project.controller.coffee\n */\n\n(function() {\n var ImportProjectController;\n\n ImportProjectController = (function() {\n ImportProjectController.$inject = ['tgTrelloImportService', 'tgJiraImportService', 'tgGithubImportService', 'tgAsanaImportService', '$location', '$window', '$routeParams', '$tgNavUrls', '$tgConfig', '$tgConfirm', '$tgAnalytics'];\n\n function ImportProjectController(trelloService, jiraService, githubService, asanaService, location, window, routeParams, tgNavUrls, config, confirm, analytics) {\n this.trelloService = trelloService;\n this.jiraService = jiraService;\n this.githubService = githubService;\n this.asanaService = asanaService;\n this.location = location;\n this.window = window;\n this.routeParams = routeParams;\n this.tgNavUrls = tgNavUrls;\n this.config = config;\n this.confirm = confirm;\n this.analytics = analytics;\n }\n\n ImportProjectController.prototype.start = function() {\n var asanaOauthToken, githubOauthToken, jiraOauthToken, jiraOauthVerifier, locationSearch, trelloOauthToken;\n this.token = null;\n this.from = this.routeParams.platform;\n locationSearch = this.location.search();\n if (this.from) {\n this.analytics.trackEvent(\"import\", this.from, \"Start import from \" + this.from, 1);\n }\n if (this.from === \"asana\") {\n asanaOauthToken = locationSearch.code;\n if (locationSearch.code) {\n asanaOauthToken = locationSearch.code;\n return this.asanaService.authorize(asanaOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: encodeURIComponent(JSON.stringify(token))\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else {\n this.token = JSON.parse(decodeURIComponent(locationSearch.token));\n this.asanaService.setToken(this.token);\n }\n }\n if (this.from === 'trello') {\n if (locationSearch.oauth_verifier) {\n trelloOauthToken = locationSearch.oauth_verifier;\n return this.trelloService.authorize(trelloOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: token\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else if (locationSearch.token) {\n this.token = locationSearch.token;\n this.trelloService.setToken(locationSearch.token);\n }\n }\n if (this.from === \"github\") {\n if (locationSearch.code) {\n githubOauthToken = locationSearch.code;\n return this.githubService.authorize(githubOauthToken).then(((function(_this) {\n return function(token) {\n return _this.location.search({\n token: token\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else if (locationSearch.token) {\n this.token = locationSearch.token;\n this.githubService.setToken(locationSearch.token);\n }\n }\n if (this.from === \"jira\") {\n jiraOauthToken = locationSearch.oauth_token;\n if (jiraOauthToken) {\n jiraOauthVerifier = locationSearch.oauth_verifier;\n return this.jiraService.authorize(jiraOauthVerifier).then(((function(_this) {\n return function(data) {\n return _this.location.search({\n token: data.token,\n url: data.url\n });\n };\n })(this)), this.cancelCurrentImport.bind(this));\n } else {\n this.token = locationSearch.token;\n return this.jiraService.setToken(locationSearch.token, locationSearch.url);\n }\n }\n };\n\n ImportProjectController.prototype.select = function(from) {\n var callbackUri;\n if (from === \"trello\") {\n return this.trelloService.getAuthUrl().then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else if (from === \"jira\") {\n return this.jiraService.getAuthUrl(this.jiraUrl).then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this), (function(_this) {\n return function(err) {\n return _this.confirm.notify('error', err);\n };\n })(this));\n } else if (from === \"github\") {\n callbackUri = this.location.absUrl() + \"/github\";\n return this.githubService.getAuthUrl(callbackUri).then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else if (from === \"asana\") {\n return this.asanaService.getAuthUrl().then((function(_this) {\n return function(url) {\n return _this.window.open(url, \"_self\");\n };\n })(this));\n } else {\n return this.from = from;\n }\n };\n\n ImportProjectController.prototype.unfoldOptions = function(options) {\n return this.unfoldedOptions = options;\n };\n\n ImportProjectController.prototype.isActiveImporter = function(importer) {\n if (this.config.get('importers').indexOf(importer) === -1) {\n return false;\n }\n return true;\n };\n\n ImportProjectController.prototype.cancelCurrentImport = function() {\n return this.location.url(this.tgNavUrls.resolve('create-project-import'));\n };\n\n ImportProjectController.prototype.backToCreate = function() {\n return this.location.url(this.tgNavUrls.resolve('create-project'));\n };\n\n return ImportProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ImportProjectCtrl\", ImportProjectController);\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: import-project.directive.coffee\n */\n\n(function() {\n var ImportProjectDirective;\n\n ImportProjectDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {\n return ctrl.start();\n };\n return {\n link: link,\n templateUrl: \"projects/create/import/import-project.html\",\n controller: \"ImportProjectCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancelImport: '&'\n }\n };\n };\n\n ImportProjectDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgImportProject\", ImportProjectDirective);\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: import-project.service.coffee\n */\n\n(function() {\n var ImportProjectService,\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 ImportProjectService = (function(superClass) {\n extend(ImportProjectService, superClass);\n\n ImportProjectService.$inject = ['tgCurrentUserService', '$tgAuth', 'tgLightboxFactory', '$translate', '$tgConfirm', '$location', '$tgNavUrls'];\n\n function ImportProjectService(currentUserService, tgAuth, lightboxFactory, translate, confirm, location, tgNavUrls) {\n this.currentUserService = currentUserService;\n this.tgAuth = tgAuth;\n this.lightboxFactory = lightboxFactory;\n this.translate = translate;\n this.confirm = confirm;\n this.location = location;\n this.tgNavUrls = tgNavUrls;\n }\n\n ImportProjectService.prototype.importPromise = function(promise) {\n return promise.then(this.importSuccess.bind(this), this.importError.bind(this));\n };\n\n ImportProjectService.prototype.importSuccess = function(result) {\n var promise;\n promise = this.currentUserService.loadProjects();\n promise.then((function(_this) {\n return function() {\n var ctx, message, msg, title;\n if (result.status === 202) {\n title = _this.translate.instant('PROJECT.IMPORT.ASYNC_IN_PROGRESS_TITLE');\n message = _this.translate.instant('PROJECT.IMPORT.ASYNC_IN_PROGRESS_MESSAGE');\n _this.location.path(_this.tgNavUrls.resolve('home'));\n return _this.confirm.success(title, message);\n } else {\n ctx = {\n project: result.data.slug\n };\n _this.location.path(_this.tgNavUrls.resolve('project-admin-project-profile-details', ctx));\n msg = _this.translate.instant('PROJECT.IMPORT.SYNC_SUCCESS');\n return _this.confirm.notify('success', msg);\n }\n };\n })(this));\n return promise;\n };\n\n ImportProjectService.prototype.importError = function(result) {\n var promise;\n promise = this.tgAuth.refresh();\n promise.then((function(_this) {\n return function() {\n var errorMsg, ref, restrictionError;\n restrictionError = _this.getRestrictionError(result);\n if (restrictionError) {\n return _this.lightboxFactory.create('tg-lb-import-error', {\n \"class\": 'lightbox lightbox-import-error'\n }, restrictionError);\n } else {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR\");\n if (result.status === 429) {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR_TOO_MANY_REQUEST\");\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = _this.translate.instant(\"PROJECT.IMPORT.ERROR_MESSAGE\", {\n error_message: result.data._error_message\n });\n }\n return _this.confirm.notify(\"error\", errorMsg);\n }\n };\n })(this));\n return promise;\n };\n\n ImportProjectService.prototype.getRestrictionError = function(result) {\n var errorKey, maxMemberships, membersError, privateError, publicError, user;\n if (result.headers) {\n errorKey = '';\n user = this.currentUserService.getUser();\n maxMemberships = null;\n if (result.headers.isPrivate) {\n privateError = !this.currentUserService.canCreatePrivateProjects().valid;\n if (user.get('max_memberships_private_projects') !== null && result.headers.memberships >= user.get('max_memberships_private_projects')) {\n membersError = true;\n } else {\n membersError = false;\n }\n if (privateError && membersError) {\n errorKey = 'private-space-members';\n maxMemberships = user.get('max_memberships_private_projects');\n } else if (privateError) {\n errorKey = 'private-space';\n } else if (membersError) {\n errorKey = 'private-members';\n maxMemberships = user.get('max_memberships_private_projects');\n }\n } else {\n publicError = !this.currentUserService.canCreatePublicProjects().valid;\n if (user.get('max_memberships_public_projects') !== null && result.headers.memberships >= user.get('max_memberships_public_projects')) {\n membersError = true;\n } else {\n membersError = false;\n }\n if (publicError && membersError) {\n errorKey = 'public-space-members';\n maxMemberships = user.get('max_memberships_public_projects');\n } else if (publicError) {\n errorKey = 'public-space';\n } else if (membersError) {\n errorKey = 'public-members';\n maxMemberships = user.get('max_memberships_public_projects');\n }\n }\n if (!errorKey) {\n return false;\n }\n return {\n key: errorKey,\n values: {\n max_memberships: maxMemberships,\n members: result.headers.memberships\n }\n };\n } else {\n return false;\n }\n };\n\n return ImportProjectService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgImportProjectService\", ImportProjectService);\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: invite-members.controller.coffee\n */\n\n(function() {\n var InviteMembersController;\n\n InviteMembersController = (function() {\n function InviteMembersController() {}\n\n InviteMembersController.$inject = [];\n\n InviteMembersController.prototype.isDisabled = function(id) {\n return this.invitedMembers.indexOf(id) === -1;\n };\n\n return InviteMembersController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"InviteMembersCtrl\", InviteMembersController);\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: invite-members.directive.coffee\n */\n\n(function() {\n var InviteMembersDirective;\n\n InviteMembersDirective = function() {\n var link;\n link = function(scope, el, attr, ctrl) {};\n return {\n link: link,\n templateUrl: \"projects/create/invite-members/invite-members.html\",\n controller: \"InviteMembersCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n invitedMembers: '<',\n members: '<',\n onToggleInvitedMember: '&'\n }\n };\n };\n\n InviteMembersDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgInviteMembers\", InviteMembersDirective);\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: single-member.directive.coffee\n */\n\n(function() {\n var SingleMemberDirective;\n\n SingleMemberDirective = function() {\n return {\n templateUrl: \"projects/create/invite-members/single-member/single-member.html\",\n scope: {\n disabled: \"<\",\n avatar: \"=\"\n }\n };\n };\n\n SingleMemberDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgSingleMember\", SingleMemberDirective);\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: jira-import-project-form.controller.coffee\n */\n\n(function() {\n var JiraImportProjectFormController;\n\n JiraImportProjectFormController = (function() {\n JiraImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function JiraImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n if (this.projectForm.importer_type === \"agile\") {\n this.projectForm.project_type = null;\n } else {\n this.projectForm.project_type = \"scrum\";\n }\n this.projectForm.create_subissues = true;\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n JiraImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n JiraImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n JiraImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n JiraImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return JiraImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('JiraImportProjectFormCtrl', JiraImportProjectFormController);\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: jira-import-project-form.directive.coffee\n */\n\n(function() {\n var JiraImportProjectFormDirective;\n\n JiraImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/jira-import/jira-import-project-form/jira-import-project-form.html\",\n controller: \"JiraImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n JiraImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgJiraImportProjectForm\", JiraImportProjectFormDirective);\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: jira-import.controller.coffee\n */\n\n(function() {\n var JiraImportController;\n\n JiraImportController = (function() {\n JiraImportController.$inject = ['tgJiraImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function JiraImportController(jiraImportService, confirm, translate, importProjectService) {\n this.jiraImportService = jiraImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.step = 'autorization-jira';\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.jiraImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.jiraImportService.projectUsers;\n };\n })(this));\n }\n\n JiraImportController.prototype.startProjectSelector = function() {\n this.step = 'project-select-jira';\n return this.jiraImportService.fetchProjects();\n };\n\n JiraImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-jira';\n this.project = project;\n this.fetchingUsers = true;\n return this.jiraImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n JiraImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-jira';\n };\n\n JiraImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-jira';\n };\n\n JiraImportController.prototype.startImport = function(users) {\n var loader, projectType, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n projectType = this.project.get('project_type');\n if (projectType === \"issues\" && this.project.get('create_subissues')) {\n projectType = \"issues-with-subissues\";\n }\n promise = this.jiraImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'), projectType, this.project.get('importer_type'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n JiraImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return JiraImportController;\n\n })();\n\n angular.module('taigaProjects').controller('JiraImportCtrl', JiraImportController);\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: jira-import.directive.coffee\n */\n\n(function() {\n var JiraImportDirective;\n\n JiraImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/jira-import/jira-import.html\",\n controller: \"JiraImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n JiraImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgJiraImport\", JiraImportDirective);\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: jira-import.service.coffee\n */\n\n(function() {\n var JiraImportService,\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 JiraImportService = (function(superClass) {\n extend(JiraImportService, superClass);\n\n JiraImportService.$inject = ['tgResources', '$location'];\n\n function JiraImportService(resources, location) {\n this.resources = resources;\n this.location = location;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n }\n\n JiraImportService.prototype.setToken = function(token, url) {\n this.token = token;\n return this.url = url;\n };\n\n JiraImportService.prototype.fetchProjects = function() {\n return this.resources.jiraImporter.listProjects(this.url, this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n JiraImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.jiraImporter.listUsers(this.url, this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n JiraImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType) {\n return this.resources.jiraImporter.importProject(this.url, this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType);\n };\n\n JiraImportService.prototype.getAuthUrl = function(url) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.jiraImporter.getAuthUrl(url).then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n }, function(err) {\n return reject(err.data._error_message);\n });\n };\n })(this));\n };\n\n JiraImportService.prototype.authorize = function(oauth_verifier) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.jiraImporter.authorize(oauth_verifier).then((function(response) {\n _this.token = response.data.token;\n _this.url = response.data.url;\n return resolve(response.data);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return JiraImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgJiraImportService\", JiraImportService);\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: trello-import-project-members.controller.coffee\n */\n\n(function() {\n var SelectImportUserLightboxCtrl;\n\n SelectImportUserLightboxCtrl = (function() {\n SelectImportUserLightboxCtrl.$inject = [];\n\n function SelectImportUserLightboxCtrl() {}\n\n SelectImportUserLightboxCtrl.prototype.start = function() {\n this.mode = 'search';\n return this.invalid = false;\n };\n\n SelectImportUserLightboxCtrl.prototype.assignUser = function() {\n return this.onSelectUser({\n user: this.user,\n taigaUser: this.userEmail\n });\n };\n\n SelectImportUserLightboxCtrl.prototype.selectUser = function(taigaUser) {\n return this.onSelectUser({\n user: this.user,\n taigaUser: Immutable.fromJS(taigaUser)\n });\n };\n\n return SelectImportUserLightboxCtrl;\n\n })();\n\n angular.module('taigaProjects').controller('SelectImportUserLightboxCtrl', SelectImportUserLightboxCtrl);\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: select-import-user-lightbox.directive.coffee\n */\n\n(function() {\n var SelectImportUserLightboxDirective;\n\n SelectImportUserLightboxDirective = function(lightboxService, lightboxKeyboardNavigationService) {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return scope.$watch('vm.visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n ctrl.start();\n return lightboxService.open(el, null, scope.vm.onClose).then(function() {\n el.find('input').focus();\n return lightboxKeyboardNavigationService.init(el);\n });\n } else if (!visible && el.hasClass('open')) {\n return lightboxService.close(el).then(function() {\n ctrl.userEmail = '';\n return ctrl.usersSearch = '';\n });\n }\n });\n };\n return {\n controller: \"SelectImportUserLightboxCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n user: '<',\n visible: '<',\n onClose: '&',\n onSelectUser: '&',\n selectableUsers: '<',\n isPrivate: '<',\n limitMembersPrivateProject: '<',\n limitMembersPublicProject: '<',\n displayEmailSelector: '<'\n },\n templateUrl: 'projects/create/select-import-user-lightbox/select-import-user-lightbox.html',\n link: link\n };\n };\n\n SelectImportUserLightboxDirective.$inject = ['lightboxService', 'lightboxKeyboardNavigationService'];\n\n angular.module(\"taigaProjects\").directive(\"tgSelectImportUserLightbox\", SelectImportUserLightboxDirective);\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: trello-import-project-form.controller.coffee\n */\n\n(function() {\n var TrelloImportProjectFormController;\n\n TrelloImportProjectFormController = (function() {\n TrelloImportProjectFormController.$inject = [\"tgCurrentUserService\"];\n\n function TrelloImportProjectFormController(currentUserService) {\n this.currentUserService = currentUserService;\n this.canCreatePublicProjects = this.currentUserService.canCreatePublicProjects();\n this.canCreatePrivateProjects = this.currentUserService.canCreatePrivateProjects();\n this.projectForm = this.project.toJS();\n this.platformName = \"Trello\";\n this.projectForm.is_private = false;\n this.projectForm.keepExternalReference = false;\n if (!this.canCreatePublicProjects.valid && this.canCreatePrivateProjects.valid) {\n this.projectForm.is_private = true;\n }\n }\n\n TrelloImportProjectFormController.prototype.checkUsersLimit = function() {\n this.limitMembersPrivateProject = this.currentUserService.canAddMembersPrivateProject(this.members.size);\n return this.limitMembersPublicProject = this.currentUserService.canAddMembersPublicProject(this.members.size);\n };\n\n TrelloImportProjectFormController.prototype.saveForm = function() {\n return this.onSaveProjectDetails({\n project: Immutable.fromJS(this.projectForm)\n });\n };\n\n TrelloImportProjectFormController.prototype.canCreateProject = function() {\n if (this.projectForm.is_private) {\n return this.canCreatePrivateProjects.valid;\n } else {\n return this.canCreatePublicProjects.valid;\n }\n };\n\n TrelloImportProjectFormController.prototype.isDisabled = function() {\n return !this.canCreateProject();\n };\n\n return TrelloImportProjectFormController;\n\n })();\n\n angular.module('taigaProjects').controller('TrelloImportProjectFormCtrl', TrelloImportProjectFormController);\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: trello-import-project-form.directive.coffee\n */\n\n(function() {\n var TrelloImportProjectFormDirective;\n\n TrelloImportProjectFormDirective = function() {\n return {\n link: function(scope, elm, attr, ctrl) {\n return scope.$watch('vm.members', ctrl.checkUsersLimit.bind(ctrl));\n },\n templateUrl: \"projects/create/trello-import/trello-import-project-form/trello-import-project-form.html\",\n controller: \"TrelloImportProjectFormCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n members: '<',\n project: '<',\n onSaveProjectDetails: '&',\n onCancelForm: '&',\n fetchingUsers: '<'\n }\n };\n };\n\n TrelloImportProjectFormDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgTrelloImportProjectForm\", TrelloImportProjectFormDirective);\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: trello-import.controller.coffee\n */\n\n(function() {\n var TrelloImportController;\n\n TrelloImportController = (function() {\n TrelloImportController.$inject = ['tgTrelloImportService', '$tgConfirm', '$translate', 'tgImportProjectService'];\n\n function TrelloImportController(trelloImportService, confirm, translate, importProjectService) {\n this.trelloImportService = trelloImportService;\n this.confirm = confirm;\n this.translate = translate;\n this.importProjectService = importProjectService;\n this.project = null;\n taiga.defineImmutableProperty(this, 'projects', (function(_this) {\n return function() {\n return _this.trelloImportService.projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, 'members', (function(_this) {\n return function() {\n return _this.trelloImportService.projectUsers;\n };\n })(this));\n }\n\n TrelloImportController.prototype.startProjectSelector = function() {\n return this.trelloImportService.fetchProjects().then((function(_this) {\n return function() {\n return _this.step = 'project-select-trello';\n };\n })(this));\n };\n\n TrelloImportController.prototype.onSelectProject = function(project) {\n this.step = 'project-form-trello';\n this.project = project;\n this.fetchingUsers = true;\n return this.trelloImportService.fetchUsers(this.project.get('id')).then((function(_this) {\n return function() {\n return _this.fetchingUsers = false;\n };\n })(this));\n };\n\n TrelloImportController.prototype.onSaveProjectDetails = function(project) {\n this.project = project;\n return this.step = 'project-members-trello';\n };\n\n TrelloImportController.prototype.onCancelMemberSelection = function() {\n return this.step = 'project-form-trello';\n };\n\n TrelloImportController.prototype.startImport = function(users) {\n var loader, promise;\n loader = this.confirm.loader(this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.TITLE'), this.translate.instant('PROJECT.IMPORT.IN_PROGRESS.DESCRIPTION'), true);\n loader.start();\n promise = this.trelloImportService.importProject(this.project.get('name'), this.project.get('description'), this.project.get('id'), users, this.project.get('keepExternalReference'), this.project.get('is_private'));\n return this.importProjectService.importPromise(promise).then((function(_this) {\n return function() {\n return loader.stop();\n };\n })(this));\n };\n\n TrelloImportController.prototype.submitUserSelection = function(users) {\n this.startImport(users);\n return null;\n };\n\n return TrelloImportController;\n\n })();\n\n angular.module('taigaProjects').controller('TrelloImportCtrl', TrelloImportController);\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: trello-import.directive.coffee\n */\n\n(function() {\n var TrelloImportDirective;\n\n TrelloImportDirective = function() {\n return {\n link: function(scope, elm, attrs, ctrl) {\n return ctrl.startProjectSelector();\n },\n templateUrl: \"projects/create/trello-import/trello-import.html\",\n controller: \"TrelloImportCtrl\",\n controllerAs: \"vm\",\n bindToController: true,\n scope: {\n onCancel: '&'\n }\n };\n };\n\n TrelloImportDirective.$inject = [];\n\n angular.module(\"taigaProjects\").directive(\"tgTrelloImport\", TrelloImportDirective);\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: trello-import.service.coffee\n */\n\n(function() {\n var TrelloImportService,\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 TrelloImportService = (function(superClass) {\n extend(TrelloImportService, superClass);\n\n TrelloImportService.$inject = ['tgResources'];\n\n function TrelloImportService(resources) {\n this.resources = resources;\n this.projects = Immutable.List();\n this.projectUsers = Immutable.List();\n this.token = null;\n }\n\n TrelloImportService.prototype.setToken = function(token) {\n return this.token = token;\n };\n\n TrelloImportService.prototype.fetchProjects = function() {\n return this.resources.trelloImporter.listProjects(this.token).then((function(_this) {\n return function(projects) {\n return _this.projects = projects;\n };\n })(this));\n };\n\n TrelloImportService.prototype.fetchUsers = function(projectId) {\n return this.resources.trelloImporter.listUsers(this.token, projectId).then((function(_this) {\n return function(users) {\n return _this.projectUsers = users;\n };\n })(this));\n };\n\n TrelloImportService.prototype.importProject = function(name, description, projectId, userBindings, keepExternalReference, isPrivate) {\n return this.resources.trelloImporter.importProject(this.token, name, description, projectId, userBindings, keepExternalReference, isPrivate);\n };\n\n TrelloImportService.prototype.getAuthUrl = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n return _this.resources.trelloImporter.getAuthUrl().then(function(response) {\n _this.authUrl = response.data.url;\n return resolve(_this.authUrl);\n });\n };\n })(this));\n };\n\n TrelloImportService.prototype.authorize = function(verifyCode) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.resources.trelloImporter.authorize(verifyCode).then((function(response) {\n _this.token = response.data.token;\n return resolve(_this.token);\n }), function(error) {\n return reject(new Error(error.status));\n });\n };\n })(this));\n };\n\n return TrelloImportService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgTrelloImportService\", TrelloImportService);\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: warning-user-import.directive.coffee\n */\n\n(function() {\n var WarningUserImportDirective;\n\n WarningUserImportDirective = function(lightboxService, lightboxKeyboardNavigationService) {\n return {\n link: function(scope, el, attr) {\n return scope.$watch('visible', function(visible) {\n if (visible && !el.hasClass('open')) {\n return lightboxService.open(el, scope.onClose).then(function() {\n el.find('input').focus();\n return lightboxKeyboardNavigationService.init(el);\n });\n } else if (!visible && el.hasClass('open')) {\n return lightboxService.close(el);\n }\n });\n },\n templateUrl: \"projects/create/warning-user-import-lightbox/warning-user-import-lightbox.html\",\n scope: {\n visible: '<',\n onClose: '&',\n onConfirm: '&'\n }\n };\n };\n\n WarningUserImportDirective.$inject = ['lightboxService', 'lightboxKeyboardNavigationService'];\n\n angular.module(\"taigaProjects\").directive(\"tgWarningUserImportLightbox\", WarningUserImportDirective);\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: projects-listing.controller.coffee\n */\n\n(function() {\n var ProjectsListingController;\n\n ProjectsListingController = (function() {\n ProjectsListingController.$inject = [\"tgCurrentUserService\"];\n\n function ProjectsListingController(currentUserService) {\n this.currentUserService = currentUserService;\n taiga.defineImmutableProperty(this, \"projects\", (function(_this) {\n return function() {\n return _this.currentUserService.projects.get(\"all\");\n };\n })(this));\n }\n\n return ProjectsListingController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"ProjectsListing\", ProjectsListingController);\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: project.controller.coffee\n */\n\n(function() {\n var ProjectController;\n\n ProjectController = (function() {\n ProjectController.$inject = [\"$routeParams\", \"tgAppMetaService\", \"$tgAuth\", \"$translate\", \"tgProjectService\"];\n\n function ProjectController(routeParams, appMetaService, auth, translate, projectService) {\n this.routeParams = routeParams;\n this.appMetaService = appMetaService;\n this.auth = auth;\n this.translate = translate;\n this.projectService = projectService;\n this.user = this.auth.userData;\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this.projectService.project;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"members\", (function(_this) {\n return function() {\n return _this.projectService.activeMembers;\n };\n })(this));\n this.appMetaService.setfn(this._setMeta.bind(this));\n }\n\n ProjectController.prototype._setMeta = function() {\n var ctx;\n if (!this.project) {\n return null;\n }\n ctx = {\n projectName: this.project.get(\"name\")\n };\n return {\n title: this.translate.instant(\"PROJECT.PAGE_TITLE\", ctx),\n description: this.project.get(\"description\")\n };\n };\n\n return ProjectController;\n\n })();\n\n angular.module(\"taigaProjects\").controller(\"Project\", ProjectController);\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: projects.service.coffee\n */\n\n(function() {\n var ProjectsService, groupBy, 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 groupBy = this.taiga.groupBy;\n\n ProjectsService = (function(superClass) {\n extend(ProjectsService, superClass);\n\n ProjectsService.$inject = [\"tgResources\", \"$projectUrl\"];\n\n function ProjectsService(rs, projectUrl) {\n this.rs = rs;\n this.projectUrl = projectUrl;\n }\n\n ProjectsService.prototype.create = function(data) {\n return this.rs.projects.create(data);\n };\n\n ProjectsService.prototype.duplicate = function(projectId, data) {\n return this.rs.projects.duplicate(projectId, data);\n };\n\n ProjectsService.prototype.getProjectBySlug = function(projectSlug) {\n return this.rs.projects.getProjectBySlug(projectSlug).then((function(_this) {\n return function(project) {\n return _this._decorate(project);\n };\n })(this));\n };\n\n ProjectsService.prototype.getProjectStats = function(projectId) {\n return this.rs.projects.getProjectStats(projectId);\n };\n\n ProjectsService.prototype.getProjectsByUserId = function(userId, paginate) {\n return this.rs.projects.getProjectsByUserId(userId, paginate).then((function(_this) {\n return function(projects) {\n return projects.map(_this._decorate.bind(_this));\n };\n })(this));\n };\n\n ProjectsService.prototype._decorate = function(project) {\n var url;\n url = this.projectUrl.get(project.toJS());\n project = project.set(\"url\", url);\n return project;\n };\n\n ProjectsService.prototype.bulkUpdateProjectsOrder = function(sortData) {\n return this.rs.projects.bulkUpdateOrder(sortData);\n };\n\n ProjectsService.prototype.transferValidateToken = function(projectId, token) {\n return this.rs.projects.transferValidateToken(projectId, token);\n };\n\n ProjectsService.prototype.transferAccept = function(projectId, token, reason) {\n return this.rs.projects.transferAccept(projectId, token, reason);\n };\n\n ProjectsService.prototype.transferReject = function(projectId, token, reason) {\n return this.rs.projects.transferReject(projectId, token, reason);\n };\n\n return ProjectsService;\n\n })(taiga.Service);\n\n angular.module(\"taigaProjects\").service(\"tgProjectsService\", ProjectsService);\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: cant-own-project-explanation.directive.coffee\n */\n\n(function() {\n var CantOwnProjectExplanationDirective;\n\n CantOwnProjectExplanationDirective = function() {\n return {\n templateUrl: \"projects/transfer/cant-own-project-explanation.html\"\n };\n };\n\n angular.module(\"taigaProjects\").directive(\"tgCantOwnProjectExplanation\", CantOwnProjectExplanationDirective);\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: transfer-project.directive.coffee\n */\n\n(function() {\n var TransferProject, module;\n\n module = angular.module('taigaProjects');\n\n TransferProject = (function() {\n TransferProject.$inject = [\"$routeParams\", \"tgProjectsService\", \"$location\", \"$tgAuth\", \"tgCurrentUserService\", \"$tgNavUrls\", \"$translate\", \"$tgConfirm\", \"tgErrorHandlingService\"];\n\n function TransferProject(routeParams, projectService, location, authService, currentUserService, navUrls, translate, confirmService, errorHandlingService) {\n this.routeParams = routeParams;\n this.projectService = projectService;\n this.location = location;\n this.authService = authService;\n this.currentUserService = currentUserService;\n this.navUrls = navUrls;\n this.translate = translate;\n this.confirmService = confirmService;\n this.errorHandlingService = errorHandlingService;\n }\n\n TransferProject.prototype.initialize = function() {\n this.projectId = this.project.get(\"id\");\n this.token = this.routeParams.token;\n this.showAddComment = false;\n return this._refreshUserData();\n };\n\n TransferProject.prototype._validateToken = function() {\n return this.projectService.transferValidateToken(this.projectId, this.token).then(null, (function(_this) {\n return function(data, status) {\n return _this.errorHandlingService.notfound();\n };\n })(this));\n };\n\n TransferProject.prototype._refreshUserData = function() {\n return this.authService.refresh().then((function(_this) {\n return function() {\n _this._validateToken();\n _this._setProjectData();\n return _this._checkOwnerData();\n };\n })(this));\n };\n\n TransferProject.prototype._setProjectData = function() {\n return this.canBeOwnedByUser = this.currentUserService.canOwnProject(this.project);\n };\n\n TransferProject.prototype._checkOwnerData = function() {\n var currentUser, maxMemberships;\n currentUser = this.currentUserService.getUser();\n if (this.project.get('is_private')) {\n this.ownerMessage = 'ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PRIVATE';\n this.maxProjects = currentUser.get('max_private_projects');\n if (this.maxProjects === null) {\n this.maxProjects = this.translate.instant('ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS');\n }\n this.currentProjects = currentUser.get('total_private_projects');\n maxMemberships = currentUser.get('max_memberships_private_projects');\n } else {\n this.ownerMessage = 'ADMIN.PROJECT_TRANSFER.OWNER_MESSAGE.PUBLIC';\n this.maxProjects = currentUser.get('max_public_projects');\n if (this.maxProjects === null) {\n this.maxProjects = this.translate.instant('ADMIN.PROJECT_TRANSFER.UNLIMITED_PROJECTS');\n }\n this.currentProjects = currentUser.get('total_public_projects');\n maxMemberships = currentUser.get('max_memberships_public_projects');\n }\n return this.validNumberOfMemberships = maxMemberships === null || this.project.get('total_memberships') <= maxMemberships;\n };\n\n TransferProject.prototype.transferAccept = function(token, reason) {\n this.loadingAccept = true;\n return this.projectService.transferAccept(this.project.get(\"id\"), token, reason).then((function(_this) {\n return function() {\n var newUrl;\n newUrl = _this.navUrls.resolve(\"project-admin-project-profile-details\", {\n project: _this.project.get(\"slug\")\n });\n _this.loadingAccept = false;\n _this.location.path(newUrl);\n _this.confirmService.notify(\"success\", _this.translate.instant(\"ADMIN.PROJECT_TRANSFER.ACCEPTED_PROJECT_OWNERNSHIP\"), '', 5000);\n };\n })(this));\n };\n\n TransferProject.prototype.transferReject = function(token, reason) {\n this.loadingReject = true;\n return this.projectService.transferReject(this.project.get(\"id\"), token, reason).then((function(_this) {\n return function() {\n var newUrl;\n newUrl = _this.navUrls.resolve(\"home\", {\n project: _this.project.get(\"slug\")\n });\n _this.loadingReject = false;\n _this.location.path(newUrl);\n _this.confirmService.notify(\"success\", _this.translate.instant(\"ADMIN.PROJECT_TRANSFER.REJECTED_PROJECT_OWNERNSHIP\"), '', 5000);\n };\n })(this));\n };\n\n TransferProject.prototype.addComment = function() {\n return this.showAddComment = true;\n };\n\n TransferProject.prototype.hideComment = function() {\n this.showAddComment = false;\n return this.reason = '';\n };\n\n return TransferProject;\n\n })();\n\n module.controller(\"TransferProjectController\", TransferProject);\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: transfer-project.directive.coffee\n */\n\n(function() {\n var TransferProjectDirective, module;\n\n module = angular.module('taigaProjects');\n\n TransferProjectDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return ctrl.initialize();\n };\n return {\n link: link,\n scope: {},\n bindToController: {\n project: \"=\"\n },\n templateUrl: \"projects/transfer/transfer-project.html\",\n controller: 'TransferProjectController',\n controllerAs: 'vm'\n };\n };\n\n module.directive('tgTransferProject', TransferProjectDirective);\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 * 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: attachments-resource.service.coffee\n */\n\n(function() {\n var Resource, module, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n Resource = function(urlsService, http, config, $rootScope, $q, storage) {\n var service;\n service = {};\n service.list = function(type, objectId, projectId) {\n var httpOptions, params, url, urlname;\n urlname = \"attachments/\" + type;\n params = {\n object_id: objectId,\n project: projectId\n };\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n url = urlsService.resolve(urlname);\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service[\"delete\"] = function(type, id) {\n var url, urlname;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname) + (\"/\" + id);\n return http[\"delete\"](url);\n };\n service.patch = function(type, id, patch) {\n var url, urlname;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname) + (\"/\" + id);\n return http.patch(url, patch);\n };\n service.create = function(type, projectId, objectId, file, from_comment) {\n var data, defered, maxFileSize, response, token, uploadComplete, uploadFailed, uploadProgress, url, urlname, xhr;\n urlname = \"attachments/\" + type;\n url = urlsService.resolve(urlname);\n defered = $q.defer();\n if (file === void 0) {\n defered.reject(null);\n return defered.promise;\n }\n maxFileSize = config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"in-progress\";\n file.size = sizeFormat(evt.total);\n file.progressMessage = \"upload \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return file.progressPercent = (Math.round((evt.loaded / evt.total) * 100)) + \"%\";\n });\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n var attachment, ref, status;\n file.status = \"done\";\n status = evt.target.status;\n try {\n attachment = JSON.parse(evt.target.responseText);\n } catch (error) {\n attachment = {};\n }\n if (status >= 200 && status < 400) {\n attachment = Immutable.fromJS(attachment);\n return defered.resolve(attachment);\n } else {\n response = {\n status: status,\n data: {\n _error_message: (ref = data['attached_file']) != null ? ref[0] : void 0\n }\n };\n return defered.reject(response);\n }\n });\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"error\";\n return defered.reject(\"fail\");\n });\n };\n })(this);\n data = new FormData();\n data.append(\"project\", projectId);\n data.append(\"object_id\", objectId);\n data.append(\"attached_file\", file);\n data.append(\"from_comment\", from_comment);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.addEventListener(\"load\", uploadComplete, false);\n xhr.addEventListener(\"error\", uploadFailed, false);\n token = storage.get('token');\n xhr.open(\"POST\", url);\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + token);\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n return function() {\n return {\n \"attachments\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"$tgConfig\", \"$rootScope\", \"$q\", \"$tgStorage\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgAttachmentsResource\", Resource);\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: epics-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"epics\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.list = function(projectId, page) {\n var params, url;\n if (page == null) {\n page = 0;\n }\n url = urlsService.resolve(\"epics\");\n params = {\n project: projectId,\n page: page\n };\n return http.get(url, params).then(function(result) {\n return {\n list: Immutable.fromJS(result.data),\n headers: result.headers\n };\n });\n };\n service.patch = function(id, patch) {\n var url;\n url = urlsService.resolve(\"epics\") + (\"/\" + id);\n return http.patch(url, patch).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.post = function(params) {\n var url;\n url = urlsService.resolve(\"epics\");\n return http.post(url, params).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.reorder = function(id, data, setOrders) {\n var options, url;\n url = urlsService.resolve(\"epics\") + (\"/\" + id);\n options = {\n \"headers\": {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n return http.patch(url, data, null, options).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.addRelatedUserstory = function(epicId, userstoryId) {\n var params, url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId);\n params = {\n user_story: userstoryId,\n epic: epicId\n };\n return http.post(url, params);\n };\n service.reorderRelatedUserstory = function(epicId, userstoryId, data, setOrders) {\n var options, url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId) + (\"/\" + userstoryId);\n options = {\n \"headers\": {\n \"set-orders\": JSON.stringify(setOrders)\n }\n };\n return http.patch(url, data, null, options);\n };\n service.bulkCreateRelatedUserStories = function(epicId, projectId, bulk_userstories) {\n var params, url;\n url = urlsService.resolve(\"epic-related-userstories-bulk-create\", epicId);\n params = {\n bulk_userstories: bulk_userstories,\n project_id: projectId\n };\n return http.post(url, params);\n };\n service.deleteRelatedUserstory = function(epicId, userstoryId) {\n var url;\n url = urlsService.resolve(\"epic-related-userstories\", epicId) + (\"/\" + userstoryId);\n return http[\"delete\"](url);\n };\n return function() {\n return {\n \"epics\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgEpicsResource\", Resource);\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: external-apps-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.getApplicationToken = function(applicationId, state) {\n var url;\n url = urlsService.resolve(\"applications\");\n url = url + \"/\" + applicationId + \"/token?state=\" + state;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.authorizeApplicationToken = function(applicationId, state) {\n var data, url;\n url = urlsService.resolve(\"application-tokens\");\n url = url + \"/authorize\";\n data = {\n \"state\": state,\n \"application\": applicationId\n };\n return http.post(url, data).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"externalapps\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgExternalAppsResource\", Resource);\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/importers.coffee\n */\n\n(function() {\n var AsanaResource, GithubResource, JiraResource, TrelloResource, module, taiga;\n\n taiga = this.taiga;\n\n TrelloResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(url) {\n url = urlsService.resolve(\"importers-trello-auth-url\");\n return http.get(url);\n };\n service.authorize = function(verifyCode) {\n var url;\n url = urlsService.resolve(\"importers-trello-authorize\");\n return http.post(url, {\n code: verifyCode\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-trello-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-trello-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate) {\n var data, url;\n url = urlsService.resolve(\"importers-trello-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: \"kanban\"\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"trelloImporter\": service\n };\n };\n };\n\n TrelloResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n JiraResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(jira_url) {\n var url;\n url = urlsService.resolve(\"importers-jira-auth-url\") + \"?url=\" + jira_url;\n return http.get(url);\n };\n service.authorize = function(oauth_verifier) {\n var url;\n url = urlsService.resolve(\"importers-jira-authorize\");\n return http.post(url, {\n oauth_verifier: oauth_verifier\n });\n };\n service.listProjects = function(jira_url, token) {\n var url;\n url = urlsService.resolve(\"importers-jira-list-projects\");\n return http.post(url, {\n url: jira_url,\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(jira_url, token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-jira-list-users\");\n return http.post(url, {\n url: jira_url,\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(jira_url, token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType, importerType) {\n var data, projectTemplate, url;\n url = urlsService.resolve(\"importers-jira-import-project\");\n projectTemplate = \"kanban\";\n if (projectType !== \"kanban\") {\n projectTemplate = \"scrum\";\n }\n data = {\n url: jira_url,\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n project_type: projectType,\n importer_type: importerType,\n template: projectTemplate\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"jiraImporter\": service\n };\n };\n };\n\n JiraResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n GithubResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function(callbackUri) {\n var url;\n url = urlsService.resolve(\"importers-github-auth-url\") + \"?uri=\" + callbackUri;\n return http.get(url);\n };\n service.authorize = function(code) {\n var url;\n url = urlsService.resolve(\"importers-github-authorize\");\n return http.post(url, {\n code: code\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-github-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-github-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n var data, url;\n url = urlsService.resolve(\"importers-github-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: projectType\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"githubImporter\": service\n };\n };\n };\n\n GithubResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n AsanaResource = function(urlsService, http) {\n var service;\n service = {};\n service.getAuthUrl = function() {\n var url;\n url = urlsService.resolve(\"importers-asana-auth-url\");\n return http.get(url);\n };\n service.authorize = function(code) {\n var url;\n url = urlsService.resolve(\"importers-asana-authorize\");\n return http.post(url, {\n code: code\n });\n };\n service.listProjects = function(token) {\n var url;\n url = urlsService.resolve(\"importers-asana-list-projects\");\n return http.post(url, {\n token: token\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.listUsers = function(token, projectId) {\n var url;\n url = urlsService.resolve(\"importers-asana-list-users\");\n return http.post(url, {\n token: token,\n project: projectId\n }).then(function(response) {\n return Immutable.fromJS(response.data);\n });\n };\n service.importProject = function(token, name, description, projectId, userBindings, keepExternalReference, isPrivate, projectType) {\n var data, url;\n url = urlsService.resolve(\"importers-asana-import-project\");\n data = {\n token: token,\n name: name,\n description: description,\n project: projectId,\n users_bindings: userBindings.toJS(),\n keep_external_reference: keepExternalReference,\n is_private: isPrivate,\n template: projectType\n };\n return http.post(url, data);\n };\n return function() {\n return {\n \"asanaImporter\": service\n };\n };\n };\n\n AsanaResource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgTrelloImportResource\", TrelloResource);\n\n module.factory(\"tgJiraImportResource\", JiraResource);\n\n module.factory(\"tgGithubImportResource\", GithubResource);\n\n module.factory(\"tgAsanaImportResource\", AsanaResource);\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: issues-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"issues\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"issues\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgIssuesResource\", Resource);\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: projects-resource.service.coffee\n */\n\n(function() {\n var Resource, module, pagination;\n\n pagination = function() {};\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.create = function(data) {\n var url;\n url = urlsService.resolve('projects');\n return http.post(url, JSON.stringify(data)).then((function(_this) {\n return function(result) {\n return Immutable.fromJS(result.data);\n };\n })(this));\n };\n service.duplicate = function(projectId, data) {\n var members, params, url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/\" + projectId + \"/duplicate\";\n members = data.users.map((function(_this) {\n return function(member) {\n return {\n \"id\": member\n };\n };\n })(this));\n params = {\n \"name\": data.name,\n \"description\": data.description,\n \"is_private\": data.is_private,\n \"users\": members\n };\n return http.post(url, params);\n };\n service.getProjects = function(params, pagination) {\n var httpOptions, url;\n if (params == null) {\n params = {};\n }\n if (pagination == null) {\n pagination = true;\n }\n url = urlsService.resolve(\"projects\");\n httpOptions = {};\n if (!pagination) {\n httpOptions = {\n headers: {\n \"x-lazy-pagination\": true\n }\n };\n }\n return http.get(url, params, httpOptions);\n };\n service.getProjectBySlug = function(projectSlug) {\n var url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/by_slug?slug=\" + projectSlug;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getProjectsByUserId = function(userId, paginate) {\n var httpOptions, params, url;\n if (paginate == null) {\n paginate = false;\n }\n url = urlsService.resolve(\"projects\");\n httpOptions = {};\n if (!paginate) {\n httpOptions.headers = {\n \"x-disable-pagination\": \"1\"\n };\n }\n params = {\n \"member\": userId,\n \"order_by\": \"user_order\"\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getProjectStats = function(projectId) {\n var url;\n url = urlsService.resolve(\"projects\");\n url = url + \"/\" + projectId;\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.bulkUpdateOrder = function(bulkData) {\n var url;\n url = urlsService.resolve(\"bulk-update-projects-order\");\n return http.post(url, bulkData);\n };\n service.getTimeline = function(projectId, page) {\n var params, url;\n params = {\n page: page,\n only_relevant: true\n };\n url = urlsService.resolve(\"timeline-project\");\n url = url + \"/\" + projectId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.likeProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-like\", projectId);\n return http.post(url);\n };\n service.unlikeProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-unlike\", projectId);\n return http.post(url);\n };\n service.watchProject = function(projectId, notifyLevel) {\n var data, url;\n data = {\n notify_level: notifyLevel,\n live_notify_level: notifyLevel\n };\n url = urlsService.resolve(\"project-watch\", projectId);\n return http.post(url, data);\n };\n service.unwatchProject = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-unwatch\", projectId);\n return http.post(url);\n };\n service.contactProject = function(projectId, message) {\n var params, url;\n params = {\n project: projectId,\n comment: message\n };\n url = urlsService.resolve(\"project-contact\");\n return http.post(url, params);\n };\n service.transferValidateToken = function(projectId, token) {\n var data, url;\n data = {\n token: token\n };\n url = urlsService.resolve(\"project-transfer-validate-token\", projectId);\n return http.post(url, data);\n };\n service.transferAccept = function(projectId, token, reason) {\n var data, url;\n data = {\n token: token,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-accept\", projectId);\n return http.post(url, data);\n };\n service.transferReject = function(projectId, token, reason) {\n var data, url;\n data = {\n token: token,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-reject\", projectId);\n return http.post(url, data);\n };\n service.transferRequest = function(projectId) {\n var url;\n url = urlsService.resolve(\"project-transfer-request\", projectId);\n return http.post(url);\n };\n service.transferStart = function(projectId, userId, reason) {\n var data, url;\n data = {\n user: userId,\n reason: reason\n };\n url = urlsService.resolve(\"project-transfer-start\", projectId);\n return http.post(url, data);\n };\n return function() {\n return {\n \"projects\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgProjectsResources\", Resource);\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: resources.coffee\n */\n\n(function() {\n var Resources, services;\n\n services = [\"tgProjectsResources\", \"tgUserResources\", \"tgUsersResources\", \"tgUserstoriesResource\", \"tgTasksResource\", \"tgIssuesResource\", \"tgExternalAppsResource\", \"tgAttachmentsResource\", \"tgStatsResource\", \"tgWikiHistory\", \"tgEpicsResource\", \"tgTrelloImportResource\", \"tgJiraImportResource\", \"tgGithubImportResource\", \"tgAsanaImportResource\"];\n\n Resources = function($injector) {\n var i, j, len, len1, ref, service, serviceFn, serviceName, serviceProperty;\n for (i = 0, len = services.length; i < len; i++) {\n serviceName = services[i];\n serviceFn = $injector.get(serviceName);\n service = $injector.invoke(serviceFn);\n ref = Object.keys(service);\n for (j = 0, len1 = ref.length; j < len1; j++) {\n serviceProperty = ref[j];\n if (this[serviceProperty]) {\n console.warn(\"repeated resource \" + serviceProperty);\n }\n this[serviceProperty] = service[serviceProperty];\n }\n }\n return this;\n };\n\n Resources.$inject = [\"$injector\"];\n\n angular.module(\"taigaResources2\").service(\"tgResources\", Resources);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: stats-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.discover = function(applicationId, state) {\n var url;\n url = urlsService.resolve(\"stats-discover\");\n return http.get(url).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"stats\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgStatsResource\", Resource);\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: tasks-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params) {\n var httpOptions, url;\n url = urlsService.resolve(\"tasks\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"tasks\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgTasksResource\", Resource);\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: user-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.getUserStorage = function(key) {\n var httpOptions, url;\n url = urlsService.resolve(\"user-storage\");\n if (key) {\n url += '/' + key;\n }\n httpOptions = {};\n return http.get(url, {}).then(function(response) {\n return response.data.value;\n });\n };\n service.setUserStorage = function(key, value) {\n var params, url;\n url = urlsService.resolve(\"user-storage\") + '/' + key;\n params = {\n key: key,\n value: value\n };\n return http.put(url, params);\n };\n service.createUserStorage = function(key, value) {\n var params, url;\n url = urlsService.resolve(\"user-storage\");\n params = {\n key: key,\n value: value\n };\n return http.post(url, params);\n };\n return function() {\n return {\n \"user\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUserResources\", Resource);\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: users-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http, paginateResponseService) {\n var service;\n service = {};\n service.getUserByUsername = function(username) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"by_username\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n username: username\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getStats = function(userId) {\n var httpOptions, url;\n url = urlsService.resolve(\"user-stats\", userId);\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, {}, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getContacts = function(userId, excludeProjectId) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"user-contacts\", userId);\n params = {};\n if (excludeProjectId != null) {\n params.exclude_project = excludeProjectId;\n }\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.getLiked = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-liked\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n params.only_relevant = true;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getVoted = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-voted\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getWatched = function(userId, page, type, q) {\n var params, url;\n url = urlsService.resolve(\"user-watched\", userId);\n params = {};\n if (page != null) {\n params.page = page;\n }\n if (type != null) {\n params.type = type;\n }\n if (q != null) {\n params.q = q;\n }\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getProfileTimeline = function(userId, page) {\n var params, url;\n params = {\n page: page\n };\n url = urlsService.resolve(\"timeline-profile\");\n url = url + \"/\" + userId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n service.getUserTimeline = function(userId, page) {\n var params, url;\n params = {\n page: page,\n only_relevant: true\n };\n url = urlsService.resolve(\"timeline-user\");\n url = url + \"/\" + userId;\n return http.get(url, params, {\n headers: {\n 'x-lazy-pagination': true\n }\n }).then(function(result) {\n result = Immutable.fromJS(result);\n return paginateResponseService(result);\n });\n };\n return function() {\n return {\n \"users\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUsersResources\", Resource);\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: userstories-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.listInAllProjects = function(params, pagination) {\n var httpOptions, url;\n if (pagination == null) {\n pagination = false;\n }\n url = urlsService.resolve(\"userstories\");\n if (!pagination) {\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n }\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.listAllInProject = function(projectId) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"userstories\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n project: projectId\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n service.listInEpic = function(epicIid) {\n var httpOptions, params, url;\n url = urlsService.resolve(\"userstories\");\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n params = {\n epic: epicIid,\n order_by: 'epic_order',\n include_tasks: true\n };\n return http.get(url, params, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"userstories\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgUserstoriesResource\", Resource);\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: wiki-resource.service.coffee\n */\n\n(function() {\n var Resource, module;\n\n Resource = function(urlsService, http) {\n var service;\n service = {};\n service.getWikiHistory = function(wikiId) {\n var httpOptions, url;\n url = urlsService.resolve(\"history/wiki\", wikiId);\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n };\n return http.get(url, null, httpOptions).then(function(result) {\n return Immutable.fromJS(result.data);\n });\n };\n return function() {\n return {\n \"wikiHistory\": service\n };\n };\n };\n\n Resource.$inject = [\"$tgUrls\", \"$tgHttp\"];\n\n module = angular.module(\"taigaResources2\");\n\n module.factory(\"tgWikiHistory\", Resource);\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: app-meta.service.coffee\n */\n\n(function() {\n var AppMetaService, taiga, truncate;\n\n taiga = this.taiga;\n\n truncate = taiga.truncate;\n\n AppMetaService = (function() {\n AppMetaService.$inject = [\"$rootScope\"];\n\n function AppMetaService(rootScope) {\n this.rootScope = rootScope;\n }\n\n AppMetaService.prototype._set = function(key, value) {\n var meta;\n if (!key) {\n return;\n }\n if (key === \"title\") {\n meta = $(\"head title\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.text(value || \"\");\n } else if (key.indexOf(\"og:\") === 0) {\n meta = $(\"head meta[property='\" + key + \"']\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.attr(\"content\", value || \"\");\n } else {\n meta = $(\"head meta[name='\" + key + \"']\");\n if (meta.length === 0) {\n meta = $(\"\");\n $(\"head\").append(meta);\n }\n return meta.attr(\"content\", value || \"\");\n }\n };\n\n AppMetaService.prototype.setTitle = function(title) {\n return this._set('title', title);\n };\n\n AppMetaService.prototype.setDescription = function(description) {\n return this._set(\"description\", truncate(description, 250));\n };\n\n AppMetaService.prototype.setTwitterMetas = function(title, description) {\n this._set(\"twitter:card\", \"summary\");\n this._set(\"twitter:site\", \"@taigaio\");\n this._set(\"twitter:title\", title);\n this._set(\"twitter:description\", truncate(description, 300));\n return this._set(\"twitter:image\", window.location.origin + \"/\" + window._version + \"/images/logo-color.png\");\n };\n\n AppMetaService.prototype.setOpenGraphMetas = function(title, description) {\n this._set(\"og:type\", \"object\");\n this._set(\"og:site_name\", \"Taiga - Love your projects\");\n this._set(\"og:title\", title);\n this._set(\"og:description\", truncate(description, 300));\n this._set(\"og:image\", window.location.origin + \"/\" + window._version + \"/images/logo-color.png\");\n return this._set(\"og:url\", window.location.href);\n };\n\n AppMetaService.prototype.setAll = function(title, description) {\n this.setTitle(title);\n this.setDescription(description);\n this.setTwitterMetas(title, description);\n return this.setOpenGraphMetas(title, description);\n };\n\n AppMetaService.prototype.addMobileViewport = function() {\n return $(\"head\").append(\"\");\n };\n\n AppMetaService.prototype.removeMobileViewport = function() {\n return $(\"head meta[name=\\\"viewport\\\"]\").remove();\n };\n\n AppMetaService.prototype.setfn = function(fn) {\n if (this.listener) {\n this._listener();\n }\n return this._listener = this.rootScope.$watchCollection(fn, (function(_this) {\n return function(metas) {\n if (metas) {\n _this.setAll(metas.title, metas.description);\n return _this._listener();\n }\n };\n })(this));\n };\n\n return AppMetaService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAppMetaService\", AppMetaService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: attachments.service.coffee\n */\n\n(function() {\n var AttachmentsService, sizeFormat;\n\n sizeFormat = this.taiga.sizeFormat;\n\n AttachmentsService = (function() {\n AttachmentsService.$inject = [\"$tgConfirm\", \"$tgConfig\", \"$translate\", \"tgResources\"];\n\n function AttachmentsService(confirm, config, translate, rs) {\n this.confirm = confirm;\n this.config = config;\n this.translate = translate;\n this.rs = rs;\n this.maxFileSize = this.getMaxFileSize();\n if (this.maxFileSize) {\n this.maxFileSizeFormated = sizeFormat(this.maxFileSize);\n }\n }\n\n AttachmentsService.prototype.sizeError = function(file) {\n var message;\n message = this.translate.instant(\"ATTACHMENT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name,\n fileSize: sizeFormat(file.size),\n maxFileSize: this.maxFileSizeFormated\n });\n return this.confirm.notify(\"error\", message);\n };\n\n AttachmentsService.prototype.validate = function(file) {\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.sizeError(file);\n return false;\n }\n return true;\n };\n\n AttachmentsService.prototype.getMaxFileSize = function() {\n return this.config.get(\"maxUploadFileSize\", null);\n };\n\n AttachmentsService.prototype.list = function(type, objId, projectId) {\n return this.rs.attachments.list(type, objId, projectId).then((function(_this) {\n return function(attachments) {\n return attachments.sortBy(function(attachment) {\n return attachment.get('order');\n });\n };\n })(this));\n };\n\n AttachmentsService.prototype[\"delete\"] = function(type, id) {\n return this.rs.attachments[\"delete\"](type, id);\n };\n\n AttachmentsService.prototype.saveError = function(file, data) {\n var message;\n message = \"\";\n if (file) {\n message = this.translate.instant(\"ATTACHMENT.ERROR_UPLOAD_ATTACHMENT\", {\n fileName: file.name,\n errorMessage: data.data._error_message\n });\n }\n return this.confirm.notify(\"error\", message);\n };\n\n AttachmentsService.prototype.upload = function(file, objId, projectId, type, from_comment) {\n var promise;\n if (from_comment == null) {\n from_comment = false;\n }\n promise = this.rs.attachments.create(type, projectId, objId, file, from_comment);\n promise.then(null, this.saveError.bind(this, file));\n return promise;\n };\n\n AttachmentsService.prototype.patch = function(id, type, patch) {\n var promise;\n promise = this.rs.attachments.patch(type, id, patch);\n promise.then(null, this.saveError.bind(this, null));\n return promise;\n };\n\n return AttachmentsService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAttachmentsService\", AttachmentsService);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: avatar.service.coffee\n */\n\n(function() {\n var AvatarService,\n modulo = function(a, b) { return (+a % (b = +b) + b) % b; };\n\n AvatarService = (function() {\n function AvatarService(config) {\n var COLORS, IMAGES;\n this.config = config;\n IMAGES = [\"/\" + window._version + \"/images/user-avatars/user-avatar-01.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-02.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-03.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-04.png\", \"/\" + window._version + \"/images/user-avatars/user-avatar-05.png\"];\n COLORS = [\"rgba( 178, 176, 204, 1 )\", \"rgba( 183, 203, 131, 1 )\", \"rgba( 210, 198, 139, 1 )\", \"rgba( 214, 161, 212, 1 )\", \"rgba( 247, 154, 154, 1 )\"];\n this.logos = _.cartesianProduct(IMAGES, COLORS);\n }\n\n AvatarService.prototype.getDefault = function(key) {\n var idx, logo;\n idx = modulo(murmurhash3_32_gc(key, 42), this.logos.length);\n logo = this.logos[idx];\n return {\n src: logo[0],\n color: logo[1]\n };\n };\n\n AvatarService.prototype.getUnnamed = function() {\n return {\n url: \"/\" + window._version + \"/images/unnamed.png\"\n };\n };\n\n AvatarService.prototype.getAvatar = function(user, type) {\n var avatarParamName, gravatar, logo, logoUrl, photo, root;\n if (!user) {\n return this.getUnnamed();\n }\n avatarParamName = 'photo';\n if (type === 'avatarBig') {\n avatarParamName = 'big_photo';\n }\n photo = null;\n if (user instanceof Immutable.Map) {\n gravatar = user.get('gravatar_id');\n photo = user.get(avatarParamName);\n } else {\n gravatar = user.gravatar_id;\n photo = user[avatarParamName];\n }\n if (!gravatar) {\n return this.getUnnamed();\n }\n if (photo) {\n return {\n url: photo\n };\n } else if (location.host.indexOf('localhost') !== -1 || !this.config.get(\"gravatar\", true)) {\n root = location.protocol + '//' + location.host;\n logo = this.getDefault(gravatar);\n return {\n url: root + logo.src,\n bg: logo.color\n };\n } else {\n root = location.protocol + '//' + location.host;\n logo = this.getDefault(gravatar);\n logoUrl = encodeURIComponent(root + logo.src);\n return {\n url: 'https://www.gravatar.com/avatar/' + gravatar + \"?s=200&d=\" + logoUrl,\n bg: logo.color\n };\n }\n };\n\n return AvatarService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgAvatarService\", [\"$tgConfig\", AvatarService]);\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: check-permissions.service.coffee\n */\n\n(function() {\n var CheckPermissionsService, taiga;\n\n taiga = this.taiga;\n\n CheckPermissionsService = (function() {\n CheckPermissionsService.$inject = [\"tgProjectService\"];\n\n function CheckPermissionsService(projectService) {\n this.projectService = projectService;\n }\n\n CheckPermissionsService.prototype.check = function(permission) {\n if (!this.projectService.project) {\n return false;\n }\n return this.projectService.project.get('my_permissions').indexOf(permission) !== -1;\n };\n\n return CheckPermissionsService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgCheckPermissionsService\", CheckPermissionsService);\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: current-user.service.coffee\n */\n\n(function() {\n var CurrentUserService, groupBy, taiga;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n CurrentUserService = (function() {\n CurrentUserService.$inject = [\"tgProjectsService\", \"$tgStorage\", \"tgResources\"];\n\n function CurrentUserService(projectsService, storageService, rs) {\n this.projectsService = projectsService;\n this.storageService = storageService;\n this.rs = rs;\n this._user = null;\n this._projects = Immutable.Map();\n this._projectsById = Immutable.Map();\n this._joyride = null;\n taiga.defineImmutableProperty(this, \"projects\", (function(_this) {\n return function() {\n return _this._projects;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"projectsById\", (function(_this) {\n return function() {\n return _this._projectsById;\n };\n })(this));\n }\n\n CurrentUserService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n CurrentUserService.prototype.getUser = function() {\n var userData;\n if (!this._user) {\n userData = this.storageService.get(\"userInfo\");\n if (userData) {\n userData = Immutable.fromJS(userData);\n this.setUser(userData);\n }\n }\n return this._user;\n };\n\n CurrentUserService.prototype.removeUser = function() {\n this._user = null;\n this._projects = Immutable.Map();\n this._projectsById = Immutable.Map();\n return this._joyride = null;\n };\n\n CurrentUserService.prototype.setUser = function(user) {\n this._user = user;\n return this._loadUserInfo();\n };\n\n CurrentUserService.prototype.bulkUpdateProjectsOrder = function(sortData) {\n return this.projectsService.bulkUpdateProjectsOrder(sortData).then((function(_this) {\n return function() {\n return _this.loadProjects();\n };\n })(this));\n };\n\n CurrentUserService.prototype.loadProjects = function() {\n return this.projectsService.getProjectsByUserId(this._user.get(\"id\")).then((function(_this) {\n return function(projects) {\n return _this.setProjects(projects);\n };\n })(this));\n };\n\n CurrentUserService.prototype.disableJoyRide = function(section) {\n if (!this.isAuthenticated()) {\n return;\n }\n if (section) {\n this._joyride[section] = false;\n } else {\n this._joyride = {\n backlog: false,\n kanban: false,\n dashboard: false\n };\n }\n return this.rs.user.setUserStorage('joyride', this._joyride);\n };\n\n CurrentUserService.prototype.loadJoyRideConfig = function() {\n return new Promise((function(_this) {\n return function(resolve) {\n if (_this._joyride !== null) {\n resolve(_this._joyride);\n return;\n }\n return _this.rs.user.getUserStorage('joyride').then(function(config) {\n _this._joyride = config;\n return resolve(_this._joyride);\n })[\"catch\"](function() {\n _this._joyride = {\n backlog: true,\n kanban: true,\n dashboard: true\n };\n _this.rs.user.createUserStorage('joyride', _this._joyride);\n return resolve(_this._joyride);\n });\n };\n })(this));\n };\n\n CurrentUserService.prototype._loadUserInfo = function() {\n return Promise.all([this.loadProjects()]);\n };\n\n CurrentUserService.prototype.setProjects = function(projects) {\n this._projects = this._projects.set(\"all\", projects);\n this._projects = this._projects.set(\"recents\", projects.slice(0, 10));\n this._projectsById = Immutable.fromJS(groupBy(projects.toJS(), function(p) {\n return p.id;\n }));\n return this.projects;\n };\n\n CurrentUserService.prototype.canCreatePrivateProjects = function() {\n var user;\n user = this.getUser();\n if (user.get('max_private_projects') !== null && user.get('total_private_projects') >= user.get('max_private_projects')) {\n return {\n valid: false,\n reason: 'max_private_projects',\n type: 'private_project',\n current: user.get('total_private_projects'),\n max: user.get('max_private_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canCreatePublicProjects = function() {\n var user;\n user = this.getUser();\n if (user.get('max_public_projects') !== null && user.get('total_public_projects') >= user.get('max_public_projects')) {\n return {\n valid: false,\n reason: 'max_public_projects',\n type: 'public_project',\n current: user.get('total_public_projects'),\n max: user.get('max_public_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canAddMembersPublicProject = function(totalMembers) {\n var user;\n user = this.getUser();\n if (user.get('max_memberships_public_projects') !== null && totalMembers > user.get('max_memberships_public_projects')) {\n return {\n valid: false,\n reason: 'max_members_public_projects',\n type: 'public_project',\n current: totalMembers,\n max: user.get('max_memberships_public_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canAddMembersPrivateProject = function(totalMembers) {\n var user;\n user = this.getUser();\n if (user.get('max_memberships_private_projects') !== null && totalMembers > user.get('max_memberships_private_projects')) {\n return {\n valid: false,\n reason: 'max_members_private_projects',\n type: 'private_project',\n current: totalMembers,\n max: user.get('max_memberships_private_projects')\n };\n }\n return {\n valid: true\n };\n };\n\n CurrentUserService.prototype.canOwnProject = function(project) {\n var membersResult, result, user;\n user = this.getUser();\n if (project.get('is_private')) {\n result = this.canCreatePrivateProjects();\n if (!result.valid) {\n return result;\n }\n membersResult = this.canAddMembersPrivateProject(project.get('total_memberships'));\n if (!membersResult.valid) {\n return membersResult;\n }\n } else {\n result = this.canCreatePublicProjects();\n if (!result.valid) {\n return result;\n }\n membersResult = this.canAddMembersPublicProject(project.get('total_memberships'));\n if (!membersResult.valid) {\n return membersResult;\n }\n }\n return {\n valid: true\n };\n };\n\n return CurrentUserService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgCurrentUserService\", CurrentUserService);\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: error-handling.service.coffee\n */\n\n(function() {\n var ErrorHandlingService, taiga;\n\n taiga = this.taiga;\n\n ErrorHandlingService = (function() {\n ErrorHandlingService.$inject = [\"$rootScope\"];\n\n function ErrorHandlingService(rootScope) {\n this.rootScope = rootScope;\n }\n\n ErrorHandlingService.prototype.init = function() {\n return this.rootScope.errorHandling = {};\n };\n\n ErrorHandlingService.prototype.notfound = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.notfound = true;\n };\n\n ErrorHandlingService.prototype.error = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.error = true;\n };\n\n ErrorHandlingService.prototype.permissionDenied = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.permissionDenied = true;\n };\n\n ErrorHandlingService.prototype.block = function() {\n this.rootScope.errorHandling.showingError = true;\n return this.rootScope.errorHandling.blocked = true;\n };\n\n return ErrorHandlingService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgErrorHandlingService\", ErrorHandlingService);\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: lightbox-factory.service.coffee\n */\n\n(function() {\n var LightboxFactory;\n\n LightboxFactory = (function() {\n LightboxFactory.$inject = [\"$rootScope\", \"$compile\"];\n\n function LightboxFactory(rootScope, compile) {\n this.rootScope = rootScope;\n this.compile = compile;\n }\n\n LightboxFactory.prototype.create = function(name, attrs, scopeAttrs) {\n var elm, html, scope;\n scope = this.rootScope.$new();\n scope = _.merge(scope, scopeAttrs);\n elm = $(\"
    \").attr(name, true).attr(\"tg-bind-scope\", true);\n if (attrs) {\n elm.attr(attrs);\n }\n elm.addClass(\"remove-on-close\");\n html = this.compile(elm)(scope);\n $(document.body).append(html);\n };\n\n return LightboxFactory;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgLightboxFactory\", LightboxFactory);\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: paginate-response.service.coffee\n */\n\n(function() {\n var PaginateResponse;\n\n PaginateResponse = function() {\n return function(result) {\n var paginateResponse;\n paginateResponse = Immutable.Map({\n \"data\": result.get(\"data\"),\n \"next\": !!result.get(\"headers\")(\"x-pagination-next\"),\n \"prev\": !!result.get(\"headers\")(\"x-pagination-prev\"),\n \"current\": result.get(\"headers\")(\"x-pagination-current\"),\n \"count\": result.get(\"headers\")(\"x-pagination-count\")\n });\n return paginateResponse;\n };\n };\n\n angular.module(\"taigaCommon\").factory(\"tgPaginateResponseService\", PaginateResponse);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: project-logo.service.coffee\n */\n\n(function() {\n var ProjectLogoService,\n modulo = function(a, b) { return (+a % (b = +b) + b) % b; };\n\n ProjectLogoService = (function() {\n function ProjectLogoService() {\n var COLORS, IMAGES;\n IMAGES = [\"/\" + window._version + \"/images/project-logos/project-logo-01.png\", \"/\" + window._version + \"/images/project-logos/project-logo-02.png\", \"/\" + window._version + \"/images/project-logos/project-logo-03.png\", \"/\" + window._version + \"/images/project-logos/project-logo-04.png\", \"/\" + window._version + \"/images/project-logos/project-logo-05.png\"];\n COLORS = [\"rgba( 153, 214, 220, 1 )\", \"rgba( 213, 156, 156, 1 )\", \"rgba( 214, 161, 212, 1 )\", \"rgba( 164, 162, 219, 1 )\", \"rgba( 152, 224, 168, 1 )\"];\n this.logos = _.cartesianProduct(IMAGES, COLORS);\n }\n\n ProjectLogoService.prototype.getDefaultProjectLogo = function(slug, id) {\n var idx, key, logo;\n key = slug + \"-\" + id;\n idx = modulo(murmurhash3_32_gc(key, 42), this.logos.length);\n logo = this.logos[idx];\n return {\n src: logo[0],\n color: logo[1]\n };\n };\n\n return ProjectLogoService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgProjectLogoService\", ProjectLogoService);\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: project.service.coffee\n */\n\n(function() {\n var ProjectService, taiga;\n\n taiga = this.taiga;\n\n ProjectService = (function() {\n ProjectService.$inject = [\"tgProjectsService\", \"tgXhrErrorService\", \"tgUserActivityService\", \"$interval\"];\n\n function ProjectService(projectsService, xhrError, userActivityService, interval) {\n this.projectsService = projectsService;\n this.xhrError = xhrError;\n this.userActivityService = userActivityService;\n this.interval = interval;\n this._project = null;\n this._section = null;\n this._sectionsBreadcrumb = Immutable.List();\n this._activeMembers = Immutable.List();\n taiga.defineImmutableProperty(this, \"project\", (function(_this) {\n return function() {\n return _this._project;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"section\", (function(_this) {\n return function() {\n return _this._section;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"sectionsBreadcrumb\", (function(_this) {\n return function() {\n return _this._sectionsBreadcrumb;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"activeMembers\", (function(_this) {\n return function() {\n return _this._activeMembers;\n };\n })(this));\n if (!window.localStorage.e2e) {\n this.autoRefresh();\n }\n }\n\n ProjectService.prototype.cleanProject = function() {\n this._project = null;\n this._activeMembers = Immutable.List();\n this._section = null;\n return this._sectionsBreadcrumb = Immutable.List();\n };\n\n ProjectService.prototype.autoRefresh = function() {\n var intervalId;\n intervalId = this.interval((function(_this) {\n return function() {\n return _this.fetchProject();\n };\n })(this), 60 * 10 * 1000);\n this.userActivityService.onInactive((function(_this) {\n return function() {\n return _this.interval.cancel(intervalId);\n };\n })(this));\n return this.userActivityService.onActive((function(_this) {\n return function() {\n _this.fetchProject();\n return _this.autoRefresh();\n };\n })(this));\n };\n\n ProjectService.prototype.setSection = function(section) {\n this._section = section;\n if (section) {\n return this._sectionsBreadcrumb = this._sectionsBreadcrumb.push(this._section);\n } else {\n return this._sectionsBreadcrumb = Immutable.List();\n }\n };\n\n ProjectService.prototype.setProject = function(project) {\n this._project = project;\n return this._activeMembers = this._project.get('members').filter(function(member) {\n return member.get('is_active');\n });\n };\n\n ProjectService.prototype.setProjectBySlug = function(pslug) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n if (!_this.project || _this.project.get('slug') !== pslug) {\n return _this.projectsService.getProjectBySlug(pslug).then(function(project) {\n _this.setProject(project);\n return resolve();\n })[\"catch\"](function(xhr) {\n return _this.xhrError.response(xhr);\n });\n } else {\n return resolve();\n }\n };\n })(this));\n };\n\n ProjectService.prototype.fetchProject = function() {\n var pslug;\n if (!this.project) {\n return;\n }\n pslug = this.project.get('slug');\n return this.projectsService.getProjectBySlug(pslug).then((function(_this) {\n return function(project) {\n return _this.setProject(project);\n };\n })(this));\n };\n\n ProjectService.prototype.hasPermission = function(permission) {\n return this._project.get('my_permissions').indexOf(permission) !== -1;\n };\n\n ProjectService.prototype.isEpicsDashboardEnabled = function() {\n return this._project.get(\"is_epics_activated\");\n };\n\n return ProjectService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgProjectService\", ProjectService);\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: theme.service.coffee\n */\n\n(function() {\n var ThemeService, 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 ThemeService = (function(superClass) {\n extend(ThemeService, superClass);\n\n function ThemeService() {\n return ThemeService.__super__.constructor.apply(this, arguments);\n }\n\n return ThemeService;\n\n })(taiga.Service = function() {\n return {\n use: function(themeName) {\n var stylesheetEl;\n stylesheetEl = $(\"link[rel='stylesheet']:first\");\n if (stylesheetEl.length === 0) {\n stylesheetEl = $(\"\");\n $(\"head\").append(stylesheetEl);\n }\n return stylesheetEl.attr(\"href\", \"/\" + window._version + \"/styles/theme-\" + themeName + \".css\");\n }\n };\n });\n\n angular.module(\"taigaCommon\").service(\"tgThemeService\", ThemeService);\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: user-activity.service.coffee\n */\n\n(function() {\n var UserActivityService, groupBy, taiga;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n UserActivityService = (function() {\n UserActivityService.$inject = ['$timeout'];\n\n UserActivityService.prototype.idleTimeout = 60 * 5 * 1000;\n\n function UserActivityService(timeout) {\n this.timeout = timeout;\n if (window.localStorage.e2e) {\n return null;\n }\n window.addEventListener('mousemove', this.resetTimer.bind(this), false);\n window.addEventListener('mousedown', this.resetTimer.bind(this), false);\n window.addEventListener('keypress', this.resetTimer.bind(this), false);\n window.addEventListener('mousewheel', this.resetTimer.bind(this), false);\n window.addEventListener('touchmove', this.resetTimer.bind(this), false);\n this.subscriptionsActive = [];\n this.subscriptionsInactive = [];\n this.isActive = true;\n this.startTimer();\n }\n\n UserActivityService.prototype.startTimer = function() {\n return this.timerId = this.timeout(this._fireInactive.bind(this), this.idleTimeout);\n };\n\n UserActivityService.prototype.resetTimer = function() {\n if (!this.isActive) {\n this._fireActive();\n }\n this.timeout.cancel(this.timerId);\n this.startTimer();\n return this.isActive = true;\n };\n\n UserActivityService.prototype.onActive = function(cb) {\n this.subscriptionsActive.push(cb);\n return this._unSubscriptionsActive.bind(this, cb);\n };\n\n UserActivityService.prototype.onInactive = function(cb) {\n this.subscriptionsInactive.push(cb);\n return this._unSubscriptionsInactive.bind(this, cb);\n };\n\n UserActivityService.prototype._fireActive = function() {\n return this.subscriptionsActive.forEach(function(it) {\n return it();\n });\n };\n\n UserActivityService.prototype._fireInactive = function() {\n this.isActive = false;\n return this.subscriptionsInactive.forEach(function(it) {\n return it();\n });\n };\n\n UserActivityService.prototype._unSubscriptionsActive = function(cb) {\n return this.subscriptionsActive = this.subscriptionsActive.filter(function(fn) {\n return fn !== cb;\n });\n };\n\n UserActivityService.prototype._unSubscriptionsInactive = function(cb) {\n return this.subscriptionsInactive = this.subscriptionsInactive.filter(function(fn) {\n return fn !== cb;\n });\n };\n\n return UserActivityService;\n\n })();\n\n angular.module(\"taigaCommon\").service(\"tgUserActivityService\", UserActivityService);\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: user.service.coffee\n */\n\n(function() {\n var UserService, bindMethods, 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 = taiga.bindMethods;\n\n UserService = (function(superClass) {\n extend(UserService, superClass);\n\n UserService.$inject = [\"tgResources\"];\n\n function UserService(rs) {\n this.rs = rs;\n bindMethods(this);\n }\n\n UserService.prototype.getUserByUserName = function(username) {\n return this.rs.users.getUserByUsername(username);\n };\n\n UserService.prototype.getContacts = function(userId, excludeProjectId) {\n return this.rs.users.getContacts(userId, excludeProjectId);\n };\n\n UserService.prototype.getLiked = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getLiked(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getVoted = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getVoted(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getWatched = function(userId, pageNumber, objectType, textQuery) {\n return this.rs.users.getWatched(userId, pageNumber, objectType, textQuery);\n };\n\n UserService.prototype.getStats = function(userId) {\n return this.rs.users.getStats(userId);\n };\n\n UserService.prototype.attachUserContactsToProjects = function(userId, projects) {\n return this.getContacts(userId).then(function(contacts) {\n projects = projects.map(function(project) {\n var contactsFiltered;\n contactsFiltered = contacts.filter(function(contact) {\n var contactId;\n contactId = contact.get(\"id\");\n return project.get('members').indexOf(contactId) !== -1;\n });\n project = project.set(\"contacts\", contactsFiltered);\n return project;\n });\n return projects;\n });\n };\n\n return UserService;\n\n })(taiga.Service);\n\n angular.module(\"taigaCommon\").service(\"tgUserService\", UserService);\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: xhrError.service.coffee\n */\n\n(function() {\n var xhrError,\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 xhrError = (function(superClass) {\n extend(xhrError, superClass);\n\n xhrError.$inject = [\"$q\", \"tgErrorHandlingService\"];\n\n function xhrError(q, errorHandlingService) {\n this.q = q;\n this.errorHandlingService = errorHandlingService;\n }\n\n xhrError.prototype.notFound = function() {\n return this.errorHandlingService.notfound();\n };\n\n xhrError.prototype.permissionDenied = function() {\n return this.errorHandlingService.permissionDenied();\n };\n\n xhrError.prototype.response = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.notFound();\n } else if (xhr.status === 403) {\n this.permissionDenied();\n }\n }\n return this.q.reject(xhr);\n };\n\n return xhrError;\n\n })(taiga.Service);\n\n angular.module(\"taigaCommon\").service(\"tgXhrErrorService\", xhrError);\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: user-timeline-attachment.directive.coffee\n */\n\n(function() {\n var UserTimelineAttachmentDirective;\n\n UserTimelineAttachmentDirective = function(template, $compile) {\n var isImage, link, validFileExtensions;\n validFileExtensions = [\".jpg\", \".jpeg\", \".bmp\", \".gif\", \".png\"];\n isImage = function(url) {\n url = url.toLowerCase();\n return _.some(validFileExtensions, function(extension) {\n return url.indexOf(extension, url - extension.length) !== -1;\n });\n };\n link = function(scope, el) {\n var is_image, templateHtml;\n is_image = isImage(scope.attachment.get('url'));\n if (is_image) {\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment-image.html\");\n } else {\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment.html\");\n }\n el.html(templateHtml);\n $compile(el.contents())(scope);\n return el.find(\"img\").error(function() {\n return this.remove();\n });\n };\n return {\n link: link,\n scope: {\n attachment: \"=tgUserTimelineAttachment\"\n }\n };\n };\n\n UserTimelineAttachmentDirective.$inject = [\"$tgTemplate\", \"$compile\"];\n\n angular.module(\"taigaUserTimeline\").directive(\"tgUserTimelineAttachment\", UserTimelineAttachmentDirective);\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: user-timeline-item-title.service.coffee\n */\n\n(function() {\n var UserTimelineItemTitle, unslugify;\n\n unslugify = this.taiga.unslugify;\n\n UserTimelineItemTitle = (function() {\n UserTimelineItemTitle.$inject = [\"$translate\", \"$sce\"];\n\n UserTimelineItemTitle.prototype._fieldTranslationKey = {\n 'status': 'COMMON.FIELDS.STATUS',\n 'subject': 'COMMON.FIELDS.SUBJECT',\n 'description_diff': 'COMMON.FIELDS.DESCRIPTION',\n 'points': 'COMMON.FIELDS.POINTS',\n 'assigned_to': 'COMMON.FIELDS.ASSIGNED_TO',\n 'assigned_users': 'COMMON.FIELDS.ASSIGNED_USERS',\n 'severity': 'ISSUES.FIELDS.SEVERITY',\n 'priority': 'ISSUES.FIELDS.PRIORITY',\n 'type': 'ISSUES.FIELDS.TYPE',\n 'is_iocaine': 'TASK.FIELDS.IS_IOCAINE',\n 'is_blocked': 'COMMON.FIELDS.IS_BLOCKED',\n 'color': 'COMMON.FIELDS.COLOR',\n 'due_date': 'COMMON.FIELDS.DUE_DATE',\n 'due_date_reason': 'COMMON.FIELDS.DUE_DATE_REASON'\n };\n\n UserTimelineItemTitle.prototype._params = {\n username: function(timeline, event) {\n var title_attr, url, user;\n user = timeline.getIn(['data', 'user']);\n if (user.get('is_profile_visible')) {\n title_attr = this.translate.instant('COMMON.SEE_USER_PROFILE', {\n username: user.get('username')\n });\n url = \"user-profile:username=timeline.getIn(['data', 'user', 'username'])\";\n return this._getLink(url, user.get('name'), title_attr);\n } else {\n return this._getUsernameSpan(user.get('name'));\n }\n },\n field_name: function(timeline, event) {\n var field_name;\n field_name = timeline.getIn(['data', 'value_diff', 'key']);\n return this.translate.instant(this._fieldTranslationKey[field_name]);\n },\n project_name: function(timeline, event) {\n var url;\n url = \"project:project=timeline.getIn(['data', 'project', 'slug'])\";\n return this._getLink(url, timeline.getIn([\"data\", \"project\", \"name\"]));\n },\n new_value: function(timeline, event) {\n var new_value, prettyDate, value;\n if (_.isArray(timeline.getIn([\"data\", \"value_diff\", \"value\"]).toJS())) {\n value = timeline.getIn([\"data\", \"value_diff\", \"value\"]).get(1);\n if (value === null && timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'assigned_to') {\n value = this.translate.instant('ACTIVITY.VALUES.UNASSIGNED');\n }\n if (value === null && timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'assigned_users') {\n value = this.translate.instant('ACTIVITY.VALUES.UNASSIGNED');\n } else if (timeline.getIn([\"data\", \"value_diff\", \"key\"]) === 'due_date') {\n if (value) {\n prettyDate = this.translate.instant(\"COMMON.PICKERDATE.FORMAT\");\n value = moment(value, \"YYYY-MM-DD\").format(prettyDate);\n } else {\n value = this.translate.instant('ACTIVITY.VALUES.NOT_SET');\n }\n }\n new_value = value;\n } else {\n new_value = timeline.getIn([\"data\", \"value_diff\", \"value\"]).first().get(1);\n }\n return _.escape(new_value);\n },\n sprint_name: function(timeline, event) {\n var url;\n url = \"project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])\";\n return this._getLink(url, timeline.getIn(['data', 'milestone', 'name']));\n },\n us_name: function(timeline, event) {\n var event_us, obj, text, url;\n obj = this._getTimelineObj(timeline, event).get('userstory');\n event_us = {\n obj: 'parent_userstory'\n };\n url = this._getDetailObjUrl(event_us);\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n related_us_name: function(timeline, event) {\n var obj, text, url;\n obj = timeline.getIn([\"data\", \"userstory\"]);\n url = \"project-userstories-detail:project=timeline.getIn(['data', 'userstory', 'project', 'slug']),ref=timeline.getIn(['data', 'userstory', 'ref'])\";\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n epic_name: function(timeline, event) {\n var obj, text, url;\n obj = timeline.getIn([\"data\", \"epic\"]);\n url = \"project-epics-detail:project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['data', 'epic', 'ref'])\";\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n return this._getLink(url, text);\n },\n obj_name: function(timeline, event) {\n var obj, text, url;\n obj = this._getTimelineObj(timeline, event);\n url = this._getDetailObjUrl(event);\n if (event.obj === 'wikipage') {\n text = unslugify(obj.get('slug'));\n } else if (event.obj === 'milestone') {\n text = obj.get('name');\n } else {\n text = '#' + obj.get('ref') + ' ' + obj.get('subject');\n }\n return this._getLink(url, text);\n },\n role_name: function(timeline, event) {\n return _.escape(timeline.getIn(['data', 'value_diff', 'value']).keySeq().first());\n }\n };\n\n function UserTimelineItemTitle(translate, sce) {\n this.translate = translate;\n this.sce = sce;\n }\n\n UserTimelineItemTitle.prototype._translateTitleParams = function(param, timeline, event) {\n return this._params[param].call(this, timeline, event);\n };\n\n UserTimelineItemTitle.prototype._getTimelineObj = function(timeline, event) {\n return timeline.getIn(['data', event.obj]);\n };\n\n UserTimelineItemTitle.prototype._getDetailObjUrl = function(event) {\n var url;\n url = {\n \"issue\": [\"project-issues-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"wikipage\": [\"project-wiki-page\", \":project=timeline.getIn(['data', 'project', 'slug']),slug=timeline.getIn(['obj', 'slug'])\"],\n \"task\": [\"project-tasks-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"userstory\": [\"project-userstories-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"],\n \"parent_userstory\": [\"project-userstories-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'userstory', 'ref'])\"],\n \"milestone\": [\"project-taskboard\", \":project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['obj', 'slug'])\"],\n \"epic\": [\"project-epics-detail\", \":project=timeline.getIn(['data', 'project', 'slug']),ref=timeline.getIn(['obj', 'ref'])\"]\n };\n return url[event.obj][0] + url[event.obj][1];\n };\n\n UserTimelineItemTitle.prototype._getLink = function(url, text, title) {\n var span;\n title = title || text;\n span = $('').attr('ng-non-bindable', true).text(text);\n return $('').attr('tg-nav', url).attr('title', title).append(span).prop('outerHTML');\n };\n\n UserTimelineItemTitle.prototype._getUsernameSpan = function(text) {\n var title;\n title = title || text;\n return $('').addClass('username').text(text).prop('outerHTML');\n };\n\n UserTimelineItemTitle.prototype._getParams = function(timeline, event, timeline_type) {\n var params;\n params = {};\n timeline_type.translate_params.forEach((function(_this) {\n return function(param) {\n return params[param] = _this._translateTitleParams(param, timeline, event);\n };\n })(this));\n return params;\n };\n\n UserTimelineItemTitle.prototype.getTitle = function(timeline, event, type) {\n var params, paramsKeys, translation;\n params = this._getParams(timeline, event, type);\n paramsKeys = {};\n Object.keys(params).forEach(function(key) {\n return paramsKeys[key] = '{{' + key + '}}';\n });\n translation = this.translate.instant(type.key, paramsKeys);\n Object.keys(params).forEach(function(key) {\n var find;\n find = '{{' + key + '}}';\n return translation = translation.replace(new RegExp(find, 'g'), params[key]);\n });\n return translation;\n };\n\n return UserTimelineItemTitle;\n\n })();\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineItemTitle\", UserTimelineItemTitle);\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: user-timeline-item-type.service.coffee\n */\n\n(function() {\n var UserTimelineType, timelineType;\n\n timelineType = function(timeline, event) {\n var types;\n types = [\n {\n check: function(timeline, event) {\n return event.obj === 'membership';\n },\n key: 'TIMELINE.NEW_MEMBER',\n translate_params: ['project_name'],\n member: function(timeline) {\n return Immutable.Map({\n user: timeline.getIn(['data', 'user']),\n role: timeline.getIn(['data', 'role'])\n });\n }\n }, {\n check: function(timeline, event) {\n return event.obj === 'project' && event.type === 'create';\n },\n key: 'TIMELINE.NEW_PROJECT',\n translate_params: ['username', 'project_name'],\n description: function(timeline) {\n return timeline.getIn(['data', 'project', 'description']);\n }\n }, {\n check: function(timeline, event) {\n return event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'attachments';\n },\n key: 'TIMELINE.UPLOAD_ATTACHMENT',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'create';\n },\n key: 'TIMELINE.US_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'create';\n },\n key: 'TIMELINE.ISSUE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'wikipage' && event.type === 'create';\n },\n key: 'TIMELINE.WIKI_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'create' && !timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'create' && timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_CREATED_WITH_US',\n translate_params: ['username', 'project_name', 'obj_name', 'us_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'milestone' && event.type === 'create';\n },\n key: 'TIMELINE.MILESTONE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'create';\n },\n key: 'TIMELINE.EPIC_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'relateduserstory' && event.type === 'create';\n },\n key: 'TIMELINE.EPIC_RELATED_USERSTORY_CREATED',\n translate_params: ['username', 'project_name', 'related_us_name', 'epic_name']\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'userstory';\n },\n key: 'TIMELINE.NEW_COMMENT_US',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'issue';\n },\n key: 'TIMELINE.NEW_COMMENT_ISSUE',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'task';\n },\n key: 'TIMELINE.NEW_COMMENT_TASK',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.getIn(['data', 'comment']) && event.obj === 'epic';\n },\n key: 'TIMELINE.NEW_COMMENT_EPIC',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n text = timeline.getIn(['data', 'comment_html']);\n return $($.parseHTML(text)).text();\n }\n }, {\n check: function(timeline, event) {\n return timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && timeline.hasIn(['data', 'value_diff', 'value', 'backlog_order']) && event.type === 'change';\n },\n key: 'TIMELINE.US_MOVED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && event.type === 'change' && event.obj === 'userstory') {\n return timeline.getIn(['data', 'value_diff', 'value', 'milestone']).get(1) === null;\n }\n return false;\n },\n key: 'TIMELINE.US_REMOVED_FROM_MILESTONE',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'moveInBacklog' && event.type === 'change' && event.obj === 'userstory';\n },\n key: 'TIMELINE.US_ADDED_MILESTONE',\n translate_params: ['username', 'obj_name', 'sprint_name']\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'blocked' && event.type === 'change') {\n return timeline.getIn(['data', 'value_diff', 'value', 'is_blocked']).get(1) === true;\n }\n return false;\n },\n key: 'TIMELINE.BLOCKED',\n translate_params: ['username', 'obj_name'],\n description: function(timeline) {\n var text;\n if (timeline.hasIn(['data', 'value_diff', 'value', 'blocked_note_html'])) {\n text = timeline.getIn(['data', 'value_diff', 'value', 'blocked_note_html']).get(1);\n return $($.parseHTML(text)).text();\n } else {\n return false;\n }\n }\n }, {\n check: function(timeline, event) {\n if (timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'blocked' && event.type === 'change') {\n return timeline.getIn(['data', 'value_diff', 'value', 'is_blocked']).get(1) === false;\n }\n return false;\n },\n key: 'TIMELINE.UNBLOCKED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'milestone' && event.type === 'change';\n },\n key: 'TIMELINE.MILESTONE_UPDATED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'wikipage' && event.type === 'change';\n },\n key: 'TIMELINE.WIKI_UPDATED',\n translate_params: ['username', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'points';\n },\n key: 'TIMELINE.US_UPDATED_POINTS',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value', 'role_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.US_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'userstory' && event.type === 'change';\n },\n key: 'TIMELINE.US_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.ISSUE_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'issue' && event.type === 'change';\n },\n key: 'TIMELINE.ISSUE_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && !timeline.getIn(['data', 'task', 'userstory']) && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.TASK_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && timeline.getIn(['data', 'task', 'userstory']) && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_US',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && !timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'task' && event.type === 'change' && timeline.getIn(['data', 'task', 'userstory']);\n },\n key: 'TIMELINE.TASK_UPDATED_WITH_US_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'description_diff';\n },\n key: 'TIMELINE.EPIC_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change' && timeline.hasIn(['data', 'value_diff']) && timeline.getIn(['data', 'value_diff', 'key']) === 'color';\n },\n key: 'TIMELINE.EPIC_UPDATED_WITH_NEW_COLOR',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'epic' && event.type === 'change';\n },\n key: 'TIMELINE.EPIC_UPDATED_WITH_NEW_VALUE',\n translate_params: ['username', 'field_name', 'obj_name', 'new_value']\n }, {\n check: function(timeline, event) {\n return event.obj === 'user' && event.type === 'create';\n },\n key: 'TIMELINE.NEW_USER',\n translate_params: ['username']\n }\n ];\n return _.find(types, function(obj) {\n return obj.check(timeline, event);\n });\n };\n\n UserTimelineType = (function() {\n function UserTimelineType() {}\n\n UserTimelineType.prototype.getType = function(timeline, event) {\n return timelineType(timeline, event);\n };\n\n return UserTimelineType;\n\n })();\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineItemType\", UserTimelineType);\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: user-timeline-item.directive.coffee\n */\n\n(function() {\n var UserTimelineItemDirective;\n\n UserTimelineItemDirective = function() {\n return {\n templateUrl: \"user-timeline/user-timeline-item/user-timeline-item.html\",\n scope: {\n timeline: \"=tgUserTimelineItem\"\n }\n };\n };\n\n angular.module(\"taigaUserTimeline\").directive(\"tgUserTimelineItem\", UserTimelineItemDirective);\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: user-timeline-pagination-sequence.service.coffee\n */\n\n(function() {\n var UserTimelinePaginationSequence;\n\n UserTimelinePaginationSequence = function() {\n var obj;\n obj = {};\n obj.generate = function(config) {\n var getContent, items, next, page;\n page = 1;\n items = Immutable.List();\n config.minItems = config.minItems || 20;\n next = function() {\n items = Immutable.List();\n return getContent();\n };\n getContent = function() {\n return config.fetch(page).then(function(response) {\n var data;\n page++;\n data = response.get(\"data\");\n if (config.filter) {\n data = config.filter(data);\n }\n if (config.map) {\n data = data.map(config.map);\n }\n items = items.concat(data);\n if (items.size < config.minItems && response.get(\"next\")) {\n return getContent();\n }\n return Immutable.Map({\n items: items,\n next: response.get(\"next\")\n });\n });\n };\n return {\n next: function() {\n return next();\n }\n };\n };\n return obj;\n };\n\n angular.module(\"taigaUserTimeline\").factory(\"tgUserTimelinePaginationSequenceService\", UserTimelinePaginationSequence);\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/profile/profile-timeline/profile-timeline.controller.coffee\n */\n\n(function() {\n var UserTimelineController, mixOf, 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 mixOf = this.taiga.mixOf;\n\n UserTimelineController = (function(superClass) {\n extend(UserTimelineController, superClass);\n\n UserTimelineController.$inject = [\"tgUserTimelineService\"];\n\n function UserTimelineController(userTimelineService) {\n this.userTimelineService = userTimelineService;\n this.timelineList = Immutable.List();\n this.scrollDisabled = false;\n this.timeline = null;\n if (this.projectId) {\n this.timeline = this.userTimelineService.getProjectTimeline(this.projectId);\n } else if (this.currentUser) {\n this.timeline = this.userTimelineService.getProfileTimeline(this.user.get(\"id\"));\n } else {\n this.timeline = this.userTimelineService.getUserTimeline(this.user.get(\"id\"));\n }\n }\n\n UserTimelineController.prototype.loadTimeline = function() {\n this.scrollDisabled = true;\n return this.timeline.next().then((function(_this) {\n return function(response) {\n _this.timelineList = _this.timelineList.concat(response.get(\"items\"));\n if (response.get(\"next\")) {\n _this.scrollDisabled = false;\n }\n return _this.timelineList;\n };\n })(this));\n };\n\n return UserTimelineController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n angular.module(\"taigaUserTimeline\").controller(\"UserTimeline\", UserTimelineController);\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: user-timeline.directive.coffee\n */\n\n(function() {\n var UserTimelineDirective;\n\n UserTimelineDirective = function() {\n return {\n templateUrl: \"user-timeline/user-timeline/user-timeline.html\",\n controller: \"UserTimeline\",\n controllerAs: \"vm\",\n scope: {\n projectId: \"=projectid\",\n user: \"=\",\n currentUser: \"=\"\n },\n bindToController: true\n };\n };\n\n angular.module(\"taigaProfile\").directive(\"tgUserTimeline\", UserTimelineDirective);\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: user-timeline.service.coffee\n */\n\n(function() {\n var UserTimelineService, 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 UserTimelineService = (function(superClass) {\n extend(UserTimelineService, superClass);\n\n UserTimelineService.$inject = [\"tgResources\", \"tgUserTimelinePaginationSequenceService\", \"tgUserTimelineItemType\", \"tgUserTimelineItemTitle\"];\n\n function UserTimelineService(rs, userTimelinePaginationSequenceService, userTimelineItemType, userTimelineItemTitle) {\n this.rs = rs;\n this.userTimelinePaginationSequenceService = userTimelinePaginationSequenceService;\n this.userTimelineItemType = userTimelineItemType;\n this.userTimelineItemTitle = userTimelineItemTitle;\n }\n\n UserTimelineService.prototype._valid_fields = ['status', 'subject', 'description_diff', 'assigned_users', 'assigned_to', 'points', 'severity', 'priority', 'type', 'attachments', 'is_iocaine', 'content_diff', 'name', 'estimated_finish', 'estimated_start', 'blocked', 'moveInBacklog', 'milestone', 'color', 'due_date', 'due_date_reason'];\n\n UserTimelineService.prototype._invalid = [\n {\n check: function(timeline) {\n var fieldKey, value_diff;\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n if (value_diff) {\n fieldKey = value_diff.get('key');\n if (this._valid_fields.indexOf(fieldKey) === -1) {\n return true;\n } else if (fieldKey === 'attachments' && value_diff.get('value').get('new').size === 0) {\n return true;\n }\n }\n return false;\n }\n }, {\n check: function(timeline) {\n var event, value_diff;\n event = timeline.get('event_type').split(\".\");\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n return event[2] === 'change' && value_diff === void 0;\n }\n }, {\n check: function(timeline) {\n var event;\n event = timeline.get('event_type').split(\".\");\n return event[2] === 'delete';\n }\n }, {\n check: function(timeline) {\n var event;\n event = timeline.get('event_type').split(\".\");\n return event[1] === 'project' && event[2] === 'change';\n }\n }, {\n check: function(timeline) {\n return !!timeline.get(\"data\").get(\"comment_deleted\");\n }\n }, {\n check: function(timeline) {\n var event, value_diff;\n event = timeline.get('event_type').split(\".\");\n value_diff = timeline.get(\"data\").get(\"value_diff\");\n if (value_diff && event[1] === \"task\" && event[2] === \"change\" && value_diff.get(\"key\") === \"milestone\") {\n return timeline.get(\"data\").get(\"value_diff\").get(\"value\");\n }\n return false;\n }\n }\n ];\n\n UserTimelineService.prototype._isInValidTimeline = function(timeline) {\n return _.some(this._invalid, (function(_this) {\n return function(invalid) {\n return invalid.check.call(_this, timeline);\n };\n })(this));\n };\n\n UserTimelineService.prototype._parseEventType = function(event_type) {\n event_type = event_type.split(\".\");\n return {\n section: event_type[0],\n obj: event_type[1],\n type: event_type[2]\n };\n };\n\n UserTimelineService.prototype._getTimelineObject = function(timeline, event) {\n if (timeline.get('data').get(event.obj)) {\n return timeline.get('data').get(event.obj);\n }\n };\n\n UserTimelineService.prototype._attachExtraInfoToTimelineEntry = function(timeline, event, type) {\n var title;\n title = this.userTimelineItemTitle.getTitle(timeline, event, type);\n timeline = timeline.set('title_html', title);\n timeline = timeline.set('obj', this._getTimelineObject(timeline, event));\n if (type.description) {\n timeline = timeline.set('description', type.description(timeline));\n }\n if (type.member) {\n timeline = timeline.set('member', type.member(timeline));\n }\n if (timeline.getIn(['data', 'value_diff', 'key']) === 'attachments' && timeline.hasIn(['data', 'value_diff', 'value', 'new'])) {\n timeline = timeline.set('attachments', timeline.getIn(['data', 'value_diff', 'value', 'new']));\n }\n return timeline;\n };\n\n UserTimelineService.prototype._parseTimeline = function(response) {\n var newdata;\n newdata = Immutable.List();\n response.get('data').forEach((function(_this) {\n return function(item) {\n var data, event, newItem, values_diff;\n event = _this._parseEventType(item.get('event_type'));\n data = item.get('data');\n values_diff = data.get('values_diff');\n if (values_diff && values_diff.count()) {\n if (values_diff.has('is_blocked')) {\n values_diff = Immutable.Map({\n 'blocked': values_diff\n });\n }\n if (values_diff.has('milestone')) {\n if (event.obj === 'userstory') {\n values_diff = Immutable.Map({\n 'moveInBacklog': values_diff\n });\n } else {\n values_diff = values_diff.deleteIn(['values_diff', 'milestone']);\n }\n } else if (event.obj === 'milestone') {\n values_diff = Immutable.Map({\n 'milestone': values_diff\n });\n }\n return values_diff.forEach(function(value, key) {\n var newItem, obj;\n obj = Immutable.Map({\n key: key,\n value: value\n });\n newItem = item.setIn(['data', 'value_diff'], obj);\n newItem = newItem.deleteIn(['data', 'values_diff']);\n return newdata = newdata.push(newItem);\n });\n } else {\n newItem = item.deleteIn(['data', 'values_diff']);\n return newdata = newdata.push(newItem);\n }\n };\n })(this));\n return response.set('data', newdata);\n };\n\n UserTimelineService.prototype._addEntyAttributes = function(item) {\n var event, type;\n event = this._parseEventType(item.get('event_type'));\n type = this.userTimelineItemType.getType(item, event);\n return this._attachExtraInfoToTimelineEntry(item, event, type);\n };\n\n UserTimelineService.prototype.getProfileTimeline = function(userId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.users.getProfileTimeline(userId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n UserTimelineService.prototype.getUserTimeline = function(userId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.users.getUserTimeline(userId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n UserTimelineService.prototype.getProjectTimeline = function(projectId) {\n var config;\n config = {};\n config.fetch = (function(_this) {\n return function(page) {\n return _this.rs.projects.getTimeline(projectId, page).then(function(response) {\n return _this._parseTimeline(response);\n });\n };\n })(this);\n config.map = (function(_this) {\n return function(obj) {\n return _this._addEntyAttributes(obj);\n };\n })(this);\n config.filter = (function(_this) {\n return function(items) {\n return items.filterNot(function(item) {\n return _this._isInValidTimeline(item);\n });\n };\n })(this);\n return this.userTimelinePaginationSequenceService.generate(config);\n };\n\n return UserTimelineService;\n\n })(taiga.Service);\n\n angular.module(\"taigaUserTimeline\").service(\"tgUserTimelineService\", UserTimelineService);\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: isolate-click.directive.coffee\n */\n\n(function() {\n var IsolateClickDirective;\n\n IsolateClickDirective = function() {\n var link;\n link = function(scope, el, attrs) {\n return el.on('click', (function(_this) {\n return function(e) {\n return e.stopPropagation();\n };\n })(this));\n };\n return {\n link: link\n };\n };\n\n angular.module(\"taigaUtils\").directive(\"tgIsolateClick\", IsolateClickDirective);\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: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryDiffDirective, module;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryDiffDirective = function() {\n return {\n templateUrl: \"wiki/history/wiki-history-diff.html\",\n scope: {\n key: \"<\",\n diff: \"<\"\n }\n };\n };\n\n module.directive(\"tgWikiHistoryDiff\", WikiHistoryDiffDirective);\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: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryEntryDirective, module;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryEntryDirective = function() {\n var link;\n link = function(scope, el, attr) {\n return scope.singleHistoryEntry = scope.historyEntry.toJS();\n };\n return {\n link: link,\n templateUrl: \"wiki/history/wiki-history-entry.html\",\n scope: {\n historyEntry: \"<\"\n }\n };\n };\n\n module.directive(\"tgWikiHistoryEntry\", WikiHistoryEntryDirective);\n\n}).call(this);\n\n\n/*\n * Copyright (C) 2014-2015 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: wiki-history.controller.coffee\n */\n\n(function() {\n var WikiHistoryController, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaWikiHistory\");\n\n WikiHistoryController = (function() {\n WikiHistoryController.$inject = [\"tgWikiHistoryService\"];\n\n function WikiHistoryController(wikiHistoryService) {\n this.wikiHistoryService = wikiHistoryService;\n taiga.defineImmutableProperty(this, 'historyEntries', (function(_this) {\n return function() {\n return _this.wikiHistoryService.historyEntries;\n };\n })(this));\n this.toggle = false;\n }\n\n WikiHistoryController.prototype.initializeHistoryEntries = function(wikiId) {\n if (wikiId) {\n this.wikiHistoryService.setWikiId(wikiId);\n }\n return this.wikiHistoryService.loadHistoryEntries();\n };\n\n return WikiHistoryController;\n\n })();\n\n module.controller(\"WikiHistoryCtrl\", WikiHistoryController);\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: wiki-history.directive.coffee\n */\n\n(function() {\n var WikiHistoryDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module('taigaWikiHistory');\n\n WikiHistoryDirective = function() {\n var link;\n link = function(scope, el, attrs, ctrl) {\n return bindOnce(scope, 'vm.wikiId', function(value) {\n return ctrl.initializeHistoryEntries(value);\n });\n };\n return {\n scope: {},\n bindToController: {\n wikiId: \"<\"\n },\n controller: \"WikiHistoryCtrl\",\n controllerAs: \"vm\",\n templateUrl: \"wiki/history/wiki-history.html\",\n link: link\n };\n };\n\n module.directive(\"tgWikiHistory\", WikiHistoryDirective);\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: wiki-history.service.coffee\n */\n\n(function() {\n var WikiHistoryService, 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('taigaWikiHistory');\n\n WikiHistoryService = (function(superClass) {\n extend(WikiHistoryService, superClass);\n\n WikiHistoryService.$inject = [\"tgResources\", \"tgXhrErrorService\"];\n\n function WikiHistoryService(rs, xhrError) {\n this.rs = rs;\n this.xhrError = xhrError;\n this._wikiId = null;\n this._historyEntries = Immutable.List();\n taiga.defineImmutableProperty(this, \"wikiId\", (function(_this) {\n return function() {\n return _this._wikiId;\n };\n })(this));\n taiga.defineImmutableProperty(this, \"historyEntries\", (function(_this) {\n return function() {\n return _this._historyEntries;\n };\n })(this));\n }\n\n WikiHistoryService.prototype.setWikiId = function(wikiId) {\n this._wikiId = wikiId;\n return this._historyEntries = Immutable.List();\n };\n\n WikiHistoryService.prototype.loadHistoryEntries = function() {\n if (!this._wikiId) {\n return;\n }\n return this.rs.wikiHistory.getWikiHistory(this._wikiId).then((function(_this) {\n return function(historyEntries) {\n if (historyEntries.size) {\n return _this._historyEntries = historyEntries.reverse();\n }\n };\n })(this))[\"catch\"]((function(_this) {\n return function(xhr) {\n return _this.xhrError.response(xhr);\n };\n })(this));\n };\n\n _;\n\n return WikiHistoryService;\n\n })(taiga.Service);\n\n module.service(\"tgWikiHistoryService\", WikiHistoryService);\n\n}).call(this);\n\n//# sourceMappingURL=maps/app.js.map\n"]} \ No newline at end of file diff --git a/dist/v-1530768461671/js/maps/libs.js.map b/dist/v-1530768461671/js/maps/libs.js.map deleted file mode 100644 index 447d536..0000000 --- a/dist/v-1530768461671/js/maps/libs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["sha1-custom.js","murmurhash3_gc.js","bluebird.js","jquery.js","lodash.js","messageformat.js","angular.js","angular-route.js","angular-sanitize.js","angular-animate.js","angular-aria.js","angular-translate.js","angular-translate-loader-partial.js","angular-translate-loader-static-files.js","angular-translate-interpolation-messageformat.js","moment.js","checksley.js","pikaday.js","jquery.flot.js","jquery.flot.pie.js","jquery.flot.time.js","jquery.flot.axislabels.js","jquery.flot.tooltip.js","raven.js","l.js","ng-infinite-scroll.js","immutable.js","intro.js","dragula.js","awesomplete.js","medium-editor.js","to-markdown.js","markdown-it.js","prism.js","prism-custom-class.js","autolist.js","Autolinker.js","dom-autoscroller.js","dragula-drag-multiple.js","tg-repeat.js","medium-mention.js","markdown-it-lazy-headers.js"],"names":["hex_sha1","s","binb2hex","core_sha1","str2binb","length","chrsz","b64_sha1","binb2b64","str_sha1","binb2str","hex_hmac_sha1","key","data","core_hmac_sha1","b64_hmac_sha1","str_hmac_sha1","sha1_vm_test","x","len","w","Array","a","b","c","d","e","i","olda","oldb","oldc","oldd","olde","j","rol","t","safe_add","sha1_ft","sha1_kt","bkey","ipad","opad","hash","concat","y","lsw","msw","num","cnt","str","bin","mask","charCodeAt","String","fromCharCode","binarray","hex_tab","hexcase","charAt","tab","triplet","b64pad","murmurhash3_32_gc","seed","remainder","bytes","h1","h1b","c1","c2","k1","exports","module","define","amd","f","window","global","self","Promise","n","r","o","u","_dereq_","Error","code","l","call","1","any","promises","ret","SomePromiseArray","promise","setHowMany","setUnwrap","init","_SomePromiseArray","prototype","this","2","Async","_customScheduler","_isTickUsed","_lateQueue","Queue","_normalQueue","_haveDrainedQueues","_trampolineEnabled","drainQueues","_drainQueues","_schedule","schedule","AsyncInvokeLater","fn","receiver","arg","push","_queueTick","AsyncInvoke","AsyncSettlePromises","_pushOne","firstLineError","util","setScheduler","prev","hasCustomScheduler","enableTrampoline","disableTrampolineIfNecessary","hasDevTools","haveItemsQueued","fatalError","isNode","process","stderr","write","stack","exit","throwLater","arguments","setTimeout","invokeLater","invoke","settlePromises","_settlePromises","_drainQueue","queue","shift","_reset","./queue","./schedule","./util","3","INTERNAL","tryConvertToPromise","debug","calledBind","rejectThis","_","_reject","targetRejected","context","promiseRejectionQueued","bindingPromise","_then","bindingResolved","thisArg","_bitField","_resolveCallback","target","bindingRejected","bind","_propagateFrom","propagateFromFunction","_boundValue","boundValueFunction","maybePromise","_target","_setBoundTo","undefined","_setOnCancel","obj","_boundTo","_isBound","value","resolve","4","noConflict","bluebird","old","./promise","5","cr","Object","create","callerCache","getterCache","ensureMethod","methodName","message","classString","toString","TypeError","caller","pop","apply","namedGetter","indexedGetter","index","Math","max","getGetter","canEvaluate","isIdentifier","args","slice","get","propertyName","getter","isIndex","maybeGetter","6","PromiseArray","apiRejection","tryCatch","errorObj","async","_async","cancel","cancellation","_warn","child","_isCancellable","_cancelBy","_isFollowing","_followee","_cancelBranched","parent","_cancellationParent","_setWillBeCancelled","_branchHasCancelled","_branchesRemainingToCancel","_enoughBranchesHaveCancelled","canceller","_invokeOnCancel","_cancel","_setCancelled","_cancelPromises","_length","_unsetOnCancel","_onCancelField","isPending","_isCancelled","isCancellable","isCancelled","_doInvokeOnCancel","onCancelCallback","internalOnly","isArray","_attachExtraTrace","_resultCancelled","_onCancel","_invokeInternalOnCancel","7","NEXT_FILTER","catchFilter","instances","cb","boundTo","predicateLoop","item","matchesPredicate","isObject","keys","getKeys","./es5","8","Context","_trace","CapturedTrace","peekContext","createContext","longStackTraces","lastIndex","contextStack","_promiseCreated","_pushContext","_popContext","_peekContext","trace","deactivateLongStackTraces","activateLongStackTraces","Promise_pushContext","Promise_popContext","Promise_PeekContext","Promise_peekContext","Promise_promiseCreated","ctx","9","generatePromiseLifecycleEventObject","name","defaultFireEvent","cancellationExecute","executor","reject","onCancel","_attachCancellationCallback","cancellationAttachCancellationCallback","previousOnCancel","cancellationOnCancel","cancellationSetOnCancel","cancellationClearCancellationData","cancellationPropagateFrom","flags","branchesRemainingToCancel","bindingPropagateFrom","isFulfilled","longStackTracesCaptureStackTrace","longStackTracesAttachExtraTrace","error","ignoreSelf","canAttachTrace","_parent","attachExtraTrace","__stackCleaned__","parsed","parseStackAndMessage","notEnumerableProp","join","checkForgottenReturns","returnValue","promiseCreated","wForgottenReturn","_returnedNonUndefined","handlerLine","creatorLine","traceLines","split","cleanStack","line","nodeFramePattern","test","lineMatches","match","parseLinePattern","firstUserLine","msg","deprecated","replacement","warn","shouldUseOwnTrace","config","warnings","warning","Warning","activeFireEvent","formatAndLogError","reconstructStack","stacks","removeDuplicateOrEmptyJumps","splice","removeCommonRoots","current","currentLastIndex","currentLastLine","commonRootMeetPoint","isTraceLine","stackFramePattern","isInternalFrame","shouldIgnore","indentStackFrames","stackFramesAsArray","replace","title","isSoft","console","formatStack","printWarning","log","fireRejectionEvent","localHandler","reason","localEventFired","formatNonError","ruselessToString","newStr","JSON","stringify","snip","maxChars","substr","longStackTracesIsSupported","captureStackTrace","parseLineInfo","matches","parseLineInfoRegex","fileName","parseInt","setBounds","lastLineError","firstFileName","lastFileName","firstStackLines","lastStackLines","firstIndex","result","bluebirdFramePattern","info","_promisesCreated","uncycle","unhandledRejectionHandled","possiblyUnhandledRejection","getDomain","_getDomain","debugging","env","suppressUnhandledRejections","_ensurePossibleRejectionHandled","_setRejectionIsUnhandled","_notifyUnhandledRejection","_notifyUnhandledRejectionIsHandled","_setReturnedNonUndefined","_isRejectionUnhandled","_settledValue","_setUnhandledRejectionIsNotified","_unsetUnhandledRejectionIsNotified","_isUnhandledRejectionNotified","_unsetRejectionIsUnhandled","onPossiblyUnhandledRejection","domain","domainBind","onUnhandledRejectionHandled","disableLongStackTraces","Promise_captureStackTrace","_captureStackTrace","Promise_attachExtraTrace","hasLongStackTraces","fireDomEvent","CustomEvent","event","dispatchEvent","domEvent","toLowerCase","detail","cancelable","Event","document","createEvent","initCustomEvent","fireGlobalEvent","emit","method","eventToObjectGenerator","promiseFulfilled","promiseRejected","promiseResolved","promiseCancelled","promiseChained","unhandledRejection","rejectionHandled","globalEventFired","domEventFired","opts","warningsOption","_clearCancellationData","_execute","monitoring","_fireEvent","handler","inherits","nodes","stackToIndex","node","currentStack","cycleEdgeNode","currentChildLength","v8stackFramePattern","v8stackFormatter","stackTraceLimit","ignoreUntil","err","indexOf","hasStackAfterThrow","isTTY","color","./errors","10","returner","thrower","thenReturn","thenThrow","catchThrow","_reason","caught","catchReturn","_value","11","promiseAllThis","PromiseAll","PromiseMapSeries","PromiseReduce","reduce","all","each","mapSeries","12","subError","nameProperty","defaultMessage","SubError","constructor","OperationalError","cause","_TypeError","_RangeError","es5","Objectfreeze","freeze","CancellationError","TimeoutError","AggregateError","RangeError","methods","defineProperty","configurable","writable","enumerable","level","indent","lines","errorTypes","RejectionError","13","isES5","getDescriptor","getOwnPropertyDescriptor","names","getOwnPropertyNames","getPrototypeOf","propertyIsWritable","prop","descriptor","set","has","hasOwnProperty","proto","ObjectKeys","ObjectGetDescriptor","ObjectDefineProperty","desc","ObjectFreeze","ObjectGetPrototypeOf","ArrayIsArray","14","PromiseMap","map","filter","options","15","PassThroughHandlerContext","type","called","cancelPromise","FinallyHandlerCancelReaction","finallyHandler","checkCancel","succeed","fail","reasonOrValue","isFinallyHandler","isRejected","_passThrough","success","then","lastly","tap","tapCatch","handlerOrPredicate","catchInstances","./catch_filter","16","Proxyable","promiseFromYieldHandler","yieldHandlers","traceParent","PromiseSpawn","generatorFunction","yieldHandler","internal","_finallyPromise","_promise","_stack","_generatorFunction","_receiver","_generator","_yieldHandlers","_yieldedPromise","_cancellationPhase","errors","_isResolved","_cleanup","_fulfill","_promiseCancelled","implementsReturn","coroutine","returnSentinel","_continue","_promiseFulfilled","next","_promiseRejected","_run","_rejectCallback","done","bitField","_proxy","PromiseSpawn$","generator","spawn","addYieldHandler","17","last","spread","18","MappingPromiseArray","limit","_filter","constructor$","_callback","_preservedValues","_limit","_inFlight","_queue","_asyncInit","concurrency","isFinite","_init$","_init","values","_values","preservedValues","callback","totalResolved","_totalResolved","_resolve","booleans","19","_resolveFromSyncValue","attempt","20","isUntypedError","wrapAsOperationalError","rErrorKey","markAsOriginatingFromRejection","nodebackForPromise","multiArgs","wrapped","maybeWrapAsError","21","spreadAdapter","val","nodeback","successAdapter","errorAdapter","newReason","asCallback","nodeify","adapter","22","check","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromExecutor","deferResolve","v","deferReject","fillTypes","p","makeSelfResolutionError","reflectHandler","PromiseInspection","UNDEFINED_BINDING","APPLY","reflect","didFulfill","didReject","_setIsFinal","toJSON","fulfillmentValue","rejectionReason","originatesFromRejection","getNewLibraryCopy","is","fromNode","fromCallback","_isFateSealed","_setAsyncGuaranteed","cast","_setFulfilled","fulfilled","rejected","internalData","haveInternalData","settler","_settlePromiseCtx","_settlePromiseLateCancellationObserver","_addCallbacks","_setLength","_setRejected","_setFollowing","_isFinal","_unsetCancelled","_receiverAt","_promiseAt","_fulfillmentHandlerAt","_rejectionHandlerAt","_migrateCallback0","follower","fulfill","_migrateCallbackAt","base","proxyable","shouldBind","_setFollowee","synchronous","ignoreNonErrorWarnings","ensureErrorObject","hasStack","_settlePromiseFromHandler","_settlePromise","isPromise","asyncGuaranteed","_settlePromise0","_clearCallbackDataAtIndex","_fulfillPromises","_rejectPromises","defer","pending","version","toFastProperties","./any.js","./async","./bind","./call_get.js","./cancel","./context","./debuggability","./direct_resolve","./each.js","./filter.js","./finally","./generators.js","./join","./map.js","./method","./nodeback","./nodeify.js","./promise_array","./promisify.js","./props.js","./race.js","./reduce.js","./settle.js","./some.js","./synchronous_inspection","./thenables","./timers.js","./using.js","23","toResolutionValue","Map","resolveValueIfEmpty","asArray","_resolveEmptyArray","_iterate","getActualLength","shouldCopyValues","isResolved","24","propsFilter","noCopyPropsPattern","isPromisified","__isPromisified__","hasPromisified","suffix","getDataPropertyOrDefault","defaultPromisified","checkValid","suffixRegexp","keyWithoutAsyncSuffix","promisifiableMethods","inheritedDataKeys","passesDefaultFilter","defaultFilter","makeNodePromisifiedClosure","__","promisified","THIS","defaultThis","withAppended","promisifyAll","promisifier","RegExp","escapeIdentRegex","promisifiedKey","makeNodePromisified","promisify","makeNodePromisifiedEval","defaultSuffix","noCopyProps","copyDescriptors","isClass","25","PropertiesPromiseArray","entries","isMap","Es6Map","mapToEntries","_isMap","props","castValue","extractEntry","size","forEach","entriesToMap","keyOffset","26","arrayMove","src","srcIndex","dst","dstIndex","capacity","_capacity","_front","_willBeOverCapacity","_checkCapacity","wrapMask","front","_resizeTo","oldCapacity","moveItemsCount","27","race","raceLater","array","28","ReductionPromiseArray","initialValue","_each","_fn","_initialValue","_currentCancellable","_eachValues","completed","valueOrReason","gotAccum","accum","_gotAccum","gotValue","_eachComplete","sender","_resultCancelled$","29","noAsyncScheduler","NativePromise","getNativePromise","MutationObserver","GlobalSetImmediate","setImmediate","ProcessNextTick","nextTick","isRecentNode","nativePromise","navigator","standalone","cordova","div","createElement","attributes","toggleScheduled","div2","o2","classList","toggle","observe","scheduleToggle","disconnect","30","SettledPromiseArray","_promiseResolved","inspection","_settledValueField","settle","31","_howMany","_unwrap","_initialized","some","howMany","CANCELLATION","isArrayResolved","_canPossiblyFulfill","_getRangeError","count","_addFulfilled","_fulfilled","_addRejected","_checkOutcome","_rejected","32","__isCancelled","33","getThen","isAnyBluebirdPromise","doThenable","doGetThen","hasProp","34","HandleWrapper","handle","successClear","clearTimeout","failureClear","afterValue","delay","ms","afterTimeout","timeout","handleWrapper","35","castPreservingDisposable","thenable","_isDisposable","_getDisposer","_setDisposable","dispose","resources","iterator","tryDispose","Disposer","_data","_context","FunctionDisposer","maybeUnwrapDisposer","isDisposer","ResourceList","NULL","resource","doDispose","_unsetDisposable","using","input","spreadArgs","disposer","reflectedResources","resultPromise","inspections","_disposer","36","tryCatcher","tryCatchTarget","isPrimitive","maybeError","safeToString","appendee","defaultValue","hasMethods","hasMethodsOtherThanConstructor","hasThisAssignmentAndStaticMethods","thisAssignmentPattern","FakeConstructor","rident","filledRange","prefix","isError","ignore","from","to","hasEnvVariables","globalObject","Child","Parent","T","excludedPrototypes","Function","isExcludedProto","visitedKeys","enumeration","Symbol","ArrayFrom","itResult","it","chrome","loadTimes","versions","Number","P","factory","noGlobal","isArrayLike","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","nodeType","risSimple","sibling","cur","dir","createOptions","object","rnotwhite","flag","removeEventListener","ready","Data","expando","uid","dataAttr","rmultiDash","getAttribute","rbrace","parseJSON","dataUser","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","tag","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","dataPriv","buildFragment","scripts","selection","ignored","tmp","wrap","contains","fragment","createDocumentFragment","rhtml","appendChild","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","on","types","selector","one","origFn","off","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","extend","fixInput","rcheckableType","checked","domManip","collection","first","hasScripts","doc","iNoClone","support","checkClone","rchecked","eq","html","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","cssPrefixes","setPositiveNumber","subtract","augmentWidthOrHeight","extra","isBorderBox","styles","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","isHidden","Tween","easing","createFxNow","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","hooks","oldfire","checkDisplay","anim","orig","dataShow","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","hide","propFilter","specialEasing","camelCase","cssHooks","expand","properties","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","deep","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","contents","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","conv","responseFields","dataFilter","state","buildParams","traditional","rbracket","getWindow","defaultView","arr","class2type","hasOwn","rtrim","rmsPrefix","rdashAlpha","fcamelCase","letter","jquery","toArray","pushStack","prevObject","sort","copy","copyIsArray","isPlainObject","random","isReady","noop","isNumeric","realStringObj","script","indirect","eval","trim","text","head","string","makeArray","results","second","invert","callbackInverse","callbackExpect","Date","Sizzle","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","rsibling","testContext","qsaError","select","createCache","cache","Expr","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","whitespace","identifier","pseudos","rwhitespace","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","unloadHandler","els","hasCompare","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","innerText","lang","elemLang","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","siblings","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","fns","newDefer","tuple","returned","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","stored","camel","removeData","_removeData","camelKey","dequeue","startLength","setter","clearQueue","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","noBubble","trigger","blur","click","beforeunload","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","getBoundingClientRect","left","margin","padding","border","expanded","parts","propHooks","eased","step","linear","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","time","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","rfocusable","rclickable","removeProp","tabindex","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","andSelf","_jQuery","_$","$","arrayAggregator","iteratee","accumulator","arrayEach","arrayEachRight","arrayEvery","predicate","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiToArray","asciiWords","reAsciiWord","baseFindKey","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","NAN","baseProperty","basePropertyOf","baseReduce","baseSortBy","comparer","baseTimes","baseToPairs","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","placeholder","escapeStringChar","chr","stringEscapes","getValue","hasUnicode","reHasUnicode","hasUnicodeWord","reHasUnicodeWord","iteratorToArray","mapToArray","overArg","transform","replaceHolders","PLACEHOLDER","safeGet","setToArray","setToPairs","strictLastIndexOf","stringSize","unicodeSize","asciiSize","stringToArray","unicodeToArray","reUnicode","unicodeWords","reUnicodeWord","VERSION","LARGE_ARRAY_SIZE","CORE_ERROR_TEXT","FUNC_ERROR_TEXT","HASH_UNDEFINED","MAX_MEMOIZE_SIZE","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","HOT_COUNT","HOT_SPAN","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","LAZY_WHILE_FLAG","INFINITY","MAX_SAFE_INTEGER","MAX_INTEGER","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","HALF_MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","asyncTag","boolTag","dateTag","domExcTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","weakSetTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrim","reTrimStart","reTrimEnd","reWrapComment","reWrapDetails","reSplitDetails","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","contextProps","templateCounter","typedArrayTags","cloneableTags","deburredLetters","À","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ç","ç","Ð","ð","È","É","Ê","Ë","è","é","ê","ë","Ì","Í","Î","Ï","ì","í","î","ï","Ñ","ñ","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","Ù","Ú","Û","Ü","ù","ú","û","ü","Ý","ý","ÿ","Æ","æ","Þ","þ","ß","Ā","Ă","Ą","ā","ă","ą","Ć","Ĉ","Ċ","Č","ć","ĉ","ċ","č","Ď","Đ","ď","đ","Ē","Ĕ","Ė","Ę","Ě","ē","ĕ","ė","ę","ě","Ĝ","Ğ","Ġ","Ģ","ĝ","ğ","ġ","ģ","Ĥ","Ħ","ĥ","ħ","Ĩ","Ī","Ĭ","Į","İ","ĩ","ī","ĭ","į","ı","Ĵ","ĵ","Ķ","ķ","ĸ","Ĺ","Ļ","Ľ","Ŀ","Ł","ĺ","ļ","ľ","ŀ","ł","Ń","Ņ","Ň","Ŋ","ń","ņ","ň","ŋ","Ō","Ŏ","Ő","ō","ŏ","ő","Ŕ","Ŗ","Ř","ŕ","ŗ","ř","Ś","Ŝ","Ş","Š","ś","ŝ","ş","š","Ţ","Ť","Ŧ","ţ","ť","ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","ũ","ū","ŭ","ů","ű","ų","Ŵ","ŵ","Ŷ","ŷ","Ÿ","Ź","Ż","Ž","ź","ż","ž","IJ","ij","Œ","œ","ʼn","ſ","htmlEscapes","&","<","\"","'","htmlUnescapes","&","<",">",""","'","\\","\n","\r","
","
","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","binding","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","deburrLetter","escapeHtmlChar","unescapeHtmlChar","runInContext","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","lazyClone","copyArray","lazyReverse","lazyValue","isArr","isRight","arrLength","getView","iteratees","iterLength","takeCount","nativeMin","baseWrapperValue","outer","iterIndex","Hash","clear","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArg","isArguments","isBuff","isBuffer","isType","skipIndexes","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","baseAssignValue","assignValue","objValue","baseAggregator","baseEach","baseAssign","copyObject","baseAssignIn","keysIn","baseAt","paths","skip","number","lower","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","initCloneByTag","stacked","subValue","keysFunc","getAllKeysIn","getAllKeys","baseConforms","baseConformsTo","baseDelay","baseDifference","includes","isCommon","valuesLength","valuesIndex","baseEvery","baseExtremum","isSymbol","baseFill","toInteger","toLength","baseFilter","baseFlatten","depth","isStrict","isFlattenable","baseForOwn","baseFor","baseForOwnRight","baseForRight","baseFunctions","baseGet","path","castPath","toKey","baseGetAllKeys","symbolsFunc","baseGetTag","symToStringTag","getRawTag","objectToString","baseGt","other","baseHas","baseHasIn","baseInRange","nativeMax","baseIntersection","arrays","othLength","othIndex","caches","maxLength","Infinity","seen","baseInverter","baseInvoke","baseIsArguments","baseIsArrayBuffer","baseIsDate","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsNative","isMasked","reIsNative","toSource","baseIsRegExp","baseIsSet","baseIsTypedArray","isLength","baseIteratee","identity","baseMatchesProperty","baseMatches","property","baseKeys","isPrototype","nativeKeys","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","baseMergeDeep","newValue","mergeFunc","isTyped","isArrayLikeObject","cloneTypedArray","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","criteria","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","indexes","previous","baseUnset","nativeFloor","nativeRandom","baseRange","nativeCeil","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","symbolToString","baseUniq","createSet","seenIndex","baseUpdate","updater","baseWhile","isDrop","actions","action","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castSlice","buffer","allocUnsafe","cloneArrayBuffer","arrayBuffer","byteLength","Uint8Array","cloneDataView","dataView","byteOffset","cloneRegExp","regexp","cloneSymbol","symbol","symbolValueOf","typedArray","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","getSymbols","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","sources","guard","isIterateeCall","createBaseEach","iterable","createBaseFor","createBind","wrapper","Ctor","isBind","createCtor","createCaseFirst","trailing","createCompounder","words","deburr","thisBinding","baseCreate","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","getData","isLaziable","plant","partialsRight","holdersRight","argPos","ary","holdersCount","newHolders","isBindKey","reorder","isFlip","isAry","createInverter","toIteratee","createMathOperation","createOver","arrayFunc","createPadding","chars","charsLength","createPartial","createRange","toFinite","createRelationalOperation","toNumber","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","newData","setData","setWrapToString","createRound","precision","pair","createToPairs","createWrap","mergeData","baseSetData","customDefaultsAssignIn","objectProto","customDefaultsMerge","customOmitClone","isPartial","arrValue","othValue","compared","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","flatten","realNames","otherFunc","isKeyable","getNative","isOwn","unmasked","nativeObjectToString","transforms","getWrapDetails","hasPath","hasFunc","getPrototype","insertWrapDetails","details","spreadableSymbol","maskSrcKey","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","reference","updateWrapDetails","shortOut","lastCalled","stamp","nativeNow","rand","funcToString","chunk","compact","drop","dropRight","dropRightWhile","dropWhile","fill","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","separator","nativeJoin","lastIndexOf","nth","pullAll","pullAllBy","pullAllWith","nativeReverse","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","uniq","uniqBy","uniqWith","unzip","group","unzipWith","zipObject","zipObjectDeep","chain","interceptor","wrapperChain","wrapperCommit","wrapperNext","wrapperToIterator","wrapperPlant","wrapperReverse","wrapperValue","every","flatMap","flatMapDeep","flatMapDepth","forEachRight","baseEachRight","isString","orderBy","reduceRight","negate","sample","sampleSize","shuffle","curry","curryRight","debounce","invokeFunc","lastArgs","lastThis","lastInvokeTime","leadingEdge","timerExpired","leading","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","timeWaiting","maxing","maxWait","shouldInvoke","trailingEdge","flush","debounced","isInvoking","flip","resolver","memoized","Cache","rest","throttle","unary","partial","castArray","cloneWith","cloneDeep","cloneDeepWith","conformsTo","isBoolean","isElement","isEmpty","isEqual","isEqualWith","nativeIsFinite","isInteger","isMatch","isMatchWith","isNumber","isNative","isMaskable","isNull","isNil","objectCtorString","isSafeInteger","isUndefined","isWeakMap","isWeakSet","symIterator","sign","valueOf","isBinary","toSafeInteger","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","functions","functionsIn","mapKeys","mapValues","omitBy","pickBy","setWith","isArrLike","unset","update","updateWith","valuesIn","clamp","inRange","floating","capitalize","upperFirst","endsWith","escape","escapeRegExp","pad","strLength","padEnd","padStart","radix","nativeParseInt","repeat","startsWith","template","templateSettings","assignInWith","isEscaping","isEvaluating","imports","importsKeys","importsValues","interpolate","reDelimiters","evaluate","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","variable","toLower","toUpper","trimEnd","trimStart","omission","search","substring","newEnd","unescape","cond","conforms","constant","defaultTo","matchesProperty","mixin","methodNames","oldDash","nthArg","propertyOf","stubArray","stubFalse","stubObject","stubString","stubTrue","times","toPath","uniqueId","idCounter","maxBy","mean","meanBy","min","minBy","sum","sumBy","defaults","pick","arrayProto","funcProto","coreJsData","IE_PROTO","Buffer","objectCreate","propertyIsEnumerable","isConcatSpreadable","toStringTag","ctxClearTimeout","ctxNow","ctxSetTimeout","ceil","floor","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","DataView","Set","WeakMap","metaMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","baseSetToString","castRest","ArrayBuffer","ctorString","quote","subString","difference","differenceBy","differenceWith","intersection","intersectionBy","intersectionWith","pull","pullAt","union","unionBy","unionWith","without","xor","xorBy","xorWith","zip","zipWith","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","partition","sortBy","bindKey","overArgs","funcsLength","partialRight","rearg","gte","lte","assign","assignIn","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","invertBy","omit","toPairs","toPairsIn","word","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","bindAll","flow","flowRight","methodOf","over","overEvery","overSome","range","rangeRight","augend","addend","divide","dividend","divisor","multiply","multiplier","multiplicand","round","minuend","subtrahend","entriesIn","extendWith","eachRight","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","commit","g","MessageFormat","require","Compiler","mf","lc","locales","runtime","formatters","reserved","propname","jkey","funcname","bidiMarkText","locale","isLocaleRTL","rtlLanguages","mark","cases","plural","needOther","hasCustomPluralFuncs","tok","bidiSupport","strictNumberSign","intlSupport","fmt","plurals","pc","cardinal","ordinal","lcKey","messageformat-parser","reserved-words","getPluralFunc","noPluralKeyChecks","pluralCategories","pf","pluralFuncs","Runtime","defaultLocale","currency","date","day","month","year","weekday","toLocaleDateString","minute","hour","timeZoneName","toLocaleTimeString","addFormatters","disablePluralKeyChecks","setBiDiSupport","enable","setIntlSupport","setStrictNumberSign","setStrictNumber","messages","_stringify","k","compiler","rt","rtStr","objStr","./compiler","./runtime","make-plural/umd/pluralCategories","make-plural/umd/plurals","defaultNumber","strictNumber","lcfunc","isOrdinal","funcStr","fmtKeys","_isBuffer","pToString","isView","arrbuf","getName","functionsHaveNames","regex","something","rawname","getMessage","actual","expected","stackStartFunction","AssertionError","ok","_deepEqual","strict","memos","getTime","multiline","ignoreCase","Float32Array","Float64Array","actualIndex","objEquiv","actualVisitedObjects","aIsArgs","bIsArgs","pSlice","ka","objectKeys","kb","notDeepStrictEqual","expectedException","isPrototypeOf","_tryBlock","block","_throws","shouldThrow","userProvidedMessage","isUnwantedException","isUnexpectedException","generatedMessage","out","fn_name","next_line","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","strictEqual","notStrictEqual","doesNotThrow","ifError","util/","_cc","af","ak","am","ar","ars","as","asa","ast","az","be","bem","bez","bg","bh","bm","bn","bo","br","brx","bs","ca","ce","cgg","ckb","cs","cy","da","de","dsb","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gsw","gu","guw","gv","ha","haw","he","hi","hr","hsb","hu","hy","ig","ii","in","io","iu","iw","ja","jbo","jgo","ji","jmc","jv","jw","kab","kaj","kcg","kde","kea","kk","kkj","kl","km","kn","ko","ks","ksb","ksh","ku","kw","ky","lag","lb","lg","lkt","ln","lo","lv","mas","mg","mgo","mk","ml","mn","mo","mr","mt","my","nah","naq","nb","nd","ne","nl","nn","nnh","no","nqo","nr","nso","ny","nyn","om","or","os","pa","pap","pl","prg","ps","pt","pt-PT","rm","ro","rof","ru","rwk","sah","saq","sd","sdh","se","seh","ses","sg","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","sn","so","sq","sr","ss","ssy","st","sv","sw","syr","ta","te","teo","ti","tig","tk","tl","tn","ts","tzm","ug","uk","ur","uz","ve","vi","vo","vun","wa","wae","wo","xh","xog","yi","yo","yue","zh","zu","_cp","ord","v0","t0","n100","i10","i100","i1000","n10","n1000000","f10","f100","peg$subclass","ctor","peg$SyntaxError","found","peg$parse","peg$literalExpectation","peg$classExpectation","inverted","peg$endExpectation","peg$otherExpectation","description","peg$computePosDetails","peg$posDetailsCache","column","peg$computeLocation","startPos","endPos","startPosDetails","endPosDetails","peg$fail","peg$currPos","peg$maxFailPos","peg$maxFailExpected","peg$buildStructuredError","buildMessage","peg$parsestart","s0","s1","peg$parsetoken","peg$FAILED","s2","peg$parseargument","peg$parseselect","peg$parseplural","peg$parsefunction","peg$c0","peg$silentFails","peg$c1","peg$savedPos","peg$c2","peg$parsechar","peg$c3","s3","s4","s5","peg$c4","peg$c5","peg$parse_","peg$parseid","peg$c6","peg$c7","peg$c8","s6","s7","s8","s9","s10","s11","s12","s13","peg$c9","peg$c10","peg$c11","peg$c12","peg$parseselectCase","peg$c13","s14","peg$c14","peg$c15","peg$c16","peg$c17","peg$parseoffset","peg$parsepluralCase","peg$c18","peg$parsefunctionParams","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$parseparamDefault","peg$parseparamcharsDefault","peg$parseparamStrict","peg$parseparamcharsStrict","peg$parsecaseTokens","peg$c24","peg$parsepluralKey","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$parsedigits","peg$c30","peg$c31","peg$c32","peg$parsefunctionParamsDefault","peg$c33","peg$c34","peg$parsefunctionParamsStrict","peg$c35","peg$parsedoubleapos","peg$c36","peg$c37","peg$c38","peg$parseinapos","peg$c39","peg$c40","peg$parsequotedCurly","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$parsequotedFunctionParams","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$parsehexDigit","peg$c65","peg$parseparamcharsCommon","peg$c66","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$result","peg$startRuleFunctions","peg$startRuleFunction","ls","strictFunctionParams","h2","h3","h4","startRule","hex","ch","literalEscape","classEscape","describeExpectation","expectation","DESCRIBE_EXPECTATION_FNS","describeExpected","descriptions","describeFound","literal","escapedParts","SyntaxError","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","browser","argv","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","./reserved-words","_hash","res","keyword","DIALECTS","es3","es2015","es7","es6","default","KEYWORDS","dialect","superCtor","super_","TempCtor","readUInt8","stylize","stylizeNoColor","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","arrayToHash","recurseTimes","primitive","formatPrimitive","visibleKeys","formatError","braces","toUTCString","output","formatArray","formatProperty","reduceToSingleString","numLinesEst","isNullOrUndefined","re","timestamp","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","format","objects","deprecate","warned","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","debuglog","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","boolean","null","origin","./support/isBuffer","_process","minErr","ErrorConstructor","paramPrefix","SKIP_INDEXES","templateArgs","shiftedIndex","toDebugString","jqLite","isBlankObject","forEachSorted","reverseParams","iteratorFn","nextUid","setHashKey","h","$$hashKey","baseExtend","objs","jj","toInt","inherit","valueFn","hasCustomToString","isDefined","isScope","$evalAsync","$watch","isFile","isFormData","isBlob","isPromiseLike","TYPED_ARRAY_REGEXP","makeMap","items","nodeName_","element","lowercase","arrayRemove","destination","copyRecurse","copyElement","stackSource","stackDest","ngMinErr","needsRecurse","copyType","copied","shallowCopy","equals","o1","keySet","t1","t2","createMap","array1","array2","sliceArgs","startIndex","curryArgs","toJsonReplacer","toJson","pretty","fromJson","timezoneToOffset","timezone","fallback","ALL_COLONS","requestedTimezoneOffset","addDateMinutes","minutes","setMinutes","convertTimezoneToLocal","dateTimezoneOffset","getTimezoneOffset","timezoneOffset","startingTag","elemHtml","NODE_TYPE_TEXT","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","splitPoint","toKeyValue","arrayValue","encodeUriQuery","encodeUriSegment","pctEncodeSpaces","getNgAttribute","ngAttr","ngAttrPrefixes","angularInit","bootstrap","appElement","hasAttribute","candidate","querySelector","strictDi","modules","defaultConfig","doBootstrap","injector","$provide","debugInfoEnabled","$compileProvider","createInjector","scope","$apply","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","extraModules","resumeDeferredBootstrap","reloadWithDebugInfo","reload","getTestability","rootElement","snake_case","SNAKE_CASE_REGEXP","bindJQuery","originalCleanData","bindJQueryFired","jqName","jq","JQLitePrototype","isolateScope","controller","inheritedData","$destroy","JQLite","assertArg","assertArgFn","acceptArrayAnnotation","assertNotHasOwnProperty","bindFnToScope","lastInstance","getBlockNodes","blockNodes","endNode","setupModuleLoader","ensure","$injectorMinErr","$$minErr","requires","configFn","provider","insertMethod","invokeQueue","moduleInstance","invokeLaterAndSetModuleName","recipeName","factoryFunction","$$moduleName","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","decorator","directive","component","serializeObject","publishExternalAPI","uppercase","callbacks","counter","$$csp","csp","angularModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","htmlAnchorDirective","inputDirective","textarea","form","formDirective","scriptDirective","selectDirective","styleDirective","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","patternDirective","ngPattern","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$animateCss","$CoreAnimateCssProvider","$$animateJs","$$CoreAnimateJsProvider","$$animateQueue","$$CoreAnimateQueueProvider","$$AnimateRunner","$$AnimateRunnerFactoryProvider","$$animateAsyncRun","$$AnimateAsyncRunFactoryProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$$forceReflow","$$ForceReflowProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpParamSerializer","$HttpParamSerializerProvider","$httpParamSerializerJQLike","$HttpParamSerializerJQLikeProvider","$httpBackend","$HttpBackendProvider","$xhrFactory","$xhrFactoryProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$$q","$$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$templateRequest","$TemplateRequestProvider","$$testability","$$TestabilityProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$jqLite","$$jqLiteProvider","$$HashMap","$$HashMapProvider","$$cookieReader","$$CookieReaderProvider","jqNextId","jqId","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","jqLiteIsTextNode","HTML_REGEXP","jqLiteAcceptsData","NODE_TYPE_ELEMENT","NODE_TYPE_DOCUMENT","jqLiteHasData","jqCache","ng339","jqLiteCleanData","jqLiteRemoveData","jqLiteBuildFragment","TAG_NAME_REGEXP","XHTML_TAG_REGEXP","jqLiteParseHTML","SINGLE_TAG_REGEXP","jqLiteWrapNode","argIsString","jqLiteMinErr","jqLiteAddNodes","jqLiteClone","jqLiteDealoc","onlyDescendants","descendants","jqLiteOff","unsupported","expandoStore","jqLiteExpandoStore","removeHandler","listenerFns","removeEventListenerFn","MOUSE_EVENT_MAP","expandoId","createIfNecessary","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","jqLiteRemoveClass","cssClasses","cssClass","jqLiteAddClass","existingClasses","jqLiteController","jqLiteInheritedData","NODE_TYPE_DOCUMENT_FRAGMENT","jqLiteEmpty","jqLiteRemove","jqLiteDocumentLoaded","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","getAliasedAttrName","ALIASED_ATTR","createEventHandler","eventHandler","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","handlerWrapper","specialHandlerWrapper","defaultHandlerWrapper","specialMouseHandlerWrapper","jqLiteContains","$get","hashKey","nextUidFn","objType","HashMap","isolatedUid","put","extractArgs","fnText","STRIP_COMMENTS","ARROW_ARG","FN_ARGS","anonFn","annotate","$inject","argDecl","FN_ARG_SPLIT","FN_ARG","underscore","modulesToLoad","supportObject","provider_","providerInjector","instantiate","providerCache","providerSuffix","enforceReturnValue","instanceInjector","factoryFn","enforce","$injector","instanceCache","serviceName","decorFn","origProvider","orig$get","origInstance","$delegate","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","createInternalInjector","getService","INSTANTIATING","injectionArgs","locals","$$annotate","msie","Type","protoInstanceInjector","autoScrollingEnabled","disableAutoScrolling","getFirstAnchor","getYOffset","scroll","yOffset","bottom","scrollIntoView","elemTop","scrollBy","elm","newVal","oldVal","mergeClasses","extractElementNode","ELEMENT_NODE","splitClasses","klass","prepareAnimateOptions","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","getHash","cacheStateAndFireUrlChange","pendingLocation","cacheState","fireUrlChange","cachedState","getCurrentState","lastCachedState","lastBrowserUrl","lastHistoryState","urlChangeListeners","listener","history","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","baseElement","sameState","sameBase","stripHash","urlChangeInit","onUrlChange","$$applicationDestroyed","$$checkUrlChange","baseHref","timeoutId","deferId","cacheFactory","cacheId","refresh","freshEnd","staleEnd","link","nextEntry","prevEntry","stats","MAX_VALUE","lruHash","lruEntry","removeAll","destroy","UNINITIALIZED_VALUE","$$sanitizeUriProvider","parseIsolateBindings","directiveName","isController","LOCAL_REGEXP","bindings","definition","scopeName","bindingCache","$compileMinErr","mode","optional","attrName","parseDirectiveBindings","bindToController","controllerAs","identifierForController","assertValidDirectiveName","hasDirectives","Suffix","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","REQUIRE_PREFIX_REGEXP","EVENT_HANDLER_ATTR_REGEXP","registerDirective","directiveFactory","directives","priority","restrict","makeInjectable","tElement","tAttrs","$element","$attrs","templateUrl","ddo","transclude","aHrefSanitizationWhitelist","imgSrcSanitizationWhitelist","TTL","onChangesTtl","flushOnChangesQueue","onChangesQueue","Attributes","attributesToCopy","$attr","$$element","setSpecialAttr","specialAttrHolder","attribute","removeNamedItem","setNamedItem","safeAddClass","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","NOT_EMPTY","domNode","compositeLinkFn","compileNodes","$$addScopeClass","cloneConnectFn","needsNewScope","$parent","$new","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","detectNamespaceForChildElements","$linkNode","wrapTemplate","controllerName","instance","$$addScopeInfo","parentElement","nodeList","$rootElement","nodeLinkFn","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","nodeListLength","linkFns","transcludeOnThisElement","createBoundTranscludeFn","templateOnThisElement","linkFnFound","collectDirectives","applyDirectivesToNode","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","boundSlots","$$slots","slotName","attrsMap","addDirective","directiveNormalize","nName","ngAttrName","isNgAttr","nAttrs","attrStartName","attrEndName","NG_ATTR_BINDING","PREFIX_REGEXP","multiElementMatch","MULTI_ELEMENT_DIR_RE","directiveIsMultiElement","addAttrInterpolateDirective","animVal","addTextInterpolateDirective","NODE_TYPE_COMMENT","byPriority","groupScan","attrStart","attrEnd","groupElementsLinkFnWrapper","linkFn","compilationGenerator","eager","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","elementControllers","scopeToChild","slotTranscludeFn","controllerScope","scopeBindingInfo","newScopeDirective","isSlotFilled","controllerDirectives","setupControllers","templateDirective","$$originalDirective","$$isolateBindings","initializeDirectiveBindings","removeWatches","$on","controllerDirective","$$bindings","bindingInfo","controllerResult","getControllers","controllerInstance","$onChanges","initialChanges","$onInit","$onDestroy","invokeLinkFn","$postLink","$template","directiveValue","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","replaceDirective","childTranscludeFn","didScanForMultipleTransclusion","mightHaveMultipleTransclusionError","$$start","$$end","assertNoDuplicate","$$tlb","candidateDirective","scanningIndex","$$createComment","$$parentNode","slots","slotMap","filledSlots","elementSelector","filled","$$newScope","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectiveScope","mergeTemplateAttributes","compileTemplateUrl","inheritType","dataName","controllerKey","$scope","$transclude","newScope","tDirectives","startAttrName","endAttrName","multiElement","srcAttr","dstAttr","$set","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","linkQueue","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","ignoreChildLinkFn","previousDirective","wrapModuleNameIfDefined","moduleName","interpolateFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","$$addBindingInfo","expressions","getTrustedContext","attrNormalizedName","RESOURCE_URL","allOrNothing","trustedContext","$$observers","$$inter","$$scope","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","annotation","recordChanges","previousValue","$$postDigest","changes","triggerOnChangesHook","SimpleChange","removeWatchCollection","lastValue","parentGet","parentSet","removeWatch","$observe","_UNINITIALIZED_VALUE","parentValueWatch","parentValue","$stateful","$watchCollection","SIMPLE_ATTR_NAME","$normalize","$addClass","classVal","$removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","innerIdx","lastTuple","startSymbol","endSymbol","isolated","noTemplate","comment","str1","str2","tokens1","tokens2","jqNodes","ident","CNTRL_REG","globals","allowGlobals","addIdentifier","expression","later","$controllerMinErr","controllerPrototype","exception","serializeValue","toISOString","toSerialize","topLevel","defaultHttpResponseTransform","tempData","JSON_PROTECTION_PREFIX","APPLICATION_JSON","isJsonLike","jsonStart","JSON_START","JSON_ENDS","parseHeaders","fillInParsed","headerVal","headerKey","headersGetter","headersObj","transformData","transformResponse","transformRequest","common","Accept","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","paramSerializer","useApplyAsync","useLegacyPromise","useLegacyPromiseExtensions","interceptorFactories","interceptors","requestConfig","resp","executeHeaderFns","headerContent","processedHeaders","headerFn","mergeHeaders","defHeaderName","lowercaseDefHeaderName","reqHeaderName","defHeaders","reqHeaders","defaultHeadersIteration","serverRequest","reqData","withCredentials","sendReq","reversedInterceptors","request","requestError","responseError","thenFn","rejectFn","$httpMinErrLegacyFn","createShortMethods","createShortMethodsWithData","createApplyHandlers","eventHandlers","applyHandlers","callEventHandler","$applyAsync","$$phase","headersString","resolveHttpPromise","resolvePromise","resolvePromiseWithResult","removePendingReq","pendingRequests","cachedResp","buildUrl","defaultCache","xsrfValue","urlIsSameOrigin","uploadEventHandlers","serializedParams","interceptorFactory","createHttpBackend","createXhr","$browserDefer","rawDocument","jsonpReq","callbackId","addEventListenerFn","timeoutRequest","jsonpDone","completeRequest","urlResolve","upload","unescapeText","escapedStartRegexp","escapedEndRegexp","constantWatchDelegate","objectEquality","constantInterp","unwatch","mustHaveExpression","parseStringifyInterceptor","$interpolateMinErr","interr","unescapedText","exp","$$watchDelegate","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","endSymbolLength","throwNoconcat","compute","getTrusted","$watchGroup","oldValues","currValue","invokeApply","hasParams","iteration","skipApply","$$intervalId","intervals","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","$$hash","beginsWith","begin","whole","trimEmptyHash","stripFile","serverBase","LocationHtml5Url","appBase","appBaseNoFile","basePrefix","$$html5","$$parse","pathUrl","$locationMinErr","$$compose","$$url","$$absUrl","$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","removeWindowsDriveName","firstPathSegmentMatch","windowsFilePathExp","withoutHashUrl","withoutBaseUrl","LocationHashbangInHtml5Url","locationGetter","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","setBrowserUrlWithFallback","oldUrl","oldState","$$state","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","IGNORE_URI_REGEXP","ctrlKey","metaKey","shiftKey","absHref","initializing","newUrl","newState","$digest","currentReplace","$$replace","urlOrStateChanged","debugEnabled","consoleLog","logFn","hasApply","arg1","arg2","ensureSafeMemberName","fullExpression","$parseMinErr","getStringValue","ensureSafeObject","ensureSafeFunction","CALL","BIND","ensureSafeAssignContext","ifDefined","plusFn","isStateless","filterName","findConstantAndWatchExpressions","allConstants","argsToWatch","AST","Program","Literal","toWatch","UnaryExpression","BinaryExpression","right","LogicalExpression","ConditionalExpression","alternate","consequent","Identifier","MemberExpression","CallExpression","callee","AssignmentExpression","ArrayExpression","ObjectExpression","ThisExpression","LocalsExpression","getInputs","lastExpression","isAssignable","assignableAST","NGValueParameter","isLiteral","isConstant","ASTCompiler","astBuilder","ASTInterpreter","isPossiblyDangerousMemberName","getValueOf","objectValueOf","identStart","identContinue","cacheDefault","cacheExpensive","literals","true","false","addLiteral","literalName","literalValue","setIdentifierFns","identifierStart","identifierContinue","interceptorFn","expensiveChecks","parsedExpression","oneTime","cacheKey","runningChecksEnabled","parseOptions","$parseOptionsExpensive","$parseOptions","lexer","Lexer","parser","Parser","oneTimeLiteralWatchDelegate","oneTimeWatchDelegate","inputs","inputsWatchDelegate","expensiveChecksInterceptor","addInterceptor","expensiveCheckFn","expensiveCheckOldValue","expressionInputDirtyCheck","oldValueOfValue","prettyPrintExpression","lastResult","inputExpressions","oldInputValueOf","newInputValue","oldInputValueOfValues","oldInputValues","changed","isAllDefined","allDefined","watchDelegate","useInputs","regularWatch","noUnsafeEval","isIdentifierStart","isIdentifierContinue","$$runningExpensiveChecks","qFactory","exceptionHandler","simpleBind","processQueue","processScheduled","scheduleProcessQueue","$qMinErr","onFulfilled","onRejected","progressBack","catch","finally","handleCallback","$$reject","$$resolve","that","rejectPromise","makePromise","resolved","callbackOutput","errback","$Q","resolveFn","requestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","supported","createChildScopeClass","ChildScope","$$watchers","$$nextSibling","$$childHead","$$childTail","$$listeners","$$listenerCount","$$watchersCount","$id","$$ChildScope","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","destroyChildScope","$event","currentScope","cleanUpScope","$$prevSibling","$root","Scope","beginPhase","phase","clearPhase","incrementWatchersCount","decrementListenerCount","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","watchExp","watcher","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","unwatchFn","$watchCollectionInterceptor","newLength","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","internalObject","$watchCollectionAction","initRun","veryOldValue","trackVeryOldValue","changeDetector","watch","watchers","dirty","logIdx","asyncTask","ttl","watchLog","asyncQueue","$eval","traverseScopesLoop","postDigestQueue","eventName","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","uri","isImage","normalizedVal","adjustMatcher","$sceMinErr","escapeForRegexp","adjustMatchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","matchUrl","isResourceUrlAllowedByPolicy","allowed","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","trustAs","Constructor","byType","maybeTrusted","trustedValueHolderBase","htmlSanitizer","CSS","URL","JS","sce","isEnabled","parseAs","enumValue","lName","vendorPrefix","eventSupport","isChromePackagedApp","app","hasHistoryPushState","pushState","android","userAgent","boxee","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","hasEvent","divElm","httpOptions","handleRequestFn","tpl","ignoreRequestError","handleError","$templateRequestMinErr","totalPendingRequests","getTrustedResourceUrl","transformer","testability","findBindings","opt_exactMatch","dataBinding","bindingName","findModels","prefixes","attributeEquals","getLocation","setLocation","whenStable","deferreds","$$timeoutId","urlParsingNode","requestUrl","originUrl","$$CookieReader","safeDecodeURIComponent","lastCookies","lastCookieString","cookieArray","cookie","currentCookieString","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","predicateFn","matchAgainstAnyProp","expressionType","getTypeForFilter","createPredicateFn","shouldMatchPrimitives","deepCompare","dontMatchWholeObject","actualType","expectedType","expectedVal","matchAnyProperty","actualVal","$locale","formats","NUMBER_FORMATS","amount","currencySymbol","fractionSize","CURRENCY_SYM","PATTERNS","maxFrac","formatNumber","GROUP_SEP","DECIMAL_SEP","numStr","digits","numberOfIntegerDigits","zeros","exponent","ZERO_CHAR","MAX_DIGITS","roundNumber","parsedNumber","minFrac","fractionLen","roundAt","digit","carry","groupSep","decimalSep","isInfinity","isZero","abs","formattedText","integerLen","decimals","lgSize","gSize","negPre","negSuf","posPre","posSuf","padNumber","negWrap","neg","dateGetter","dateStrGetter","shortForm","standAlone","propPrefix","timeZoneGetter","zone","paddedZone","getFirstThursdayOfYear","dayOfWeekOnFirst","getDay","getThursdayThisWeek","datetime","getFullYear","weekGetter","firstThurs","thisThurs","ampmGetter","AMPMS","eraGetter","ERAS","longEraGetter","ERANAMES","jsonStringToDate","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","DATETIME_FORMATS","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","spacing","processPredicates","sortPredicate","reverseOrder","descending","objectValue","getPredicateValue","v1","v2","getComparisonObject","predicateValues","predicates","doComparison","compareValues","ngDirective","nullFormRenameControl","control","$name","FormController","controls","$error","$$success","$pending","$dirty","$pristine","$valid","$invalid","$submitted","$$parentForm","nullFormCtrl","$rollbackViewValue","$commitViewValue","$addControl","$$renameControl","newName","oldName","$removeControl","$setValidity","addSetValidityMethod","ctrl","$setDirty","PRISTINE_CLASS","DIRTY_CLASS","$setPristine","setClass","SUBMITTED_CLASS","$setUntouched","$setSubmitted","stringBasedInputType","$formatters","$isEmpty","textInputType","baseInputType","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","origValue","PARTIAL_VALIDATION_TYPES","PARTIAL_VALIDATION_EVENTS","validity","VALIDITY_STATE_PROPERTY","origBadInput","badInput","origTypeMismatch","typeMismatch","$render","weekParser","isoWeek","existingDate","WEEK_REGEXP","week","hours","seconds","milliseconds","addDays","getMilliseconds","NaN","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","mm","sss","part","createDateInputType","parseDate","isValidDate","parseObservedDateValue","badInputChecker","previousDate","$options","$$parserName","$parsers","parsedDate","ngModelMinErr","ngMin","minVal","$validators","$validate","ngMax","maxVal","nativeValidation","numberInputType","NUMBER_REGEXP","urlInputType","modelValue","viewValue","URL_REGEXP","emailInputType","email","EMAIL_REGEXP","radioInputType","parseConstantExpr","parseFn","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","classDirective","arrayDifference","arrayClasses","addClasses","digestClassCounts","removeClasses","classCounts","classesToUpdate","updateClasses","ngClassWatchAction","$index","old$index","mod","setValidity","validationErrorKey","createAndSet","unsetAndCleanup","cachedToggleClass","PENDING_CLASS","toggleValidationCss","isObjectEmpty","combinedState","switchValue","isValid","VALID_CLASS","INVALID_CLASS","chromeHack","optionElement","REGEX_STRING_REGEXP","manualLowercase","manualUppercase","documentMode","rules","ngCspElement","ngCspAttribute","noInlineStyle","name_","NODE_TYPE_ATTRIBUTE","full","major","minor","dot","codeName","Node","lowercasedName","getNamedItem","$dv","multiple","nodeCount","addHandler","noEventListener","onFn","replaceNode","wrapNode","newElement","condition","classCondition","nextElementSibling","extraParameters","dummyEvent","eventFnsCopy","handlerArgs","arg3","$animateMinErr","NG_ANIMATE_CLASSNAME","postDigestElements","updateData","handleCSSClassChanges","existing","addRemoveClassesPostDigest","classesAdded","classesRemoved","pin","domOperation","runner","$$registeredAnimations","classNameFilter","$$classNameFilter","reservedRegex","domInsert","afterElement","afterNode","previousElementSibling","enter","move","leave","addclass","tempClasses","waitForTick","waitQueue","passed","AnimateRunner","setHost","rafTick","timeoutTick","_doneCallbacks","_tick","_state","INITIAL_STATE","DONE_PENDING_STATE","DONE_COMPLETE_STATE","runners","onProgress","getPromise","resolveHandler","rejectHandler","pause","resume","initialOptions","applyAnimationContents","closed","$$prepared","cleanupStyles","isFirstChange","Content-Type","[","{","$httpMinErr","PATH_MATCH","http","https","ftp","locationPrototype","paramValue","Location","OPERATORS","ESCAPE","lex","readString","peek","readNumber","peekMultichar","readIdent","isWhitespace","ch2","ch3","op1","op2","op3","throwError","codePointAt","isValidIdentifierStart","isValidIdentifierContinue","cp","cp1","cp2","isExpOperator","colStr","peekCh","rawString","rep","ExpressionStatement","Property","program","expressionStatement","expect","filterChain","assignment","ternary","logicalOR","consume","logicalAND","equality","relational","additive","multiplicative","primary","arrayDeclaration","selfReferential","parseArguments","baseExpression","peekToken","kind","e1","e2","e3","e4","peekAhead","$locals","nextId","vars","own","assignable","stage","computing","recurse","return_","generateFunction","fnKey","intoId","watchId","fnString","USE","STRICT","filterPrefix","watchFns","varsPrefix","section","nameId","recursionFn","skipWatchIdCheck","if_","lazyAssign","computedMember","lazyRecurse","plus","getHasOwnProperty","nonComputedMember","addEnsureSafeObject","notNull","addEnsureSafeAssignContext","addEnsureSafeMemberName","addEnsureSafeFunction","member","SAFE_IDENTIFIER","UNSAFE_CHARACTERS","stringEscapeFn","stringEscapeRegex","rhs","lhs","unary+","unary-","unary!","binary+","binary-","binary*","binary/","binary%","binary===","binary!==","binary==","binary!=","binary<","binary>","binary<=","binary>=","binary&&","binary||","ternary?:","astCompiler","yy","MMMM","MMM","M","LLLL","H","hh","EEEE","EEE","Z","ww","G","GG","GGG","GGGG","xlinkHref","defaultLinkFn","normalized","htmlAttr","formDirectiveFactory","isNgForm","getSetter","formElement","nameAttr","ctrls","handleFormSubmission","parentFormCtrl","DATE_REGEXP","DATETIMELOCAL_REGEXP","MONTH_REGEXP","TIME_REGEXP","inputType","datetime-local","CONSTANT_VALUE_REGEXP","tplAttr","$compile","templateElement","ngBindHtmlGetter","ngBindHtmlWatch","getTrustedHtml","$viewChangeListeners","forceAsyncEvents","previousElements","srcExp","onloadExp","autoScrollExp","autoscroll","previousElement","currentElement","changeCounter","cleanupLastIncludeContent","afterAnimation","thisChangeId","trimValues","UNTOUCHED_CLASS","TOUCHED_CLASS","EMPTY_CLASS","NOT_EMPTY_CLASS","NgModelController","$modelValue","$$rawModelValue","$asyncValidators","$untouched","$touched","parserValid","parsedNgModel","parsedNgModelAssign","ngModelGet","ngModelSet","pendingDebounce","$$setOptions","getterSetter","invokeModelGetter","invokeModelSetter","$$$p","$$updateEmptyClasses","currentValidationRunId","$setTouched","$$lastCommittedViewValue","prevValid","prevModelValue","allowInvalid","$$runValidators","allValid","$$writeModelToScope","doneCallback","processParseErrors","errorKey","processSyncValidators","syncValidatorsValid","validator","processAsyncValidators","validatorPromises","validationDone","localValidationRunId","$$parseAndValidate","writeToModelIfNeeded","updateOnDefault","$$debounceViewValueCommit","debounceDelay","modelCtrl","formCtrl","updateOn","DEFAULT_REGEXP","ngOptionsMinErr","NG_OPTIONS_REGEXP","parseOptionsExpression","optionsExp","selectElement","Option","selectValue","label","getOptionValuesKeys","optionValues","optionValuesKeys","keyName","itemKey","valueName","selectAs","trackBy","selectAsFn","viewValueFn","trackByFn","getTrackByValueFn","getTrackByValue","getLocals","displayFn","groupByFn","disableWhenFn","valuesFn","getWatchables","watchedArray","optionValuesLength","disableWhen","getOptions","optionItems","selectValueMap","optionItem","getOptionFromViewValue","getViewValueFromOption","ngOptionsPostLink","addOptionElement","optionTemplate","updateOptionElement","updateOptions","selectCtrl","readValue","groupElementMap","providedEmptyOption","emptyOption","groupElement","optGroupTemplate","listFragment","ngModelCtrl","nextValue","isNotPrimitive","unknownOption","renderEmptyOption","removeEmptyOption","renderUnknownOption","removeUnknownOption","writeValue","selectedValues","selections","selectedOption","registerOption","BRACE","IS_WHEN","updateElementText","newText","lastCount","numberExp","whenExp","whens","whensExpFns","braceReplacement","watchRemover","attributeName","tmpMatch","whenKey","countIsNaN","pluralCat","whenExpFn","NG_REMOVED","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","getBlockStart","getBlockEnd","ngRepeatEndComment","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","lastBlockMap","nextNode","collectionLength","trackById","trackByIdFn","collectionKeys","nextBlockOrder","previousNode","nextBlockMap","blockKey","NG_HIDE_CLASS","NG_HIDE_IN_PROGRESS_CLASS","newStyles","oldStyles","ngSwitchController","watchExpr","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","selectedTransclude","caseElement","selectedScope","anchor","ngTranscludeMinErr","ngTranscludeCloneAttachFn","ngTranscludeSlot","noopNgModelController","SelectController","optionsMap","unknownVal","hasOption","addOption","removeOption","optionScope","optionAttrs","interpolateValueFn","interpolateTextFn","selectPreLink","lastView","lastViewRef","selectPostLink","selectCtrlName","patternExp","intVal","getDecimals","getVF","opt_precision","pow","PLURAL_CATEGORY","ZERO","ONE","TWO","FEW","MANY","OTHER","DAY","FIRSTDAYOFWEEK","MONTH","SHORTDAY","SHORTMONTH","STANDALONEMONTH","WEEKENDRANGE","fullDate","longDate","medium","mediumDate","mediumTime","short","shortDate","shortTime","minInt","localeID","vf","$RouteProvider","pathRegExp","insensitive","caseInsensitiveMatch","originalPath","slash","star","routes","route","routeCopy","reloadOnSearch","redirectPath","redirectTo","otherwise","$routeParams","switchRouteMatcher","prepareRoute","$locationEvent","lastRoute","$route","preparedRoute","parseRoute","preparedRouteIsUpdateOnly","$$route","pathParams","forceReload","commitRoute","nextRoute","loadedTemplateUrl","segment","segmentMatch","fakeLocationEvent","updateParams","newParams","$routeMinErr","$RouteParamsProvider","ngViewFactory","cleanupLastView","previousLeaveAnimation","ngViewFillContentFactory","resolveAs","ngRouteModule","$SanitizeProvider","svgEnabled","validElements","svgElements","buf","htmlParser","htmlSanitizeWriter","enableSvg","sanitizeText","writer","toMap","lowercaseKeys","inertBodyElement","mXSSAttempts","$sanitizeMinErr","stripCustomNsAttrs","attrToMap","encodeEntities","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","uriValidator","ignoreCurrentElement","blockedElements","lkey","validAttrs","uriAttrs","voidElements","attrNode","removeAttributeNode","optionalEndTagBlockElements","optionalEndTagInlineElements","optionalEndTagElements","blockElements","inlineElements","htmlAttrs","svgAttrs","implementation","createHTMLDocument","docElement","getDocumentElement","bodyElements","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","linkyMinErr","addText","addLink","packageStyles","pendClasses","isPrefix","removeFromArray","stripCommentsFromElement","$$addClass","$$removeClass","applyAnimationClassesFactory","prepareAnimationOptions","$$domOperationFired","applyAnimationStyles","applyAnimationFromStyles","applyAnimationToStyles","mergeAnimationDetails","oldAnimation","newAnimation","newOptions","resolveElementClasses","preparationClasses","concatWithSpace","realDomOperation","splitClassesToLookup","ADD_CLASS","REMOVE_CLASS","allow","getDomNode","applyGeneratedPreparationClasses","EVENT_CLASS_PREFIX","ADD_CLASS_SUFFIX","REMOVE_CLASS_SUFFIX","clearGeneratedClasses","activeClasses","blockTransitions","applyInlineStyle","TRANSITION_DELAY_PROP","blockKeyframeAnimations","applyBlock","ANIMATION_PROP","ANIMATION_PLAYSTATE_KEY","styleTuple","getCssKeyframeDurationStyle","ANIMATION_DURATION_PROP","getCssDelayStyle","isKeyframeAnimation","ANIMATION_DELAY_PROP","computeCssStyles","detectedStyles","formalStyleName","actualStyleName","parseMaxTime","maxValue","truthyTimingValue","getCssTransitionDurationStyle","applyOnlyDuration","TRANSITION_PROP","DURATION_KEY","createLocalCacheLookup","total","registerRestorableStyles","backup","TRANSITIONEND_EVENT","ANIMATIONEND_EVENT","ACTIVE_CLASS_SUFFIX","PREPARE_CLASS_SUFFIX","NG_ANIMATE_CHILDREN_DATA","CSS_PREFIX","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","PROPERTY_KEY","DELAY_KEY","TIMING_KEY","ANIMATION_ITERATION_COUNT_KEY","SAFE_FAST_FORWARD_DURATION_VALUE","TRANSITION_DURATION_PROP","$$rAFSchedulerFactory","scheduler","tasks","cancelFn","waitUntilQuiet","$$AnimateChildrenDirective","ngAnimateChildren","ANIMATE_TIMER_KEY","ONE_SECOND","ELAPSED_TIME_MAX_DECIMAL_PLACES","CLOSING_TIME_BUFFER","DETECT_CSS_PROPERTIES","transitionDuration","transitionDelay","transitionProperty","animationDuration","animationDelay","DETECT_STAGGER_CSS_PROPERTIES","$AnimateCssProvider","$animateProvider","gcsLookup","gcsStaggerLookup","$$rAFScheduler","gcsHashFn","extraClasses","KEY","parentID","parentCounter","computeCachedCssStyles","timings","computeCachedCssStaggerStyles","stagger","staggerClassName","rafWaitQueue","pageWidth","computeTimings","aD","tD","maxDelay","maxDuration","applyAnimationClasses","endFn","animationClosed","animationCompleted","animationPaused","$$skipPreparationClasses","temporaryStyles","restoreStyles","setProperty","removeProperty","onDone","onAnimationProgress","animationTimerData","applyBlocking","blockTransition","blockKeyframeAnimation","closeAndReturnNoopAnimator","$$willAnimate","$manualTimeStamp","elapsedTime","toFixed","maxDelayTime","triggerAnimationStart","recalculateTimingStyles","fullClassName","relativeDelay","hasTransitions","hasAnimations","applyAnimationDelay","delayStyle","maxDurationTime","easeProp","easeVal","timerTime","endTime","animationsData","setupFallbackTimer","currentTimerData","expectedEndTime","onAnimationExpired","playPause","playAnimation","maxStagger","itemIndex","runnerHost","isStructural","structural","structuralClassName","addRemoveClassName","applyClassesEarly","hasToStyles","containsKeyframeAnimation","keyframeStyle","staggerVal","transitionStyle","durationStyle","staggerIndex","isFirst","skipBlocking","hasTransitionAll","applyTransitionDuration","applyAnimationDuration","applyTransitionDelay","$$AnimateCssDriverProvider","$$animationProvider","isDocumentFragment","drivers","NG_ANIMATE_SHIM_CLASS_NAME","NG_ANIMATE_ANCHOR_CLASS_NAME","NG_OUT_ANCHOR_CLASS_NAME","NG_IN_ANCHOR_CLASS_NAME","filterCssClasses","getUniqueValues","prepareAnchoredAnimation","outAnchor","inAnchor","calculateAnchorStyles","coords","bodyNode","prepareOutAnimation","animator","getClassVal","prepareInAnimation","endingClasses","startingClasses","rootBodyElement","animatorIn","animatorOut","startingAnimator","currentAnimation","prepareFromToAnchorAnimation","anchors","fromAnimation","prepareRegularAnimation","toAnimation","anchorAnimations","outElement","inElement","animationRunners","animationDetails","rootNode","$$AnimateJsProvider","lookupAnimations","flagMap","animationFactory","applyOptions","executeAnimationFn","classesToAdd","classesToRemove","groupEventedAnimations","fnName","operations","ani","endProgressCb","onAnimationComplete","cancelled","packageAnimations","animateFn","afterFn","beforeFn","onComplete","endAnimations","closeActiveAnimations","$$AnimateJsDriverProvider","prepareAnimation","endFnFactory","NG_ANIMATE_ATTR_NAME","NG_ANIMATE_PIN_DATA","$$AnimateQueueProvider","makeTruthyCssClassMap","ONE_SPACE","hasMatchingClasses","newClassString","currentClassString","currentClassMap","isAllowed","ruleType","previousAnimation","hasAnimationClasses","and","PRE_DIGEST_STATE","RUNNING_STATE","nA","nR","cA","cR","$$animation","postDigestTaskFactory","postDigestCalled","normalizeAnimationDetails","findCallbacks","targetNode","targetParentNode","callbackRegistry","filterFromRegistry","matchContainer","matchCallback","containerNode","cleanupEventListeners","queueAnimation","notifyProgress","runInNextPostDigestOrNow","isAnimatableClassName","documentHidden","skipAnimations","animationsEnabled","disabledElementsLookup","existingAnimation","activeAnimationsLookup","hasExistingAnimation","areAnimationsAllowed","closeChildAnimations","skipAnimationFlag","cancelAnimationFlag","joinAnimationFlag","isValidAnimation","clearElementAnimationState","markElementAnimationState","animationCancelled","realRunner","isMatchingElement","nodeOrElmA","nodeOrElmB","animateChildren","bodyElement","bodyElementDetected","rootElementDetected","parentAnimationDetected","elementDisabled","parentHost","parentElementDisabled","allowAnimation","deregisterWatch","eventType","argCount","hasElement","recordExists","$$AnimationProvider","setRunner","RUNNER_STORAGE_KEY","removeRunner","getRunner","NG_ANIMATE_REF_ATTR","sortAnimations","processNode","processed","elementNode","lookup","parentEntry","tree","remainingLevelEntries","nextLevelEntries","row","childEntry","animationQueue","getAnchorNodes","SELECTOR","groupAnimations","preparedAnimations","refLookup","enterOrMove","anchorNodes","direction","animationID","usedIndicesLookup","anchorGroups","indexKey","lookupKey","beforeStart","cssClassesIntersection","aa","invokeFirstDriver","driverName","driver","prepareClassName","updateAnimationRunners","newRunner","handleDestroyedElement","groupedAnimations","toBeSortedAnimations","animationEntry","startAnimationFn","closeFn","targetElement","operation","animationRunner","ngAnimateSwapDirective","previousScope","ngAnimateSwap","$AriaProvider","ariaAttr","nodeBlackList","ariaCamelName","isNodeOneOf","boolVal","ariaHidden","ariaChecked","ariaReadonly","ariaDisabled","ariaRequired","ariaInvalid","ariaValue","bindKeypress","bindRoleForClick","newConfig","$$watchExpr","ngAriaModule","nodeTypeArray","$aria","shouldAttachAttr","normalizedAttr","allowBlacklistEls","shouldAttachRole","role","getShape","shape","ngAriaWatchModelValue","getRadioReaction","getCheckboxReaction","needsTabIndex","needsAriaValuemin","needsAriaValuemax","needsAriaValuenow","ngMessages","ngClick","ngKeypress","runTranslate","$translate","storageKey","storage","fallbackFromIncorrectStorageValue","preferred","preferredLanguage","use","displayName","$translateSanitizationProvider","strategies","currentStrategy","hasConfiguredStrategy","hasShownNoStrategyConfiguredWarning","sanitize","htmlSanitizeValue","htmlEscapeValue","sanitizeParameters","mapInterpolationParameters","escapeParameters","addStrategy","strategyName","strategyFunction","removeStrategy","useStrategy","strategy","cachedStrategyMap","applyStrategies","selectedStrategies","selectedStrategy","showNoStrategyConfiguredWarning","propertyValue","propertyKey","$STORAGE_KEY","$windowProvider","pascalprechtTranslateOverrider","$preferredLanguage","$languageKeyAliases","$fallbackLanguage","$fallbackWasString","$uses","$nextLang","$storageFactory","$storagePrefix","$missingTranslationHandlerFactory","$interpolationFactory","$loaderFactory","$loaderOptions","$notFoundIndicatorLeft","$notFoundIndicatorRight","loaderCache","$translationTable","$availableLanguageKeys","$storageKey","$interpolatorFactories","$cloakClassName","$postCompilingEnabled","$forceAsyncReloadEnabled","$nestedObjectDelimeter","$isReady","directivePriority","statefulFilter","uniformLanguageTagResolver","languageTagResolver","java","bcp47","getFirstBrowserLanguage","getLocale","language","nav","browserLanguagePropertyKeys","languages","searchElement","negotiateLocale","avail","alias","langKeyAlias","hasWildcardKey","hasExactKey","translations","langKey","translationTable","flatObject","cloakClassName","nestedObjectDelimeter","delimiter","prevKey","keyWithPath","keyWithShortPath","addInterpolation","useMessageFormatInterpolation","useInterpolation","useSanitizeValueStrategy","setupPreferredLanguage","translationNotFoundIndicator","indicator","translationNotFoundIndicatorLeft","translationNotFoundIndicatorRight","fallbackLanguage","fallbackStack","useUrlLoader","useLoader","useStaticFilesLoader","loaderFactory","useLocalStorage","useStorage","useCookieStorage","storageFactory","storagePrefix","useMissingTranslationHandlerLog","useMissingTranslationHandler","usePostCompiling","forceAsyncReload","uniformLanguageTag","standard","determinePreferredLanguage","registerAvailableLanguageKeys","languageKeys","aliases","useLoaderCache","Storage","fallbackIndex","startFallbackIteration","defaultInterpolator","pendingLoader","interpolatorHashMap","langPromises","translationId","interpolateParams","interpolationId","defaultTranslationText","forceLanguage","uses","translateAll","translationIds","translate","regardless","promiseToWaitFor","determineTranslation","applyNotFoundIndicators","useLanguage","setLocale","eachInterpolator","interpolator","loadAsync","loaderOptions","onLoaderSuccess","table","onLoaderError","eachInterpolationFactory","interpolatorFactory","getInterpolationIdentifier","getTranslationTable","onResolve","getFallbackTranslation","Interpolator","translation","getFallbackTranslationInstant","translateByHandler","resultString","resolveForFallbackLanguage","fallbackLanguageIndex","resolveForFallbackLanguageInstant","fallbackTranslation","fallbackTranslationInstant","missingTranslationHandlerTranslation","_translationId","determineTranslationInstant","clearNextLangAndPromise","useFallbackLanguage","langKeyPosition","proposedLanguage","isPostCompilingEnabled","isForceAsyncReloadEnabled","oneTranslationsLoaded","tables","loadingKeys","allTranslationsLoaded","tableData","instant","possibleLangKeys","possibleLangKey","versionInfo","$onReadyDeferred","onReady","globalOnReadyListener","globalOnChangeListener","processAsyncResult","fallbackLanguageId","$translateDefaultInterpolation","$translateSanitization","$translateInterpolator","$identifier","interpolationParams","interpolatedText","translateDirective","tAttr","translateValuesExist","translateValues","translateInterpolation","translateValueExist","outerHTML","interpolateRegExp","watcherRegExp","iElement","iAttr","preText","postText","translateNamespace","getTranslateNamespace","initInterpolationParams","observeElementTranslation","_unwatchOld","iElementText","interpolateMatches","watcherMatches","updateTranslations","observeAttributeTranslation","translateAttr","firstAttributeChangedEvent","defaultText","observeValueAttribute","updateTranslation","translateLanguage","applyTranslation","successful","globallyEnabled","locallyDefined","translateCompile","locallyEnabled","translateDefault","translateCloakDirective","applyCloak","removeCloak","translateCloak","translateNamespaceDirective","iAttrs","translateLanguageDirective","newTranslateLanguage","translateFilterFactory","translateFilter","interpolation","$translationCache","$translatePartialLoader","Part","isActive","hasPart","isStringValid","isPartAvailable","deepExtend","getPrioritizedParts","prioritizedParts","parseUrl","urlTemplate","targetLang","getTable","$httpOptions","errorHandler","addPart","setPart","deletePart","loadFailureHandler","loaders","wasActive","isPartLoaded","getRegisteredParts","registeredParts","$translateStaticFilesLoader","files","mergedData","a0","$translateMessageFormatInterpolation","TRANSLATE_MF_INTERPOLATION_CACHE","$cache","$mf","moment","hookCallback","setHookCallback","hasOwnProp","createUTC","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","copyConfig","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","isMoment","absFloor","argumentForCoercion","coercedNumber","compareArrays","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","firstTime","deprecationHandler","deprecateSimple","deprecations","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","_ordinal","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","addUnitAlias","shorthand","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","addRegexToken","strictRegex","regexes","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","getUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","globalLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","tmpLocale","listLocales","checkOverflow","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","weekdayOverflow","W","E","createLocal","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","defaultLocaleWeekdaysShort","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","absRound","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","isAdding","getCalendarFormat","myMoment","calendar$1","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","keepOffset","toDate","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","field","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","withSuffix","toISOString$1","abs$1","Y","D","asSeconds","totalSign","ymSign","daysSign","hmsSign","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","defaultInvalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Checksley","ComposedField","Field","FieldMultiple","Form","checksley","formatMessage","validators","_checksley","__hasProp","__extends","__super__","excluded","validationMinlength","validateIfUnchanged","interceptSubmit","showErrors","errorClass","successClass","validatedClass","onlyOneErrorElement","containerClass","containerGlobalSearch","containerPreferenceSelector","containerErrorsSelector","classHandler","isRadioOrCheckbox","errorsWrapper","errorElem","onFieldValidate","onFormSubmit","onFieldError","constraints","onFieldSuccess","notnull","notblank","_len","regExp","regexpFlag","rangelength","arrayRange","equalto","mincheck","maxcheck","rangecheck","urlstrict","dateIso","alphanum","phone","_options","validate","Zepto","detectLang","updateDefaults","updateValidators","_validators","updateMessages","overwrite","injectPlugin","setLang","validatedOnce","resetConstraints","bindEvents","bindData","unbindData","eventValidate","unbindEvents","errorClassTarget","resetHtml5Constraints","typeRx","valid","constraint","_ref","_results","hasConstraints","applyValidators","removeErrors","manageError","handleClasses","classHandlerElement","addError","makeErrorElement","setErrors","constraintName","errorElement","getErrorContainer","errorContainerId","errorContainerClass","definedContainer","errorContainerEl","preferenceSelector","setForm","_super","isRadio","isCheckbox","getSiblings","getComponents","components","fields","initialize","initializeFields","composedField","fieldElm","_j","_len1","_ref1","fieldsByName","invalidFields","req","Pikaday","hasMoment","hasEventListeners","sto","addEvent","capture","detachEvent","cn","isWeekend","setToStartOfDay","compareDates","fireEvent","initEvent","createEventObject","adjustCalendar","bound","reposition","defaultDate","setDefaultDate","firstDay","formatStrict","minDate","maxDate","yearRange","showWeekNumber","pickWholeWeek","minYear","maxYear","minMonth","maxMonth","startRange","endRange","isRTL","yearSuffix","showMonthAfterYear","showDaysInNextAndPreviousMonths","enableSelectionDaysInNextAndPreviousMonths","numberOfMonths","mainCalendar","blurFieldOnSelect","i18n","previousMonth","nextMonth","theme","onSelect","onOpen","onClose","onDraw","keyboardInput","renderDayName","renderDay","ariaSelected","isDisabled","isToday","isSelected","isInRange","isStartRange","isEndRange","renderWeek","onejan","weekNum","renderRow","isRowSelected","renderBody","rows","renderHead","renderTitle","refYear","randId","monthHtml","yearHtml","_o","isMinYear","isMaxYear","renderTable","_onMouseDown","_v","srcElement","prevMonth","setDate","_c","_onChange","gotoMonth","gotoYear","_onKeyChange","isVisible","adjustDate","_onInputChange","firedBy","_onInputFocus","_onInputClick","_onInputBlur","pEl","_b","_onClick","onchange","defDate","gotoDate","disableWeekends","disableDayFn","nom","setMinDate","setMaxDate","toDateString","getMoment","setMoment","preventOnSelect","draw","newCalendar","calendars","firstVisibleDate","lastVisibleDate","visibleDate","adjustCalendars","newDay","gotoToday","setStartRange","setEndRange","force","_y","_m","render","adjustPosition","viewportWidth","viewportHeight","clientRect","innerWidth","clientWidth","innerHeight","clientHeight","offsetLeft","offsetTop","yearOfPreviousMonth","yearOfNextMonth","daysInPreviousMonth","cells","isWeekSelected","dayNumber","monthNumber","yearNumber","dayConfig","make","normalize","extract","lookupColors","aqua","azure","beige","brown","darkblue","darkcyan","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkviolet","fuchsia","gold","indigo","khaki","lightblue","lightcyan","lightgreen","lightgrey","lightpink","lightyellow","lime","maroon","navy","olive","orange","pink","purple","violet","silver","Canvas","cls","getContext","G_vmlCanvasManager","initElement","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","resize","textContainer","_textCache","Plot","data_","options_","plugins","executeHooks","hook","plot","initPlugins","xaxis","grid","yaxis","tickColor","borderColor","axisOptions","axisCount","fontSize","fontSizeDefault","fontDefaults","variant","weight","family","xaxes","font","yaxes","noTicks","ticks","x2axis","y2axis","coloredAreas","markings","coloredAreasColor","markingsColor","series","points","bars","shadowSize","highlightColor","getOrCreateAxis","processOptions","parseData","fillInSeriesOptions","axisNumber","coord","allAxes","canvasToAxisCoords","axis","used","c2p","x1","y1","axisToCanvasCoords","p2c","axes","neededColors","maxIndex","sc","colorPool","colorPoolSize","variation","colori","zero","updateAxis","datamin","fakeInfinity","datamax","topSentry","POSITIVE_INFINITY","bottomSentry","NEGATIVE_INFINITY","datapoints","processRawData","autoscale","horizontal","pointsize","insertSteps","steps","nullify","processDatapoints","xmin","ymin","xmax","ymax","delta","align","barWidth","setupCanvases","surface","overlay","octx","eventHolder","shutdown","hoverable","mousemove","onMouseMove","onMouseLeave","clickable","onClick","redrawTimeout","setTransformationHelpers","inverseTransform","plotWidth","plotHeight","measureTickLabels","labelWidth","labelHeight","legacyStyles","layer","getTextInfo","allocateAxisBoxFirstPhase","lw","lh","isXAxis","tickLength","axisMargin","labelMargin","innermost","reserveSpace","plotOffset","allocateAxisBoxSecondPhase","adjustLayoutForThingsStickingOut","minMargin","minBorderMargin","radius","lineWidth","margins","setupGrid","showGrid","processOffset","borderWidth","axisOpts","setRange","allocatedAxes","setupTickGeneration","setTicks","snapRangeToTicks","drawAxisLabels","insertLegend","widen","autoscaleMargin","sqrt","dec","LN10","maxDec","tickDecimals","magn","norm","minTickSize","tickSize","tickGenerator","floorInBase","tickFormatter","factor","formatted","decimal","alignTicksWithAxis","otherAxis","niceTicks","extraDec","oticks","drawBackground","backgroundColor","aboveData","drawGrid","drawSeries","triggerRedrawOverlay","extractRange","ranges","save","fillStyle","getColorOrGradient","fillRect","restore","bw","bc","getAxes","xrange","yrange","xequal","yequal","markingsLineWidth","subPixel","beginPath","strokeStyle","moveTo","lineTo","stroke","xoff","yoff","strokeRect","halign","valign","removeText","drawSeriesLines","drawSeriesBars","drawSeriesPoints","plotLine","xoffset","yoffset","axisx","axisy","prevx","prevy","x2","y2","plotLineArea","areaOpen","ypos","segmentStart","segmentEnd","x1old","x2old","lineJoin","angle","sin","getFillStyle","plotPoints","shadow","arc","closePath","drawBar","barLeft","barRight","fillStyleCallback","drawLeft","drawRight","drawTop","drawBottom","plotBars","filloptions","seriesColor","fillColor","legend","fragments","rowStarted","lf","labelFormatter","sorted","ascending","noColumns","labelBoxBorderColor","backgroundOpacity","findNearbyItem","mouseX","mouseY","seriesFilter","maxDistance","mouseActiveRadius","smallestDistance","mx","maxx","maxy","dx","dy","dist","datapoint","dataIndex","seriesIndex","triggerClickHoverEvent","eventname","canvasX","canvasY","autoHighlight","highlights","auto","point","unhighlight","highlight","interaction","redrawOverlayInterval","drawOverlay","drawBarHighlight","drawPointHighlight","indexOfHighlight","pointRadius","spec","defaultColor","gradient","createLinearGradient","co","brightness","addColorStop","getPlaceholder","getCanvas","getPlotOffset","getXAxes","getYAxes","pointOffset","clearRect","layerKey","getTextLayer","layerCache","styleKey","styleCache","positions","rendered","font-size","textStyle","max-width","outerWidth","outerHeight","text-align","canvas","combine","combined","numCombined","pie","newdata","newCtx","canvasWidth","canvasHeight","drawShadow","shadowLeft","shadowTop","edge","alpha","maxRadius","tilt","globalAlpha","centerLeft","centerTop","drawPie","drawSlice","currentAngle","drawLabels","drawLabel","startAngle","plf","formatter","halfAngle","labelTop","labelLeft","background","slices","drawDonutHole","legendWidth","attempts","REDRAW_SHRINK","REDRAW_ATTEMPTS","setSeries","innerRadius","globalCompositeOperation","isPointInPoly","poly","findNearbySlice","isPointInPath","p1X","p1Y","p2X","p2Y","p3X","p3Y","p4X","p4Y","p5X","p5Y","arrPoly","arrPoint","drawHighlight","formatDate","monthNames","dayNames","strftime","leftPad","isAM","hours12","makeUtcWrapper","addProxyMethod","sourceObj","sourceMethod","targetObj","targetMethod","dateGenerator","timezoneJS","setTimezone","axisName","minSize","specQuarters","specMonths","timeUnitSize","setSeconds","setMilliseconds","timeformat","useQuarters","span","hourCode","twelveHourClock","baseSpec","secondPass","axisLabel","axisLabelUseCanvas","axisLabelFontSizePixels","axisLabelFontFamily","measureText","rotate","fillText","defaultOptions","tooltip","xDateFormat","yDateFormat","shifts","defaultTheme","snap","clickTips","onHover","flotItem","$tooltipEl","$compat","tooltipOpts","FlotTooltip","tipPosition","mouseMove","setTooltipPosition","plotclick","clickmode","plothover","hideTooltip","getDomElement","lineDistance","p1x","p1y","p2x","p2y","dotLineLength","x0","y0","tg","l1","l2","showTooltip","tooltipOptions","plotOptions","closestTrace","distance","ttPos","xBeforeIndex","xAfterIndex","pointPrev","pointNext","distToLine","closestIndex","pointOnLine","plotPluginsLength","plotPlugins","wfunc","hfunc","removeTooltip","$tip","totalTipWidth","totalTipHeight","xPrev","yPrev","targetPosition","tipText","stringFormat","z-index","border-radius","white-space","customText","percentPattern","seriesPattern","colorPattern","xLabelPattern","yLabelPattern","xPattern","yPattern","xPatternWithoutPrecision","yPatternWithoutPrecision","customTextPattern","nPiePattern","curvedLines","originSeries","percents","adjustValPrecision","hasAxisLabel","isTimeMode","isXDateFormat","timestampToDate","isYDateFormat","hasRotatedXAxisTicks","tickIndex","xIndex","valueX","isCategoriesMode","yIndex","valueY","tmst","theDate","matchResult","$1","rotatedTicks","Raven","RavenConfigError","utils","wrapMethod","originalConsoleLevel","originalConsole","sentryLevel","safeJoin","logger","keepOriginalCallback","_hasJSON","_hasDocument","_document","_hasNavigator","_navigator","_lastCapturedException","_lastData","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","release","_window","SENTRY_RELEASE","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","collectWindowErrors","captureUnhandledRejections","maxMessageLength","maxUrlLength","autoBreadcrumbs","instrument","sampleRate","_fetchDefaults","keepalive","referrerPolicy","supportsReferrerPolicy","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_keypressTimeout","_location","_lastHref","_resetBackoff","TraceKit","isErrorEvent","objectMerge","objectFrozen","hasKey","joinRegExp","urlencode","uuid4","htmlTreeAsString","isSameException","isSameStacktrace","supportsFetch","wrapConsoleMethod","dsnKeys","dsnPattern","dsn","_logDebug","globalOptions","setDSN","maxBreadcrumbs","autoBreadcrumbDefaults","dom","sentry","instrumentDefaults","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_attachPromiseRejectionHandler","_patchFunctionToString","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","_parseDSN","lastSlash","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","_before","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","__orig__","uninstall","_detachPromiseRejectionHandler","_unpatchFunctionToString","_restoreBuiltIns","_restoreConsole","_promiseRejectionHandler","ex","trimHeadFrames","isNotError","isNotErrorEvent","isErrorEventWithoutError","captureMessage","stacktrace","computeStackTrace","_handleStackInfo","ex1","initialCall","fileurl","fingerprint","frames","_prepareFrames","_send","captureBreadcrumb","crumb","breadcrumbCallback","addPlugin","plugin","pluginArgs","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","setEnvironment","environment","setRelease","setDataCallback","dataCallback","setBreadcrumbCallback","setShouldSendCallback","shouldSendCallback","setTransport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","qs","globalServer","_triggerEvent","_breadcrumbEventHandler","evtName","category","_keypressEventHandler","debounceDuration","tagName","isContentEditable","_captureUrlChange","parsedLoc","parsedTo","parsedFrom","_originalFunctionToString","wrapTimeFn","originalCallback","wrapEventTarget","secure","handleEvent","clickHandler","keypressHandler","wrappedBuiltIns","eventTargets","wrapProp","xhrproto","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","origFetch","fetchInput","Request","fetchData","hasPushAndReplaceState","replaceState","oldOnPopState","onpopstate","currentHref","historyReplacementFunction","origHistFunction","consoleMethodCallback","builtin","installer","allowSecretKey","stackInfo","_processException","lineno","frame","_normalizeFrame","in_app","stackInfoUrl","filename","colno","function","prefixedMessage","culprit","_trimPacket","Referer","breadcrumbs","_trimBreadcrumbs","urlProp","urlProps","_getHttpData","httpData","User-Agent","referrer","_backoffDuration","_backoffStart","_shouldBackoff","_isRepeatData","_setBackoffState","retry","baseData","project","platform","serverName","server_name","_sendProcessedPayload","_getUuid","allowDuplicates","event_id","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","evaluatedHeaders","evaluatedFetchParameters","_evaluateHash","fetchParameters","defaultFetchOptions","fetchOptions","fetch","hasCORS","XDomainRequest","evaluated","setUser","setReleaseContext","RavenConstructor","_Raven","supportsErrorEvent","ErrorEvent","Headers","Response","supportsPromiseRejectionEvent","PromiseRejectionEvent","wrappedCallback","normalizedData","obj1","obj2","patterns","query","crypto","msCrypto","getRandomValues","Uint16Array","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","sepLength","htmlElementAsString","attrWhitelist","isOnlyOneTruthy","isBothUndefined","ex2","stack1","stack2","frames1","frames2","track","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","submatch","winjs","gecko","geckoEval","chromeEval","isEval","columnNumber","computeStackTraceByWalkingCallerChain","functionName","recursion","curr","lineNumber","haystack","needle","replacer","spaces","cycleReplacer","serializer","stringifyError","thisPos","getSerialize","isA","scriptTag","ljs","checkLoaded","urlParse","appendElmt","loadcss","loadjs","loaded","loader","ocb","rel","argc","addAliases","links","THROTTLE_MILLISECONDS","infiniteScroll","infiniteScrollContainer","infiniteScrollDistance","infiniteScrollDisabled","infiniteScrollUseDocumentBottom","infiniteScrollListenForEvent","changeContainer","checkInterval","checkWhenEnabled","handleInfiniteScrollContainer","handleInfiniteScrollDisabled","handleInfiniteScrollDistance","handleInfiniteScrollUseDocumentBottom","immediateCheck","scrollDistance","scrollEnabled","unregisterEventListener","useDocumentBottom","windowElement","containerBottom","containerTopOffset","elementBottom","shouldScroll","newContainer","infiniteScrollParent","infiniteScrollImmediateCheck","Immutable","createClass","superClass","Iterable","isIterable","Seq","KeyedIterable","isKeyed","KeyedSeq","IndexedIterable","isIndexed","IndexedSeq","SetIterable","isAssociative","SetSeq","maybeIterable","IS_ITERABLE_SENTINEL","maybeKeyed","IS_KEYED_SENTINEL","maybeIndexed","IS_INDEXED_SENTINEL","maybeAssociative","isOrdered","maybeOrdered","IS_ORDERED_SENTINEL","MakeRef","ref","SetRef","OwnerID","arrCopy","newArr","ensureSize","iter","__iterate","wrapIndex","uint32Index","wholeSlice","resolveBegin","resolveIndex","resolveEnd","defaultIndex","Iterator","iteratorValue","iteratorResult","iteratorDone","hasIterator","getIteratorFn","isIterator","maybeIterator","getIterator","REAL_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","emptySequence","toSeq","seqFromValue","toKeyedSeq","fromEntrySeq","keyedSeqFromValue","entrySeq","toIndexedSeq","indexedSeqFromValue","toSetSeq","ArraySeq","_array","ObjectSeq","_object","_keys","IterableSeq","_iterable","IteratorSeq","_iterator","_iteratorCache","isSeq","maybeSeq","IS_SEQ_SENTINEL","EMPTY_SEQ","seq","maybeIndexedSeqFromValue","seqIterate","useKeys","_cache","__iterateUncached","seqIterator","__iteratorUncached","fromJS","converter","fromJSWith","fromJSDefault","parentJSON","isPlainObj","toList","valueA","valueB","__hash","notAssociative","flipped","cacheResult","allEqual","bSize","NOT_SET","Repeat","EMPTY_REPEAT","invariant","Range","_start","_end","_step","EMPTY_RANGE","Collection","KeyedCollection","IndexedCollection","SetCollection","i32","STRING_HASH_CACHE_MIN_STRLEN","cachedHashString","hashString","hashCode","hashJSObj","stringHashCache","STRING_HASH_CACHE_SIZE","STRING_HASH_CACHE_MAX_SIZE","usingWeakMap","weakMap","UID_HASH_KEY","canDefineProperty","getIENodeHash","objHashUID","isExtensible","assertNotInfinite","emptyMap","withMutations","maybeMap","IS_MAP_SENTINEL","ArrayMapNode","ownerID","BitmapIndexedNode","bitmap","HashArrayMapNode","HashCollisionNode","keyHash","ValueNode","MapIterator","_type","_reverse","_root","mapIteratorFrame","mapIteratorValue","__prev","MapPrototype","__ownerID","__altered","EMPTY_MAP","updateMap","newRoot","newSize","didChangeSize","CHANGE_LENGTH","didAlter","DID_ALTER","updateNode","isLeafNode","mergeIntoNode","idx1","MASK","idx2","SHIFT","createNodes","packNodes","excluding","packedII","packedNodes","bit","expandNodes","including","expandedNodes","SIZE","mergeIntoMapWith","merger","iterables","iters","mergeIntoCollectionWith","deepMerger","mergeDeep","deepMergerWith","mergeDeepWith","mergeIntoMap","updateInDeepMap","keyPathIter","notSetValue","isNotSet","existingValue","nextExisting","nextUpdated","popCount","setIn","canEdit","newArray","spliceIn","newLen","spliceOut","List","emptyList","isList","makeList","VNode","setSize","maybeList","IS_LIST_SENTINEL","iterateList","iterateNodeOrLeaf","iterateLeaf","iterateNode","tailPos","DONE","_origin","getTailOffset","_tail","_level","ListPrototype","EMPTY_LIST","updateList","setListBounds","newTail","updateVNode","nodeHas","lowerNode","newLowerNode","editableVNode","listNodeFor","rawIndex","oldOrigin","newOrigin","newCapacity","newLevel","offsetShift","oldTailOffset","newTailOffset","oldTail","removeAfter","removeBefore","beginIndex","mergeIntoListWith","maxSize","OrderedMap","emptyOrderedMap","isOrderedMap","maybeOrderedMap","makeOrderedMap","omap","_map","_list","EMPTY_ORDERED_MAP","updateOrderedMap","newMap","newList","ToKeyedSequence","indexed","_iter","_useKeys","ToIndexedSequence","ToSetSequence","FromEntriesSequence","flipFactory","flipSequence","makeSequence","reversedSequence","cacheResultThrough","this$0","ITERATE_ENTRIES","__iterator","ITERATE_VALUES","ITERATE_KEYS","mapFactory","mapper","mappedSequence","reverseFactory","filterFactory","filterSequence","iterations","countByFactory","grouper","asMutable","asImmutable","groupByFactory","isKeyedIter","coerce","iterableClass","reify","sliceFactory","originalSize","resolvedBegin","resolvedEnd","sliceSize","resolvedSize","sliceSeq","isSkipping","takeWhileFactory","takeSequence","iterating","skipWhileFactory","skipSequence","skipping","concatFactory","isKeyedIterable","singleton","concatSeq","flattenFactory","flatSequence","flatDeep","currentDepth","flatMapFactory","interposeFactory","interposedSequence","sortFactory","defaultComparator","maxFactory","maxCompare","comp","zipWithFactory","keyIter","zipper","zipSequence","iterators","isDone","validateEntry","resolveSize","forceIterator","keyPath","Record","defaultValues","hasInitialized","RecordType","setProps","RecordTypePrototype","_name","_defaultValues","RecordPrototype","makeRecord","likeRecord","record","recordName","setProp","emptySet","maybeSet","IS_SET_SENTINEL","updateSet","__empty","__make","makeSet","SetPrototype","EMPTY_SET","OrderedSet","emptyOrderedSet","isOrderedSet","maybeOrderedSet","makeOrderedSet","OrderedSetPrototype","EMPTY_ORDERED_SET","emptyStack","isStack","unshiftAll","maybeStack","IS_STACK_SENTINEL","makeStack","StackPrototype","_head","EMPTY_STACK","keyCopier","keyMapper","entryMapper","quoteString","defaultZipper","defaultNegComparator","hashIterable","ordered","keyed","hashMerge","murmurHashOfSize","imul","SLICE$0","Keyed","Indexed","DELETE","ITERATOR_SYMBOL","KEYS","VALUES","ENTRIES","of","__toString","searchValue","possibleIndex","offsetValue","keyValues","updateIn","deleteIn","updatedValue","mergeIn","mergeDeepIn","mutable","wasAltered","__ensureOwner","iterate","removeIn","removed","exists","MAX_ARRAY_MAP_SIZE","isEditable","newEntries","keyHashFrag","MAX_BITMAP_INDEXED_SIZE","newBitmap","newNodes","newCount","MIN_HASH_ARRAY_MAP_SIZE","keyMatch","subNode","oldSize","originIndex","newChild","removingFirst","oldChild","editable","sizeIndex","valueSeq","indexedIterable","defaultVal","_empty","fromKeys","keySeq","intersect","originalSet","pushAll","toJS","__toJS","toOrderedMap","toOrderedSet","toSet","toStack","__toStringMapper","findEntry","sideEffect","joined","reducer","initialReduction","reduction","useFirst","reversed","butLast","entriesSequence","filterNot","findLastEntry","searchKey","getIn","searchKeyPath","isSubset","isSuperset","keyOf","lastKeyOf","skipLast","skipWhile","skipUntil","takeLast","takeUntil","IterablePrototype","mapEntries","KeyedIterablePrototype","removeNum","numArgs","spliced","interpose","interleave","zipped","interleaved","IntroJs","_targetElement","_introItems","nextLabel","prevLabel","skipLabel","doneLabel","hidePrev","hideNext","tooltipPosition","tooltipClass","highlightClass","exitOnEsc","exitOnOverlayClick","showStepNumbers","keyboardNavigation","showButtons","showBullets","showProgress","scrollToElement","scrollPadding","overlayOpacity","positionPrecedence","disableInteraction","hintPosition","hintButtonLabel","hintAnimation","_introForElement","targetElm","introItems","stepsLength","currentItem","_cloneObject","floatingElementQuery","allIntroSteps","elmsLength","intro","nextStep","tempIntroItems","z","_addOverlayLayer","_nextStep","_onKeyDown","_exitIntro","_previousStep","_currentStep","_introCompleteCallback","_onResize","_goToStep","_goToStepNumber","_currentStepNumber","_direction","_introBeforeChangeCallback","_showElement","_refresh","_setHelperLayerPosition","oldHelperNumberLayer","oldArrowLayer","oldtooltipContainer","_placeTooltip","_reAlignHints","continueExit","_introBeforeExitCallback","overlayLayers","overlayLayer","helperLayer","referenceLayer","disableInteractionLayer","floatingElement","_removeShowElement","fixParents","_introExitCallback","tooltipLayer","arrowLayer","helperNumberLayer","hintMode","currentStepObj","tooltipOffset","targetOffset","windowSize","currentTooltipPosition","tooltipCssClass","marginTop","_determineAutoPosition","_getOffset","_getWinSize","tooltipLayerStyleLeft","_checkRight","tooltipLayerStyleRight","_checkLeft","tooltipLayerStyleLeftRight","desiredTooltipPosition","possiblePositions","tooltipHeight","tooltipWidth","calculatedPosition","_removeEntry","stringArray","stringToRemove","elementPosition","widthHeightPadding","_isFixed","_disableInteraction","_setAnchorAsButton","_introChangeCallback","oldHelperLayer","oldReferenceLayer","oldtooltipLayer","skipTooltipButton","prevTooltipButton","nextTooltipButton","lastIntroItem","_lastShowElementTimer","_getProgress","_scrollTo","tooltipTextLayer","bulletsLayer","progressLayer","buttonsLayer","ulContainer","innerLi","anchorLink","onclick","goToStep","progressBar","_setShowElement","_introAfterChangeCallback","rect","_elementInViewport","winHeight","elms","_removeClass","SVGElement","parentElm","_setClass","currentElementPosition","_getPropValue","classNameRegex","propValue","currentStyle","styleText","_removeHintTooltip","_populateHints","hints","hint","_addHints","_alignHintPosition","_hideHint","stepId","_hintCloseCallback","_hideHints","_showHints","_showHint","_removeHints","_removeHint","oldHintsWrapper","hintsWrapper","cancelBubble","_showHintDialog","hintDot","hintPulse","_hintsAddedCallback","iconWidth","iconHeight","hintElement","_hintClickCallback","removedStep","tooltipWrapper","closeButton","docEl","_x","currentStep","_mergeOptions","obj3","attrname","introJs","setOption","setOptions","addStep","addSteps","goToStepNumber","previousStep","onbeforechange","providedCallback","onafterchange","oncomplete","onhintsadded","onhintclick","onhintclose","onexit","onbeforeexit","addHints","hideHint","hideHints","showHint","showHints","removeHints","removeHint","showHintDialog","dragula","lookupClass","rmClass","initialContainers","isContainer","drake","containers","op","touchy","grab","eventualMovements","startBecauseMouseMoved","movements","crossvent","preventGrabbed","_grabbed","_moveX","_moveY","whichMouseButton","canStart","isInput","ignoreInputTextSelection","getCoord","elementBehindCursor","elementFromPoint","grabbed","getOffset","_item","_offsetX","_offsetY","_copy","renderMirrorImage","drag","dragging","_mirror","getParent","movable","moves","nextEl","canMove","manualStart","isCopy","_source","_initialSibling","_currentSibling","invalidTarget","ungrab","getElementBehindPoint","dropTarget","findDropTarget","copySortSource","removeOnSpill","isInitialPlacement","cleanup","revert","reverts","revertOnSpill","removeMirrorImage","_renderTimer","_lastDropTarget","accepted","droppable","immediate","getImmediateChild","getReference","moved","spillOver","spillOut","getRectWidth","getRectHeight","mirrorContainer","outside","inside","never","emitter","touch","mouseup","mousedown","pointers","microsoft","pointerEnabled","msPointerEnabled","touches","buttons","getScroll","scrollProp","offsetProp","contentEditable","manually","getEventHost","targetTouches","changedTouches","missMap","./classes","contra/emitter","ticky","atoa","thing","_once","emitterSnapshot","listen","./debounce","addEventEasy","capturing","addEventHard","removeEventEasy","removeEventHard","fabricateEvent","makeClassicEvent","makeCustomEvent","customEvent","eventmap","wrapperFactory","hardCache","fabricate","./eventmap","custom-event","ron","useNative","NativeCustomEvent","foo","bubbles","Boolean","Suggestion","configure","attrValue","con","$$","me","isOpened","minChars","maxItems","autoFirst","DATA","FILTER_CONTAINS","SORT_BYLENGTH","ITEM","REPLACE","around","ul","aria-live","aria-relevant","_events","keydown","opened","li","indexOfAwesomplete","goto","lis","suggestions","siblingIndex","suggestion","regExpEscape","FILTER_STARTSWITH","aria-selected","Document","Awesomplete","classListProp","protoProp","elemCtrProto","Element","objCtr","strTrim","arrIndexOf","DOMEx","DOMException","checkTokenAndGetIndex","ClassList","trimmedClasses","_updateClassName","classListProto","classListGetter","updated","classListPropDesc","__defineGetter__","webkitURL","Blob","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","get_class","FakeBlobBuilder","FakeBlob","encoding","FBB_proto","FB_proto","FileReaderSync","FileException","file_ex_codes","file_ex_code","real_URL","real_create_object_URL","createObjectURL","real_revoke_object_URL","revokeObjectURL","btoa","atob","fake","uri_origin","uri_info","createElementNS","blob","data_URI_header","object_URL","bb","buf_len","readAsBinaryString","getBlob","blobParts","builder","webkitSlice","__proto__","isElectron","electron","MediumEditor","extensions","copyInto","nodeContainsWorksWithTextNodes","testParent","testText","exc","Util","isIE","appName","isEdge","isFF","isMac","BACKSPACE","TAB","ENTER","SPACE","K","V","isMetaCtrlKey","getKeyCode","blockContainerElementNames","emptyElementNames","createLink","textNodes","moveTextRangeIntoElement","findOrCreateMatchingTextNodes","treeWalker","createTreeWalker","NodeFilter","SHOW_ALL","matchedNodes","currentTextIndex","startReached","currentNode","splitStartNodeIfNeeded","splitEndNodeIfNeeded","matchStartIndex","splitText","matchEndIndex","textIndexOfEndOfFarthestNode","endSplitPoint","splitByBlockElements","toRet","blockElementQuery","findAdjacentTextNodeWithContent","pastTarget","nodeIterator","createNodeIterator","SHOW_TEXT","findPreviousSibling","isMediumEditorElement","previousSibling","isDescendant","checkEquality","THROTTLE_INTERVAL","traverseUp","testElementFunction","htmlEntities","insertHTMLCommand","lastNode","toReplace","ecArgs","queryCommandSupported","execCommand","getSelection","rangeCount","getRangeAt","commonAncestorContainer","selectNode","startOffset","endOffset","deleteContents","insertNode","cloneRange","setStartAfter","collapse","selectRange","callListeners","execFormatBlock","blockContainer","getTopBlockContainer","getSelectionStart","childNode","isBlockContainer","setTargetBlank","anchorUrl","removeTargetBlank","addClassToAnchors","buttonClass","aChildren","parentAnchor","getClosestTag","isListItem","cleanListDOM","moveCursor","splitOffDOMTree","leafNode","splitLeft","splitOnNode","createdNode","splitRight","appendLast","currParent","newParent","hasChildNodes","startNode","findCommonRoot","rootChildren","afterLast","depthOfNode","inNode","theDepth","inNode1","inNode2","depth1","depth2","node1","node2","isElementAtBeginningOfBlock","textVal","getContainerEditorElement","getClosestBlockContainer","topBlock","getFirstSelectableLeafNode","firstCell","getFirstTextNode","_getFirstTextNode","textNode","ensureUrlHasProtocol","deprecatedMethod","cleanupAttrs","cleanupTags","unwrapTags","_s4","Extension","protoProps","Surrogate","checkState","queryCommandState","isAlreadyApplied","setActive","setInactive","getInteractionElements","getEditorElements","getEditorId","getEditorOption","helper","filterOnlyParentElements","FILTER_ACCEPT","FILTER_SKIP","Selection","findMatchingSelectionParent","contentWindow","getSelectionElement","exportSelection","selectionState","preSelectionRange","selectNodeContents","setEnd","startContainer","doesRangeStartWithImages","startsWithImage","trailingImageCount","getTrailingImageCount","endContainer","emptyBlocksIndex","getIndexRelativeToAdjacentEmptyBlocks","importSelection","favorLaterSelectionAnchor","setStart","nextCharIndex","nodeStack","charIndex","foundStart","foundEnd","allowRangeToStartAtEndOfNode","lastTextNode","importSelectionMoveCursorPastBlocks","importSelectionMoveCursorPastAnchor","nodeInsideAnchorTagFunction","prevNode","currentNodeIndex","startBlock","SHOW_ELEMENT","currIndex","cursorContainer","cursorOffset","closestBlock","emptyBlocksCount","blockIsEmpty","img","trailingImages","selectionContainsContent","isCollapsed","selectionNode","getSelectedParentElement","selectionInContentEditableFalse","sawtrue","sawfalse","getSelectionHtml","cloneContents","getCaretOffsets","preCaretRange","postCaretRange","rangeSelectsSingleNode","getSelectedElements","currNode","containsNode","clearSelection","moveCursorToStart","collapseToStart","collapseToEnd","getSelectionRange","removeAllRanges","addRange","anchorNode","isElementDescendantOfExtension","extension","extensionElements","Events","disabledEvents","customEvents","InputEventOnContenteditableSupported","attachDOMEvent","useCapture","detachDOMEvent","detachAllDOMEvents","detachAllEventsFromElement","filtered","attachAllEventsToElement","contentCache","eventsCache","enableCustomEvent","disableCustomEvent","attachCustomEvent","setupListener","detachCustomEvent","indexOfCustomListener","detachAllCustomEvents","triggerCustomEvent","detachExecCommand","attachToExecCommand","execCommandListener","execInfo","handleDocumentExecCommand","wrapExecCommand","unwrapExecCommand","command","handleBodyMousedown","handleBodyClick","handleBodyFocus","attachToEachElement","handleInput","keypressUpdateInput","handleDocumentSelectionChange","handleClick","handleBlur","handleKeypress","handleKeyup","handleKeydown","handleMouseover","handleDragging","handleDrop","handlePaste","cleanupElement","focusElement","updateFocus","eventObj","toFocus","hadFocus","getFocusedElement","lastMousedownTarget","externalEvent","updateInput","Button","aria","tagNames","useQueryState","contentDefault","contentFA","isBuiltInButton","createButton","getButton","getAction","getAria","getTagNames","ariaLabel","buttonLabels","execAction","knownState","queryState","styleVals","computedStyle","strikethrough","superscript","subscript","orderedlist","unorderedlist","outdent","justifyCenter","justifyFull","justifyLeft","justifyRight","removeFormat","h5","h6","FormExtension","formSaveLabel","formCloseLabel","activeClass","hasForm","getForm","isDisplayed","showForm","hideForm","showToolbarDefaultActions","toolbar","getExtensionByName","hideToolbarDefaultActions","setToolbarPosition","AnchorForm","customClassOption","customClassOptionText","linkValidation","placeholderText","targetCheckbox","targetCheckboxText","createForm","getTemplate","getInput","getAnchorTargetCheckbox","buttonCheckbox","getAnchorButtonCheckbox","saveSelection","getFormOpts","checkLinkFormat","doFormSave","completeFormSave","restoreSelection","checkSelection","ensureEncodedUri","decodeURI","encodeURI","ensureEncodedUriComponent","ensureEncodedParam","ensureEncodedQuery","queryString","urlSchemeRegex","hasScheme","scheme","telRegex","urlParts","doFormCancel","attachFormEvents","handleFormClick","handleTextboxKeyup","handleCloseClick","handleSaveClick","AnchorPreview","hideDelay","previewValueSelector","showWhenToolbarIsVisible","showOnEmptyLinks","anchorPreview","createPreview","attachToEditables","getPreviewElement","hidePreview","activeAnchor","showPreview","anchorEl","positionPreview","attachPreviewHandlers","halfOffsetWidth","defaultLeft","middleBoundary","elementsContainerBoundary","containerWidth","buttonHeight","boundary","diffLeft","diffTop","elementsContainer","elementsContainerAbsolute","relativeBoundary","toolbarExtension","handleEditableMouseover","handlePositionedToolbar","anchorExtension","handleAnchorMouseout","anchorToPreview","instanceHandleAnchorMouseout","detachPreviewHandlers","handlePreviewMouseover","lastOver","hovering","handlePreviewMouseout","updatePreview","durr","intervalTimer","instanceHandlePreviewMouseover","instanceHandlePreviewMouseout","nodeIsNotInsideAnchorTag","WHITESPACE_CHARS","KNOWN_TLDS_FRAGMENT","LINK_REGEXP_TEXT","KNOWN_TLDS_REGEXP","LINK_REGEXP","AutoLink","disableEventHandling","onKeypress","onBlur","isLastInstance","activeInstances","_mediumEditors","editor","blurEvent","performLinking","keyPressEvent","performLinkingTimeout","contenteditable","documentModified","removeObsoleteAutoLinkSpans","performLinkingWithinElement","spans","trimmedTextContent","charactersTrimmed","subtree","splitTextBeforeEnd","characterCount","lastChildNotExhausted","currentNodeValue","findLinkableText","linkCreated","matchIndex","matchingTextNodes","shouldNotLink","createAutoLink","matchOk","matchEnd","autoLink","clearClassNames","CLASS_DRAG_OVER","FileDragging","allowedTypes","handleDrag","dataTransfer","dropEffect","isAllowedFile","insertImageFile","fileType","FileReader","fileReader","readAsDataURL","addImageElement","fileDragging","KeyboardCommands","commands","meta","alt","isMeta","isShift","isAlt","altKey","keyboardCommands","FontNameForm","fonts","fontName","queryCommandValue","getSelect","clearFontName","handleFontChange","FontSizeForm","clearFontSize","handleSliderChange","createReplacements","getClipboardContent","clipboardData","legacyText","pasteBinDefaultContent","lastRange","keyboardPasteEditable","stopProp","PasteHandler","forcePlainText","cleanPastedHTML","preCleanReplacements","cleanReplacements","cleanAttrs","cleanTags","handleAddElement","removePasteBin","clipboardContent","pastedHTML","pastedPlain","doPaste","paragraphs","cleanPaste","handlePasteBinPaste","getPasteBinHtml","createPasteBin","rects","pasteBinElm","pasteBinId","boundHandlePaste","getPasteBin","pasteBinHtml","elList","workEl","replacements","pasteHTML","filterCommonBlocks","filterLineBreak","fragmentBody","pasteBlock","cleanupSpans","isCommonBlock","removeWithParent","childElementCount","containerEl","newEl","isCEF","paste","Placeholder","hideOnClick","initPlaceholders","attachEventHandlers","updatePlaceholder","handleRemoveElement","showPlaceholder","hidePlaceholder","dontShow","handleFocus","Toolbar","allowMultiParagraphSelection","firstButtonClass","lastButtonClass","standardizeSelectionStart","static","sticky","stickyTopOffset","updateOnEmptySelection","relativeContainer","initThrottledMethods","getToolbarElement","forEachExtension","createToolbar","createToolbarButtons","btn","buttonName","buttonOpts","addBuiltInExtension","getToolbarActionsElement","throttledPositionToolbar","positionToolbarIfShown","handleEditableClick","handleEditableKeyup","handleDocumentMouseup","handleWindowScroll","handleWindowResize","hideTimeout","delayShowTimeout","hideToolbar","showToolbar","isToolbarDefaultActionsDisplayed","hideExtensionForms","multipleBlockElementsSelected","regexEmptyHTMLTags","regexBlockElements","selectionHTML","hasMultiParagraphs","modifySelection","selectionRange","adjacentNode","preventSelectionUpdates","selectionElement","showAndUpdateToolbar","setToolbarButtonStates","checkActiveButtons","manualStateChecks","updateExtensionState","positionStaticToolbar","positionToolbar","targetLeft","windowWidth","toolbarElement","containerRect","containerTop","containerCenter","toolbarHeight","toolbarWidth","ImageDragging","imageDragging","handleDisableExtraSpaces","caretPositions","handleDisabledEnterKeydown","disableReturn","disableDoubleReturn","handleTabKeydown","handleBlockDeleteKeydowns","isHeader","handleEditableInput","addToEditors","removeFromEditors","createElementsArray","filterEditorElements","cleanupTextareaElement","setExtensionDefaults","initExtension","extensionDefaults","isToolbarEnabled","isAnchorPreviewEnabled","isPlaceholderEnabled","isAutoLinkEnabled","isImageDraggingEnabled","isKeyboardCommandsEnabled","shouldUseFileDraggingExtension","createContentEditable","atts","resetContent","editorId","instanceHandleEditableInput","disableEditing","spellcheck","instanceHandleEditableKeydownEnter","elementId","initialContent","attachHandlers","disableExtraSpaces","initExtensions","builtIns","anchor-preview","toolbarOptions","mergeOptions","deprecatedProperties","execActionInternal","cmdValueArgument","appendAction","justifyAction","cleanupJustifyDivFragments","textAlign","childDivs","isDiv","origElements","addElements","elementid","ext","merged","stopSelectionUpdates","startSelectionUpdates","fullAction","selectAllContents","selElement","focused","editableElementIndex","editableElement","targetUrl","currentEditor","currentSelection","exportedSelection","startContainerParentElement","endContainerParentElement","currRange","modifiedExportedSelection","leadingWhitespacesCount","targetBlank","setContent","checkContentChanged","getContent","removeElements","getEditorFromElement","activeButtonClass","parseVersionString","preRelease","revision","toMarkdown","isBlock","blocks","isVoid","voids","htmlToDom","HtmlParser","bfsOrder","inqueue","outqueue","_replacement","canConvert","isFlankedByWhitespace","side","isFlanked","flankingWhitespace","hasLeading","hasTrailing","mdConverters","gfmConverters","gfm","./lib/gfm-converters","./lib/html-parser","./lib/md-converters","collapse-whitespace","cell","highlightRegEx","borderCells","alignMap","center","canParseHtmlNatively","canParse","createHtmlParser","jsdom","features","FetchExternalResources","ProcessExternalResources","shouldUseActiveX","ActiveXObject","designMode","useActiveX","hLevel","hPrefix","hasSiblings","isCodeBlock","titlePart","strings","isBlockElem","collapseWhitespace","prevText","prevVoid","block-elements","void-elements","area","embed","keygen","menuitem","wbr","markdownit","entities/maps/entities.json","attr_name","single_quoted","double_quoted","attr_value","open_tag","close_tag","processing","declaration","cdata","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","_class","_hasOwnProperty","arrayReplaceAt","newElements","isValidEntityCode","fromCodePoint","surrogate1","surrogate2","replaceEntityPattern","entities","DIGITAL_ENTITY_TEST_RE","unescapeMd","UNESCAPE_MD_RE","unescapeAll","UNESCAPE_ALL_RE","entity","replaceUnsafeChar","HTML_REPLACEMENTS","escapeHtml","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","escapeRE","REGEXP_ESCAPE_RE","isSpace","isWhiteSpace","isPunctChar","UNICODE_PUNCT_RE","isMdAsciiPunct","normalizeReference","ENTITY_RE","lib","mdurl","ucmicro","./entities","uc.micro","uc.micro/categories/P/regex","parseLinkLabel","parseLinkDestination","parseLinkTitle","./parse_link_destination","./parse_link_label","./parse_link_title","../common/utils","disableNested","prevPos","labelEnd","posMax","oldPos","md","inline","skipToken","validateLink","BAD_PROTO_RE","GOOD_DATA_RE","normalizeLink","RECODE_HOSTNAME_FOR","punycode","toASCII","er","normalizeLinkText","toUnicode","decode","MarkdownIt","presetName","ParserInline","ParserBlock","core","ParserCore","renderer","Renderer","linkify","LinkifyIt","helpers","commonmark","presets","ruler","enableOnly","rules2","ruler2","ignoreInvalid","missed","State","parseInline","inlineMode","renderInline","./common/utils","./helpers","./parser_block","./parser_core","./parser_inline","./presets/commonmark","./presets/default","./presets/zero","./renderer","linkify-it","Ruler","_rules","startLine","endLine","getRules","hasEmptyLines","maxNesting","skipEmptyLines","sCount","blkIndent","tight","outTokens","lineMax","./ruler","./rules_block/blockquote","./rules_block/code","./rules_block/fence","./rules_block/heading","./rules_block/hr","./rules_block/html_block","./rules_block/lheading","./rules_block/list","./rules_block/paragraph","./rules_block/reference","./rules_block/state_block","./rules_block/table","Core","./rules_core/block","./rules_core/inline","./rules_core/linkify","./rules_core/normalize","./rules_core/replacements","./rules_core/smartquotes","./rules_core/state_core","_rules2","postProcess","pushPending","./rules_inline/autolink","./rules_inline/backticks","./rules_inline/balance_pairs","./rules_inline/emphasis","./rules_inline/entity","./rules_inline/escape","./rules_inline/html_inline","./rules_inline/image","./rules_inline/link","./rules_inline/newline","./rules_inline/state_inline","./rules_inline/strikethrough","./rules_inline/text","./rules_inline/text_collapse","xhtmlOut","breaks","langPrefix","typographer","quotes","default_rules","code_inline","slf","renderAttrs","code_block","fence","highlighted","tmpAttrs","tmpToken","langName","attrIndex","renderInlineAsText","renderToken","hardbreak","softbreak","html_block","html_inline","nextToken","needLf","nesting","__rules__","__cache__","__find__","__compile__","chains","rule","altName","beforeName","ruleName","afterName","silent","adjustTab","lastLineEmpty","nextLine","oldBMarks","oldBSCount","oldIndent","oldParentType","oldSCount","oldTShift","spaceAfterMarker","terminate","terminatorRules","wasOutdented","oldLineMax","bMarks","tShift","eMarks","bsCount","parentType","markup","getLines","mem","haveEndMarker","skipChars","skipSpaces","skipSpacesBack","skipCharsBack","block_names","HTML_SEQUENCES","lineText","../common/html_blocks","../common/html_re","skipBulletListMarker","skipOrderedListMarker","markTightParagraphs","contentStart","indentAfterMarker","itemLines","listLines","listTokIdx","markerCharCode","markerValue","oldLIndent","oldTight","posAfterMarker","prevEmptyEnd","isTerminatingParagraph","_endLine","destEndPos","destEndLineNo","references","StateBlock","indent_found","ddIndent","Token","keepLastLF","lineIndent","lineStart","../token","getLine","escapedSplit","escapes","lastPos","backTicked","lastBackTick","columns","aligns","tableLines","tbodyLines","isLinkOpen","isLinkClose","currentToken","htmlLinkLevel","fullUrl","urlText","blockTokens","pretest","schema","NEWLINES_RE","NULL_RE","replaceFn","SCOPED_ABBR","replace_scoped","inlineTokens","inside_autolink","SCOPED_ABBR_RE","replace_rare","RARE_RE","SCOPED_ABBR_TEST_RE","tm","blkIdx","replaceAt","process_inlines","thisLevel","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","canOpen","canClose","isSingle","openQuote","closeQuote","OUTER","QUOTE_RE","single","APOSTROPHE","QUOTE_TEST_RE","StateCore","37","EMAIL_RE","AUTOLINK_RE","linkMatch","emailMatch","38","matchStart","39","lastDelim","currDelim","delimiters","jump","odd_match","40","scanned","scanDelims","can_open","can_close","startDelim","endDelim","isStrong","41","DIGITAL_RE","NAMED_RE","../common/entities","42","ESCAPED","43","isLetter","44","labelStart","45","parseReference","46","pmax","47","StateInline","pendingLevel","canSplitWord","left_flanking","right_flanking","48","loneMarkers","49","isTerminatorChar","50","51","attrPush","attrData","attrSet","attrGet","attrJoin","52","Aacute","aacute","Abreve","abreve","ac","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","Amacr","amacr","amalg","amp","AMP","andand","And","andd","andslope","andv","ang","ange","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angmsd","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","apacir","apE","ape","apid","apos","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","barwed","Barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","because","Because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxdl","boxdL","boxDl","boxDL","boxdr","boxdR","boxDr","boxDR","boxh","boxH","boxhd","boxHd","boxhD","boxHD","boxhu","boxHu","boxhU","boxHU","boxminus","boxplus","boxtimes","boxul","boxuL","boxUl","boxUL","boxur","boxuR","boxUr","boxUR","boxv","boxV","boxvh","boxvH","boxVh","boxVH","boxvl","boxvL","boxVl","boxVL","boxvr","boxvR","boxVr","boxVR","bprime","breve","Breve","brvbar","bscr","Bscr","bsemi","bsim","bsime","bsolb","bsol","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","capand","capbrcup","capcap","cap","Cap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","centerdot","CenterDot","cfr","Cfr","CHcy","chcy","checkmark","Chi","chi","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cir","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","colon","Colon","Colone","colone","coloneq","comma","commat","compfn","complement","complexes","cong","congdot","Congruent","conint","Conint","ContourIntegral","copf","Copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","cross","Cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","cupbrcap","cupcap","CupCap","cup","Cup","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","dagger","Dagger","daleth","darr","Darr","dArr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","ddagger","ddarr","DD","DDotrahd","ddotseq","deg","Del","Delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","diamond","Diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrowBar","downarrow","DownArrow","Downarrow","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVectorBar","DownLeftVector","DownRightTeeVector","DownRightVectorBar","DownRightVector","DownTeeArrow","DownTee","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","Ecirc","ecirc","ecir","ecolon","Ecy","ecy","eDDot","Edot","edot","eDot","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp13","emsp14","emsp","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","escr","Escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","exponentiale","ExponentialE","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","forall","ForAll","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","fscr","Fscr","gacute","Gamma","gamma","Gammad","gammad","gap","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","ge","gE","gEl","gel","geq","geqq","geqslant","gescc","ges","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","ggg","gimel","GJcy","gjcy","gla","glE","glj","gnap","gnapprox","gne","gnE","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","gtcc","gtcir","GT","Gt","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","harrcir","harr","hArr","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","hfr","Hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","hopf","Hopf","horbar","HorizontalLine","hscr","Hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","ifr","Ifr","Igrave","igrave","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Imacr","imacr","ImaginaryI","imagline","imagpart","imath","Im","imof","imped","Implies","incare","infin","infintie","inodot","intcal","int","Int","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","iscr","Iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","larrb","larrbfs","larr","Larr","lArr","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","latail","lAtail","lat","late","lates","lbarr","lBarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","le","lE","LeftAngleBracket","LeftArrowBar","leftarrow","LeftArrow","Leftarrow","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVectorBar","LeftDownVector","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","leftrightarrow","LeftRightArrow","Leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTeeArrow","LeftTee","LeftTeeVector","leftthreetimes","LeftTriangleBar","LeftTriangle","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVectorBar","LeftUpVector","LeftVectorBar","LeftVector","lEg","leg","leq","leqq","leqslant","lescc","les","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","llarr","ll","Ll","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoustache","lmoust","lnap","lnapprox","lne","lnE","lneq","lneqq","lnsim","loang","loarr","lobrk","longleftarrow","LongLeftArrow","Longleftarrow","longleftrightarrow","LongLeftRightArrow","Longleftrightarrow","longmapsto","longrightarrow","LongRightArrow","Longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","lscr","Lscr","lsh","Lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","ltcc","ltcir","Lt","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","mapsto","mapstodown","mapstoleft","mapstoup","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","midast","midcir","middot","minusb","minus","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","mscr","Mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natural","naturals","natur","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","nearhk","nearr","neArr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nharr","nhArr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlarr","nlArr","nldr","nlE","nle","nleftarrow","nLeftarrow","nleftrightarrow","nLeftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","nopf","Nopf","Not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangleBar","NotLeftTriangle","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangleBar","NotRightTriangle","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","nparallel","npar","nparsl","npart","npolint","npr","nprcue","nprec","npreceq","npre","nrarrc","nrarr","nrArr","nrarrw","nrightarrow","nRightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","numero","numsp","nvap","nvdash","nvDash","nVdash","nVDash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwarr","nwArr","nwarrow","nwnear","Oacute","oacute","oast","Ocirc","ocirc","ocir","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","omid","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","orarr","Or","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","otimesas","Otimes","otimes","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","para","parallel","par","parsim","parsl","PartialD","Pcy","pcy","percnt","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","Pi","pi","pitchfork","piv","planck","planckh","plankv","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","popf","Popf","pound","prap","Pr","pr","prcue","precapprox","prec","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","prE","precsim","prime","Prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","Proportional","Proportion","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","qopf","Qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","quot","QUOT","rAarr","Racute","racute","radic","raemptyv","rang","Rang","rangd","rangle","raquo","rarrap","rarrb","rarrbfs","rarrc","rarr","Rarr","rArr","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","ratail","rAtail","ratio","rationals","rbarr","rBarr","RBarr","rbbrk","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","real","realine","realpart","reals","Re","reg","REG","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","rfr","Rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrowBar","rightarrow","RightArrow","Rightarrow","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVectorBar","RightDownVector","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTeeArrow","RightTee","RightTeeVector","rightthreetimes","RightTriangleBar","RightTriangle","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVectorBar","RightUpVector","RightVectorBar","RightVector","ring","risingdotseq","rlarr","rlhar","rlm","rmoustache","rmoust","rnmid","roang","roarr","robrk","ropar","ropf","Ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","rscr","Rscr","rsh","Rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","scap","Scaron","scaron","Sc","sccue","scE","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdotb","sdot","sdote","searhk","searr","seArr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","solbar","solb","sol","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","square","Square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squ","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","starf","straightepsilon","straightphi","strns","sub","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","subset","Subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succapprox","succ","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sung","sup1","sup2","sup3","sup","Sup","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","supset","Supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swarr","swArr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","therefore","Therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","ThinSpace","thinsp","thkap","thksim","THORN","thorn","tilde","Tilde","TildeEqual","TildeFullEqual","TildeTilde","timesbar","timesb","timesd","tint","toea","topbot","topcir","Topf","topf","topfork","tosa","tprime","trade","TRADE","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","uarr","Uarr","uArr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrowBar","uparrow","UpArrow","Uparrow","UpArrowDownArrow","updownarrow","UpDownArrow","Updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","upsi","Upsi","upsih","Upsilon","upsilon","UpTeeArrow","UpTee","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","varr","vArr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","vBar","Vbar","vBarv","Vcy","vcy","vdash","vDash","Vdash","VDash","Vdashl","veebar","vee","Vee","veeeq","vellip","verbar","Verbar","vert","Vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","wedge","Wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xharr","xhArr","Xi","xi","xlarr","xlArr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrarr","xrArr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","yuml","Yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","zfr","Zfr","ZHcy","zhcy","zigrarr","zopf","Zopf","Zscr","zscr","zwj","zwnj","53","isOptionsObj","acc","resetScanCache","__text_cache__","createValidator","createNormalizer","untpl","src_tlds","schemaError","__opts__","tlds","__tlds__","onCompile","__tlds_replaced__","tlds_2ch_src_re","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","__compiled__","__schemas__","slist","schema_test","src_ZPCc","schema_search","Match","__last_index__","__schema__","createMatch","schemas","defaultSchemas","tlds_default","fuzzyLink","fuzzyEmail","fuzzyIP","http:","src_auth","src_host_port_strict","src_path","https:","ftp:","//","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto:","mailto","src_email_name","src_host_strict","tld_pos","at_pos","testSchemaAt","keepOld","./lib/re","54","src_Any","src_Cc","src_Z","src_P","src_ZCc","text_separators","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","uc.micro/categories/Cc/regex","uc.micro/categories/Z/regex","uc.micro/properties/Any/regex","55","getDecodeCache","exclude","decodeCache","defaultChars","b1","b2","b3","b4","componentChars","56","getEncodeCache","encodeCache","keepEscaped","nextCode","57","slashes","58","./decode","./encode","./format","./parse","59","Url","slashesDenoteHost","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","hostlessProtocol","javascript","javascript:","slashedProtocol","gopher","gopher:","file:","lowerProto","hec","simplePath","hostEnd","atSign","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","qm","60","mapDomain","regexSeparators","labels","encoded","ucs2decode","ucs2encode","stringFromCharCode","basicToDigit","codePoint","digitToBasic","adapt","numPoints","damp","baseMinusTMin","tMax","skew","basic","oldi","baseMinusT","inputLength","initialN","bias","initialBias","maxInt","tMin","handledCPCount","basicLength","q","handledCPCountPlusOne","qMinusT","regexPunycode","regexNonASCII","not-basic","invalid-input","ucs2","61","62","63","64","65","Any","Cc","Cf","./categories/Cc/regex","./categories/Cf/regex","./categories/P/regex","./categories/Z/regex","./properties/Any/regex","66","67","./lib/","_self","WorkerGlobalScope","Prism","manual","disableWorkerMessageHandler","objId","redef","grammar","newToken","DFS","visited","highlightAll","highlightAllUnder","highlightElement","Worker","worker","onmessage","highlightedCode","postMessage","immediateClose","matchGrammar","strarr","oneshot","lookbehind","greedy","lookbehindLength","delNum","matchedStr","currentScript","prolog","doctype","punctuation","attr-value","attr-name","mathml","svg","atrule","important","style-attr","clike","class-name","function-variable","template-string","interpolation-punctuation","js","fileHighlight","Extensions","py","rb","ps1","psm1","bat","tex","classMap","customClass","cm","prefixString","AutoList","list_start","Autolinker","cfg","urls","normalizeUrlsCfg","hashtag","mention","newWindow","stripPrefix","normalizeStripPrefixCfg","stripTrailingSlash","decodePercentEncoding","normalizeTruncateCfg","tagBuilder","textOrHtml","autolinker","schemeMatches","wwwMatches","tldMatches","www","getHtmlParser","htmlNodes","anchorTagStackCount","getType","getTagName","isClosing","textNodeMatches","parseText","compactMatches","removeUnwantedMatches","matchedTextLength","getMatchedText","endIdx","removeIdx","getUrlMatchType","getMatchers","numMatchers","textMatches","parseMatches","numTextMatches","newHtml","createMatchReturnVal","replaceFnResult","HtmlTag","toAnchorString","anchorTag","buildTag","matchersNs","getTagBuilder","Hashtag","Email","Phone","Mention","AnchorTagBuilder","abstractMethod","trimRegex","superclass","superclassProto","F","subclass","subclassProto","ellipsis","truncateLen","ellipsisChars","ellipsisLength","splitAndCapture","splitRegex","lastIdx","whitespaceRegex","innerHtml","setTagName","setAttr","tagAttrs","getAttrs","getAttr","setAttrs","newClass","classAttr","setInnerHtml","getInnerHtml","attrsStr","buildAttrsStr","attrsArr","RegexLib","alphaCharsStr","decimalNumbersStr","alphaNumericCharsStr","ipStr","domainLabelStr","getDomainLabelStr","getDomainNameStr","build","createAttrs","processAnchorText","getAnchorText","getAnchorHref","createCssClass","returnClasses","cssClassSuffixes","getCssClassSuffixes","anchorText","doTruncate","truncateLength","truncateLocation","TruncateSmart","TruncateMiddle","TruncateEnd","htmlRegex","commentTagRegex","tagNameRegex","attrNameRegex","attrValueRegex","optionalAttrValueRegex","getNameEqualsValueRegex","htmlCharacterEntitiesRegex","currentResult","textAndEntityNodes","tagText","commentText","isClosingTag","inBetweenTagsText","parseTextAndEntityNodes","createCommentNode","createElementNode","textAndEntityTokens","textToken","entityToken","createEntityNode","CommentNode","ElementNode","closing","EntityNode","TextNode","HtmlNode","getComment","matchedText","getEmail","getServiceName","getHashtag","plusSign","getNumber","getMention","urlMatchType","protocolUrlMatch","protocolRelativeMatch","schemePrefixRegex","wwwPrefixRegex","protocolRelativeRegex","protocolPrepended","getUrl","stripProtocolRelativePrefix","stripSchemePrefix","stripWwwPrefix","removeTrailingSlash","removePercentEncoding","tldRegex","Matcher","matcherRegex","alphaNumericChars","specialCharacters","restrictedSpecialCharacters","validCharacters","validRestrictedCharacters","emailRegex","nonWordCharRegex","prevChar","cleanNumber","testMatch","matcherRegexes","twitter","instagram","schemeRegex","wwwRegex","urlSuffixRegex","wordCharRegExp","openParensRe","closeParensRe","matchStr","schemeUrlMatch","wwwUrlMatch","wwwProtocolRelativeMatch","tldProtocolRelativeMatch","UrlMatchValidator","matchHasUnbalancedClosingParen","matchHasInvalidCharAfterTld","openParensMatch","closeParensMatch","numOpenParens","numCloseParens","urlMatch","alphaNumeric","hasFullProtocolRegex","uriSchemeRegex","hasWordCharAfterProtocolRegex","ipRegex","isValidUriScheme","urlMatchDoesNotHaveProtocolOrDot","urlMatchDoesNotHaveAtLeastOneWordChar","isValidIpAddress","containsMultipleDots","uriSchemeMatch","newRegex","uriScheme","stringBeforeSlash","ellipsisLengthBeforeParsing","availableLength","parse_url","urlObj","urlSub","buildSegment","remainingAvailableLength","remainingAvailableLengthHalf","matchQuery","pathAndQuery","remainingAvailableLength2","MoreEvents","__context","LocalDimensions","Point","onDown","downTime","toPoint","down","up","startX","startY","onMove","onUp","scrolling","newTarget","leaving","lastmousex","lastmousey","getRect","removeSpecial","addSpecial","timeOut","Emitter","dt","AutoScroller","autoScroll","hasWindow","autoScrollV","autoScrollH","scrollWhenOutside","pixels","pointCB","createPointCB","defineProperties","AutoScrollerFactory","onceListener","canRun","originalTarget","multipleSortableClass","mainClass","inProgress","removeEventFn","dragMultiple","currentLeft","currentTop","draggingItems","elmIndex","refreshOriginal","draggedItemsOriginal","isMultiple","setIndex","mainFound","prepare","itemsCloned","tgRepeat","immutable_collection","immutable_value","MentionExtension","isEditMode","hidePanel","mentionPanel","isBackspace","keyDownMentionPanel","moveKeys","focusNode","cancelMentionSpace","endChar","getLastWord","showPanel","wordNode","parentLink","surroundContents","refreshPositionPanel","selectMention","subject","getItems","renderPanel","markdownitLazyHeaders","heading"],"mappings":"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,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,KAAAC,IAAA,KACAC,IAAA,KAAAC,IAAA,KACAC,IAAA,KAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,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","file":"../libs.js","sourcesContent":["/*\r\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\r\n * in FIPS PUB 180-1\r\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\r\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r\n * Distributed under the BSD License\r\n * See http://pajhome.org.uk/crypt/md5 for details.\r\n */\r\n\r\n/*\r\n * Configurable variables. You may need to tweak these to be compatible with\r\n * the server-side, but the defaults work in most cases.\r\n */\r\nvar hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */\r\nvar b64pad = \"\"; /* base-64 pad character. \"=\" for strict RFC compliance */\r\nvar chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */\r\n\r\n/*\r\n * These are the functions you'll usually want to call\r\n * They take string arguments and return either hex or base-64 encoded strings\r\n */\r\nfunction hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));}\r\nfunction hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));}\r\nfunction b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));}\r\nfunction str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));}\r\n\r\n/*\r\n * Perform a simple self-test to see if the VM is working\r\n */\r\nfunction sha1_vm_test()\r\n{\r\n return hex_sha1(\"abc\") == \"a9993e364706816aba3e25717850c26c9cd0d89d\";\r\n}\r\n\r\n/*\r\n * Calculate the SHA-1 of an array of big-endian words, and a bit length\r\n */\r\nfunction core_sha1(x, len)\r\n{\r\n /* append padding */\r\n x[len >> 5] |= 0x80 << (24 - len % 32);\r\n x[((len + 64 >> 9) << 4) + 15] = len;\r\n\r\n var w = Array(80);\r\n var a = 1732584193;\r\n var b = -271733879;\r\n var c = -1732584194;\r\n var d = 271733878;\r\n var e = -1009589776;\r\n\r\n for(var i = 0; i < x.length; i += 16)\r\n {\r\n var olda = a;\r\n var oldb = b;\r\n var oldc = c;\r\n var oldd = d;\r\n var olde = e;\r\n\r\n for(var j = 0; j < 80; j++)\r\n {\r\n if(j < 16) w[j] = x[i + j];\r\n else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);\r\n var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),\r\n safe_add(safe_add(e, w[j]), sha1_kt(j)));\r\n e = d;\r\n d = c;\r\n c = rol(b, 30);\r\n b = a;\r\n a = t;\r\n }\r\n\r\n a = safe_add(a, olda);\r\n b = safe_add(b, oldb);\r\n c = safe_add(c, oldc);\r\n d = safe_add(d, oldd);\r\n e = safe_add(e, olde);\r\n }\r\n return Array(a, b, c, d, e);\r\n\r\n}\r\n\r\n/*\r\n * Perform the appropriate triplet combination function for the current\r\n * iteration\r\n */\r\nfunction sha1_ft(t, b, c, d)\r\n{\r\n if(t < 20) return (b & c) | ((~b) & d);\r\n if(t < 40) return b ^ c ^ d;\r\n if(t < 60) return (b & c) | (b & d) | (c & d);\r\n return b ^ c ^ d;\r\n}\r\n\r\n/*\r\n * Determine the appropriate additive constant for the current iteration\r\n */\r\nfunction sha1_kt(t)\r\n{\r\n return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :\r\n (t < 60) ? -1894007588 : -899497514;\r\n}\r\n\r\n/*\r\n * Calculate the HMAC-SHA1 of a key and some data\r\n */\r\nfunction core_hmac_sha1(key, data)\r\n{\r\n var bkey = str2binb(key);\r\n if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);\r\n\r\n var ipad = Array(16), opad = Array(16);\r\n for(var i = 0; i < 16; i++)\r\n {\r\n ipad[i] = bkey[i] ^ 0x36363636;\r\n opad[i] = bkey[i] ^ 0x5C5C5C5C;\r\n }\r\n\r\n var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);\r\n return core_sha1(opad.concat(hash), 512 + 160);\r\n}\r\n\r\n/*\r\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\r\n * to work around bugs in some JS interpreters.\r\n */\r\nfunction safe_add(x, y)\r\n{\r\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r\n return (msw << 16) | (lsw & 0xFFFF);\r\n}\r\n\r\n/*\r\n * Bitwise rotate a 32-bit number to the left.\r\n */\r\nfunction rol(num, cnt)\r\n{\r\n return (num << cnt) | (num >>> (32 - cnt));\r\n}\r\n\r\n/*\r\n * Convert an 8-bit or 16-bit string to an array of big-endian words\r\n * In 8-bit function, characters >255 have their hi-byte silently ignored.\r\n */\r\nfunction str2binb(str)\r\n{\r\n var bin = Array();\r\n var mask = (1 << chrsz) - 1;\r\n for(var i = 0; i < str.length * chrsz; i += chrsz)\r\n bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32);\r\n return bin;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a string\r\n */\r\nfunction binb2str(bin)\r\n{\r\n var str = \"\";\r\n var mask = (1 << chrsz) - 1;\r\n for(var i = 0; i < bin.length * 32; i += chrsz)\r\n str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask);\r\n return str;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a hex string.\r\n */\r\nfunction binb2hex(binarray)\r\n{\r\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n var str = \"\";\r\n for(var i = 0; i < binarray.length * 4; i++)\r\n {\r\n str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +\r\n hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);\r\n }\r\n return str;\r\n}\r\n\r\n/*\r\n * Convert an array of big-endian words to a base-64 string\r\n */\r\nfunction binb2b64(binarray)\r\n{\r\n var tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n var str = \"\";\r\n for(var i = 0; i < binarray.length * 4; i += 3)\r\n {\r\n var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16)\r\n | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )\r\n | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);\r\n for(var j = 0; j < 4; j++)\r\n {\r\n if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;\r\n else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);\r\n }\r\n }\r\n return str;\r\n}\r\n","/**\n * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n *\n * Copyright (c) 2011 Gary Court\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} key ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n */\n\nfunction murmurhash3_32_gc(key, seed) {\n\tvar remainder, bytes, h1, h1b, c1, c1b, c2, c2b, k1, i;\n\n\tremainder = key.length & 3; // key.length % 4\n\tbytes = key.length - remainder;\n\th1 = seed;\n\tc1 = 0xcc9e2d51;\n\tc2 = 0x1b873593;\n\ti = 0;\n\n\twhile (i < bytes) {\n\t\tk1 =\n\t\t ((key.charCodeAt(i) & 0xff)) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 8) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 16) |\n\t\t ((key.charCodeAt(++i) & 0xff) << 24);\n\t\t++i;\n\n\t\tk1 = ((((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16))) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = ((((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16))) & 0xffffffff;\n\n\t\th1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n\t\th1b = ((((h1 & 0xffff) * 5) + ((((h1 >>> 16) * 5) & 0xffff) << 16))) & 0xffffffff;\n\t\th1 = (((h1b & 0xffff) + 0x6b64) + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16));\n\t}\n\n\tk1 = 0;\n\n\tswitch (remainder) {\n\t\tcase 3: k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n\t\tcase 2: k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n\t\tcase 1: k1 ^= (key.charCodeAt(i) & 0xff);\n\n\t\tk1 = (((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = (((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n\t\th1 ^= k1;\n\t}\n\n\th1 ^= key.length;\n\n\th1 ^= h1 >>> 16;\n\th1 = (((h1 & 0xffff) * 0x85ebca6b) + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;\n\th1 ^= h1 >>> 13;\n\th1 = ((((h1 & 0xffff) * 0xc2b2ae35) + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16))) & 0xffffffff;\n\th1 ^= h1 >>> 16;\n\n\treturn h1 >>> 0;\n}\n\n\n","/* @preserve\n * The MIT License (MIT)\n * \n * Copyright (c) 2013-2017 Petka Antonov\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n * \n */\n/**\n * bluebird build version 3.5.1\n * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each\n*/\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var f;\"undefined\"!=typeof window?f=window:\"undefined\"!=typeof global?f=global:\"undefined\"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_==\"function\"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_==\"function\"&&_dereq_;for(var o=0;o 0) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n continue;\n }\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n};\n\nAsync.prototype._drainQueues = function () {\n this._drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n this._drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n},{\"./queue\":26,\"./schedule\":29,\"./util\":36}],3:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {\nvar calledBind = false;\nvar rejectThis = function(_, e) {\n this._reject(e);\n};\n\nvar targetRejected = function(e, context) {\n context.promiseRejectionQueued = true;\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n};\n\nvar bindingResolved = function(thisArg, context) {\n if (((this._bitField & 50397184) === 0)) {\n this._resolveCallback(context.target);\n }\n};\n\nvar bindingRejected = function(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n};\n\nPromise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n ret._propagateFrom(this, 1);\n var target = this._target();\n ret._setBoundTo(maybePromise);\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n maybePromise._then(\n bindingResolved, bindingRejected, undefined, ret, context);\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n return ret;\n};\n\nPromise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & (~2097152);\n }\n};\n\nPromise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n};\n\nPromise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n};\n};\n\n},{}],4:[function(_dereq_,module,exports){\n\"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = _dereq_(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n},{\"./promise\":22}],5:[function(_dereq_,module,exports){\n\"use strict\";\nvar cr = Object.create;\nif (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n}\n\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar isIdentifier = util.isIdentifier;\n\nvar getMethodCaller;\nvar getGetter;\nif (!true) {\nvar makeMethodCaller = function (methodName) {\n return new Function(\"ensureMethod\", \" \\n\\\n return function(obj) { \\n\\\n 'use strict' \\n\\\n var len = this.length; \\n\\\n ensureMethod(obj, 'methodName'); \\n\\\n switch(len) { \\n\\\n case 1: return obj.methodName(this[0]); \\n\\\n case 2: return obj.methodName(this[0], this[1]); \\n\\\n case 3: return obj.methodName(this[0], this[1], this[2]); \\n\\\n case 0: return obj.methodName(); \\n\\\n default: \\n\\\n return obj.methodName.apply(obj, this); \\n\\\n } \\n\\\n }; \\n\\\n \".replace(/methodName/g, methodName))(ensureMethod);\n};\n\nvar makeGetter = function (propertyName) {\n return new Function(\"obj\", \" \\n\\\n 'use strict'; \\n\\\n return obj.propertyName; \\n\\\n \".replace(\"propertyName\", propertyName));\n};\n\nvar getCompiled = function(name, compiler, cache) {\n var ret = cache[name];\n if (typeof ret !== \"function\") {\n if (!isIdentifier(name)) {\n return null;\n }\n ret = compiler(name);\n cache[name] = ret;\n cache[\" size\"]++;\n if (cache[\" size\"] > 512) {\n var keys = Object.keys(cache);\n for (var i = 0; i < 256; ++i) delete cache[keys[i]];\n cache[\" size\"] = keys.length - 256;\n }\n }\n return ret;\n};\n\ngetMethodCaller = function(name) {\n return getCompiled(name, makeMethodCaller, callerCache);\n};\n\ngetGetter = function(name) {\n return getCompiled(name, makeGetter, getterCache);\n};\n}\n\nfunction ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" +\n util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n return fn;\n}\n\nfunction caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n}\nPromise.prototype.call = function (methodName) {\n var args = [].slice.call(arguments, 1);;\n if (!true) {\n if (canEvaluate) {\n var maybeCaller = getMethodCaller(methodName);\n if (maybeCaller !== null) {\n return this._then(\n maybeCaller, undefined, undefined, args, undefined);\n }\n }\n }\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n};\n\nfunction namedGetter(obj) {\n return obj[this];\n}\nfunction indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n}\nPromise.prototype.get = function (propertyName) {\n var isIndex = (typeof propertyName === \"number\");\n var getter;\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n return this._then(getter, undefined, undefined, propertyName, undefined);\n};\n};\n\n},{\"./util\":36}],6:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, PromiseArray, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nPromise.prototype[\"break\"] = Promise.prototype.cancel = function() {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\n var promise = this;\n var child = promise;\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n break;\n }\n\n var parent = promise._cancellationParent;\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n promise._setWillBeCancelled();\n child = promise;\n promise = parent;\n }\n }\n};\n\nPromise.prototype._branchHasCancelled = function() {\n this._branchesRemainingToCancel--;\n};\n\nPromise.prototype._enoughBranchesHaveCancelled = function() {\n return this._branchesRemainingToCancel === undefined ||\n this._branchesRemainingToCancel <= 0;\n};\n\nPromise.prototype._cancelBy = function(canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n this._invokeOnCancel();\n return true;\n } else {\n this._branchHasCancelled();\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n return true;\n }\n }\n return false;\n};\n\nPromise.prototype._cancelBranched = function() {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n};\n\nPromise.prototype._cancel = function() {\n if (!this._isCancellable()) return;\n this._setCancelled();\n async.invoke(this._cancelPromises, this, undefined);\n};\n\nPromise.prototype._cancelPromises = function() {\n if (this._length() > 0) this._settlePromises();\n};\n\nPromise.prototype._unsetOnCancel = function() {\n this._onCancelField = undefined;\n};\n\nPromise.prototype._isCancellable = function() {\n return this.isPending() && !this._isCancelled();\n};\n\nPromise.prototype.isCancellable = function() {\n return this.isPending() && !this.isCancelled();\n};\n\nPromise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n};\n\nPromise.prototype._invokeOnCancel = function() {\n var onCancelCallback = this._onCancel();\n this._unsetOnCancel();\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n};\n\nPromise.prototype._invokeInternalOnCancel = function() {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n this._unsetOnCancel();\n }\n};\n\nPromise.prototype._resultCancelled = function() {\n this.cancel();\n};\n\n};\n\n},{\"./util\":36}],7:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar getKeys = _dereq_(\"./es5\").keys;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction catchFilter(instances, cb, promise) {\n return function(e) {\n var boundTo = promise._boundValue();\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error ||\n (item != null && item.prototype instanceof Error)) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n return tryCatch(cb).call(boundTo, e);\n }\n }\n return NEXT_FILTER;\n };\n}\n\nreturn catchFilter;\n};\n\n},{\"./es5\":13,\"./util\":36}],8:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar longStackTraces = false;\nvar contextStack = [];\n\nPromise.prototype._promiseCreated = function() {};\nPromise.prototype._pushContext = function() {};\nPromise.prototype._popContext = function() {return null;};\nPromise._peekContext = Promise.prototype._peekContext = function() {};\n\nfunction Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n}\nContext.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n};\n\nContext.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n return null;\n};\n\nfunction createContext() {\n if (longStackTraces) return new Context();\n}\n\nfunction peekContext() {\n var lastIndex = contextStack.length - 1;\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n return undefined;\n}\nContext.CapturedTrace = null;\nContext.create = createContext;\nContext.deactivateLongStackTraces = function() {};\nContext.activateLongStackTraces = function() {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n Context.deactivateLongStackTraces = function() {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n Promise.prototype._promiseCreated = function() {\n var ctx = this._peekContext();\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n};\nreturn Context;\n};\n\n},{}],9:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = _dereq_(\"./errors\").Warning;\nvar util = _dereq_(\"./util\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n (true ||\n util.env(\"BLUEBIRD_DEBUG\") ||\n util.env(\"NODE_ENV\") === \"development\"));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n var self = this;\n setTimeout(function() {\n self._notifyUnhandledRejection();\n }, 1);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new CustomEvent(name.toLowerCase(), {\n detail: event,\n cancelable: true\n });\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = firstLineError.stack.split(\"\\n\");\n var lastStackLines = lastLineError.stack.split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],10:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction returner() {\n return this.value;\n}\nfunction thrower() {\n throw this.reason;\n}\n\nPromise.prototype[\"return\"] =\nPromise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n returner, undefined, undefined, {value: value}, undefined);\n};\n\nPromise.prototype[\"throw\"] =\nPromise.prototype.thenThrow = function (reason) {\n return this._then(\n thrower, undefined, undefined, {reason: reason}, undefined);\n};\n\nPromise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(\n undefined, thrower, undefined, {reason: reason}, undefined);\n } else {\n var _reason = arguments[1];\n var handler = function() {throw _reason;};\n return this.caught(reason, handler);\n }\n};\n\nPromise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n undefined, returner, undefined, {value: value}, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n var handler = function() {return _value;};\n return this.caught(value, handler);\n }\n};\n};\n\n},{}],11:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n\n},{}],12:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = _dereq_(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n},{\"./es5\":13,\"./util\":36}],13:[function(_dereq_,module,exports){\nvar isES5 = (function(){\n \"use strict\";\n return this === undefined;\n})();\n\nif (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n} else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function (o) {\n var ret = [];\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n return ret;\n };\n\n var ObjectGetDescriptor = function(o, key) {\n return {value: o[key]};\n };\n\n var ObjectDefineProperty = function (o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function (obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function (obj) {\n try {\n return Object(obj).constructor.prototype;\n }\n catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function (obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n }\n catch(e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function() {\n return true;\n }\n };\n}\n\n},{}],14:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseMap = Promise.map;\n\nPromise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n};\n\nPromise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n};\n};\n\n},{}],15:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar CancellationError = Promise.CancellationError;\nvar errorObj = util.errorObj;\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\nfunction PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n}\n\nPassThroughHandlerContext.prototype.isFinallyHandler = function() {\n return this.type === 0;\n};\n\nfunction FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n}\n\nFinallyHandlerCancelReaction.prototype._resultCancelled = function() {\n checkCancel(this.finallyHandler);\n};\n\nfunction checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n ctx.cancelPromise = null;\n return true;\n }\n return false;\n}\n\nfunction succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n}\nfunction fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n}\nfunction finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler()\n ? handler.call(promise._boundValue())\n : handler.call(promise._boundValue(), reasonOrValue);\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n var maybePromise = tryConvertToPromise(ret, promise);\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason =\n new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(\n new FinallyHandlerCancelReaction(this));\n }\n }\n return maybePromise._then(\n succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n}\n\nPromise.prototype._passThrough = function(handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success,\n fail,\n undefined,\n new PassThroughHandlerContext(this, type, handler),\n undefined);\n};\n\nPromise.prototype.lastly =\nPromise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler,\n 0,\n finallyHandler,\n finallyHandler);\n};\n\n\nPromise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n};\n\nPromise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n if(len === 1) {\n return this._passThrough(handlerOrPredicate,\n 1,\n undefined,\n finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\n \"tapCatch statement predicate: \"\n + \"expecting an object but got \" + util.classString(item)\n ));\n }\n }\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this),\n 1,\n undefined,\n finallyHandler);\n }\n\n};\n\nreturn PassThroughHandlerContext;\n};\n\n},{\"./catch_filter\":7,\"./util\":36}],16:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n apiRejection,\n INTERNAL,\n tryConvertToPromise,\n Proxyable,\n debug) {\nvar errors = _dereq_(\"./errors\");\nvar TypeError = errors.TypeError;\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nvar yieldHandlers = [];\n\nfunction promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n var result = tryCatch(yieldHandlers[i])(value);\n traceParent._popContext();\n if (result === errorObj) {\n traceParent._pushContext();\n var ret = Promise.reject(errorObj.e);\n traceParent._popContext();\n return ret;\n }\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n return null;\n}\n\nfunction PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n this._promise = internal.lastly(function() {\n return _finallyPromise;\n });\n internal._captureStackTrace();\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n }\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\"\n ? [yieldHandler].concat(yieldHandlers)\n : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n}\nutil.inherits(PromiseSpawn, Proxyable);\n\nPromiseSpawn.prototype._isResolved = function() {\n return this._promise === null;\n};\n\nPromiseSpawn.prototype._cleanup = function() {\n this._promise = this._generator = null;\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n this._finallyPromise = null;\n }\n};\n\nPromiseSpawn.prototype._promiseCancelled = function() {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\n var result;\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\n \"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n result = tryCatch(this._generator[\"throw\"]).call(this._generator,\n reason);\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n result = tryCatch(this._generator[\"return\"]).call(this._generator,\n undefined);\n this._promise._popContext();\n }\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseFulfilled = function(value) {\n this._yieldedPromise = null;\n this._promise._pushContext();\n var result = tryCatch(this._generator.next).call(this._generator, value);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseRejected = function(reason) {\n this._yieldedPromise = null;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n var result = tryCatch(this._generator[\"throw\"])\n .call(this._generator, reason);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._resultCancelled = function() {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n};\n\nPromiseSpawn.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver =\n this._generatorFunction = undefined;\n this._promiseFulfilled(undefined);\n};\n\nPromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n if (result === errorObj) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n if (result.done === true) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n if (!(maybePromise instanceof Promise)) {\n maybePromise =\n promiseFromYieldHandler(maybePromise,\n this._yieldHandlers,\n this._promise);\n if (maybePromise === null) {\n this._promiseRejected(\n new TypeError(\n \"A value %s was yielded that could not be treated as a promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\\u000a\".replace(\"%s\", String(value)) +\n \"From coroutine:\\u000a\" +\n this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")\n )\n );\n return;\n }\n }\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n this._yieldedPromise = maybePromise;\n maybePromise._proxy(this, null);\n } else if (((bitField & 33554432) !== 0)) {\n Promise._async.invoke(\n this._promiseFulfilled, this, maybePromise._value()\n );\n } else if (((bitField & 16777216) !== 0)) {\n Promise._async.invoke(\n this._promiseRejected, this, maybePromise._reason()\n );\n } else {\n this._promiseCancelled();\n }\n }\n};\n\nPromise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler,\n stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n spawn._promiseFulfilled(undefined);\n return ret;\n };\n};\n\nPromise.coroutine.addYieldHandler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n yieldHandlers.push(fn);\n};\n\nPromise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n spawn._run(Promise.spawn);\n return ret;\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],17:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (!true) {\nif (canEvaluate) {\n var thenCallback = function(i) {\n return new Function(\"value\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = value; \\n\\\n holder.checkFulfillment(this); \\n\\\n \".replace(/Index/g, i));\n };\n\n var promiseSetter = function(i) {\n return new Function(\"promise\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = promise; \\n\\\n \".replace(/Index/g, i));\n };\n\n var generateHolderClass = function(total) {\n var props = new Array(total);\n for (var i = 0; i < props.length; ++i) {\n props[i] = \"this.p\" + (i+1);\n }\n var assignment = props.join(\" = \") + \" = null;\";\n var cancellationCode= \"var promise;\\n\" + props.map(function(prop) {\n return \" \\n\\\n promise = \" + prop + \"; \\n\\\n if (promise instanceof Promise) { \\n\\\n promise.cancel(); \\n\\\n } \\n\\\n \";\n }).join(\"\\n\");\n var passedArguments = props.join(\", \");\n var name = \"Holder$\" + total;\n\n\n var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n 'use strict'; \\n\\\n function [TheName](fn) { \\n\\\n [TheProperties] \\n\\\n this.fn = fn; \\n\\\n this.asyncNeeded = true; \\n\\\n this.now = 0; \\n\\\n } \\n\\\n \\n\\\n [TheName].prototype._callFunction = function(promise) { \\n\\\n promise._pushContext(); \\n\\\n var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n promise._popContext(); \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(ret.e, false); \\n\\\n } else { \\n\\\n promise._resolveCallback(ret); \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n var now = ++this.now; \\n\\\n if (now === [TheTotal]) { \\n\\\n if (this.asyncNeeded) { \\n\\\n async.invoke(this._callFunction, this, promise); \\n\\\n } else { \\n\\\n this._callFunction(promise); \\n\\\n } \\n\\\n \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype._resultCancelled = function() { \\n\\\n [CancellationCode] \\n\\\n }; \\n\\\n \\n\\\n return [TheName]; \\n\\\n }(tryCatch, errorObj, Promise, async); \\n\\\n \";\n\n code = code.replace(/\\[TheName\\]/g, name)\n .replace(/\\[TheTotal\\]/g, total)\n .replace(/\\[ThePassedArguments\\]/g, passedArguments)\n .replace(/\\[TheProperties\\]/g, assignment)\n .replace(/\\[CancellationCode\\]/g, cancellationCode);\n\n return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)\n (tryCatch, errorObj, Promise, async);\n };\n\n var holderClasses = [];\n var thenCallbacks = [];\n var promiseSetters = [];\n\n for (var i = 0; i < 8; ++i) {\n holderClasses.push(generateHolderClass(i + 1));\n thenCallbacks.push(thenCallback(i + 1));\n promiseSetters.push(promiseSetter(i + 1));\n }\n\n reject = function (reason) {\n this._reject(reason);\n };\n}}\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (!true) {\n if (last <= 8 && canEvaluate) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var HolderClass = holderClasses[last - 1];\n var holder = new HolderClass(fn);\n var callbacks = thenCallbacks;\n\n for (var i = 0; i < last; ++i) {\n var maybePromise = tryConvertToPromise(arguments[i], ret);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n maybePromise._then(callbacks[i], reject,\n undefined, ret, holder);\n promiseSetters[i](maybePromise, holder);\n holder.asyncNeeded = false;\n } else if (((bitField & 33554432) !== 0)) {\n callbacks[i].call(ret,\n maybePromise._value(), holder);\n } else if (((bitField & 16777216) !== 0)) {\n ret._reject(maybePromise._reason());\n } else {\n ret._cancel();\n }\n } else {\n callbacks[i].call(ret, maybePromise, holder);\n }\n }\n\n if (!ret._isFateSealed()) {\n if (holder.asyncNeeded) {\n var domain = getDomain();\n if (domain !== null) {\n holder.fn = util.domainBind(domain, holder.fn);\n }\n }\n ret._setAsyncGuaranteed();\n ret._setOnCancel(holder);\n }\n return ret;\n }\n }\n }\n var args = [].slice.call(arguments);;\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n},{\"./util\":36}],18:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nfunction MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n this._promise._captureStackTrace();\n var domain = getDomain();\n this._callback = domain === null ? fn : util.domainBind(domain, fn);\n this._preservedValues = _filter === INTERNAL\n ? new Array(this.length())\n : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n}\nutil.inherits(MappingPromiseArray, PromiseArray);\n\nMappingPromiseArray.prototype._asyncInit = function() {\n this._init$(undefined, -2);\n};\n\nMappingPromiseArray.prototype._init = function () {};\n\nMappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = (index * -1) - 1;\n values[index] = value;\n if (limit >= 1) {\n this._inFlight--;\n this._drainQueue();\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n this._queue.push(index);\n return false;\n }\n if (preservedValues !== null) preservedValues[index] = value;\n\n var promise = this._promise;\n var callback = this._callback;\n var receiver = promise._boundValue();\n promise._pushContext();\n var ret = tryCatch(callback).call(receiver, value, index, length);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n preservedValues !== null ? \"Promise.filter\" : \"Promise.map\",\n promise\n );\n if (ret === errorObj) {\n this._reject(ret.e);\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n maybePromise._proxy(this, (index + 1) * -1);\n return false;\n } else if (((bitField & 33554432) !== 0)) {\n ret = maybePromise._value();\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(maybePromise._reason());\n return true;\n } else {\n this._cancel();\n return true;\n }\n }\n values[index] = ret;\n }\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n return true;\n }\n return false;\n};\n\nMappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n this._promiseFulfilled(values[index], index);\n }\n};\n\nMappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n ret.length = j;\n this._resolve(ret);\n};\n\nMappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n};\n\nfunction map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n if (options !== undefined) {\n if (typeof options === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(\n new TypeError(\"'concurrency' must be a number but it is \" +\n util.classString(options.concurrency)));\n }\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\n \"options argument must be an object but it is \" +\n util.classString(options)));\n }\n }\n limit = typeof limit === \"number\" &&\n isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n}\n\nPromise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n};\n\nPromise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n};\n\n\n};\n\n},{\"./util\":36}],19:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nPromise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return function () {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value = tryCatch(fn).apply(this, arguments);\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.method\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n };\n};\n\nPromise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value;\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)\n : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.try\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n};\n\nPromise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n};\n};\n\n},{\"./util\":36}],20:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = _dereq_(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = _dereq_(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var args = [].slice.call(arguments, 1);;\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],21:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar async = Promise._async;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret =\n tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nfunction successAdapter(val, nodeback) {\n var promise = this;\n var receiver = promise._boundValue();\n var ret = val === undefined\n ? tryCatch(nodeback).call(receiver, null)\n : tryCatch(nodeback).call(receiver, null, val);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\nfunction errorAdapter(reason, nodeback) {\n var promise = this;\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nPromise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback,\n options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n this._then(\n adapter,\n errorAdapter,\n undefined,\n this,\n nodeback\n );\n }\n return this;\n};\n};\n\n},{\"./util\":36}],22:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = _dereq_(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = _dereq_(\"./es5\");\nvar Async = _dereq_(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = _dereq_(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = _dereq_(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n _dereq_(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = _dereq_(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = _dereq_(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n _dereq_(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\n_dereq_(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\n_dereq_(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\n_dereq_(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\n_dereq_(\"./direct_resolve\")(Promise);\n_dereq_(\"./synchronous_inspection\")(Promise);\n_dereq_(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.1\";\n_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./call_get.js')(Promise);\n_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n_dereq_('./timers.js')(Promise, INTERNAL, debug);\n_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n_dereq_('./nodeify.js')(Promise);\n_dereq_('./promisify.js')(Promise, INTERNAL);\n_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./settle.js')(Promise, PromiseArray, debug);\n_dereq_('./some.js')(Promise, PromiseArray, apiRejection);\n_dereq_('./filter.js')(Promise, INTERNAL);\n_dereq_('./each.js')(Promise, INTERNAL);\n_dereq_('./any.js')(Promise);\n \n util.toFastProperties(Promise); \n util.toFastProperties(Promise.prototype); \n function fillTypes(value) { \n var p = new Promise(INTERNAL); \n p._fulfillmentHandler0 = value; \n p._rejectionHandler0 = value; \n p._promise0 = value; \n p._receiver0 = value; \n } \n // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n fillTypes({a: 1}); \n fillTypes({b: 2}); \n fillTypes({c: 3}); \n fillTypes(1); \n fillTypes(function(){}); \n fillTypes(undefined); \n fillTypes(false); \n fillTypes(new Promise(INTERNAL)); \n debug.setBounds(Async.firstLineError, util.lastLineError); \n return Promise; \n\n};\n\n},{\"./any.js\":1,\"./async\":2,\"./bind\":3,\"./call_get.js\":5,\"./cancel\":6,\"./catch_filter\":7,\"./context\":8,\"./debuggability\":9,\"./direct_resolve\":10,\"./each.js\":11,\"./errors\":12,\"./es5\":13,\"./filter.js\":14,\"./finally\":15,\"./generators.js\":16,\"./join\":17,\"./map.js\":18,\"./method\":19,\"./nodeback\":20,\"./nodeify.js\":21,\"./promise_array\":23,\"./promisify.js\":24,\"./props.js\":25,\"./race.js\":27,\"./reduce.js\":28,\"./settle.js\":30,\"./some.js\":31,\"./synchronous_inspection\":32,\"./thenables\":33,\"./timers.js\":34,\"./using.js\":35,\"./util\":36}],23:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = _dereq_(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n},{\"./util\":36}],24:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = _dereq_(\"./util\");\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = _dereq_(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (!true) {\nvar switchCaseArgumentOrder = function(likelyArgumentCount) {\n var ret = [likelyArgumentCount];\n var min = Math.max(0, likelyArgumentCount - 1 - 3);\n for(var i = likelyArgumentCount - 1; i >= min; --i) {\n ret.push(i);\n }\n for(var i = likelyArgumentCount + 1; i <= 3; ++i) {\n ret.push(i);\n }\n return ret;\n};\n\nvar argumentSequence = function(argumentCount) {\n return util.filledRange(argumentCount, \"_arg\", \"\");\n};\n\nvar parameterDeclaration = function(parameterCount) {\n return util.filledRange(\n Math.max(parameterCount, 3), \"_arg\", \"\");\n};\n\nvar parameterCount = function(fn) {\n if (typeof fn.length === \"number\") {\n return Math.max(Math.min(fn.length, 1023 + 1), 0);\n }\n return 0;\n};\n\nmakeNodePromisifiedEval =\nfunction(callback, receiver, originalName, fn, _, multiArgs) {\n var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\n function generateCallForArgumentCount(count) {\n var args = argumentSequence(count).join(\", \");\n var comma = count > 0 ? \", \" : \"\";\n var ret;\n if (shouldProxyThis) {\n ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n } else {\n ret = receiver === undefined\n ? \"ret = callback({{args}}, nodeback); break;\\n\"\n : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n }\n return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n }\n\n function generateArgumentSwitchCase() {\n var ret = \"\";\n for (var i = 0; i < argumentOrder.length; ++i) {\n ret += \"case \" + argumentOrder[i] +\":\" +\n generateCallForArgumentCount(argumentOrder[i]);\n }\n\n ret += \" \\n\\\n default: \\n\\\n var args = new Array(len + 1); \\n\\\n var i = 0; \\n\\\n for (var i = 0; i < len; ++i) { \\n\\\n args[i] = arguments[i]; \\n\\\n } \\n\\\n args[i] = nodeback; \\n\\\n [CodeForCall] \\n\\\n break; \\n\\\n \".replace(\"[CodeForCall]\", (shouldProxyThis\n ? \"ret = callback.apply(this, args);\\n\"\n : \"ret = callback.apply(receiver, args);\\n\"));\n return ret;\n }\n\n var getFunctionCode = typeof callback === \"string\"\n ? (\"this != null ? this['\"+callback+\"'] : fn\")\n : \"fn\";\n var body = \"'use strict'; \\n\\\n var ret = function (Parameters) { \\n\\\n 'use strict'; \\n\\\n var len = arguments.length; \\n\\\n var promise = new Promise(INTERNAL); \\n\\\n promise._captureStackTrace(); \\n\\\n var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n var ret; \\n\\\n var callback = tryCatch([GetFunctionCode]); \\n\\\n switch(len) { \\n\\\n [CodeForSwitchCase] \\n\\\n } \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n } \\n\\\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n return promise; \\n\\\n }; \\n\\\n notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n return ret; \\n\\\n \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase())\n .replace(\"[GetFunctionCode]\", getFunctionCode);\n body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n return new Function(\"Promise\",\n \"fn\",\n \"receiver\",\n \"withAppended\",\n \"maybeWrapAsError\",\n \"nodebackForPromise\",\n \"tryCatch\",\n \"errorObj\",\n \"notEnumerableProp\",\n \"INTERNAL\",\n body)(\n Promise,\n fn,\n receiver,\n withAppended,\n maybeWrapAsError,\n nodebackForPromise,\n util.tryCatch,\n util.errorObj,\n util.notEnumerableProp,\n INTERNAL);\n};\n}\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n\n},{\"./errors\":12,\"./nodeback\":20,\"./util\":36}],25:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, PromiseArray, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar isObject = util.isObject;\nvar es5 = _dereq_(\"./es5\");\nvar Es6Map;\nif (typeof Map === \"function\") Es6Map = Map;\n\nvar mapToEntries = (function() {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n})();\n\nvar entriesToMap = function(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n return ret;\n};\n\nfunction PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n this.constructor$(entries);\n this._isMap = isMap;\n this._init$(undefined, isMap ? -6 : -3);\n}\nutil.inherits(PropertiesPromiseArray, PromiseArray);\n\nPropertiesPromiseArray.prototype._init = function () {};\n\nPropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n var val;\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n this._resolve(val);\n return true;\n }\n return false;\n};\n\nPropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nPropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n};\n\nfunction props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(\n Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n return ret;\n}\n\nPromise.prototype.props = function () {\n return props(this);\n};\n\nPromise.props = function (promises) {\n return props(promises);\n};\n};\n\n},{\"./es5\":13,\"./util\":36}],26:[function(_dereq_,module,exports){\n\"use strict\";\nfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n}\n\nfunction Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n}\n\nQueue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n};\n\nQueue.prototype._pushOne = function (arg) {\n var length = this.length();\n this._checkCapacity(length + 1);\n var i = (this._front + length) & (this._capacity - 1);\n this[i] = arg;\n this._length = length + 1;\n};\n\nQueue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n this._pushOne(receiver);\n this._pushOne(arg);\n return;\n }\n var j = this._front + length - 3;\n this._checkCapacity(length);\n var wrapMask = this._capacity - 1;\n this[(j + 0) & wrapMask] = fn;\n this[(j + 1) & wrapMask] = receiver;\n this[(j + 2) & wrapMask] = arg;\n this._length = length;\n};\n\nQueue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n\n this[front] = undefined;\n this._front = (front + 1) & (this._capacity - 1);\n this._length--;\n return ret;\n};\n\nQueue.prototype.length = function () {\n return this._length;\n};\n\nQueue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n};\n\nQueue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = (front + length) & (oldCapacity - 1);\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n};\n\nmodule.exports = Queue;\n\n},{}],27:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, INTERNAL, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\n\nvar raceLater = function (promise) {\n return promise.then(function(array) {\n return race(array, promise);\n });\n};\n\nfunction race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null)\n return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n return ret;\n}\n\nPromise.race = function (promises) {\n return race(promises, undefined);\n};\n\nPromise.prototype.race = function () {\n return race(this, undefined);\n};\n\n};\n\n},{\"./util\":36}],28:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined && \n this._eachValues !== null && \n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n},{\"./util\":36}],29:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar schedule;\nvar noAsyncScheduler = function() {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar NativePromise = util.getNativePromise();\nif (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode\n ? function(fn) { GlobalSetImmediate.call(global, fn); }\n : function(fn) { ProcessNextTick.call(process, fn); };\n} else if (typeof NativePromise === \"function\" &&\n typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n schedule = function(fn) {\n nativePromise.then(fn);\n };\n} else if ((typeof MutationObserver !== \"undefined\") &&\n !(typeof window !== \"undefined\" &&\n window.navigator &&\n (window.navigator.standalone || window.cordova))) {\n schedule = (function() {\n var div = document.createElement(\"div\");\n var opts = {attributes: true};\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function() {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function() {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n })();\n} else if (typeof setImmediate !== \"undefined\") {\n schedule = function (fn) {\n setImmediate(fn);\n };\n} else if (typeof setTimeout !== \"undefined\") {\n schedule = function (fn) {\n setTimeout(fn, 0);\n };\n} else {\n schedule = noAsyncScheduler;\n}\nmodule.exports = schedule;\n\n},{\"./util\":36}],30:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\n function(Promise, PromiseArray, debug) {\nvar PromiseInspection = Promise.PromiseInspection;\nvar util = _dereq_(\"./util\");\n\nfunction SettledPromiseArray(values) {\n this.constructor$(values);\n}\nutil.inherits(SettledPromiseArray, PromiseArray);\n\nSettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nSettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n};\nSettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n};\n\nPromise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n};\n\nPromise.prototype.settle = function () {\n return Promise.settle(this);\n};\n};\n\n},{\"./util\":36}],31:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar RangeError = _dereq_(\"./errors\").RangeError;\nvar AggregateError = _dereq_(\"./errors\").AggregateError;\nvar isArray = util.isArray;\nvar CANCELLATION = {};\n\n\nfunction SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n}\nutil.inherits(SomePromiseArray, PromiseArray);\n\nSomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n if (this._howMany === 0) {\n this._resolve([]);\n return;\n }\n this._init$(undefined, -5);\n var isArrayResolved = isArray(this._values);\n if (!this._isResolved() &&\n isArrayResolved &&\n this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n};\n\nSomePromiseArray.prototype.init = function () {\n this._initialized = true;\n this._init();\n};\n\nSomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n};\n\nSomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n};\n\nSomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n};\n\nSomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n return true;\n }\n return false;\n\n};\nSomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n this._addRejected(CANCELLATION);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._checkOutcome = function() {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n return true;\n }\n return false;\n};\n\nSomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n};\n\nSomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n};\n\nSomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n};\n\nSomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n};\n\nSomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n};\n\nSomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" +\n this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n};\n\nSomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n};\n\nfunction some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n}\n\nPromise.some = function (promises, howMany) {\n return some(promises, howMany);\n};\n\nPromise.prototype.some = function (howMany) {\n return some(this, howMany);\n};\n\nPromise._SomePromiseArray = SomePromiseArray;\n};\n\n},{\"./errors\":12,\"./util\":36}],32:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed()\n ? promise._settledValue() : undefined;\n }\n else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n}\n\nPromiseInspection.prototype._settledValue = function() {\n return this._settledValueField;\n};\n\nvar value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar reason = PromiseInspection.prototype.error =\nPromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar isFulfilled = PromiseInspection.prototype.isFulfilled = function() {\n return (this._bitField & 33554432) !== 0;\n};\n\nvar isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n};\n\nvar isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n};\n\nvar isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n};\n\nPromiseInspection.prototype.isCancelled = function() {\n return (this._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.__isCancelled = function() {\n return (this._bitField & 65536) === 65536;\n};\n\nPromise.prototype._isCancelled = function() {\n return this._target().__isCancelled();\n};\n\nPromise.prototype.isCancelled = function() {\n return (this._target()._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.isPending = function() {\n return isPending.call(this._target());\n};\n\nPromise.prototype.isRejected = function() {\n return isRejected.call(this._target());\n};\n\nPromise.prototype.isFulfilled = function() {\n return isFulfilled.call(this._target());\n};\n\nPromise.prototype.isResolved = function() {\n return isResolved.call(this._target());\n};\n\nPromise.prototype.value = function() {\n return value.call(this._target());\n};\n\nPromise.prototype.reason = function() {\n var target = this._target();\n target._unsetRejectionIsUnhandled();\n return reason.call(target);\n};\n\nPromise.prototype._value = function() {\n return this._settledValue();\n};\n\nPromise.prototype._reason = function() {\n this._unsetRejectionIsUnhandled();\n return this._settledValue();\n};\n\nPromise.PromiseInspection = PromiseInspection;\n};\n\n},{}],33:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n},{\"./util\":36}],34:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, debug) {\nvar util = _dereq_(\"./util\");\nvar TimeoutError = Promise.TimeoutError;\n\nfunction HandleWrapper(handle) {\n this.handle = handle;\n}\n\nHandleWrapper.prototype._resultCancelled = function() {\n clearTimeout(this.handle);\n};\n\nvar afterValue = function(value) { return delay(+this).thenReturn(value); };\nvar delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n if (value !== undefined) {\n ret = Promise.resolve(value)\n ._then(afterValue, null, null, ms, undefined);\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function() { ret._fulfill(); }, +ms);\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n ret._captureStackTrace();\n }\n ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.prototype.delay = function (ms) {\n return delay(ms, this);\n};\n\nvar afterTimeout = function (promise, message, parent) {\n var err;\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n util.markAsOriginatingFromRejection(err);\n promise._attachExtraTrace(err);\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n};\n\nfunction successClear(value) {\n clearTimeout(this.handle);\n return value;\n}\n\nfunction failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n}\n\nPromise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n }\n\n return ret;\n};\n\n};\n\n},{\"./util\":36}],35:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function (Promise, apiRejection, tryConvertToPromise,\n createContext, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n var TypeError = _dereq_(\"./errors\").TypeError;\n var inherits = _dereq_(\"./util\").inherits;\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function(){throw e;}, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n if (maybePromise !== thenable &&\n typeof thenable._isDisposable === \"function\" &&\n typeof thenable._getDisposer === \"function\" &&\n thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n return maybePromise;\n }\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n if (maybePromise instanceof Promise &&\n maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(\n maybePromise._getDisposer().tryDispose(inspection),\n resources.promise);\n } catch (e) {\n return thrower(e);\n }\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower,\n null, null, null);\n }\n }\n iterator();\n }\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function(inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL\n ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n this._promise._unsetDisposable();\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return (d != null &&\n typeof d.resource === \"function\" &&\n typeof d.tryDispose === \"function\");\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n return value.promise();\n }\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length-1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function() {\n var len = this.length;\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\n \"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var input;\n var spreadArgs = true;\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n var resources = new ResourceList(len);\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n if (maybePromise instanceof Promise) {\n resource =\n maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources)\n .then(function(inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n inspections[i] = inspection.value();\n }\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs\n ? fn.apply(undefined, inspections) : fn(inspections);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n\n var promise = resultPromise.lastly(function() {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n promise._setOnCancel(resources);\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & (~131072);\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n throw new TypeError();\n };\n\n};\n\n},{\"./errors\":12,\"./util\":36}],36:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var l = 8;\n while (l--) new FakeConstructor();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj instanceof Error ||\n (obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\");\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version = process.versions.node.split(\".\").map(Number);\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n},{\"./es5\":13}]},{},[4])(4)\n}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; }","/*!\n * jQuery JavaScript Library v2.2.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-05-20T17:23Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\nvar arr = [];\n\nvar document = window.document;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\tversion = \"2.2.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Not own constructor property must be Object\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype || {}, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf( \"use strict\" ) === 1 ) {\n\t\t\t\tscript = document.createElement( \"script\" );\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\n\t\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t\t// and removal by using an indirect global eval\n\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnotwhite = ( /\\S+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE9-10 only\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tregister: function( owner, initial ) {\n\t\tvar value = initial || {};\n\n\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t// use plain assignment\n\t\tif ( owner.nodeType ) {\n\t\t\towner[ this.expando ] = value;\n\n\t\t// Otherwise secure it in a non-enumerable, non-writable property\n\t\t// configurability must be true to allow the property to be\n\t\t// deleted with the delete operator\n\t\t} else {\n\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\tvalue: value,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true\n\t\t\t} );\n\t\t}\n\t\treturn owner[ this.expando ];\n\t},\n\tcache: function( owner ) {\n\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return an empty object.\n\t\tif ( !acceptData( owner ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\t\t\towner[ this.expando ] && owner[ this.expando ][ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase( key ) );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.register( owner );\n\n\t\t} else {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <= 35-45+\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data, camelKey;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = dataUser.get( elem, key ) ||\n\n\t\t\t\t\t// Try to find dashed key if it exists (gh-2779)\n\t\t\t\t\t// This is for 2.2.x only\n\t\t\t\t\tdataUser.get( elem, key.replace( rmultiDash, \"-$&\" ).toLowerCase() );\n\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = dataUser.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tcamelKey = jQuery.camelCase( key );\n\t\t\tthis.each( function() {\n\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = dataUser.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdataUser.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf( \"-\" ) > -1 && data !== undefined ) {\n\t\t\t\t\tdataUser.set( this, key, value );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([\\w:-]+)/ );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE9\n\toption: [ 1, \"\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
    \" ],\n\tcol: [ 2, \"\", \"
    \" ],\n\ttr: [ 2, \"\", \"
    \" ],\n\ttd: [ 3, \"\", \"
    \" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE9-11+\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0-4.3, Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY offsetX offsetY pageX pageY \" +\n\t\t\t\"screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop || body && body.scrollTop || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"