Skip to content

Commit 4e8e87e

Browse files
committed
simplify logic in template; remove unnecessary CSS
1 parent a0b7b65 commit 4e8e87e

File tree

5 files changed

+8
-28
lines changed

5 files changed

+8
-28
lines changed

src/Site/views/languageforge/container/languageforge.html.twig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
<breadcrumbs id="top" class="breadcrumbs d-none d-md-block"></breadcrumbs>
8282
</div>
8383
<ul class="nav navbar-nav">
84-
<li class="nav-item" ng-if="$ctrl.isLexiconProject" id="settings-dropdown-button" uib-dropdown data-ng-class="{'app-settings-available': $ctrl.header.settings.length > 0 && $ctrl.currentUserIsProjectManager}">
84+
<li class="nav-item" ng-if="$ctrl.header.settings.length > 0 && $ctrl.currentUserIsProjectManager" id="settings-dropdown-button" uib-dropdown>
8585
<a id="settingsBtn" class="btn btn-primary my-auto" uib-dropdown-toggle title="Settings" href="#">
8686
<i class="fa fa-cog iconPadding"></i><span>Settings</span>
8787
</a>
@@ -95,7 +95,7 @@
9595
{% endverbatim %}
9696
</div>
9797
</li>
98-
<li class='nav-item' ng-if="$ctrl.isLexiconProject">
98+
<li class='nav-item' ng-if="$ctrl.currentUserIsProjectManager || ($ctrl.project.allowSharing && $ctrl.currentUserIsProjectMember)">
9999
<a id="shareBtn" class="btn btn-primary my-auto" title="Share" href="#"
100100
ng-click="$ctrl.openShareWithOthersModal()">
101101
<i class="fa fa-share-alt iconPadding"></i><span>Share</span>

src/Site/views/languageforge/theme/default/sass/_global.scss

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -264,18 +264,6 @@
264264
}
265265
}
266266

267-
#settings-dropdown-button:not(.app-settings-available) {
268-
.dropdown-toggle {
269-
visibility: hidden;
270-
}
271-
}
272-
273-
#settings-dropdown-button.app-settings-available {
274-
.dropdown-toggle {
275-
visibility: visible;
276-
}
277-
}
278-
279267
#settingsBtn {
280268
margin: 12px;
281269
margin-right: 6px;
@@ -287,7 +275,7 @@
287275
font-size: 1rem;
288276
}
289277
}
290-
278+
291279
#settingsBtn::after {
292280
display:none;
293281
}

src/angular-app/bellows/core/navbar.controller.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ export class NavbarController implements angular.IController {
2121
project: Project;
2222
interfaceConfig: InterfaceConfig;
2323
currentUserIsProjectManager: boolean;
24-
displayHeaderButtons: boolean;
24+
currentUserIsProjectMember: boolean;
2525
projectTypeNames: ProjectTypeNames;
2626
siteName: string;
2727
isLexiconProject: boolean = false;
2828

2929
static $inject = [
3030
'$scope',
3131
'$uibModal',
32-
'projectService',
32+
'projectService',
3333
'sessionService',
3434
'offlineCacheUtils',
3535
'applicationHeaderService'];
@@ -75,21 +75,13 @@ export class NavbarController implements angular.IController {
7575
this.currentUserIsProjectManager =
7676
(session.data.userProjectRole === ProjectRoles.MANAGER.key) ||
7777
(session.data.userProjectRole === ProjectRoles.TECH_SUPPORT.key);
78-
this.displayHeaderButtons =
79-
(this.currentUserIsProjectManager || (this.project.allowSharing && this.session.data.userIsProjectMember));
78+
this.currentUserIsProjectMember = session.data.userIsProjectMember;
8079
}
8180

8281
this.rights.canCreateProject =
8382
session.hasSiteRight(this.sessionService.domain.PROJECTS, this.sessionService.operation.CREATE);
8483
this.siteName = session.baseSite();
8584
});
86-
this.$scope.$on('$locationChangeStart', (event, next, current) => {
87-
if (current.includes('/lexicon') && !current.includes('/new-project') && this.displayHeaderButtons) {
88-
this.isLexiconProject = true;
89-
}else{
90-
this.isLexiconProject = false;
91-
}
92-
});
9385
}
9486

9587
onUpdate = ($event: { interfaceConfig: InterfaceConfig}): void => {

test/app/bellows/project-settings.e2e-spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ describe('Bellows E2E Project Settings app', () => {
1515
await loginPage.loginAsMember();
1616
await projectsPage.get();
1717
await projectsPage.clickOnProject(constants.testProjectName);
18-
expect<string>(await settingsPage.settingsMenuLink.getAttribute('class')).not.toContain('app-settings-available');
18+
expect<boolean>(await settingsPage.settingsMenuLink.isDisplayed()).toBe(false);
1919
});
2020

2121
it('System Admin can manage project', async () => {

test/app/languageforge/lexicon/settings/config-input-systems.e2e-spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('Lexicon E2E Configuration Input Systems', () => {
1717
await loginPage.loginAsUser();
1818
await projectsPage.get();
1919
await projectsPage.clickOnProject(constants.testProjectName);
20-
expect<any>(await configPage.settingsMenuLink.getAttribute('class')).not.toContain('app-settings-available');
20+
expect<boolean>(await configPage.settingsMenuLink.isDisplayed()).toBe(false);
2121
});
2222

2323
it('setup: login as manager, select test project, goto configuration', async () => {

0 commit comments

Comments
 (0)