From 7962e8cfd75e9c32402804974ceea518fa63d6d0 Mon Sep 17 00:00:00 2001 From: iversonLv Date: Fri, 16 Dec 2016 17:17:05 +0800 Subject: [PATCH 01/15] Topcoder - Fix position of X to close Badges popup v1 --- app/profile/badges/badges.jade | 1 + assets/css/directives/design-lightbox.scss | 8 +++++++- assets/css/profile/badges.scss | 1 + assets/css/profile/nav.scss | 4 ++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/profile/badges/badges.jade b/app/profile/badges/badges.jade index 205077f18..74b9d48d5 100644 --- a/app/profile/badges/badges.jade +++ b/app/profile/badges/badges.jade @@ -1,4 +1,5 @@ header.head + .ngdialog-close .breadcrumbs .handle img.profile-circle(fallback-src=require("../../../assets/images/avatarPlaceholder.png"), ng-src="{{vm.profile.photoURL}}") diff --git a/assets/css/directives/design-lightbox.scss b/assets/css/directives/design-lightbox.scss index c8c0d928b..d8c67eafe 100644 --- a/assets/css/directives/design-lightbox.scss +++ b/assets/css/directives/design-lightbox.scss @@ -67,12 +67,18 @@ justify-content: center; z-index: 10000; .ngdialog-content { - .ngdialog-close { + .ngdialog-close { + display: none; position: absolute; top: 5px; right: 15px; font-size: 30px; } + .head { + .ngdialog-close { + display: block; + } + } opacity: .95; height: 742px; width: 768px; diff --git a/assets/css/profile/badges.scss b/assets/css/profile/badges.scss index 8b9abf289..77c6ac89b 100644 --- a/assets/css/profile/badges.scss +++ b/assets/css/profile/badges.scss @@ -17,6 +17,7 @@ @include sofia-pro-extra-light; font-size: 28px; line-height: 34px; + position: relative; span { display: inline; &.title { diff --git a/assets/css/profile/nav.scss b/assets/css/profile/nav.scss index 9df8832b8..03580ddcf 100644 --- a/assets/css/profile/nav.scss +++ b/assets/css/profile/nav.scss @@ -32,8 +32,8 @@ border-radius: 5px; cursor: pointer; position: absolute; - right: 0; - top: 0; + right: -30px; + top: -20px; } .ngdialog.ngdialog-nav-theme .ngdialog-close:before { From a401205de9fca9ff6bedfeb989c2d5d9a3a21c3a Mon Sep 17 00:00:00 2001 From: Iverson Lv Date: Thu, 22 Dec 2016 16:47:49 +0800 Subject: [PATCH 02/15] Issue_905 -iversonLv- X to close Badges pop up is too far to the right --- app/profile/badges/badges.jade | 1 + assets/css/directives/design-lightbox.scss | 8 +++++++- assets/css/profile/badges.scss | 1 + assets/css/profile/nav.scss | 4 ++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/profile/badges/badges.jade b/app/profile/badges/badges.jade index 205077f18..74b9d48d5 100644 --- a/app/profile/badges/badges.jade +++ b/app/profile/badges/badges.jade @@ -1,4 +1,5 @@ header.head + .ngdialog-close .breadcrumbs .handle img.profile-circle(fallback-src=require("../../../assets/images/avatarPlaceholder.png"), ng-src="{{vm.profile.photoURL}}") diff --git a/assets/css/directives/design-lightbox.scss b/assets/css/directives/design-lightbox.scss index c8c0d928b..d8c67eafe 100644 --- a/assets/css/directives/design-lightbox.scss +++ b/assets/css/directives/design-lightbox.scss @@ -67,12 +67,18 @@ justify-content: center; z-index: 10000; .ngdialog-content { - .ngdialog-close { + .ngdialog-close { + display: none; position: absolute; top: 5px; right: 15px; font-size: 30px; } + .head { + .ngdialog-close { + display: block; + } + } opacity: .95; height: 742px; width: 768px; diff --git a/assets/css/profile/badges.scss b/assets/css/profile/badges.scss index 8b9abf289..77c6ac89b 100644 --- a/assets/css/profile/badges.scss +++ b/assets/css/profile/badges.scss @@ -17,6 +17,7 @@ @include sofia-pro-extra-light; font-size: 28px; line-height: 34px; + position: relative; span { display: inline; &.title { diff --git a/assets/css/profile/nav.scss b/assets/css/profile/nav.scss index 9df8832b8..03580ddcf 100644 --- a/assets/css/profile/nav.scss +++ b/assets/css/profile/nav.scss @@ -32,8 +32,8 @@ border-radius: 5px; cursor: pointer; position: absolute; - right: 0; - top: 0; + right: -30px; + top: -20px; } .ngdialog.ngdialog-nav-theme .ngdialog-close:before { From 275e0e127a4841b06e7d6e8651adef552c8e945c Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Wed, 28 Dec 2016 15:04:25 +0200 Subject: [PATCH 03/15] Misc bug fixes --- app/directives/challenge-links/challenge-links.jade | 4 ++-- app/my-challenges/my-challenges.controller.js | 8 ++++++++ app/my-challenges/my-challenges.jade | 9 +++------ assets/css/community/members.scss | 3 +++ 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/directives/challenge-links/challenge-links.jade b/app/directives/challenge-links/challenge-links.jade index 85c5c7954..cdb50febc 100644 --- a/app/directives/challenge-links/challenge-links.jade +++ b/app/directives/challenge-links/challenge-links.jade @@ -1,10 +1,10 @@ .challenge-links(ng-class="view + '-view'") - a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack") + a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack", target="_self") .icon.registrants-icon p(ng-switch-when="MARATHON_MATCH") {{challenge.numRegistrants[0]}} p(ng-switch-default) {{challenge.numRegistrants}} - a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}") + a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}", target="_self") .icon.submissions-icon p {{challenge.numSubmissions}} diff --git a/app/my-challenges/my-challenges.controller.js b/app/my-challenges/my-challenges.controller.js index b30fe3731..60d1ee220 100644 --- a/app/my-challenges/my-challenges.controller.js +++ b/app/my-challenges/my-challenges.controller.js @@ -146,6 +146,14 @@ import _ from 'lodash' vm.getChallenges(currentOffset, false) } + window.onscroll = function() { + if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { + if (vm.totalCount > vm.myChallenges.length) { + vm.loadMore(); + } + } + } + function _checkForParticipation() { return ChallengeService.checkChallengeParticipation(vm.handle, function(participated) { vm.neverParticipated = !participated diff --git a/app/my-challenges/my-challenges.jade b/app/my-challenges/my-challenges.jade index 652af8165..644a84e4b 100644 --- a/app/my-challenges/my-challenges.jade +++ b/app/my-challenges/my-challenges.jade @@ -1,6 +1,6 @@ .my-challenges-container .my-challenges - + .page-header page-state-header(handle="{{vm.handle}}", page-title="My Challenges", hide-money="true", show-back-link="true", default-state="dashboard") @@ -26,10 +26,7 @@ .hasChallenges(ng-show="vm.myChallenges.length", state="vm.loading") - .data(ng-class="vm.view + '-view'") + .data(ng-class="vm.view + '-view'") challenge-tile( - ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", + ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", challenge="challenge", view="vm.view", ng-class="vm.view + '-view'") - - tc-section.load-more-section(state="vm.loading") - button.tc-btn(ng-show="vm.totalCount > vm.myChallenges.length", ng-click="vm.loadMore()") Load More diff --git a/assets/css/community/members.scss b/assets/css/community/members.scss index d2ae25751..019cb6999 100644 --- a/assets/css/community/members.scss +++ b/assets/css/community/members.scss @@ -65,6 +65,9 @@ color: #a3a3ae; font-size: 12px; font-weight: 400; + @media only screen and (max-width: 768px) { + font-size: 5vw; + } } } From f0a96ea15c13cdee420d5aaf0a3ddbe78fd2234f Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Fri, 30 Dec 2016 11:58:30 +0200 Subject: [PATCH 04/15] Fix lint error --- app/my-challenges/my-challenges.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/my-challenges/my-challenges.controller.js b/app/my-challenges/my-challenges.controller.js index 60d1ee220..d8623372c 100644 --- a/app/my-challenges/my-challenges.controller.js +++ b/app/my-challenges/my-challenges.controller.js @@ -149,7 +149,7 @@ import _ from 'lodash' window.onscroll = function() { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { if (vm.totalCount > vm.myChallenges.length) { - vm.loadMore(); + vm.loadMore() } } } From 2d4c680191e812055a13cdb6e218b38c1451340a Mon Sep 17 00:00:00 2001 From: Vikas Agarwal Date: Mon, 2 Jan 2017 12:54:41 +0530 Subject: [PATCH 05/15] Github issue #919, Few Unit tests failing after angular 1.6.x release -- Fixed --- .../header-dashboard/header-dashboard.spec.js | 76 +--- app/services/externalAccounts.service.js | 2 +- app/services/externalAccounts.service.spec.js | 339 +++++++++--------- 3 files changed, 178 insertions(+), 239 deletions(-) diff --git a/app/my-dashboard/header-dashboard/header-dashboard.spec.js b/app/my-dashboard/header-dashboard/header-dashboard.spec.js index ea69e934a..4167eaf51 100644 --- a/app/my-dashboard/header-dashboard/header-dashboard.spec.js +++ b/app/my-dashboard/header-dashboard/header-dashboard.spec.js @@ -3,7 +3,7 @@ const mockData = require('../../../tests/test-helpers/mock-data') /* jshint -W117, -W030 */ describe('Header Dashboard Controller', function() { - var userService, profileService, identity + var identity var profile = mockData.getMockProfile() var stats = mockData.getMockStats() var financials = mockData.getMockUserFinancials() @@ -14,45 +14,14 @@ describe('Header Dashboard Controller', function() { '$controller', '$rootScope', '$q', - 'UserService', - 'ProfileService', 'Helpers') - userService = UserService - profileService = ProfileService - identity = function() { return { handle: 'albertwang', userId: 123456 } } - - // mock user api - sinon.stub(userService, 'getUserIdentity', function() { - return { - userId: 1234567, - handle: 'ut', - email: 'ut@topcoder.com' - } - }) - - // mock profile api - sinon.stub(profileService, 'getUserProfile', function(handle) { - var deferred = $q.defer() - deferred.resolve(profile) - return deferred.promise - }) - sinon.stub(profileService, 'getUserStats', function(handle) { - var deferred = $q.defer() - deferred.resolve(stats) - return deferred.promise - }) - sinon.stub(profileService, 'getUserFinancials', function(handle) { - var deferred = $q.defer() - deferred.resolve(financials) - return deferred.promise - }) }) bard.verifyNoOutstandingHttpRequests() @@ -61,9 +30,6 @@ describe('Header Dashboard Controller', function() { var controller = null beforeEach( function(){ controller = $controller('HeaderDashboardController', { - UserService : userService, - ProfileService: profileService, - userIdentity: identity, profile: profile }) $rootScope.$apply() @@ -75,51 +41,17 @@ describe('Header Dashboard Controller', function() { }) }) - describe('inialization with profile api stats endpoint error', function() { + describe('inialization with null profile', function() { var controller = null beforeEach( function(){ - profileService.getUserStats.restore() - sinon.stub(profileService, 'getUserStats', function(handle) { - var deferred = $q.defer() - deferred.reject('failed') - return deferred.promise - }) - controller = $controller('HeaderDashboardController', { - UserService : userService, - ProfileService: profileService, - userIdentity: identity, - profile: profile - }) - $rootScope.$apply() - }) - - it('variables should be initialized to correct value', function() { - expect(controller.profile).to.exist - expect(controller.profile.handle).to.equal('albertwang') - }) - }) - - describe('inialization with profile api profile endpoint error', function() { - var controller = null - beforeEach( function(){ - profileService.getUserProfile.restore() - sinon.stub(profileService, 'getUserProfile', function(handle) { - var deferred = $q.defer() - deferred.reject('failed') - return deferred.promise - }) controller = $controller('HeaderDashboardController', { - UserService : userService, - ProfileService: profileService, - userIdentity: identity, - profile: profileService.getUserProfile() + profile: null }) $rootScope.$apply() }) it('variables should be initialized to correct value', function() { - expect(controller.profile.$$state.status).to.equal(2) - expect(controller.profile.$$state.value).to.equal('failed') + expect(controller.profile).to.be.null }) }) diff --git a/app/services/externalAccounts.service.js b/app/services/externalAccounts.service.js index 7e2417ccc..f4ac09a1f 100644 --- a/app/services/externalAccounts.service.js +++ b/app/services/externalAccounts.service.js @@ -194,7 +194,7 @@ import _ from 'lodash' } else { logger.error('Unsupported social login backend', provider) - $q.reject({ + reject({ status: 'failed', 'error': 'Unsupported social login backend \'' + provider + '\'' }) diff --git a/app/services/externalAccounts.service.spec.js b/app/services/externalAccounts.service.spec.js index 662a7116d..98b7089ed 100644 --- a/app/services/externalAccounts.service.spec.js +++ b/app/services/externalAccounts.service.spec.js @@ -14,7 +14,7 @@ describe('ExternalAccount Service', function() { beforeEach(function() { bard.appModule('topcoder') - bard.inject(this, 'ExternalAccountService', '$httpBackend', '$q', 'CONSTANTS', 'JwtInterceptorService', 'auth', 'UserService') + bard.inject(this, 'ExternalAccountService', '$httpBackend', '$q', 'CONSTANTS', 'JwtInterceptorService', 'auth', 'UserService', '$rootScope') bard.mockService(JwtInterceptorService, { getToken: $q.when('token'), _default: $q.when([]) @@ -61,179 +61,186 @@ describe('ExternalAccount Service', function() { }) - afterEach(function() { - $httpBackend.verifyNoOutstandingExpectation() - $httpBackend.verifyNoOutstandingRequest() - }) - - it('service should be defined', function() { - expect(service).to.be.defined - }) - - it('should return linked external accounts', function() { - service.getLinkedAccounts(111).then(function(data) { - expect(data).to.have.length(5) - }) - $httpBackend.flush() - }) - - it('should return linked external accounts data', function() { - service.getAccountsData('test1').then(function(data) { - data = data.plain() - expect(data).to.be.defined - expect(_.keys(data)).to.include.members(['dribbble', 'github', 'behance', 'bitbucket', 'linkedin', 'stackoverflow', 'twitter']) - }) - $httpBackend.flush() - }) - - it('should return all non-pending external links', function() { - // spy - service.getAllExternalLinks('test1', 111, false).then(function(data) { - expect(data).to.be.defined - expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github','bitbucket', 'stackoverflow']) - expect(_.every(_.map(data, 'data'))).to.be.truthy - }) - $httpBackend.flush() - }) - - it('should return all external links including pending', function() { - // spy - service.getAllExternalLinks('test1', 111, true).then(function(data) { - expect(data).to.be.defined - expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github', 'behance', 'bitbucket','stackoverflow']) - expect(data).to.have.length(5) - var nullAccounts = _.remove(data, function(n) {return n.data.status === 'PENDING'}) - expect(nullAccounts).to.have.length(1) + describe('should call api ', function() { + + afterEach(function() { + $httpBackend.verifyNoOutstandingExpectation() + $httpBackend.verifyNoOutstandingRequest() + }) + + it('service should be defined', function() { + expect(service).to.be.defined + }) + + it('should return linked external accounts', function() { + service.getLinkedAccounts(111).then(function(data) { + expect(data).to.have.length(5) + }) + $httpBackend.flush() + }) + + it('should return linked external accounts data', function() { + service.getAccountsData('test1').then(function(data) { + data = data.plain() + expect(data).to.be.defined + expect(_.keys(data)).to.include.members(['dribbble', 'github', 'behance', 'bitbucket', 'linkedin', 'stackoverflow', 'twitter']) + }) + $httpBackend.flush() + }) + + it('should return all non-pending external links', function() { + // spy + service.getAllExternalLinks('test1', 111, false).then(function(data) { + expect(data).to.be.defined + expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github','bitbucket', 'stackoverflow']) + expect(_.every(_.map(data, 'data'))).to.be.truthy + }) + $httpBackend.flush() + }) + + it('should return all external links including pending', function() { + // spy + service.getAllExternalLinks('test1', 111, true).then(function(data) { + expect(data).to.be.defined + expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github', 'behance', 'bitbucket','stackoverflow']) + expect(data).to.have.length(5) + var nullAccounts = _.remove(data, function(n) {return n.data.status === 'PENDING'}) + expect(nullAccounts).to.have.length(1) + }) + $httpBackend.flush() + }) + + it('should not return unsupported links even if they are returned by the API', function() { + var profiles = JSON.parse(JSON.stringify(mockUserLinksData)) + profiles.profiles.push({providerType: 'unsupported'}) + profileGet.respond(200, {result: {content: profiles}}) + // spy + service.getAllExternalLinks('test1', 111, true).then(function(data) { + expect(data).to.be.defined + expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github','bitbucket', 'stackoverflow']) + expect(_.every(_.map(data, 'data'))).to.be.truthy + }) + $httpBackend.flush() + }) + + it('should fail in returning links', function() { + var errorMessage = 'bad request' + // mocks the GET call to respond with 400 bad request + profileGet.respond(400, {result: { status: 400, content: errorMessage } }) + // calls getAllExternalLinks method with valid params + service.getAllExternalLinks('test1', 111, true).then(function(data) { + sinon.assert.fail('should not be called') + }).catch(function(resp) { + expect(resp).to.exist + expect(resp.status).to.exist.to.equal(400) + }) + $httpBackend.flush() + }) + + it('should link external account', function() { + // call linkExternalAccount method with supporte network, should succeed + service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { + expect(data).to.be.defined + // console.log(data) + expect(data.status).to.exist.to.equal('SUCCESS') + expect(data.linkedAccount).to.exist + expect(data.linkedAccount.provider).to.exist.to.equal('stackoverflow') + expect(data.linkedAccount.data).to.exist + expect(data.linkedAccount.data.status).to.exist.to.equal('PENDING') + }) + $httpBackend.flush() + }) + + it('should fail with already existing profile', function() { + var errorMessage = 'social profile exists' + profilePost.respond(400, {result: { status: 400, content: errorMessage } }) + // call linkExternalAccount method, having user service throw already exist + service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { + sinon.assert.fail('should not be called') + }, function(error) { + expect(error).to.be.defined + expect(error.status).to.exist.to.equal('SOCIAL_PROFILE_ALREADY_EXISTS') + expect(error.msg).to.exist.to.equal(errorMessage) + }) + $httpBackend.flush() + }) + + it('should fail with auth0 error', function() { + // call linkExternalAccount method with auth0 throwing error + service.linkExternalAccount('stackoverflow', 'failure').then(function(data) { + sinon.assert.fail('should not be called') + }, function(error) { + expect(error).to.be.exist.to.equal('MOCK_ERROR') + }) + $httpBackend.flush() + }) + + it('should fail, with fatal error, in linking external account', function() { + var errorMessage = 'endpoint not found' + profilePost.respond(404, {result: { status: 404, content: errorMessage } }) + // call unlinkExternalAccount method with supporte network, should succeed + service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { + sinon.assert.fail('should not be called') + }).catch(function(error) { + expect(error).to.be.defined + expect(error.status).to.exist.to.equal('FATAL_ERROR') + expect(error.msg).to.exist.to.equal(errorMessage) + }) + $httpBackend.flush() + }) + + it('should unlink external account', function() { + var errorMessage = 'social profile exists' + profilePost.respond(400, {result: { status: 400, content: errorMessage } }) + // call unlinkExternalAccount method with supporte network, should succeed + service.unlinkExternalAccount('stackoverflow').then(function(data) { + expect(data).to.be.defined + // console.log(data) + expect(data.status).to.exist.to.equal('SUCCESS') + }) + $httpBackend.flush() + }) + + it('should fail, with profile does not exist, in unlinking external account', function() { + var errorMessage = 'social profile does not exists' + profileDelete.respond(404, {result: { status: 404, content: errorMessage } }) + // call unlinkExternalAccount method with supporte network, should succeed + service.unlinkExternalAccount('stackoverflow').then(function(data) { + sinon.assert.fail('should not be called') + }).catch(function(error) { + expect(error).to.be.defined + expect(error.status).to.exist.to.equal('SOCIAL_PROFILE_NOT_EXIST') + expect(error.msg).to.exist.to.equal(errorMessage) + }) + $httpBackend.flush() + }) + + it('should fail, with fatal error, in unlinking external account', function() { + var errorMessage = 'bad request' + profileDelete.respond(400, {result: { status: 400, content: errorMessage } }) + // call unlinkExternalAccount method with supporte network, should succeed + service.unlinkExternalAccount('stackoverflow').then(function(data) { + sinon.assert.fail('should not be called') + }).catch(function(error) { + expect(error).to.be.defined + expect(error.status).to.exist.to.equal('FATAL_ERROR') + expect(error.msg).to.exist.to.equal(errorMessage) + }) + $httpBackend.flush() }) - $httpBackend.flush() - }) - it('should not return unsupported links even if they are returned by the API', function() { - var profiles = JSON.parse(JSON.stringify(mockUserLinksData)) - profiles.profiles.push({providerType: 'unsupported'}) - profileGet.respond(200, {result: {content: profiles}}) - // spy - service.getAllExternalLinks('test1', 111, true).then(function(data) { - expect(data).to.be.defined - expect(_.map(data, 'provider')).to.include.members(['dribbble', 'github','bitbucket', 'stackoverflow']) - expect(_.every(_.map(data, 'data'))).to.be.truthy - }) - $httpBackend.flush() - }) - - it('should fail in returning links', function() { - var errorMessage = 'bad request' - // mocks the GET call to respond with 400 bad request - profileGet.respond(400, {result: { status: 400, content: errorMessage } }) - // calls getAllExternalLinks method with valid params - service.getAllExternalLinks('test1', 111, true).then(function(data) { - sinon.assert.fail('should not be called') - }).catch(function(resp) { - expect(resp).to.exist - expect(resp.status).to.exist.to.equal(400) - }) - $httpBackend.flush() - }) - - it('should link external account', function() { - // call linkExternalAccount method with supporte network, should succeed - service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { - expect(data).to.be.defined - // console.log(data) - expect(data.status).to.exist.to.equal('SUCCESS') - expect(data.linkedAccount).to.exist - expect(data.linkedAccount.provider).to.exist.to.equal('stackoverflow') - expect(data.linkedAccount.data).to.exist - expect(data.linkedAccount.data.status).to.exist.to.equal('PENDING') - }) - $httpBackend.flush() }) it('should fail with unsupported network', function() { // call linkExternalAccount method with unsupported network, should fail - service.linkExternalAccount('unsupported', 'callback').then(function(data) { - expect(data).to.be.defined - expect(data.status).to.exist.to.equal('failed') - expect(data.error.to.contain('unsupported')) - }) - }) - - it('should fail with already existing profile', function() { - var errorMessage = 'social profile exists' - profilePost.respond(400, {result: { status: 400, content: errorMessage } }) - // call linkExternalAccount method, having user service throw already exist - service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { - sinon.assert.fail('should not be called') - }, function(error) { - expect(error).to.be.defined - expect(error.status).to.exist.to.equal('SOCIAL_PROFILE_ALREADY_EXISTS') - expect(error.msg).to.exist.to.equal(errorMessage) - }) - $httpBackend.flush() - }) - - it('should fail with auth0 error', function() { - // call linkExternalAccount method with auth0 throwing error - service.linkExternalAccount('stackoverflow', 'failure').then(function(data) { - sinon.assert.fail('should not be called') - }, function(error) { - expect(error).to.be.exist.to.equal('MOCK_ERROR') - }) - $httpBackend.flush() - }) - - it('should fail, with fatal error, in linking external account', function() { - var errorMessage = 'endpoint not found' - profilePost.respond(404, {result: { status: 404, content: errorMessage } }) - // call unlinkExternalAccount method with supporte network, should succeed - service.linkExternalAccount('stackoverflow', 'callback').then(function(data) { - sinon.assert.fail('should not be called') - }).catch(function(error) { - expect(error).to.be.defined - expect(error.status).to.exist.to.equal('FATAL_ERROR') - expect(error.msg).to.exist.to.equal(errorMessage) - }) - $httpBackend.flush() - }) - - it('should unlink external account', function() { - var errorMessage = 'social profile exists' - profilePost.respond(400, {result: { status: 400, content: errorMessage } }) - // call unlinkExternalAccount method with supporte network, should succeed - service.unlinkExternalAccount('stackoverflow').then(function(data) { - expect(data).to.be.defined - // console.log(data) - expect(data.status).to.exist.to.equal('SUCCESS') - }) - $httpBackend.flush() - }) - - it('should fail, with profile does not exist, in unlinking external account', function() { - var errorMessage = 'social profile does not exists' - profileDelete.respond(404, {result: { status: 404, content: errorMessage } }) - // call unlinkExternalAccount method with supporte network, should succeed - service.unlinkExternalAccount('stackoverflow').then(function(data) { + var promise = service.linkExternalAccount('unsupported', 'callback') + promise.then(function(data) { sinon.assert.fail('should not be called') - }).catch(function(error) { - expect(error).to.be.defined - expect(error.status).to.exist.to.equal('SOCIAL_PROFILE_NOT_EXIST') - expect(error.msg).to.exist.to.equal(errorMessage) - }) - $httpBackend.flush() - }) - - it('should fail, with fatal error, in unlinking external account', function() { - var errorMessage = 'bad request' - profileDelete.respond(400, {result: { status: 400, content: errorMessage } }) - // call unlinkExternalAccount method with supporte network, should succeed - service.unlinkExternalAccount('stackoverflow').then(function(data) { - sinon.assert.fail('should not be called') - }).catch(function(error) { - expect(error).to.be.defined - expect(error.status).to.exist.to.equal('FATAL_ERROR') - expect(error.msg).to.exist.to.equal(errorMessage) + }, function(resp) { + expect(resp).to.exist + expect(resp.status).to.exist.to.equal('failed') }) - $httpBackend.flush() + $rootScope.$apply(); }) }) From 85bb85c84b57974020e62313923c56848455cc77 Mon Sep 17 00:00:00 2001 From: Vikas Agarwal Date: Mon, 2 Jan 2017 12:58:28 +0530 Subject: [PATCH 06/15] Github issue #919, Few Unit tests failing after angular 1.6.x release -- Fixed lint errors --- .../header-dashboard/header-dashboard.spec.js | 10 ---------- app/services/externalAccounts.service.spec.js | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/app/my-dashboard/header-dashboard/header-dashboard.spec.js b/app/my-dashboard/header-dashboard/header-dashboard.spec.js index 4167eaf51..d88fb4ed5 100644 --- a/app/my-dashboard/header-dashboard/header-dashboard.spec.js +++ b/app/my-dashboard/header-dashboard/header-dashboard.spec.js @@ -3,10 +3,7 @@ const mockData = require('../../../tests/test-helpers/mock-data') /* jshint -W117, -W030 */ describe('Header Dashboard Controller', function() { - var identity var profile = mockData.getMockProfile() - var stats = mockData.getMockStats() - var financials = mockData.getMockUserFinancials() beforeEach(function() { bard.appModule('topcoder') @@ -15,13 +12,6 @@ describe('Header Dashboard Controller', function() { '$rootScope', '$q', 'Helpers') - - identity = function() { - return { - handle: 'albertwang', - userId: 123456 - } - } }) bard.verifyNoOutstandingHttpRequests() diff --git a/app/services/externalAccounts.service.spec.js b/app/services/externalAccounts.service.spec.js index 98b7089ed..dc6b10926 100644 --- a/app/services/externalAccounts.service.spec.js +++ b/app/services/externalAccounts.service.spec.js @@ -240,7 +240,7 @@ describe('ExternalAccount Service', function() { expect(resp).to.exist expect(resp.status).to.exist.to.equal('failed') }) - $rootScope.$apply(); + $rootScope.$apply() }) }) From 5b65b1d8411a3898f4a4f365d71e969a6a123022 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Wed, 4 Jan 2017 16:01:10 -0600 Subject: [PATCH 07/15] Created new empty module for listings --- app/index.js | 1 + app/listings/listings.controller.js | 26 ++++++++++++++++++++++ app/listings/listings.jade | 2 ++ app/listings/listings.module.js | 19 ++++++++++++++++ app/listings/listings.routes.js | 34 +++++++++++++++++++++++++++++ app/topcoder.module.js | 1 + 6 files changed, 83 insertions(+) create mode 100644 app/listings/listings.controller.js create mode 100644 app/listings/listings.jade create mode 100644 app/listings/listings.module.js create mode 100644 app/listings/listings.routes.js diff --git a/app/index.js b/app/index.js index a11c18e81..56c242efa 100644 --- a/app/index.js +++ b/app/index.js @@ -22,6 +22,7 @@ require('angucomplete-alt') require('angularjs-toaster') require('ng-dialog') require('xml2js') +require('ngreact') require('appirio-tech-ng-ui-components') require('appirio-tech-ng-iso-constants') diff --git a/app/listings/listings.controller.js b/app/listings/listings.controller.js new file mode 100644 index 000000000..23d1829bd --- /dev/null +++ b/app/listings/listings.controller.js @@ -0,0 +1,26 @@ +import angular from 'angular' +import moment from 'moment' + +(function () { + 'use strict' + + angular.module('tc.listings').controller('ListingsCtrl', ListingsCtrl) + + ListingsCtrl.$inject = ['CONSTANTS', 'logger', '$q', + 'TcAuthService', 'UserService', 'UserStatsService', 'ProfileService', 'ChallengeService', 'ExternalAccountService', + 'userHandle', 'profile', 'ngDialog', '$anchorScroll' + ] + + function ListingsCtrl(CONSTANTS, logger, $q, TcAuthService, UserService, UserStatsService, ProfileService, ChallengeService, ExternalAccountService, userHandle, profile, ngDialog, $anchorScroll) { + var vm = this + // set profile to the object that was resolved + + activate() + + function activate() { + logger.debug('Calling ListingsController activate()') + + } + } + +})() diff --git a/app/listings/listings.jade b/app/listings/listings.jade new file mode 100644 index 000000000..dc70a3013 --- /dev/null +++ b/app/listings/listings.jade @@ -0,0 +1,2 @@ +h1 Yo +p Helooo diff --git a/app/listings/listings.module.js b/app/listings/listings.module.js new file mode 100644 index 000000000..4419a5b7f --- /dev/null +++ b/app/listings/listings.module.js @@ -0,0 +1,19 @@ +import angular from 'angular' + +(function() { + 'use strict' + + var dependencies = [ + 'angular-jwt', + 'ui.router', + 'ngCookies', + 'tc.services', + 'tcUIComponents', + 'angularSlideables', + 'ngDialog', + 'react' + ] + + angular.module('tc.listings', dependencies) + +})() diff --git a/app/listings/listings.routes.js b/app/listings/listings.routes.js new file mode 100644 index 000000000..54bdaf2e7 --- /dev/null +++ b/app/listings/listings.routes.js @@ -0,0 +1,34 @@ +import angular from 'angular' + +(function() { + 'use strict' + + angular.module('tc.listings').config([ + '$stateProvider', + routes + ]).run(['$rootScope', '$state', function($rootScope, $state) { + $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) { +// if (toState.name.indexOf('sloog') > -1 && 400 <= error.status <= 500 ) { +// +// // unable to find a member with that username +// $state.go('404') +// } + }) + }]) + + function routes($stateProvider) { + var states = { + 'listings': { + parent: 'root', + url: '/listings/', + template: require('./listings')(), + controller: 'ListingsCtrl as vm' + } + } + + for (var name in states) { + var state = states[name] + $stateProvider.state(name, state) + } + } +})() diff --git a/app/topcoder.module.js b/app/topcoder.module.js index d8fdfee83..d2bbce8b2 100644 --- a/app/topcoder.module.js +++ b/app/topcoder.module.js @@ -10,6 +10,7 @@ import { getCurrentUser, loadUser } from './services/userv3.service.js' 'tc.account', 'tc.peer-review', 'tc.myDashboard', + 'tc.listings', 'tc.mySRMs', 'tc.myChallenges', 'tc.profile', From f07fa158c375432c0facab8cee967584470c26a9 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Wed, 4 Jan 2017 17:06:44 -0600 Subject: [PATCH 08/15] Finished pulling in filters --- app/listings/listings.controller.js | 5 ++--- app/listings/listings.jade | 3 +-- app/listings/listings.module.js | 16 ++++++++++++++++ package.json | 2 +- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/listings/listings.controller.js b/app/listings/listings.controller.js index 23d1829bd..d75d74f20 100644 --- a/app/listings/listings.controller.js +++ b/app/listings/listings.controller.js @@ -8,12 +8,11 @@ import moment from 'moment' ListingsCtrl.$inject = ['CONSTANTS', 'logger', '$q', 'TcAuthService', 'UserService', 'UserStatsService', 'ProfileService', 'ChallengeService', 'ExternalAccountService', - 'userHandle', 'profile', 'ngDialog', '$anchorScroll' + 'ngDialog', '$anchorScroll' ] - function ListingsCtrl(CONSTANTS, logger, $q, TcAuthService, UserService, UserStatsService, ProfileService, ChallengeService, ExternalAccountService, userHandle, profile, ngDialog, $anchorScroll) { + function ListingsCtrl(CONSTANTS, logger, $q, TcAuthService, UserService, UserStatsService, ProfileService, ChallengeService, ExternalAccountService, ngDialog, $anchorScroll) { var vm = this - // set profile to the object that was resolved activate() diff --git a/app/listings/listings.jade b/app/listings/listings.jade index dc70a3013..1774c70e3 100644 --- a/app/listings/listings.jade +++ b/app/listings/listings.jade @@ -1,2 +1 @@ -h1 Yo -p Helooo +react-component(name="ChallengeFiltersExample") diff --git a/app/listings/listings.module.js b/app/listings/listings.module.js index 4419a5b7f..4f997f43d 100644 --- a/app/listings/listings.module.js +++ b/app/listings/listings.module.js @@ -1,4 +1,6 @@ import angular from 'angular' +import React from 'react' +import { ChallengeFiltersExample, TCFooter } from 'appirio-tech-react-components' (function() { 'use strict' @@ -14,6 +16,20 @@ import angular from 'angular' 'react' ] + class Foo extends React.Component { + constructor(props) { + super(props) + } + render() { + return React.createElement('p', null, 'Foo') + } + } + window.console.log('STUFFFFFF') + window.console.log(Foo) + window.console.log(ChallengeFiltersExample.default) + angular.module('tc.listings', dependencies) + .value('ChallengeFiltersExample', ChallengeFiltersExample.default) + .value('Foo', Foo) })() diff --git a/package.json b/package.json index 72c20d151..d31ee074f 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "appirio-styles": "0.x.x", "appirio-tech-ng-iso-constants": "^1.0.6", "appirio-tech-ng-ui-components": "^2.1.2", - "appirio-tech-react-components": "^0.0.12", + "appirio-tech-react-components": "appirio-tech/react-components.git#challenge-filters", "auth0-angular": "^4.1.0", "auth0-js": "^6.8.0", "d3": "^3.5.14", From 2aabd2816b522a97f773ae598f7cd6338697fbda Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Wed, 4 Jan 2017 17:08:18 -0600 Subject: [PATCH 09/15] cleanup --- app/listings/listings.module.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/app/listings/listings.module.js b/app/listings/listings.module.js index 4f997f43d..941376179 100644 --- a/app/listings/listings.module.js +++ b/app/listings/listings.module.js @@ -16,20 +16,7 @@ import { ChallengeFiltersExample, TCFooter } from 'appirio-tech-react-components 'react' ] - class Foo extends React.Component { - constructor(props) { - super(props) - } - render() { - return React.createElement('p', null, 'Foo') - } - } - window.console.log('STUFFFFFF') - window.console.log(Foo) - window.console.log(ChallengeFiltersExample.default) - angular.module('tc.listings', dependencies) .value('ChallengeFiltersExample', ChallengeFiltersExample.default) - .value('Foo', Foo) })() From f07fe6d3907c4895c78db2c4876e9cc6dcd7a79f Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Wed, 4 Jan 2017 18:06:10 -0600 Subject: [PATCH 10/15] more cleanup --- app/listings/listings.controller.js | 2 -- app/listings/listings.module.js | 3 +-- app/listings/listings.routes.js | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/listings/listings.controller.js b/app/listings/listings.controller.js index d75d74f20..5ed5eae6a 100644 --- a/app/listings/listings.controller.js +++ b/app/listings/listings.controller.js @@ -1,5 +1,4 @@ import angular from 'angular' -import moment from 'moment' (function () { 'use strict' @@ -12,7 +11,6 @@ import moment from 'moment' ] function ListingsCtrl(CONSTANTS, logger, $q, TcAuthService, UserService, UserStatsService, ProfileService, ChallengeService, ExternalAccountService, ngDialog, $anchorScroll) { - var vm = this activate() diff --git a/app/listings/listings.module.js b/app/listings/listings.module.js index 941376179..102cdcab2 100644 --- a/app/listings/listings.module.js +++ b/app/listings/listings.module.js @@ -1,6 +1,5 @@ import angular from 'angular' -import React from 'react' -import { ChallengeFiltersExample, TCFooter } from 'appirio-tech-react-components' +import { ChallengeFiltersExample } from 'appirio-tech-react-components' (function() { 'use strict' diff --git a/app/listings/listings.routes.js b/app/listings/listings.routes.js index 54bdaf2e7..e747fbe12 100644 --- a/app/listings/listings.routes.js +++ b/app/listings/listings.routes.js @@ -18,7 +18,7 @@ import angular from 'angular' function routes($stateProvider) { var states = { - 'listings': { + 'listings': { parent: 'root', url: '/listings/', template: require('./listings')(), From 52b68b3899c357edb4eb223b3592e3d1c1925277 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Thu, 5 Jan 2017 11:24:59 -0600 Subject: [PATCH 11/15] Changed auth for listings --- app/listings/listings.routes.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/listings/listings.routes.js b/app/listings/listings.routes.js index e747fbe12..bffcc1672 100644 --- a/app/listings/listings.routes.js +++ b/app/listings/listings.routes.js @@ -22,7 +22,16 @@ import angular from 'angular' parent: 'root', url: '/listings/', template: require('./listings')(), - controller: 'ListingsCtrl as vm' + controller: 'ListingsCtrl as vm', + resolve: { + userHandle: ['$stateParams', function($stateParams) { + return $stateParams.userHandle + }] + }, + data: { + authRequired: false, + title: 'Listings' + } } } From 6864a7084031eccb18a8d85cf8a370c3f637852f Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Thu, 5 Jan 2017 16:22:13 -0600 Subject: [PATCH 12/15] reverted some commits that broke the build --- app/directives/challenge-links/challenge-links.jade | 4 ++-- app/my-challenges/my-challenges.controller.js | 8 -------- app/my-challenges/my-challenges.jade | 9 ++++++--- assets/css/community/members.scss | 3 --- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/app/directives/challenge-links/challenge-links.jade b/app/directives/challenge-links/challenge-links.jade index cdb50febc..85c5c7954 100644 --- a/app/directives/challenge-links/challenge-links.jade +++ b/app/directives/challenge-links/challenge-links.jade @@ -1,10 +1,10 @@ .challenge-links(ng-class="view + '-view'") - a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack", target="_self") + a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack") .icon.registrants-icon p(ng-switch-when="MARATHON_MATCH") {{challenge.numRegistrants[0]}} p(ng-switch-default) {{challenge.numRegistrants}} - a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}", target="_self") + a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}") .icon.submissions-icon p {{challenge.numSubmissions}} diff --git a/app/my-challenges/my-challenges.controller.js b/app/my-challenges/my-challenges.controller.js index d8623372c..b30fe3731 100644 --- a/app/my-challenges/my-challenges.controller.js +++ b/app/my-challenges/my-challenges.controller.js @@ -146,14 +146,6 @@ import _ from 'lodash' vm.getChallenges(currentOffset, false) } - window.onscroll = function() { - if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { - if (vm.totalCount > vm.myChallenges.length) { - vm.loadMore() - } - } - } - function _checkForParticipation() { return ChallengeService.checkChallengeParticipation(vm.handle, function(participated) { vm.neverParticipated = !participated diff --git a/app/my-challenges/my-challenges.jade b/app/my-challenges/my-challenges.jade index 644a84e4b..652af8165 100644 --- a/app/my-challenges/my-challenges.jade +++ b/app/my-challenges/my-challenges.jade @@ -1,6 +1,6 @@ .my-challenges-container .my-challenges - + .page-header page-state-header(handle="{{vm.handle}}", page-title="My Challenges", hide-money="true", show-back-link="true", default-state="dashboard") @@ -26,7 +26,10 @@ .hasChallenges(ng-show="vm.myChallenges.length", state="vm.loading") - .data(ng-class="vm.view + '-view'") + .data(ng-class="vm.view + '-view'") challenge-tile( - ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", + ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", challenge="challenge", view="vm.view", ng-class="vm.view + '-view'") + + tc-section.load-more-section(state="vm.loading") + button.tc-btn(ng-show="vm.totalCount > vm.myChallenges.length", ng-click="vm.loadMore()") Load More diff --git a/assets/css/community/members.scss b/assets/css/community/members.scss index 019cb6999..d2ae25751 100644 --- a/assets/css/community/members.scss +++ b/assets/css/community/members.scss @@ -65,9 +65,6 @@ color: #a3a3ae; font-size: 12px; font-weight: 400; - @media only screen and (max-width: 768px) { - font-size: 5vw; - } } } From 13f67bff8e8d2d047183f77736741194f331fd85 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Mon, 9 Jan 2017 20:57:55 -0600 Subject: [PATCH 13/15] Re-add thomaskranitsas' changes This reverts commit 6864a7084031eccb18a8d85cf8a370c3f637852f. --- app/directives/challenge-links/challenge-links.jade | 4 ++-- app/my-challenges/my-challenges.controller.js | 8 ++++++++ app/my-challenges/my-challenges.jade | 9 +++------ assets/css/community/members.scss | 3 +++ 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/directives/challenge-links/challenge-links.jade b/app/directives/challenge-links/challenge-links.jade index 85c5c7954..cdb50febc 100644 --- a/app/directives/challenge-links/challenge-links.jade +++ b/app/directives/challenge-links/challenge-links.jade @@ -1,10 +1,10 @@ .challenge-links(ng-class="view + '-view'") - a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack") + a.registrants(ng-href="{{challenge|challengeLinks:'registrants'}}", ng-switch="challenge.subTrack", target="_self") .icon.registrants-icon p(ng-switch-when="MARATHON_MATCH") {{challenge.numRegistrants[0]}} p(ng-switch-default) {{challenge.numRegistrants}} - a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}") + a.submissions(ng-hide="challenge.track === 'DATA_SCIENCE'", ng-href="{{challenge|challengeLinks:'submissions'}}", target="_self") .icon.submissions-icon p {{challenge.numSubmissions}} diff --git a/app/my-challenges/my-challenges.controller.js b/app/my-challenges/my-challenges.controller.js index b30fe3731..d8623372c 100644 --- a/app/my-challenges/my-challenges.controller.js +++ b/app/my-challenges/my-challenges.controller.js @@ -146,6 +146,14 @@ import _ from 'lodash' vm.getChallenges(currentOffset, false) } + window.onscroll = function() { + if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { + if (vm.totalCount > vm.myChallenges.length) { + vm.loadMore() + } + } + } + function _checkForParticipation() { return ChallengeService.checkChallengeParticipation(vm.handle, function(participated) { vm.neverParticipated = !participated diff --git a/app/my-challenges/my-challenges.jade b/app/my-challenges/my-challenges.jade index 652af8165..644a84e4b 100644 --- a/app/my-challenges/my-challenges.jade +++ b/app/my-challenges/my-challenges.jade @@ -1,6 +1,6 @@ .my-challenges-container .my-challenges - + .page-header page-state-header(handle="{{vm.handle}}", page-title="My Challenges", hide-money="true", show-back-link="true", default-state="dashboard") @@ -26,10 +26,7 @@ .hasChallenges(ng-show="vm.myChallenges.length", state="vm.loading") - .data(ng-class="vm.view + '-view'") + .data(ng-class="vm.view + '-view'") challenge-tile( - ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", + ng-repeat="challenge in vm.myChallenges | orderBy:vm.orderBy:true", challenge="challenge", view="vm.view", ng-class="vm.view + '-view'") - - tc-section.load-more-section(state="vm.loading") - button.tc-btn(ng-show="vm.totalCount > vm.myChallenges.length", ng-click="vm.loadMore()") Load More diff --git a/assets/css/community/members.scss b/assets/css/community/members.scss index d2ae25751..019cb6999 100644 --- a/assets/css/community/members.scss +++ b/assets/css/community/members.scss @@ -65,6 +65,9 @@ color: #a3a3ae; font-size: 12px; font-weight: 400; + @media only screen and (max-width: 768px) { + font-size: 5vw; + } } } From 6b6aa96a4654e008c1d6ce1c16d68886647c21df Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Fri, 13 Jan 2017 01:21:06 +0200 Subject: [PATCH 14/15] Fix build errors --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d31ee074f..cc97ef8d2 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "auth0-js": "^6.8.0", "d3": "^3.5.14", "font-awesome": "^4.5.0", + "html-webpack-plugin": "^2.26.0", "intro.js": "^1.1.1", "jstimezonedetect": "^1.0.6", "lodash": "^4.5.0", @@ -69,10 +70,10 @@ "ng-dialog": "^0.5.6", "react-select": "1.0.0-beta8", "restangular": "^1.5.2", + "tc-accounts": "https://github.com/appirio-tech/accounts-app.git#0.0.7", "tc-angular-ellipsis": "^0.1.6", "topcoder-app-r": "^1.0.0", "xml2js": "^0.4.16", - "zepto": "1.0.1", - "tc-accounts": "https://github.com/appirio-tech/accounts-app.git#0.0.7" + "zepto": "1.0.1" } } From 969720cc01fb393dfb69782f8e904bb051783f6f Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Fri, 13 Jan 2017 01:06:48 -0600 Subject: [PATCH 15/15] updated to new react-components branch --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cc97ef8d2..764083137 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "appirio-styles": "0.x.x", "appirio-tech-ng-iso-constants": "^1.0.6", "appirio-tech-ng-ui-components": "^2.1.2", - "appirio-tech-react-components": "appirio-tech/react-components.git#challenge-filters", + "appirio-tech-react-components": "appirio-tech/react-components.git#challenge-listings", "auth0-angular": "^4.1.0", "auth0-js": "^6.8.0", "d3": "^3.5.14",