From 8f32f0d65f2351bb7472fe8bcd476bbce570bda2 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 14:48:22 +0000 Subject: [PATCH 1/8] Remove old unused track changes onboarding --- .../Features/Project/ProjectController.coffee | 22 +--- services/web/app/views/project/editor.pug | 3 - .../project/editor/feature-onboarding.pug | 112 ------------------ services/web/public/coffee/ide.coffee | 5 - .../ide/FeatureOnboardingController.coffee | 32 ----- .../Project/ProjectControllerTests.coffee | 29 ----- 6 files changed, 1 insertion(+), 202 deletions(-) delete mode 100644 services/web/app/views/project/editor/feature-onboarding.pug delete mode 100644 services/web/public/coffee/ide/FeatureOnboardingController.coffee diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index 90ac6f09aa..84d231e9a2 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -234,25 +234,6 @@ module.exports = ProjectController = #don't need to wait for this to complete ProjectUpdateHandler.markAsOpened project_id, -> cb() - showTrackChangesOnboarding: (cb) -> - cb = underscore.once(cb) - if !user_id? - return cb() - timestamp = user_id.toString().substring(0,8) - userSignupDate = new Date( parseInt( timestamp, 16 ) * 1000 ) - if userSignupDate > new Date("2017-03-09") # 8th March - # Don't show for users who registered after it was released - return cb(null, false) - timeout = setTimeout cb, 500 - AnalyticsManager.getLastOccurance user_id, "shown-track-changes-onboarding-2", (error, event) -> - clearTimeout timeout - if error? - return cb(null, false) - else if event? - return cb(null, false) - else - logger.log { user_id, event }, "track changes onboarding not shown yet to this user" - return cb(null, true) showPerUserTCNotice: (cb) -> cb = underscore.once(cb) if !user_id? @@ -331,7 +312,7 @@ module.exports = ProjectController = project = results.project user = results.user subscription = results.subscription - { showTrackChangesOnboarding, showPerUserTCNotice, showAutoCompileOnboarding } = results + { showPerUserTCNotice, showAutoCompileOnboarding } = results daysSinceLastUpdated = (new Date() - project.lastUpdated) / 86400000 logger.log project_id:project_id, daysSinceLastUpdated:daysSinceLastUpdated, "got db results for loading editor" @@ -383,7 +364,6 @@ module.exports = ProjectController = syntaxValidation: user.ace.syntaxValidation } trackChangesState: project.track_changes - showTrackChangesOnboarding: !!showTrackChangesOnboarding showPerUserTCNotice: !!showPerUserTCNotice autoCompileEnabled: !!showAutoCompileOnboarding?.enabled showAutoCompileOnboarding: !!showAutoCompileOnboarding?.showOnboarding diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index b89fb28e94..516c40fea4 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -20,8 +20,6 @@ block content p.loading-screen-error(ng-if="state.error").ng-cloak span(ng-bind-html="state.error") - include ./editor/feature-onboarding - .global-alerts(ng-cloak) .alert.alert-danger.small(ng-if="connection.forced_disconnect") strong #{translate("disconnected")} @@ -122,7 +120,6 @@ block requirejs window.isTokenMember = #{!!isTokenMember}; window.maxDocLength = #{maxDocLength}; window.trackChangesState = data.trackChangesState; - window.showTrackChangesOnboarding = #{!!showTrackChangesOnboarding}; window.showPerUserTCNotice = #{!!showPerUserTCNotice}; window.autoCompileEnabled = #{!!autoCompileEnabled}; window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding} diff --git a/services/web/app/views/project/editor/feature-onboarding.pug b/services/web/app/views/project/editor/feature-onboarding.pug deleted file mode 100644 index f0047ce45c..0000000000 --- a/services/web/app/views/project/editor/feature-onboarding.pug +++ /dev/null @@ -1,112 +0,0 @@ -.feat-onboard( - ng-controller="FeatureOnboardingController" - ng-class="('feat-onboard-step' + onboarding.innerStep)" - ng-if="!state.loading && ui.showCollabFeaturesOnboarding" - ng-cloak - stop-propagation="click" -) - a.feat-onboard-dismiss( - href - ng-click="dismiss();" - ) × - .feat-onboard-wrapper - h1.feat-onboard-title - | Introducing  - span.feat-onboard-highlight Commenting - | & - span.feat-onboard-highlight Track Changes - p.feat-onboard-description - span.feat-onboard-highlight Commenting - | and - span.feat-onboard-highlight Track Changes - | will make it easier for you to work with peers in your documents. - - .feat-onboard-tutorial-wrapper - button.btn.btn-primary.feat-onboard-nav-btn( - ng-click="gotoPrevStep();" - ng-disabled="onboarding.innerStep === 1;") - i.fa.fa-arrow-left - div(ng-show="onboarding.innerStep === 1;") - video.feat-onboard-video( - video-play-state="onboarding.innerStep === 1;" - autoplay - loop - ) - source(ng-src="{{ '/img/onboarding/review-panel/open-review.mp4' }}", type="video/mp4") - img(ng-src="{{ '/img/onboarding/review-panel/open-review.gif' }}", alt="Open review panel demo") - div(ng-show="onboarding.innerStep === 2;") - video.feat-onboard-video( - video-play-state="onboarding.innerStep === 2;" - autoplay - loop - ) - source(ng-src="{{ '/img/onboarding/review-panel/commenting.mp4' }}", type="video/mp4") - img(ng-src="{{ '/img/onboarding/review-panel/commenting.gif' }}", alt="Commenting demo") - div(ng-show="onboarding.innerStep === 3;") - video.feat-onboard-video( - video-play-state="onboarding.innerStep === 3;" - autoplay - loop - ) - source(ng-src="{{ '/img/onboarding/review-panel/add-changes.mp4' }}", type="video/mp4") - img(ng-src="{{ '/img/onboarding/review-panel/add-changes.gif' }}", alt="Add changes demo") - div(ng-show="onboarding.innerStep === 4;") - video.feat-onboard-video( - video-play-state="onboarding.innerStep === 4;" - autoplay - loop - ) - source(ng-src="{{ '/img/onboarding/review-panel/accept-changes.mp4' }}", type="video/mp4") - img(ng-src="{{ '/img/onboarding/review-panel/accept-changes.gif' }}", alt="Accept changes demo") - button.btn.btn-primary.feat-onboard-nav-btn( - ng-click="gotoNextStep();" - ng-disabled="onboarding.innerStep === onboarding.nSteps;") - i.fa.fa-arrow-right - - div(ng-switch="onboarding.innerStep") - .row(ng-switch-when="1") - .col-xs-6 - h2.feat-onboard-adv-title Commenting - p.feat-onboard-description Want to discuss specific parts of the text? - p.feat-onboard-description Use our brand-new commenting system. - .col-xs-6 - h2.feat-onboard-adv-title Track Changes - p.feat-onboard-description See changes in your documents, live. - p.feat-onboard-description Track, accept and reject changes individually. - .row(ng-switch-when="2") - .col-xs-12 - h2.feat-onboard-adv-title Commenting - p.feat-onboard-description Just select a span of text and click on - span.feat-onboard-highlight “Add comment” - | . - p.feat-onboard-description - span.feat-onboard-highlight Comments - | can be - span.feat-onboard-highlight replied - | to, - span.feat-onboard-highlight resolved - | and permanently - span.feat-onboard-highlight deleted - | . - .row(ng-switch-when="3") - .col-xs-12 - h2.feat-onboard-adv-title Track Changes - p.feat-onboard-description - | Let your peers know what you've been up to. - p.feat-onboard-description - | Click on the - span.feat-onboard-highlight “Track Changes” - | toggle to start marking your insertions, as well as your deletions. - - .row(ng-switch-when="4") - .col-xs-12 - h2.feat-onboard-adv-title Track Changes - p.feat-onboard-description Upon reviewing, - span.feat-onboard-highlight changes - | can be accepted or undone. - p.feat-onboard-description - | Click  - span.feat-onboard-highlight “Accept” - | or  - span.feat-onboard-highlight “Reject” - | to incorporate or discard an individual change. diff --git a/services/web/public/coffee/ide.coffee b/services/web/public/coffee/ide.coffee index 27e8094bf4..23b290c9dd 100644 --- a/services/web/public/coffee/ide.coffee +++ b/services/web/public/coffee/ide.coffee @@ -12,7 +12,6 @@ define [ "ide/labels/LabelsManager" "ide/review-panel/ReviewPanelManager" "ide/SafariScrollPatcher" - "ide/FeatureOnboardingController", "ide/AutoCompileOnboardingController", "ide/LinkSharingOnboardingController", "ide/settings/index" @@ -92,10 +91,6 @@ define [ $scope.__enableTokenAccessUI = false $scope.$digest - $scope.$watch "project.features.trackChangesVisible", (visible) -> - return if !visible? - $scope.ui.showCollabFeaturesOnboarding = window.showTrackChangesOnboarding and visible - $scope.shouldABTestPlans = false if $scope.user.signUpDate >= '2016-10-27' $scope.shouldABTestPlans = true diff --git a/services/web/public/coffee/ide/FeatureOnboardingController.coffee b/services/web/public/coffee/ide/FeatureOnboardingController.coffee deleted file mode 100644 index 156b3c9b91..0000000000 --- a/services/web/public/coffee/ide/FeatureOnboardingController.coffee +++ /dev/null @@ -1,32 +0,0 @@ -define [ - "base" -], (App) -> - App.controller "FeatureOnboardingController", ($scope, settings, event_tracking) -> - $scope.onboarding = - innerStep: 1 - nSteps: 4 - - $scope.dismiss = () -> - event_tracking.sendMB "shown-track-changes-onboarding-2" - $scope.$applyAsync(() -> $scope.ui.showCollabFeaturesOnboarding = false) - - $scope.gotoPrevStep = () -> - if $scope.onboarding.innerStep > 1 - $scope.$applyAsync(() -> $scope.onboarding.innerStep--) - - $scope.gotoNextStep = () -> - if $scope.onboarding.innerStep < 4 - $scope.$applyAsync(() -> $scope.onboarding.innerStep++) - - handleKeydown = (e) -> - switch e.keyCode - when 37 then $scope.gotoPrevStep() # left directional key - when 39, 13 then $scope.gotoNextStep() # right directional key, enter - when 27 then $scope.dismiss() # escape - - $(document).on "keydown", handleKeydown - $(document).on "click", $scope.dismiss - - $scope.$on "$destroy", () -> - $(document).off "keydown", handleKeydown - $(document).off "click", $scope.dismiss \ No newline at end of file diff --git a/services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee b/services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee index 35176acd4b..8408981ab9 100644 --- a/services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/Project/ProjectControllerTests.coffee @@ -493,35 +493,6 @@ describe "ProjectController", -> done() @ProjectController.loadEditor @req, @res - it "should set showTrackChangesOnboarding = false if there is an event", (done) -> - @AnalyticsManager.getLastOccurance.yields(null, {"mock": "event"}) - @res.render = (pageName, opts)=> - opts.showTrackChangesOnboarding.should.equal false - done() - @ProjectController.loadEditor @req, @res - - it "should set showTrackChangesOnboarding = true if there is no event", (done) -> - @AnalyticsManager.getLastOccurance.yields(null, null) - @res.render = (pageName, opts)=> - opts.showTrackChangesOnboarding.should.equal true - done() - @ProjectController.loadEditor @req, @res - - it "should set showTrackChangesOnboarding = false if there is an error", (done) -> - @AnalyticsManager.getLastOccurance.yields(new Error("oops"), null) - @res.render = (pageName, opts)=> - opts.showTrackChangesOnboarding.should.equal false - done() - @ProjectController.loadEditor @req, @res - - it "should set showTrackChangesOnboarding = false if the user signed up after release", (done) -> - @AuthenticationController.getLoggedInUserId.returns("58c11a608ba0d6e49e8ce5d5") - @AnalyticsManager.getLastOccurance.yields(null, null) - @res.render = (pageName, opts)=> - opts.showTrackChangesOnboarding.should.equal false - done() - @ProjectController.loadEditor @req, @res - describe '_isInPercentageRollout', -> before -> @ids = [ From f85880ba38990bfa3615d9d5406c089951a74ea0 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 15:03:46 +0000 Subject: [PATCH 2/8] Remove old unused track changes notice --- .../Features/Project/ProjectController.coffee | 22 +------------------ services/web/app/views/project/editor.pug | 1 - .../controllers/ReviewPanelController.coffee | 11 ---------- 3 files changed, 1 insertion(+), 33 deletions(-) diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index 84d231e9a2..97cf2f9a23 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -234,25 +234,6 @@ module.exports = ProjectController = #don't need to wait for this to complete ProjectUpdateHandler.markAsOpened project_id, -> cb() - showPerUserTCNotice: (cb) -> - cb = underscore.once(cb) - if !user_id? - return cb() - timestamp = user_id.toString().substring(0,8) - userSignupDate = new Date( parseInt( timestamp, 16 ) * 1000 ) - if userSignupDate > new Date("2017-08-09") - # Don't show for users who registered after it was released - return cb(null, false) - timeout = setTimeout cb, 500 - AnalyticsManager.getLastOccurance user_id, "shown-per-user-tc-notice", (error, event) -> - clearTimeout timeout - if error? - return cb(null, false) - else if event? - return cb(null, false) - else - logger.log { user_id, event }, "per user track changes notice not shown yet to this user" - return cb(null, true) isTokenMember: (cb) -> cb = underscore.once(cb) if !user_id? @@ -312,7 +293,7 @@ module.exports = ProjectController = project = results.project user = results.user subscription = results.subscription - { showPerUserTCNotice, showAutoCompileOnboarding } = results + { showAutoCompileOnboarding } = results daysSinceLastUpdated = (new Date() - project.lastUpdated) / 86400000 logger.log project_id:project_id, daysSinceLastUpdated:daysSinceLastUpdated, "got db results for loading editor" @@ -364,7 +345,6 @@ module.exports = ProjectController = syntaxValidation: user.ace.syntaxValidation } trackChangesState: project.track_changes - showPerUserTCNotice: !!showPerUserTCNotice autoCompileEnabled: !!showAutoCompileOnboarding?.enabled showAutoCompileOnboarding: !!showAutoCompileOnboarding?.showOnboarding privilegeLevel: privilegeLevel diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 516c40fea4..17efeb7f0f 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -120,7 +120,6 @@ block requirejs window.isTokenMember = #{!!isTokenMember}; window.maxDocLength = #{maxDocLength}; window.trackChangesState = data.trackChangesState; - window.showPerUserTCNotice = #{!!showPerUserTCNotice}; window.autoCompileEnabled = #{!!autoCompileEnabled}; window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding} window.showLinkSharingOnboarding = #{!!showLinkSharingOnboarding} diff --git a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee index 65b2adf5df..b9315cf697 100644 --- a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee +++ b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee @@ -43,7 +43,6 @@ define [ # A count of user-facing selected changes. An aggregated change (insertion + deletion) will count # as only one. nVisibleSelectedChanges: 0 - showPerUserTCNotice: window.showPerUserTCNotice window.addEventListener "beforeunload", () -> collapsedStates = {} @@ -598,8 +597,6 @@ define [ $scope.toggleFullTCStateCollapse = () -> if $scope.project.features.trackChanges - if $scope.reviewPanel.showPerUserTCNotice - $scope.openPerUserTCNoticeModal() $scope.reviewPanel.fullTCStateCollapsed = !$scope.reviewPanel.fullTCStateCollapsed else $scope.openTrackChangesUpgradeModal() @@ -802,11 +799,3 @@ define [ controller: "TrackChangesUpgradeModalController" scope: $scope.$new() } - - $scope.openPerUserTCNoticeModal = () -> - $scope.reviewPanel.showPerUserTCNotice = false - $modal.open({ - templateUrl: "perUserTCNoticeModalTemplate" - }).result.finally () -> - event_tracking.sendMB "shown-per-user-tc-notice" - From de3b9d6a49ef1562e6ffaebf58783d427e0776c0 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 16:09:32 +0000 Subject: [PATCH 3/8] Remove old unused link sharing onboarding --- .../Features/Project/ProjectController.coffee | 26 ------------- services/web/app/views/project/editor.pug | 2 - .../web/app/views/project/editor/editor.pug | 14 ------- .../app/views/project/editor/review-panel.pug | 4 +- .../web/app/views/project/editor/share.pug | 37 +----------------- services/web/public/coffee/ide.coffee | 10 ----- .../LinkSharingOnboardingController.coffee | 21 ---------- .../ShareProjectModalController.coffee | 7 ---- .../app/editor/feature-onboarding.less | 39 ------------------- 9 files changed, 2 insertions(+), 158 deletions(-) delete mode 100644 services/web/public/coffee/ide/LinkSharingOnboardingController.coffee diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index 97cf2f9a23..c83c732b5c 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -269,23 +269,6 @@ module.exports = ProjectController = else logger.log { user_id, event }, "autocompile onboarding not shown yet to this user" return cb(null, { enabled: true, showOnboarding: true }) - couldShowLinkSharingOnboarding: (cb) -> - cb = underscore.once(cb) - if !user_id? - return cb() - # Extract data from user's ObjectId - timestamp = parseInt(user_id.toString().substring(0, 8), 16) - userSignupDate = new Date(timestamp * 1000) - if userSignupDate > new Date("2017-11-13") - # Don't show for users who registered after it was released - return cb(null, false) - timeout = setTimeout cb, 500 - AnalyticsManager.getLastOccurance user_id, "shown-linksharing-onboarding", (error, event) -> - clearTimeout timeout - if error? || event? - return cb(null, false) - else - return cb(null, true) }, (err, results)-> if err? logger.err err:err, "error getting details for project page" @@ -300,13 +283,6 @@ module.exports = ProjectController = token = TokenAccessHandler.getRequestToken(req, project_id) isTokenMember = results.isTokenMember - # Roll out token-access based on Project owner - enableTokenAccessUI = ProjectController._isInPercentageRollout( - 'linksharing', - project.owner_ref, - 100 - ) - showLinkSharingOnboarding = enableTokenAccessUI && results.couldShowLinkSharingOnboarding AuthorizationManager.getPrivilegeLevelForProject user_id, project_id, token, (error, privilegeLevel)-> return next(error) if error? if !privilegeLevel? or privilegeLevel == PrivilegeLevels.NONE @@ -355,8 +331,6 @@ module.exports = ProjectController = languages: Settings.languages themes: THEME_LIST maxDocLength: Settings.max_doc_length - enableTokenAccessUI: enableTokenAccessUI - showLinkSharingOnboarding: showLinkSharingOnboarding timer.done() _buildProjectList: (allProjects, v1Projects = [])-> diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 17efeb7f0f..05fab3203c 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -122,9 +122,7 @@ block requirejs window.trackChangesState = data.trackChangesState; window.autoCompileEnabled = #{!!autoCompileEnabled}; window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding} - window.showLinkSharingOnboarding = #{!!showLinkSharingOnboarding} window.wikiEnabled = #{!!(settings.apis.wiki && settings.apis.wiki.url)}; - window.enableTokenAccessUI = #{enableTokenAccessUI} window.requirejs = { "paths" : { "mathjax": "#{buildJsPath('/libs/mathjax/MathJax.js', {cdn:false, fingerprint:false, qs:{config:'TeX-AMS_HTML'}})}", diff --git a/services/web/app/views/project/editor/editor.pug b/services/web/app/views/project/editor/editor.pug index dc40d7b9ba..86cc63a5e5 100644 --- a/services/web/app/views/project/editor/editor.pug +++ b/services/web/app/views/project/editor/editor.pug @@ -108,17 +108,3 @@ div.full-size( p #{translate("auto_compile_onboarding_description")} button.btn.btn-default.btn-block(ng-click="dismiss()") | #{translate("got_it")} - -#onboarding-linksharing.onboarding-linksharing.popover( - ng-controller="LinkSharingOnboardingController" - ng-if="permissions.admin && onboarding.linkSharing == 'unseen'" - ng-class="placement" -) - .popover-inner - h3.popover-title #{translate("link_sharing")} - .popover-content - p #{translate("try_out_link_sharing")} - img(src="/img/onboarding/linksharing/link-sharing.png" width="100%") - p #{translate("try_link_sharing_description")} - button.btn.btn-default.btn-block(ng-click="dismiss()") - | #{translate("got_it")} diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 34416fb55d..44d2345cc6 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -91,9 +91,7 @@ ) li.rp-tc-state-separator - li.rp-tc-state-item.rp-tc-state-item-guests( - ng-if="__enableTokenAccessUI" - ) + li.rp-tc-state-item.rp-tc-state-item-guests span.rp-tc-state-item-name( ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}" tooltip=translate('tc_switch_guests_tip') diff --git a/services/web/app/views/project/editor/share.pug b/services/web/app/views/project/editor/share.pug index 101bc27ab6..98568df122 100644 --- a/services/web/app/views/project/editor/share.pug +++ b/services/web/app/views/project/editor/share.pug @@ -9,18 +9,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate') .modal-body.modal-body-share .container-fluid - //- Private - .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == false") - .col-xs-12.text-center - | #{translate("this_project_is_private")} - |    - a( - href - ng-click="openMakePublicModal()" - ) #{translate("make_public")} - //- Private (with token-access available) - .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == true") + .row.public-access-level(ng-show="project.publicAccesLevel == 'private'") .col-xs-12.text-center | #{translate('link_sharing_is_off')}. |    @@ -206,31 +196,6 @@ script(type='text/ng-template', id='shareProjectModalTemplate') ng-click="done()" ) #{translate("close")} -script(type="text/ng-template", id="makePublicModalTemplate") - .modal-header - button.close( - type="button" - data-dismiss="modal" - ng-click="cancel()" - ) × - h3 #{translate("make_project_public")}? - .modal-body.modal-body-share - p #{translate("make_project_public_consequences")} - p - select.form-control( - ng-model="inputs.privileges" - name="privileges" - ) - option(value="readAndWrite") #{translate("allow_public_editing")} - option(value="readOnly") #{translate("allow_public_read_only")} - .modal-footer - button.btn.btn-default( - ng-click="cancel()" - ) #{translate("cancel")} - button.btn.btn-info( - ng-click="makePublic()" - ) #{translate("make_public")} - script(type="text/ng-template", id="makeTokenBasedModalTemplate") .modal-header button.close( diff --git a/services/web/public/coffee/ide.coffee b/services/web/public/coffee/ide.coffee index 23b290c9dd..98e5d8039d 100644 --- a/services/web/public/coffee/ide.coffee +++ b/services/web/public/coffee/ide.coffee @@ -13,7 +13,6 @@ define [ "ide/review-panel/ReviewPanelManager" "ide/SafariScrollPatcher" "ide/AutoCompileOnboardingController", - "ide/LinkSharingOnboardingController", "ide/settings/index" "ide/share/index" "ide/chat/index" @@ -79,17 +78,8 @@ define [ } $scope.onboarding = { autoCompile: if window.showAutoCompileOnboarding then 'unseen' else 'dismissed' - linkSharing: if window.showLinkSharingOnboarding then 'unseen' else 'dismissed' } $scope.user = window.user - $scope.__enableTokenAccessUI = window.enableTokenAccessUI == true - # TODO: remove after rollout and testing - window.turnOnTokenAccessUI = () -> - $scope.__enableTokenAccessUI = true - $scope.$digest - window.turnOffTokenAccessUI = () -> - $scope.__enableTokenAccessUI = false - $scope.$digest $scope.shouldABTestPlans = false if $scope.user.signUpDate >= '2016-10-27' diff --git a/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee b/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee deleted file mode 100644 index d2e6ae711e..0000000000 --- a/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee +++ /dev/null @@ -1,21 +0,0 @@ -define [ - "base" -], (App) -> - App.controller "LinkSharingOnboardingController", ($scope, $timeout, event_tracking) -> - - popover = angular.element('#onboarding-linksharing') - popover.hide() - - $scope.dismiss = () -> - $scope.onboarding.linkSharing = 'dismissed' - event_tracking.sendMB "shown-linksharing-onboarding" - - $scope.$on 'ide:loaded', () -> - shareBtn = angular.element('#shareButton') - offset = shareBtn.offset() - popover.show() - $scope.placement = 'bottom' - popover.css({ - top: '' + (2) + 'px', - right: '' + (window.innerWidth - offset.left - (shareBtn.width() * 1.5) ) + 'px' - }) diff --git a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee index 4c8d4b5171..789f6272ca 100644 --- a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee +++ b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee @@ -178,13 +178,6 @@ define [ $scope.state.error = "Sorry, something went wrong resending the invite :(" event.target.blur() - $scope.openMakePublicModal = () -> - $modal.open { - templateUrl: "makePublicModalTemplate" - controller: "MakePublicModalController" - scope: $scope - } - $scope.openMakePrivateModal = () -> $modal.open { templateUrl: "makePrivateModalTemplate" diff --git a/services/web/public/stylesheets/app/editor/feature-onboarding.less b/services/web/public/stylesheets/app/editor/feature-onboarding.less index c19ac234af..475658f885 100644 --- a/services/web/public/stylesheets/app/editor/feature-onboarding.less +++ b/services/web/public/stylesheets/app/editor/feature-onboarding.less @@ -143,42 +143,3 @@ a.feat-onboard-dismiss { right: -9.5px; } } - -.onboarding-linksharing { - display: block; - top: 10px; - &.popover { - left: auto !important; - } - - img { - margin-bottom: 10px; - border: 1px solid @gray-lighter; - } - - &::before, &::after { - content: ''; - border-width: 11px; - border-style: solid; - border-color: transparent; - top: 7px; - display: block; - position: absolute; - } - - // Bottom - &.bottom::before { - border-top-width: 0; - border-bottom-color: rgba(0, 0, 0, .3); - top: -10px; - right: 38px; - } - - &.bottom::after { - border-top-width: 0; - border-bottom-color: #f7f7f7; - top: -9.5px; - right: 38px; - } - -} From c00d9e1b51952eea7427468d56d90bae987f1210 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 16:21:35 +0000 Subject: [PATCH 4/8] Remove unused feature onboarding styles --- .../app/editor/feature-onboarding.less | 102 ------------------ 1 file changed, 102 deletions(-) diff --git a/services/web/public/stylesheets/app/editor/feature-onboarding.less b/services/web/public/stylesheets/app/editor/feature-onboarding.less index 475658f885..8603c3cc6f 100644 --- a/services/web/public/stylesheets/app/editor/feature-onboarding.less +++ b/services/web/public/stylesheets/app/editor/feature-onboarding.less @@ -1,105 +1,3 @@ -@feat-onboard-width: 900px; - -.feat-onboard { - position: fixed; - top: 50px; - bottom: 50px; - left: 50%; - width: @feat-onboard-width; - margin-left: -(@feat-onboard-width / 2); - display: flex; - justify-content: center; - align-items: baseline; - background-color: rgba(0, 0, 0, .85); - background-repeat: no-repeat; - background-position-x: 0; - color: #FFF; - text-align: center; - border-radius: 1em; - z-index: 102; - overflow: auto; -} - .feat-onboard-wrapper { - padding: 30px 0; - } - - .feat-onboard-title { - color: #FFF; - margin-bottom: 30px; - } - - .feat-onboard-description { - max-width: 35em; - margin: 0 auto 5px; - } - - .feat-onboard-highlight { - font-weight: bold; - white-space: nowrap; - } - - .feat-onboard-adv-title { - font-weight: bold; - white-space: nowrap; - color: #FFF; - font-size: 23px; - margin-top: 0; - } - - .feat-onboard-tutorial-wrapper { - display: flex; - align-items: center; - padding: 30px 0 15px; - } - .feat-onboard-video { - width: 616px; - margin: 0 30px; - box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3); - } - - .feat-onboard-nav-btn { - border-radius: 1em; - width: 2em; - height: 2em; - text-align: center; - padding: 0; - font-size: 1.3em; - line-height: 1em; - box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3); - - &[disabled] { - opacity: 0.2; - } - - &:focus, - &:active:focus { - outline: 0; - box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3); - } - } - -a.feat-onboard-dismiss { - position: absolute; - top: 10px; - right: 10px; - width: 1em; - height: 1em; - line-height: 1em; - font-size: 2.5em; - color: #FFF; - background-color: rgba(0,0,0, .25); - opacity: 0.7; - border-radius: 0.5em; - transition: opacity .15s ease-in-out; - - &:hover, - &:focus { - text-decoration: none; - color: #FFF; - opacity: 1; - } -} - .onboarding-autocompile { display: block; top: 10px; From dde4428189045d3f14191cfc21ee28d88a5c40dc Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 16:26:10 +0000 Subject: [PATCH 5/8] Remove unused track changes modal template --- .../app/views/project/editor/review-panel.pug | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 44d2345cc6..168947c16a 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -575,37 +575,6 @@ script(type="text/ng-template", id="trackChangesUpgradeModalTemplate") ) span #{translate("close")} -script(type="text/ng-template", id="perUserTCNoticeModalTemplate") - .modal-header - button.close( - type="button" - data-dismiss="modal" - ng-click="$close()" - ) × - h3 #{translate("per_user_tc_title")} - .modal-body - .teaser-video-container - video.teaser-video(autoplay, loop) - source(ng-src="{{ '/img/teasers/track-changes/per-user-track-changes.mp4' }}", type="video/mp4") - img(src="/img/teasers/track-changes/per-user-track-changes.gif") - h4.teaser-title #{translate("you_can_use_per_user_tc")} - .row - .col-md-8.col-md-offset-2 - ul.list-unstyled - li - i.fa.fa-check   - | #{translate("turn_tc_on_individuals")} - - li - i.fa.fa-check   - | #{translate("keep_tc_on_like_before")} - - .modal-footer() - button.btn.btn-default( - ng-click="$close()" - ) - span #{translate("close")} - script(type="text/ng-template", id="bulkActionsModalTemplate") .modal-header button.close( From 6f8b0c6e872b5a2789b13ac3d0c85c3ce48b9575 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 16:46:16 +0000 Subject: [PATCH 6/8] Revert "Remove old unused link sharing onboarding" This reverts commit 66a0a7ff8b5b5081d86df333429cb0455221c81a. --- .../Features/Project/ProjectController.coffee | 26 +++++++++++++ services/web/app/views/project/editor.pug | 2 + .../web/app/views/project/editor/editor.pug | 14 +++++++ .../app/views/project/editor/review-panel.pug | 4 +- .../web/app/views/project/editor/share.pug | 37 +++++++++++++++++- services/web/public/coffee/ide.coffee | 10 +++++ .../LinkSharingOnboardingController.coffee | 21 ++++++++++ .../ShareProjectModalController.coffee | 7 ++++ .../app/editor/feature-onboarding.less | 39 +++++++++++++++++++ 9 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 services/web/public/coffee/ide/LinkSharingOnboardingController.coffee diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index c83c732b5c..97cf2f9a23 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -269,6 +269,23 @@ module.exports = ProjectController = else logger.log { user_id, event }, "autocompile onboarding not shown yet to this user" return cb(null, { enabled: true, showOnboarding: true }) + couldShowLinkSharingOnboarding: (cb) -> + cb = underscore.once(cb) + if !user_id? + return cb() + # Extract data from user's ObjectId + timestamp = parseInt(user_id.toString().substring(0, 8), 16) + userSignupDate = new Date(timestamp * 1000) + if userSignupDate > new Date("2017-11-13") + # Don't show for users who registered after it was released + return cb(null, false) + timeout = setTimeout cb, 500 + AnalyticsManager.getLastOccurance user_id, "shown-linksharing-onboarding", (error, event) -> + clearTimeout timeout + if error? || event? + return cb(null, false) + else + return cb(null, true) }, (err, results)-> if err? logger.err err:err, "error getting details for project page" @@ -283,6 +300,13 @@ module.exports = ProjectController = token = TokenAccessHandler.getRequestToken(req, project_id) isTokenMember = results.isTokenMember + # Roll out token-access based on Project owner + enableTokenAccessUI = ProjectController._isInPercentageRollout( + 'linksharing', + project.owner_ref, + 100 + ) + showLinkSharingOnboarding = enableTokenAccessUI && results.couldShowLinkSharingOnboarding AuthorizationManager.getPrivilegeLevelForProject user_id, project_id, token, (error, privilegeLevel)-> return next(error) if error? if !privilegeLevel? or privilegeLevel == PrivilegeLevels.NONE @@ -331,6 +355,8 @@ module.exports = ProjectController = languages: Settings.languages themes: THEME_LIST maxDocLength: Settings.max_doc_length + enableTokenAccessUI: enableTokenAccessUI + showLinkSharingOnboarding: showLinkSharingOnboarding timer.done() _buildProjectList: (allProjects, v1Projects = [])-> diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 05fab3203c..17efeb7f0f 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -122,7 +122,9 @@ block requirejs window.trackChangesState = data.trackChangesState; window.autoCompileEnabled = #{!!autoCompileEnabled}; window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding} + window.showLinkSharingOnboarding = #{!!showLinkSharingOnboarding} window.wikiEnabled = #{!!(settings.apis.wiki && settings.apis.wiki.url)}; + window.enableTokenAccessUI = #{enableTokenAccessUI} window.requirejs = { "paths" : { "mathjax": "#{buildJsPath('/libs/mathjax/MathJax.js', {cdn:false, fingerprint:false, qs:{config:'TeX-AMS_HTML'}})}", diff --git a/services/web/app/views/project/editor/editor.pug b/services/web/app/views/project/editor/editor.pug index 86cc63a5e5..dc40d7b9ba 100644 --- a/services/web/app/views/project/editor/editor.pug +++ b/services/web/app/views/project/editor/editor.pug @@ -108,3 +108,17 @@ div.full-size( p #{translate("auto_compile_onboarding_description")} button.btn.btn-default.btn-block(ng-click="dismiss()") | #{translate("got_it")} + +#onboarding-linksharing.onboarding-linksharing.popover( + ng-controller="LinkSharingOnboardingController" + ng-if="permissions.admin && onboarding.linkSharing == 'unseen'" + ng-class="placement" +) + .popover-inner + h3.popover-title #{translate("link_sharing")} + .popover-content + p #{translate("try_out_link_sharing")} + img(src="/img/onboarding/linksharing/link-sharing.png" width="100%") + p #{translate("try_link_sharing_description")} + button.btn.btn-default.btn-block(ng-click="dismiss()") + | #{translate("got_it")} diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 168947c16a..a0d8b61341 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -91,7 +91,9 @@ ) li.rp-tc-state-separator - li.rp-tc-state-item.rp-tc-state-item-guests + li.rp-tc-state-item.rp-tc-state-item-guests( + ng-if="__enableTokenAccessUI" + ) span.rp-tc-state-item-name( ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}" tooltip=translate('tc_switch_guests_tip') diff --git a/services/web/app/views/project/editor/share.pug b/services/web/app/views/project/editor/share.pug index 98568df122..101bc27ab6 100644 --- a/services/web/app/views/project/editor/share.pug +++ b/services/web/app/views/project/editor/share.pug @@ -9,8 +9,18 @@ script(type='text/ng-template', id='shareProjectModalTemplate') .modal-body.modal-body-share .container-fluid + //- Private + .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == false") + .col-xs-12.text-center + | #{translate("this_project_is_private")} + |    + a( + href + ng-click="openMakePublicModal()" + ) #{translate("make_public")} + //- Private (with token-access available) - .row.public-access-level(ng-show="project.publicAccesLevel == 'private'") + .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == true") .col-xs-12.text-center | #{translate('link_sharing_is_off')}. |    @@ -196,6 +206,31 @@ script(type='text/ng-template', id='shareProjectModalTemplate') ng-click="done()" ) #{translate("close")} +script(type="text/ng-template", id="makePublicModalTemplate") + .modal-header + button.close( + type="button" + data-dismiss="modal" + ng-click="cancel()" + ) × + h3 #{translate("make_project_public")}? + .modal-body.modal-body-share + p #{translate("make_project_public_consequences")} + p + select.form-control( + ng-model="inputs.privileges" + name="privileges" + ) + option(value="readAndWrite") #{translate("allow_public_editing")} + option(value="readOnly") #{translate("allow_public_read_only")} + .modal-footer + button.btn.btn-default( + ng-click="cancel()" + ) #{translate("cancel")} + button.btn.btn-info( + ng-click="makePublic()" + ) #{translate("make_public")} + script(type="text/ng-template", id="makeTokenBasedModalTemplate") .modal-header button.close( diff --git a/services/web/public/coffee/ide.coffee b/services/web/public/coffee/ide.coffee index 98e5d8039d..23b290c9dd 100644 --- a/services/web/public/coffee/ide.coffee +++ b/services/web/public/coffee/ide.coffee @@ -13,6 +13,7 @@ define [ "ide/review-panel/ReviewPanelManager" "ide/SafariScrollPatcher" "ide/AutoCompileOnboardingController", + "ide/LinkSharingOnboardingController", "ide/settings/index" "ide/share/index" "ide/chat/index" @@ -78,8 +79,17 @@ define [ } $scope.onboarding = { autoCompile: if window.showAutoCompileOnboarding then 'unseen' else 'dismissed' + linkSharing: if window.showLinkSharingOnboarding then 'unseen' else 'dismissed' } $scope.user = window.user + $scope.__enableTokenAccessUI = window.enableTokenAccessUI == true + # TODO: remove after rollout and testing + window.turnOnTokenAccessUI = () -> + $scope.__enableTokenAccessUI = true + $scope.$digest + window.turnOffTokenAccessUI = () -> + $scope.__enableTokenAccessUI = false + $scope.$digest $scope.shouldABTestPlans = false if $scope.user.signUpDate >= '2016-10-27' diff --git a/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee b/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee new file mode 100644 index 0000000000..d2e6ae711e --- /dev/null +++ b/services/web/public/coffee/ide/LinkSharingOnboardingController.coffee @@ -0,0 +1,21 @@ +define [ + "base" +], (App) -> + App.controller "LinkSharingOnboardingController", ($scope, $timeout, event_tracking) -> + + popover = angular.element('#onboarding-linksharing') + popover.hide() + + $scope.dismiss = () -> + $scope.onboarding.linkSharing = 'dismissed' + event_tracking.sendMB "shown-linksharing-onboarding" + + $scope.$on 'ide:loaded', () -> + shareBtn = angular.element('#shareButton') + offset = shareBtn.offset() + popover.show() + $scope.placement = 'bottom' + popover.css({ + top: '' + (2) + 'px', + right: '' + (window.innerWidth - offset.left - (shareBtn.width() * 1.5) ) + 'px' + }) diff --git a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee index 789f6272ca..4c8d4b5171 100644 --- a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee +++ b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee @@ -178,6 +178,13 @@ define [ $scope.state.error = "Sorry, something went wrong resending the invite :(" event.target.blur() + $scope.openMakePublicModal = () -> + $modal.open { + templateUrl: "makePublicModalTemplate" + controller: "MakePublicModalController" + scope: $scope + } + $scope.openMakePrivateModal = () -> $modal.open { templateUrl: "makePrivateModalTemplate" diff --git a/services/web/public/stylesheets/app/editor/feature-onboarding.less b/services/web/public/stylesheets/app/editor/feature-onboarding.less index 8603c3cc6f..64ad703c76 100644 --- a/services/web/public/stylesheets/app/editor/feature-onboarding.less +++ b/services/web/public/stylesheets/app/editor/feature-onboarding.less @@ -41,3 +41,42 @@ right: -9.5px; } } + +.onboarding-linksharing { + display: block; + top: 10px; + &.popover { + left: auto !important; + } + + img { + margin-bottom: 10px; + border: 1px solid @gray-lighter; + } + + &::before, &::after { + content: ''; + border-width: 11px; + border-style: solid; + border-color: transparent; + top: 7px; + display: block; + position: absolute; + } + + // Bottom + &.bottom::before { + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, .3); + top: -10px; + right: 38px; + } + + &.bottom::after { + border-top-width: 0; + border-bottom-color: #f7f7f7; + top: -9.5px; + right: 38px; + } + +} From e61b82c45297396bf40b99efb6ab7a32ebf3b119 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 17:07:50 +0000 Subject: [PATCH 7/8] Remove unused link sharing rollout, but keep onboarding popup --- .../Features/Project/ProjectController.coffee | 10 +---- services/web/app/views/project/editor.pug | 1 - .../app/views/project/editor/review-panel.pug | 4 +- .../web/app/views/project/editor/share.pug | 37 +------------------ services/web/public/coffee/ide.coffee | 8 ---- .../ShareProjectModalController.coffee | 7 ---- 6 files changed, 3 insertions(+), 64 deletions(-) diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index 97cf2f9a23..a552a67015 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -300,13 +300,6 @@ module.exports = ProjectController = token = TokenAccessHandler.getRequestToken(req, project_id) isTokenMember = results.isTokenMember - # Roll out token-access based on Project owner - enableTokenAccessUI = ProjectController._isInPercentageRollout( - 'linksharing', - project.owner_ref, - 100 - ) - showLinkSharingOnboarding = enableTokenAccessUI && results.couldShowLinkSharingOnboarding AuthorizationManager.getPrivilegeLevelForProject user_id, project_id, token, (error, privilegeLevel)-> return next(error) if error? if !privilegeLevel? or privilegeLevel == PrivilegeLevels.NONE @@ -355,8 +348,7 @@ module.exports = ProjectController = languages: Settings.languages themes: THEME_LIST maxDocLength: Settings.max_doc_length - enableTokenAccessUI: enableTokenAccessUI - showLinkSharingOnboarding: showLinkSharingOnboarding + showLinkSharingOnboarding: !!results.couldShowLinkSharingOnboarding timer.done() _buildProjectList: (allProjects, v1Projects = [])-> diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 17efeb7f0f..4877c324ab 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -124,7 +124,6 @@ block requirejs window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding} window.showLinkSharingOnboarding = #{!!showLinkSharingOnboarding} window.wikiEnabled = #{!!(settings.apis.wiki && settings.apis.wiki.url)}; - window.enableTokenAccessUI = #{enableTokenAccessUI} window.requirejs = { "paths" : { "mathjax": "#{buildJsPath('/libs/mathjax/MathJax.js', {cdn:false, fingerprint:false, qs:{config:'TeX-AMS_HTML'}})}", diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index a0d8b61341..168947c16a 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -91,9 +91,7 @@ ) li.rp-tc-state-separator - li.rp-tc-state-item.rp-tc-state-item-guests( - ng-if="__enableTokenAccessUI" - ) + li.rp-tc-state-item.rp-tc-state-item-guests span.rp-tc-state-item-name( ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}" tooltip=translate('tc_switch_guests_tip') diff --git a/services/web/app/views/project/editor/share.pug b/services/web/app/views/project/editor/share.pug index 101bc27ab6..98568df122 100644 --- a/services/web/app/views/project/editor/share.pug +++ b/services/web/app/views/project/editor/share.pug @@ -9,18 +9,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate') .modal-body.modal-body-share .container-fluid - //- Private - .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == false") - .col-xs-12.text-center - | #{translate("this_project_is_private")} - |    - a( - href - ng-click="openMakePublicModal()" - ) #{translate("make_public")} - //- Private (with token-access available) - .row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == true") + .row.public-access-level(ng-show="project.publicAccesLevel == 'private'") .col-xs-12.text-center | #{translate('link_sharing_is_off')}. |    @@ -206,31 +196,6 @@ script(type='text/ng-template', id='shareProjectModalTemplate') ng-click="done()" ) #{translate("close")} -script(type="text/ng-template", id="makePublicModalTemplate") - .modal-header - button.close( - type="button" - data-dismiss="modal" - ng-click="cancel()" - ) × - h3 #{translate("make_project_public")}? - .modal-body.modal-body-share - p #{translate("make_project_public_consequences")} - p - select.form-control( - ng-model="inputs.privileges" - name="privileges" - ) - option(value="readAndWrite") #{translate("allow_public_editing")} - option(value="readOnly") #{translate("allow_public_read_only")} - .modal-footer - button.btn.btn-default( - ng-click="cancel()" - ) #{translate("cancel")} - button.btn.btn-info( - ng-click="makePublic()" - ) #{translate("make_public")} - script(type="text/ng-template", id="makeTokenBasedModalTemplate") .modal-header button.close( diff --git a/services/web/public/coffee/ide.coffee b/services/web/public/coffee/ide.coffee index 23b290c9dd..fca6cba7b5 100644 --- a/services/web/public/coffee/ide.coffee +++ b/services/web/public/coffee/ide.coffee @@ -82,14 +82,6 @@ define [ linkSharing: if window.showLinkSharingOnboarding then 'unseen' else 'dismissed' } $scope.user = window.user - $scope.__enableTokenAccessUI = window.enableTokenAccessUI == true - # TODO: remove after rollout and testing - window.turnOnTokenAccessUI = () -> - $scope.__enableTokenAccessUI = true - $scope.$digest - window.turnOffTokenAccessUI = () -> - $scope.__enableTokenAccessUI = false - $scope.$digest $scope.shouldABTestPlans = false if $scope.user.signUpDate >= '2016-10-27' diff --git a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee index 4c8d4b5171..789f6272ca 100644 --- a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee +++ b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee @@ -178,13 +178,6 @@ define [ $scope.state.error = "Sorry, something went wrong resending the invite :(" event.target.blur() - $scope.openMakePublicModal = () -> - $modal.open { - templateUrl: "makePublicModalTemplate" - controller: "MakePublicModalController" - scope: $scope - } - $scope.openMakePrivateModal = () -> $modal.open { templateUrl: "makePrivateModalTemplate" From 195032b4b4e92da0f03f9614f278965d2e286343 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Wed, 22 Nov 2017 17:08:21 +0000 Subject: [PATCH 8/8] Remove non-existant import --- services/web/public/stylesheets/app/editor.less | 1 - 1 file changed, 1 deletion(-) diff --git a/services/web/public/stylesheets/app/editor.less b/services/web/public/stylesheets/app/editor.less index 75b7121094..e4b18473cc 100644 --- a/services/web/public/stylesheets/app/editor.less +++ b/services/web/public/stylesheets/app/editor.less @@ -12,7 +12,6 @@ @import "./editor/online-users.less"; @import "./editor/hotkeys.less"; @import "./editor/review-panel.less"; -@import "./editor/feature-onboarding.less"; @keyframes blink { 0% {