Merge pull request #3846 from tsiegleauq/change-prefix
change the global prefix to "os"
This commit is contained in:
commit
65a9fe2fa2
@ -7,7 +7,7 @@
|
|||||||
"root": "",
|
"root": "",
|
||||||
"sourceRoot": "src",
|
"sourceRoot": "src",
|
||||||
"projectType": "application",
|
"projectType": "application",
|
||||||
"prefix": "app",
|
"prefix": "os",
|
||||||
"schematics": {
|
"schematics": {
|
||||||
"@schematics/angular:component": {
|
"@schematics/angular:component": {
|
||||||
"styleext": "scss"
|
"styleext": "scss"
|
||||||
@ -78,7 +78,8 @@
|
|||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-devkit/build-angular:tslint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
|
"tsConfig": "src/tsconfig.spec.json",
|
||||||
|
"format": "stylish",
|
||||||
"exclude": ["**/node_modules/**"]
|
"exclude": ["**/node_modules/**"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { browser, by, element } from 'protractor';
|
import { browser, by, element } from 'protractor';
|
||||||
|
|
||||||
export class AppPage {
|
export class AppPage {
|
||||||
navigateTo() {
|
navigateTo() {
|
||||||
return browser.get('/');
|
return browser.get('/');
|
||||||
}
|
}
|
||||||
|
|
||||||
getParagraphText() {
|
getParagraphText() {
|
||||||
return element(by.css('app-root h1')).getText();
|
return element(by.css('os-root h1')).getText();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import { OpenSlidesService } from './core/services/openslides.service';
|
|||||||
* Angular's global App Component
|
* Angular's global App Component
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'os-root',
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.scss']
|
styleUrls: ['./app.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-projector-container',
|
selector: 'os-projector-container',
|
||||||
templateUrl: './projector-container.component.html',
|
templateUrl: './projector-container.component.html',
|
||||||
styleUrls: ['./projector-container.component.css']
|
styleUrls: ['./projector-container.component.css']
|
||||||
})
|
})
|
||||||
|
@ -3,7 +3,7 @@ import { BaseComponent } from 'app/base.component';
|
|||||||
import { Title } from '@angular/platform-browser';
|
import { Title } from '@angular/platform-browser';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-projector',
|
selector: 'os-projector',
|
||||||
templateUrl: './projector.component.html',
|
templateUrl: './projector.component.html',
|
||||||
styleUrls: ['./projector.component.css']
|
styleUrls: ['./projector.component.css']
|
||||||
})
|
})
|
||||||
|
@ -14,13 +14,13 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
|||||||
* ### Usage of the selector:
|
* ### Usage of the selector:
|
||||||
*
|
*
|
||||||
* ```html
|
* ```html
|
||||||
* <app-head-bar
|
* <os-head-bar
|
||||||
* appName="Files"
|
* appName="Files"
|
||||||
* PlusButton=true
|
* PlusButton=true
|
||||||
* [menuList]=myMenu
|
* [menuList]=myMenu
|
||||||
* (plusButtonClicked)=onPlusButton()
|
* (plusButtonClicked)=onPlusButton()
|
||||||
* (ellipsisMenuItem)=onEllipsisItem($event)>
|
* (ellipsisMenuItem)=onEllipsisItem($event)>
|
||||||
* </app-head-bar>
|
* </os-head-bar>
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* ### Declaration of a menu provided as `[menuList]=myMenu`:
|
* ### Declaration of a menu provided as `[menuList]=myMenu`:
|
||||||
@ -46,7 +46,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
|||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-head-bar',
|
selector: 'os-head-bar',
|
||||||
templateUrl: './head-bar.component.html',
|
templateUrl: './head-bar.component.html',
|
||||||
styleUrls: ['./head-bar.component.scss']
|
styleUrls: ['./head-bar.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -6,7 +6,7 @@ import { Directive, Output, EventEmitter, ElementRef, OnDestroy } from '@angular
|
|||||||
* @example (appDomChange)="onChange($event)"
|
* @example (appDomChange)="onChange($event)"
|
||||||
*/
|
*/
|
||||||
@Directive({
|
@Directive({
|
||||||
selector: '[appDomChange]'
|
selector: '[osDomChange]'
|
||||||
})
|
})
|
||||||
export class DomChangeDirective implements OnDestroy {
|
export class DomChangeDirective implements OnDestroy {
|
||||||
private changes: MutationObserver;
|
private changes: MutationObserver;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
describe('OsPermsDirective', () => {
|
describe('PermsDirective', () => {
|
||||||
it('should create an instance', () => {
|
it('should create an instance', () => {
|
||||||
// const directive = new OsPermsDirective();
|
// const directive = new OsPermsDirective();
|
||||||
// expect(directive).toBeTruthy();
|
// expect(directive).toBeTruthy();
|
@ -7,13 +7,13 @@ import { OpenSlidesComponent } from 'app/openslides.component';
|
|||||||
* Directive to check if the {@link OperatorService} has the correct permissions to access certain functions
|
* Directive to check if the {@link OperatorService} has the correct permissions to access certain functions
|
||||||
*
|
*
|
||||||
* Successor of os-perms in OpenSlides 2.2
|
* Successor of os-perms in OpenSlides 2.2
|
||||||
* @example <div *appOsPerms="'perm'" ..> ... < /div>
|
* @example <div *osPerms="'perm'" ..> ... < /div>
|
||||||
* @example <div *appOsPerms="['perm1', 'perm2']" ..> ... < /div>
|
* @example <div *osPerms="['perm1', 'perm2']" ..> ... < /div>
|
||||||
*/
|
*/
|
||||||
@Directive({
|
@Directive({
|
||||||
selector: '[appOsPerms]'
|
selector: '[osPerms]'
|
||||||
})
|
})
|
||||||
export class OsPermsDirective extends OpenSlidesComponent {
|
export class PermsDirective extends OpenSlidesComponent {
|
||||||
/**
|
/**
|
||||||
* Holds the required permissions the access a feature
|
* Holds the required permissions the access a feature
|
||||||
*/
|
*/
|
||||||
@ -51,7 +51,7 @@ export class OsPermsDirective extends OpenSlidesComponent {
|
|||||||
* The value defines the requires permissions as an array or a single permission.
|
* The value defines the requires permissions as an array or a single permission.
|
||||||
*/
|
*/
|
||||||
@Input()
|
@Input()
|
||||||
public set appOsPerms(value) {
|
public set osPerms(value) {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
value = [];
|
value = [];
|
||||||
} else if (typeof value === 'string') {
|
} else if (typeof value === 'string') {
|
@ -32,7 +32,7 @@ import { fas } from '@fortawesome/free-solid-svg-icons';
|
|||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
|
|
||||||
// directives
|
// directives
|
||||||
import { OsPermsDirective } from './directives/os-perms.directive';
|
import { PermsDirective } from './directives/perms.directive';
|
||||||
import { DomChangeDirective } from './directives/dom-change.directive';
|
import { DomChangeDirective } from './directives/dom-change.directive';
|
||||||
import { HeadBarComponent } from './components/head-bar/head-bar.component';
|
import { HeadBarComponent } from './components/head-bar/head-bar.component';
|
||||||
|
|
||||||
@ -94,10 +94,10 @@ library.add(fas);
|
|||||||
MatSnackBarModule,
|
MatSnackBarModule,
|
||||||
FontAwesomeModule,
|
FontAwesomeModule,
|
||||||
TranslateModule,
|
TranslateModule,
|
||||||
OsPermsDirective,
|
PermsDirective,
|
||||||
DomChangeDirective,
|
DomChangeDirective,
|
||||||
HeadBarComponent
|
HeadBarComponent
|
||||||
],
|
],
|
||||||
declarations: [OsPermsDirective, DomChangeDirective, HeadBarComponent]
|
declarations: [PermsDirective, DomChangeDirective, HeadBarComponent]
|
||||||
})
|
})
|
||||||
export class SharedModule {}
|
export class SharedModule {}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<app-head-bar appName="Agenda" plusButton=true (plusButtonClicked)=onPlusButton()></app-head-bar>
|
<os-head-bar appName="Agenda" plusButton=true (plusButtonClicked)=onPlusButton()>
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-card class="os-card card-plus-distance">
|
<mat-card class="os-card card-plus-distance">
|
||||||
<div class="app-content">
|
<div class="app-content">
|
||||||
@ -8,7 +9,7 @@
|
|||||||
everyone should see this
|
everyone should see this
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
<div *appOsPerms="'agenda.can_see'">
|
<div *osPerms="'agenda.can_see'">
|
||||||
Only permitted users should see this
|
Only permitted users should see this
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,7 +9,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||||||
* TODO: Not yet implemented
|
* TODO: Not yet implemented
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-agenda-list',
|
selector: 'os-agenda-list',
|
||||||
templateUrl: './agenda-list.component.html',
|
templateUrl: './agenda-list.component.html',
|
||||||
styleUrls: ['./agenda-list.component.css']
|
styleUrls: ['./agenda-list.component.css']
|
||||||
})
|
})
|
||||||
|
@ -13,7 +13,8 @@
|
|||||||
|
|
||||||
</mat-toolbar> -->
|
</mat-toolbar> -->
|
||||||
|
|
||||||
<app-head-bar appName="Assignments" plusButton=true [menuList]=assignmentMenu (plusButtonClicked)=onPlusButton() (ellipsisMenuItem)=onEllipsisItem($event)></app-head-bar>
|
<os-head-bar appName="Assignments" plusButton=true [menuList]=assignmentMenu (plusButtonClicked)=onPlusButton() (ellipsisMenuItem)=onEllipsisItem($event)>
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-card class="os-card card-plus-distance">
|
<mat-card class="os-card card-plus-distance">
|
||||||
assignment-list works!
|
assignment-list works!
|
||||||
|
@ -9,7 +9,7 @@ import { Title } from '@angular/platform-browser';
|
|||||||
* TODO: not yet implemented
|
* TODO: not yet implemented
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-assignment-list',
|
selector: 'os-assignment-list',
|
||||||
templateUrl: './assignment-list.component.html',
|
templateUrl: './assignment-list.component.html',
|
||||||
styleUrls: ['./assignment-list.component.css']
|
styleUrls: ['./assignment-list.component.css']
|
||||||
})
|
})
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-legal-notice',
|
selector: 'os-legal-notice',
|
||||||
templateUrl: './legal-notice.component.html',
|
templateUrl: './legal-notice.component.html',
|
||||||
styleUrls: ['./legal-notice.component.scss']
|
styleUrls: ['./legal-notice.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -37,7 +37,7 @@ export class ParentErrorStateMatcher implements ErrorStateMatcher {
|
|||||||
* Handles user (and potentially guest) login
|
* Handles user (and potentially guest) login
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-login',
|
selector: 'os-login',
|
||||||
templateUrl: './login.component.html',
|
templateUrl: './login.component.html',
|
||||||
styleUrls: ['./login.component.scss']
|
styleUrls: ['./login.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<app-head-bar appName="Files" plusButton=true [menuList]=extraMenu (plusButtonClicked)=onPlusButton() (ellipsisMenuItem)=onEllipsisItem($event)>
|
<os-head-bar appName="Files" plusButton=true [menuList]=extraMenu (plusButtonClicked)=onPlusButton() (ellipsisMenuItem)=onEllipsisItem($event)>
|
||||||
</app-head-bar>
|
</os-head-bar>
|
||||||
|
|
||||||
|
|
||||||
<mat-card class="os-card card-plus-distance">
|
<mat-card class="os-card card-plus-distance">
|
||||||
|
@ -11,7 +11,7 @@ import { BaseComponent } from '../../../base.component';
|
|||||||
* Not yet implemented
|
* Not yet implemented
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-mediafile-list',
|
selector: 'os-mediafile-list',
|
||||||
templateUrl: './mediafile-list.component.html',
|
templateUrl: './mediafile-list.component.html',
|
||||||
styleUrls: ['./mediafile-list.component.css']
|
styleUrls: ['./mediafile-list.component.css']
|
||||||
})
|
})
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<app-head-bar appName="Category" plusButton=true (plusButtonClicked)=onPlusButton()></app-head-bar>
|
<os-head-bar appName="Category" plusButton=true (plusButtonClicked)=onPlusButton()>
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-table class='on-transition-fade' [dataSource]="dataSource" matSort>
|
<mat-table class='on-transition-fade' [dataSource]="dataSource" matSort>
|
||||||
<!-- name column -->
|
<!-- name column -->
|
||||||
|
@ -12,7 +12,7 @@ import { Category } from '../../../shared/models/motions/category';
|
|||||||
* TODO: Creation of new Categories
|
* TODO: Creation of new Categories
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-category-list',
|
selector: 'os-category-list',
|
||||||
templateUrl: './category-list.component.html',
|
templateUrl: './category-list.component.html',
|
||||||
styleUrls: ['./category-list.component.scss']
|
styleUrls: ['./category-list.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -11,7 +11,7 @@ import { DataSendService } from '../../../core/services/data-send.service';
|
|||||||
* Component for the motion detail view
|
* Component for the motion detail view
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-motion-detail',
|
selector: 'os-motion-detail',
|
||||||
templateUrl: './motion-detail.component.html',
|
templateUrl: './motion-detail.component.html',
|
||||||
styleUrls: ['./motion-detail.component.scss']
|
styleUrls: ['./motion-detail.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
|
|
||||||
</mat-toolbar> -->
|
</mat-toolbar> -->
|
||||||
|
|
||||||
<app-head-bar appName="Motions" plusButton=true (plusButtonClicked)=onPlusButton() [menuList]=motionMenuList (ellipsisMenuItem)=onEllipsisItem($event)></app-head-bar>
|
<os-head-bar appName="Motions" plusButton=true (plusButtonClicked)=onPlusButton() [menuList]=motionMenuList (ellipsisMenuItem)=onEllipsisItem($event)>
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<div class='custom-table-header on-transition-fade'>
|
<div class='custom-table-header on-transition-fade'>
|
||||||
<button mat-button>
|
<button mat-button>
|
||||||
@ -70,4 +71,4 @@
|
|||||||
<mat-row (click)='selectMotion(row)' *matRowDef="let row; columns: columnsToDisplayMinWidth"></mat-row>
|
<mat-row (click)='selectMotion(row)' *matRowDef="let row; columns: columnsToDisplayMinWidth"></mat-row>
|
||||||
</mat-table>
|
</mat-table>
|
||||||
|
|
||||||
<mat-paginator class="on-transition-fade" [pageSizeOptions]="[25, 50, 75, 100, 125]"></mat-paginator>
|
<mat-paginator class="on-transition-fade" [pageSizeOptions]="[25, 50, 75, 100, 125]"></mat-paginator>
|
@ -11,7 +11,7 @@ import { Workflow } from '../../../shared/models/motions/workflow';
|
|||||||
* Component that displays all the motions in a Table using DataSource.
|
* Component that displays all the motions in a Table using DataSource.
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-motion-list',
|
selector: 'os-motion-list',
|
||||||
templateUrl: './motion-list.component.html',
|
templateUrl: './motion-list.component.html',
|
||||||
styleUrls: ['./motion-list.component.scss']
|
styleUrls: ['./motion-list.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-privacy-policy',
|
selector: 'os-privacy-policy',
|
||||||
templateUrl: './privacy-policy.component.html',
|
templateUrl: './privacy-policy.component.html',
|
||||||
styleUrls: ['./privacy-policy.component.scss']
|
styleUrls: ['./privacy-policy.component.scss']
|
||||||
})
|
})
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<app-head-bar appName="Settings"></app-head-bar>
|
<os-head-bar appName="Settings">
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-card class="os-card">
|
<mat-card class="os-card">
|
||||||
<div *appOsPerms="'core.can_manage_config'" class="app-content">
|
<div *osPerms="'core.can_manage_config'" class="app-content">
|
||||||
|
|
||||||
<mat-accordion>
|
<mat-accordion>
|
||||||
<mat-expansion-panel>
|
<mat-expansion-panel>
|
||||||
|
@ -9,7 +9,7 @@ import { BaseComponent } from '../../../base.component';
|
|||||||
* TODO: Not yet implemented
|
* TODO: Not yet implemented
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-settings-list',
|
selector: 'os-settings-list',
|
||||||
templateUrl: './settings-list.component.html',
|
templateUrl: './settings-list.component.html',
|
||||||
styleUrls: ['./settings-list.component.css']
|
styleUrls: ['./settings-list.component.css']
|
||||||
})
|
})
|
||||||
|
@ -45,40 +45,37 @@
|
|||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
<mat-nav-list class='main-nav'>
|
<mat-nav-list class='main-nav'>
|
||||||
<a [@navItemAnim] *appOsPerms="'core.can_see_frontpage'" mat-list-item routerLink='/' routerLinkActive='active' [routerLinkActiveOptions]="{exact: true}"
|
<a [@navItemAnim] *osPerms="'core.can_see_frontpage'" mat-list-item routerLink='/' routerLinkActive='active' [routerLinkActiveOptions]="{exact: true}"
|
||||||
(click)='toggleSideNav()'>
|
(click)='toggleSideNav()'>
|
||||||
<fa-icon icon='home'></fa-icon>
|
<fa-icon icon='home'></fa-icon>
|
||||||
<span translate>Home</span>
|
<span translate>Home</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'agenda.can_see'" mat-list-item routerLink='/agenda' routerLinkActive='active' (click)='toggleSideNav()'>
|
<a [@navItemAnim] *osPerms="'agenda.can_see'" mat-list-item routerLink='/agenda' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
<fa-icon icon='calendar'></fa-icon>
|
<fa-icon icon='calendar'></fa-icon>
|
||||||
<span translate>Agenda</span>
|
<span translate>Agenda</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'motions.can_see'" mat-list-item routerLink='/motions' routerLinkActive='active' (click)='toggleSideNav()'>
|
<a [@navItemAnim] *osPerms="'motions.can_see'" mat-list-item routerLink='/motions' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
<fa-icon icon='file-alt'></fa-icon>
|
<fa-icon icon='file-alt'></fa-icon>
|
||||||
<span translate>Motions</span>
|
<span translate>Motions</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'assignments.can_see'" mat-list-item routerLink='/assignments' routerLinkActive='active'
|
<a [@navItemAnim] *osPerms="'assignments.can_see'" mat-list-item routerLink='/assignments' routerLinkActive='active' (click)='vp.isMobile ? sideNav.toggle() : null'>
|
||||||
(click)='vp.isMobile ? sideNav.toggle() : null'>
|
|
||||||
<fa-icon icon='chart-pie'></fa-icon>
|
<fa-icon icon='chart-pie'></fa-icon>
|
||||||
<span translate>Assignments</span>
|
<span translate>Assignments</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'users.can_see_name'" mat-list-item routerLink='/users' routerLinkActive='active' (click)='toggleSideNav()'>
|
<a [@navItemAnim] *osPerms="'users.can_see_name'" mat-list-item routerLink='/users' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
<fa-icon icon='user'></fa-icon>
|
<fa-icon icon='user'></fa-icon>
|
||||||
<span translate>Participants</span>
|
<span translate>Participants</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'mediafiles.can_see'" mat-list-item routerLink='/mediafiles' routerLinkActive='active' (click)='toggleSideNav()'>
|
<a [@navItemAnim] *osPerms="'mediafiles.can_see'" mat-list-item routerLink='/mediafiles' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
<fa-icon icon='paperclip'></fa-icon>
|
<fa-icon icon='paperclip'></fa-icon>
|
||||||
<span translate>Files</span>
|
<span translate>Files</span>
|
||||||
</a>
|
</a>
|
||||||
<a [@navItemAnim] *appOsPerms="'core.can_manage_config'" mat-list-item routerLink='/settings' routerLinkActive='active'
|
<a [@navItemAnim] *osPerms="'core.can_manage_config'" mat-list-item routerLink='/settings' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
(click)='toggleSideNav()'>
|
|
||||||
<fa-icon icon='cog'></fa-icon>
|
<fa-icon icon='cog'></fa-icon>
|
||||||
<span translate>Settings</span>
|
<span translate>Settings</span>
|
||||||
</a>
|
</a>
|
||||||
<mat-divider></mat-divider>
|
<mat-divider></mat-divider>
|
||||||
<a [@navItemAnim] *appOsPerms="'core.can_see_projector'" mat-list-item routerLink='/projector' routerLinkActive='active'
|
<a [@navItemAnim] *osPerms="'core.can_see_projector'" mat-list-item routerLink='/projector' routerLinkActive='active' (click)='toggleSideNav()'>
|
||||||
(click)='toggleSideNav()'>
|
|
||||||
<fa-icon icon='video'></fa-icon>
|
<fa-icon icon='video'></fa-icon>
|
||||||
<span translate>Projector</span>
|
<span translate>Projector</span>
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@import '~@angular/material/theming';
|
@import '~@angular/material/theming';
|
||||||
|
|
||||||
/** Custom component theme. Only lives in a specific scope */
|
/** Custom component theme. Only lives in a specific scope */
|
||||||
@mixin app-site-theme($theme) {
|
@mixin os-site-theme($theme) {
|
||||||
$primary: map-get($theme, primary);
|
$primary: map-get($theme, primary);
|
||||||
$accent: map-get($theme, accent);
|
$accent: map-get($theme, accent);
|
||||||
$warn: map-get($theme, accent);
|
$warn: map-get($theme, accent);
|
||||||
@ -9,7 +9,7 @@
|
|||||||
$background: map-get($theme, background);
|
$background: map-get($theme, background);
|
||||||
|
|
||||||
/** the name of the selector */
|
/** the name of the selector */
|
||||||
app-site {
|
os-site {
|
||||||
mat-sidenav-container {
|
mat-sidenav-container {
|
||||||
/** nav panel on the left */
|
/** nav panel on the left */
|
||||||
mat-sidenav {
|
mat-sidenav {
|
||||||
|
@ -10,7 +10,7 @@ import { MatDialog, MatSidenav } from '@angular/material';
|
|||||||
import { ViewportService } from '../core/services/viewport.service';
|
import { ViewportService } from '../core/services/viewport.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-site',
|
selector: 'os-site',
|
||||||
animations: [pageTransition, navItemAnim],
|
animations: [pageTransition, navItemAnim],
|
||||||
templateUrl: './site.component.html',
|
templateUrl: './site.component.html',
|
||||||
styleUrls: ['./site.component.scss']
|
styleUrls: ['./site.component.scss']
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<app-head-bar appName="Home"></app-head-bar>
|
<os-head-bar appName="Home">
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-card class="os-card">
|
<mat-card class="os-card">
|
||||||
<div class="app-content" translate>
|
<div class="app-content" translate>
|
||||||
|
@ -12,7 +12,7 @@ import { MotionVersion } from '../../shared/models/motions/motion-version';
|
|||||||
import { MotionSubmitter } from '../../shared/models/motions/motion-submitter';
|
import { MotionSubmitter } from '../../shared/models/motions/motion-submitter';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-start',
|
selector: 'os-start',
|
||||||
templateUrl: './start.component.html',
|
templateUrl: './start.component.html',
|
||||||
styleUrls: ['./start.component.css']
|
styleUrls: ['./start.component.css']
|
||||||
})
|
})
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<app-head-bar appName="Users"></app-head-bar>
|
<os-head-bar appName="Users">
|
||||||
|
</os-head-bar>
|
||||||
|
|
||||||
<mat-card class="os-card">
|
<mat-card class="os-card">
|
||||||
UserList Works!
|
UserList Works!
|
||||||
|
@ -9,7 +9,7 @@ import { BaseComponent } from '../../../base.component';
|
|||||||
* TODO: Not yet implemented
|
* TODO: Not yet implemented
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-user-list',
|
selector: 'os-user-list',
|
||||||
templateUrl: './user-list.component.html',
|
templateUrl: './user-list.component.html',
|
||||||
styleUrls: ['./user-list.component.css']
|
styleUrls: ['./user-list.component.css']
|
||||||
})
|
})
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>OpenSlides 3</title>
|
<title>OpenSlides 3</title>
|
||||||
<base href="/">
|
<base href="/">
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="icon" type="image/x-icon" href="assets/img/favicon.png">
|
<link rel="icon" type="image/x-icon" href="assets/img/favicon.png">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<app-root></app-root>
|
<os-root></os-root>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
@import './app/site/site.component.scss-theme';
|
@import './app/site/site.component.scss-theme';
|
||||||
|
|
||||||
@mixin openslides-components-theme($theme) {
|
@mixin openslides-components-theme($theme) {
|
||||||
@include app-site-theme($theme);
|
@include os-site-theme($theme);
|
||||||
/** More components are added here */
|
/** More components are added here */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"extends": "../tslint.json",
|
"extends": "../tslint.json",
|
||||||
"rules": {
|
"rules": {
|
||||||
"directive-selector": [true, "attribute", "app", "camelCase"],
|
"directive-selector": [true, "attribute", "os", "camelCase"],
|
||||||
"component-selector": [true, "element", "app", "kebab-case"],
|
"component-selector": [true, "element", "os", "kebab-case"],
|
||||||
"member-access": [true, "check-accessor", "check-constructor", "check-parameter-property"],
|
"member-access": [true, "check-accessor", "check-constructor", "check-parameter-property"],
|
||||||
"comment-format": [true, "check-space"],
|
"comment-format": [true, "check-space"],
|
||||||
"curly": true,
|
"curly": true,
|
||||||
|
Loading…
Reference in New Issue
Block a user