Update to Angular12
Updates the client to auglar12
This commit is contained in:
parent
b4b0a958d5
commit
0a3ea54a45
7
client/.browserslistrc
Normal file
7
client/.browserslistrc
Normal file
@ -0,0 +1,7 @@
|
||||
last 1 Chrome version
|
||||
last 1 Firefox version
|
||||
last 2 Edge major versions
|
||||
last 2 Safari major versions
|
||||
last 2 iOS major versions
|
||||
Firefox ESR
|
||||
not IE 11
|
@ -22,7 +22,6 @@
|
||||
"main": "src/main.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
"tsConfig": "tsconfig.app.json",
|
||||
"aot": true,
|
||||
"assets": [
|
||||
"src/assets",
|
||||
"src/manifest.json",
|
||||
@ -43,7 +42,13 @@
|
||||
"node_modules/video.js/dist/video.min.js",
|
||||
"src/assets/jitsi/external_api.js"
|
||||
],
|
||||
"webWorkerTsConfig": "tsconfig.worker.json"
|
||||
"webWorkerTsConfig": "tsconfig.worker.json",
|
||||
"vendorChunk": true,
|
||||
"extractLicenses": false,
|
||||
"buildOptimizer": false,
|
||||
"sourceMap": true,
|
||||
"optimization": false,
|
||||
"namedChunks": true
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
@ -56,9 +61,7 @@
|
||||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"extractCss": true,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
@ -83,13 +86,14 @@
|
||||
}
|
||||
],
|
||||
"tsConfig": "./tsconfig-es5.app.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"development": {}
|
||||
},
|
||||
"defaultConfiguration": "production"
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "client:build"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
@ -97,8 +101,12 @@
|
||||
},
|
||||
"es5": {
|
||||
"browserTarget": "client:build:es5"
|
||||
},
|
||||
"development": {
|
||||
"browserTarget": "client:build:development"
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "development"
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
@ -147,14 +155,17 @@
|
||||
"e2e": {
|
||||
"builder": "@angular-devkit/build-angular:protractor",
|
||||
"options": {
|
||||
"protractorConfig": "e2e/protractor.conf.js",
|
||||
"devServerTarget": "client:serve"
|
||||
"protractorConfig": "e2e/protractor.conf.js"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"devServerTarget": "client:serve:production"
|
||||
},
|
||||
"development": {
|
||||
"devServerTarget": "client:serve:development"
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "development"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
|
||||
# For additional information regarding the format and rule options, please see:
|
||||
# https://github.com/browserslist/browserslist#queries
|
||||
# For IE 9-11 support, please uncomment the last line of the file and adjust as needed
|
||||
> 0.5%
|
||||
last 2 versions
|
||||
Firefox ESR
|
||||
not dead
|
||||
IE 9-11
|
@ -6,7 +6,7 @@ RUN useradd -m openslides
|
||||
RUN chown -R openslides /build/app
|
||||
|
||||
USER root
|
||||
RUN npm install -g @angular/cli@^10
|
||||
RUN npm install -g @angular/cli@^12
|
||||
RUN ng config -g cli.warnings.versionMismatch false
|
||||
|
||||
USER openslides
|
||||
|
@ -9,19 +9,25 @@ module.exports = function (config) {
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-jasmine-html-reporter'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('karma-coverage'),
|
||||
require('@angular-devkit/build-angular/plugins/karma')
|
||||
],
|
||||
client: {
|
||||
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
||||
jasmine: {
|
||||
timeoutInterval: 10000
|
||||
}
|
||||
// you can add configuration options for Jasmine here
|
||||
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
|
||||
// for example, you can disable the random execution with `random: false`
|
||||
// or set a specific seed with `seed: 4321`
|
||||
},
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, '../coverage'),
|
||||
reports: ['html', 'lcovonly'],
|
||||
fixWebpackSourcePaths: true
|
||||
jasmineHtmlReporter: {
|
||||
suppressAll: true // removes the duplicated traces
|
||||
},
|
||||
coverageReporter: {
|
||||
dir: require('path').join(__dirname, './coverage/Test'),
|
||||
subdir: '.',
|
||||
reporters: [{ type: 'html' }, { type: 'text-summary' }]
|
||||
},
|
||||
reporters: ['progress', 'kjhtml'],
|
||||
port: 9876,
|
||||
@ -36,11 +42,6 @@ module.exports = function (config) {
|
||||
}
|
||||
},
|
||||
singleRun: false,
|
||||
proxies: {
|
||||
'/apps/': 'http://localhost:8000/apps/',
|
||||
'/media/': 'http://localhost:8000/media/',
|
||||
'/rest/': 'http://localhost:8000/rest/',
|
||||
'/ws/': 'ws://localhost:8000/'
|
||||
}
|
||||
restartOnFileChange: true
|
||||
});
|
||||
};
|
||||
|
34493
client/package-lock.json
generated
34493
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "OpenSlides3-Client",
|
||||
"version": "3.3.0",
|
||||
"version": "3.4.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/OpenSlides/OpenSlides.git"
|
||||
@ -10,14 +10,15 @@
|
||||
"README": "https://github.com/OpenSlides/OpenSlides/blob/master/client/README.md",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0",
|
||||
"start-https": "ng serve --ssl --ssl-cert localhost.pem --ssl-key localhost-key.pem --proxy-config proxy.conf.json --host=0.0.0.0",
|
||||
"start-es5": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0 --configuration es5",
|
||||
"build": "ng build --prod",
|
||||
"ng-high-memory": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng",
|
||||
"start": "npm run ng-high-memory -- serve --proxy-config proxy.conf.json --host=0.0.0.0",
|
||||
"start-https": "npm run ng-high-memory -- serve --ssl --ssl-cert localhost.pem --ssl-key localhost-key.pem --proxy-config proxy.conf.json --host=0.0.0.0",
|
||||
"start-es5": "npm run ng-high-memory -- serve --proxy-config proxy.conf.json --host=0.0.0.0 --configuration es5",
|
||||
"build": "npm run ng-high-memory -- build --configuration production",
|
||||
"build-to-dir": "npm run build -- --output-path",
|
||||
"postinstall": "ngcc",
|
||||
"build-debug": "ng build",
|
||||
"test": "ng test",
|
||||
"build-debug": "npm run ng-high-memory -- build",
|
||||
"test": "npm run ng-high-memory -- test",
|
||||
"test-silently": "npm run test -- --watch=false --no-progress --browsers=ChromeHeadlessNoSandbox",
|
||||
"test-live": "npm run test -- --watch=true --browsers=ChromeHeadlessNoSandbox",
|
||||
"lint-check": "ng lint",
|
||||
@ -35,27 +36,27 @@
|
||||
"cleanup-win": "npm run prettify-write & npm run lint-write"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "~10.0.14",
|
||||
"@angular/cdk": "~10.0.0",
|
||||
"@angular/cdk-experimental": "~10.0.0",
|
||||
"@angular/common": "~10.0.14",
|
||||
"@angular/compiler": "~10.0.14",
|
||||
"@angular/core": "~10.0.14",
|
||||
"@angular/forms": "~10.0.14",
|
||||
"@angular/material": "~10.0.0",
|
||||
"@angular/material-moment-adapter": "~10.1.3",
|
||||
"@angular/platform-browser": "~10.0.14",
|
||||
"@angular/platform-browser-dynamic": "~10.0.14",
|
||||
"@angular/router": "~10.0.14",
|
||||
"@angular/service-worker": "~10.0.14",
|
||||
"@ngx-pwa/local-storage": "~10.0.1",
|
||||
"@angular/animations": "~12.1.1",
|
||||
"@angular/cdk": "~12.1.1",
|
||||
"@angular/cdk-experimental": "~12.1.1",
|
||||
"@angular/common": "~12.1.1",
|
||||
"@angular/compiler": "~12.1.1",
|
||||
"@angular/core": "~12.1.1",
|
||||
"@angular/forms": "~12.1.1",
|
||||
"@angular/material": "~12.1.1",
|
||||
"@angular/material-moment-adapter": "~12.1.1",
|
||||
"@angular/platform-browser": "~12.1.1",
|
||||
"@angular/platform-browser-dynamic": "~12.1.1",
|
||||
"@angular/router": "~12.1.1",
|
||||
"@angular/service-worker": "~12.1.1",
|
||||
"@ngx-pwa/local-storage": "~12.0.0",
|
||||
"@ngx-translate/core": "~13.0.0",
|
||||
"@ngx-translate/http-loader": "^6.0.0",
|
||||
"@pebula/ngrid": "2.0.0",
|
||||
"@pebula/ngrid-material": "2.0.0",
|
||||
"@pebula/ngrid": "4.0.0-alpha.3",
|
||||
"@pebula/ngrid-material": "4.0.0-alpha.3",
|
||||
"@pebula/utils": "1.0.2",
|
||||
"@tinymce/tinymce-angular": "^4.1.0",
|
||||
"@videojs/http-streaming": "^1.13.3",
|
||||
"@tinymce/tinymce-angular": "^4.2.4",
|
||||
"@videojs/http-streaming": "^2.9.1",
|
||||
"acorn": "^8.0.1",
|
||||
"chart.js": "^2.9.3",
|
||||
"core-js": "^3.6.5",
|
||||
@ -64,14 +65,14 @@
|
||||
"file-saver": "^2.0.2",
|
||||
"jszip": "^3.5.0",
|
||||
"lz4js": "^0.2.0",
|
||||
"material-icon-font": "git+https://github.com/petergng/materialIconFont.git",
|
||||
"material-design-icons-iconfont": "6.1.0",
|
||||
"moment": "^2.27.0",
|
||||
"ng-particles": "^2.6.0",
|
||||
"ng2-charts": "^2.4.0",
|
||||
"ng2-pdf-viewer": "^6.4.1",
|
||||
"ngx-device-detector": "^2.0.0",
|
||||
"ngx-file-drop": "^9.0.1",
|
||||
"ngx-mat-select-search": "^3.0.3",
|
||||
"ngx-file-drop": "^11.1.0",
|
||||
"ngx-mat-select-search": "^3.3.0",
|
||||
"ngx-material-timepicker": "^5.5.3",
|
||||
"ngx-papaparse": "^4.0.4",
|
||||
"pdfjs-dist": "2.5.207",
|
||||
@ -79,41 +80,38 @@
|
||||
"po2json": "^1.0.0-beta-2",
|
||||
"rxjs": "^6.6.2",
|
||||
"tinymce": "5.7.1",
|
||||
"tslib": "^1.10.0",
|
||||
"tslib": "^2.0.0",
|
||||
"tsparticles": "^1.23.0",
|
||||
"video.js": "^7.8.4",
|
||||
"zone.js": "~0.10.2"
|
||||
"zone.js": "~0.11.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.1000.8",
|
||||
"@angular-devkit/schematics": "^10.0.8",
|
||||
"@angular/cli": "~10.0.8",
|
||||
"@angular/compiler-cli": "~10.0.14",
|
||||
"@angular/language-service": "~10.0.14",
|
||||
"@biesbjerg/ngx-translate-extract": "^7.0.2",
|
||||
"@angular-devkit/build-angular": "~12.1.1",
|
||||
"@angular-devkit/schematics": "^12.1.1",
|
||||
"@angular/cli": "~12.1.1",
|
||||
"@angular/compiler-cli": "~12.1.1",
|
||||
"@angular/language-service": "~12.1.1",
|
||||
"@biesbjerg/ngx-translate-extract": "^7.0.4",
|
||||
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
|
||||
"@compodoc/compodoc": "^1.1.11",
|
||||
"@compodoc/compodoc": "^1.0.9",
|
||||
"@schematics/angular": "^10.0.8",
|
||||
"@types/jasmine": "^3.5.14",
|
||||
"@types/jasminewd2": "^2.0.6",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/node": "^14.6.2",
|
||||
"@types/yargs": "^15.0.4",
|
||||
"codelyzer": "^6.0.0",
|
||||
"husky": "^4.2.3",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.1",
|
||||
"karma": "^5.1.1",
|
||||
"jasmine-core": "~3.8.0",
|
||||
"karma": "^6.3.4",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||
"karma-jasmine": "~4.0.1",
|
||||
"karma-jasmine-html-reporter": "^1.4.0",
|
||||
"npm-license-crawler": "^0.2.1",
|
||||
"prettier": "~2.1.1",
|
||||
"karma-coverage": "~2.0.3",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"prettier": "2.3.2",
|
||||
"protractor": "^7.0.0",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"ts-node": "~9.0.0",
|
||||
"tslint": "~6.1.3",
|
||||
"tsutils": "3.17.1",
|
||||
"typescript": "~3.9.7"
|
||||
"typescript": "~4.3.5"
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ const routes: Route[] = [
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],
|
||||
imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload', relativeLinkResolution: 'legacy' })],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class AppRoutingModule {}
|
||||
|
@ -442,7 +442,7 @@ export class PdfDocumentService {
|
||||
|
||||
const isIE = /msie\s|trident\//i.test(window.navigator.userAgent);
|
||||
if (typeof Worker !== 'undefined' && !isIE) {
|
||||
this.pdfWorker = new Worker('./pdf-worker.worker', {
|
||||
this.pdfWorker = new Worker(new URL('./pdf-worker.worker', import.meta.url), {
|
||||
type: 'module'
|
||||
});
|
||||
|
||||
|
@ -36,9 +36,8 @@ export abstract class BaseIsAgendaItemAndListOfSpeakersContentObjectRepository<
|
||||
T extends TitleInformationWithAgendaItem
|
||||
>
|
||||
extends BaseRepository<V, M, T>
|
||||
implements
|
||||
IBaseIsAgendaItemContentObjectRepository<V, M, T>,
|
||||
IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
||||
implements IBaseIsAgendaItemContentObjectRepository<V, M, T>, IBaseIsListOfSpeakersContentObjectRepository<V, M, T>
|
||||
{
|
||||
protected extendRelations(): void {
|
||||
this.relationDefinitions.push({
|
||||
type: 'M2O',
|
||||
|
@ -43,7 +43,8 @@ export abstract class BaseIsAgendaItemContentObjectRepository<
|
||||
T extends TitleInformationWithAgendaItem
|
||||
>
|
||||
extends BaseRepository<V, M, T>
|
||||
implements IBaseIsAgendaItemContentObjectRepository<V, M, T> {
|
||||
implements IBaseIsAgendaItemContentObjectRepository<V, M, T>
|
||||
{
|
||||
public constructor(
|
||||
DS: DataStoreService,
|
||||
dataSend: DataSendService,
|
||||
|
@ -40,7 +40,8 @@ export abstract class BaseIsListOfSpeakersContentObjectRepository<
|
||||
T extends TitleInformation
|
||||
>
|
||||
extends BaseRepository<V, M, T>
|
||||
implements IBaseIsListOfSpeakersContentObjectRepository<V, M, T> {
|
||||
implements IBaseIsListOfSpeakersContentObjectRepository<V, M, T>
|
||||
{
|
||||
public constructor(
|
||||
DS: DataStoreService,
|
||||
dataSend: DataSendService,
|
||||
|
@ -31,7 +31,8 @@ export interface NestedModelDescriptors {
|
||||
}
|
||||
|
||||
export abstract class BaseRepository<V extends BaseViewModel & T, M extends BaseModel, T extends TitleInformation>
|
||||
implements OnAfterAppsLoaded, Collection, HasViewModelListObservable<V> {
|
||||
implements OnAfterAppsLoaded, Collection, HasViewModelListObservable<V>
|
||||
{
|
||||
/**
|
||||
* Stores all the viewModel in an object
|
||||
*/
|
||||
|
@ -890,28 +890,19 @@ export class MotionRepositoryService extends BaseIsAgendaItemAndListOfSpeakersCo
|
||||
}
|
||||
|
||||
return amendmentParagraphs
|
||||
?.map(
|
||||
(newText: string, paraNo: number): DiffLinesInParagraph => {
|
||||
if (baseParagraphs[paraNo] === undefined) {
|
||||
throw new Error(
|
||||
this.translate.instant('Inconsistent data.') +
|
||||
' ' +
|
||||
this.translate.instant(
|
||||
'An amendment is probably referring to a non-existant line number.'
|
||||
)
|
||||
);
|
||||
} else if (newText !== null) {
|
||||
return this.diff.getAmendmentParagraphsLines(
|
||||
paraNo,
|
||||
baseParagraphs[paraNo],
|
||||
newText,
|
||||
lineLength
|
||||
);
|
||||
} else {
|
||||
return null; // Nothing has changed in this paragraph
|
||||
}
|
||||
?.map((newText: string, paraNo: number): DiffLinesInParagraph => {
|
||||
if (baseParagraphs[paraNo] === undefined) {
|
||||
throw new Error(
|
||||
this.translate.instant('Inconsistent data.') +
|
||||
' ' +
|
||||
this.translate.instant('An amendment is probably referring to a non-existant line number.')
|
||||
);
|
||||
} else if (newText !== null) {
|
||||
return this.diff.getAmendmentParagraphsLines(paraNo, baseParagraphs[paraNo], newText, lineLength);
|
||||
} else {
|
||||
return null; // Nothing has changed in this paragraph
|
||||
}
|
||||
)
|
||||
})
|
||||
.map((diffLines: DiffLinesInParagraph, paraNo: number) => {
|
||||
// If nothing has changed and we want to keep unchanged paragraphs for the context,
|
||||
// return the original text in "textPre"
|
||||
@ -969,37 +960,33 @@ export class MotionRepositoryService extends BaseIsAgendaItemAndListOfSpeakersCo
|
||||
const changedAmendmentParagraphs = this.applyChangesToAmendment(amendment, lineLength, changeRecos, false);
|
||||
|
||||
return changedAmendmentParagraphs
|
||||
?.map(
|
||||
(newText: string, paraNo: number): ViewMotionAmendedParagraph => {
|
||||
if (newText === null) {
|
||||
return null;
|
||||
}
|
||||
if (baseParagraphs[paraNo] === undefined) {
|
||||
console.error(
|
||||
this.translate.instant('Inconsistent data.') +
|
||||
' ' +
|
||||
this.translate.instant(
|
||||
'An amendment is probably referring to a non-existant line number.'
|
||||
)
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
||||
const origText = baseParagraphs[paraNo],
|
||||
diff = this.diff.diff(origText, newText),
|
||||
affectedLines = this.diff.detectAffectedLineRange(diff);
|
||||
|
||||
if (affectedLines === null) {
|
||||
return null;
|
||||
}
|
||||
const affectedDiff = this.diff.formatDiff(
|
||||
this.diff.extractRangeByLineNumbers(diff, affectedLines.from, affectedLines.to)
|
||||
);
|
||||
const affectedConsolidated = this.diff.diffHtmlToFinalText(affectedDiff);
|
||||
|
||||
return new ViewMotionAmendedParagraph(amendment, paraNo, affectedConsolidated, affectedLines);
|
||||
?.map((newText: string, paraNo: number): ViewMotionAmendedParagraph => {
|
||||
if (newText === null) {
|
||||
return null;
|
||||
}
|
||||
)
|
||||
if (baseParagraphs[paraNo] === undefined) {
|
||||
console.error(
|
||||
this.translate.instant('Inconsistent data.') +
|
||||
' ' +
|
||||
this.translate.instant('An amendment is probably referring to a non-existant line number.')
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
||||
const origText = baseParagraphs[paraNo],
|
||||
diff = this.diff.diff(origText, newText),
|
||||
affectedLines = this.diff.detectAffectedLineRange(diff);
|
||||
|
||||
if (affectedLines === null) {
|
||||
return null;
|
||||
}
|
||||
const affectedDiff = this.diff.formatDiff(
|
||||
this.diff.extractRangeByLineNumbers(diff, affectedLines.from, affectedLines.to)
|
||||
);
|
||||
const affectedConsolidated = this.diff.diffHtmlToFinalText(affectedDiff);
|
||||
|
||||
return new ViewMotionAmendedParagraph(amendment, paraNo, affectedConsolidated, affectedLines);
|
||||
})
|
||||
.filter((para: ViewMotionAmendedParagraph) => para !== null);
|
||||
}
|
||||
|
||||
|
@ -233,7 +233,7 @@ export abstract class BaseImportService<M extends BaseModel> {
|
||||
/**
|
||||
* Trigger for executing the import.
|
||||
*/
|
||||
public abstract async doImport(): Promise<void>;
|
||||
public abstract doImport(): Promise<void>;
|
||||
|
||||
/**
|
||||
* counts the amount of duplicates that have no decision on the action to
|
||||
|
@ -121,7 +121,7 @@ export abstract class BaseSortListService<V extends BaseViewModel> extends BaseS
|
||||
/**
|
||||
* Enforce children to implement a method that returns the fault sorting
|
||||
*/
|
||||
protected abstract async getDefaultDefinition(): Promise<OsSortingDefinition<V>>;
|
||||
protected abstract getDefaultDefinition(): Promise<OsSortingDefinition<V>>;
|
||||
|
||||
/**
|
||||
* Defines the sorting properties, and returns an observable with sorted data
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -9,11 +9,13 @@ describe('FullscreenProjectorComponent', () => {
|
||||
let component: FullscreenProjectorComponent;
|
||||
let fixture: ComponentFixture<FullscreenProjectorComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule, FullscreenProjectorModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule, FullscreenProjectorModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(FullscreenProjectorComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { FormBuilder } from '@angular/forms';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,11 +9,13 @@ describe('AgendaContentObjectFormComponent', () => {
|
||||
let component: AgendaContentObjectFormComponent;
|
||||
let fixture: ComponentFixture<AgendaContentObjectFormComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AgendaContentObjectFormComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('AssignmentPollDetailContentComponent', () => {
|
||||
let component: AssignmentPollDetailContentComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollDetailContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollDetailContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('AttachmentControlComponent', () => {
|
||||
let component: AttachmentControlComponent;
|
||||
let fixture: ComponentFixture<AttachmentControlComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AttachmentControlComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
/** Custom component theme. Only lives in a specific scope */
|
||||
@mixin os-banner-style($theme) {
|
||||
@ -6,6 +6,6 @@
|
||||
|
||||
/** style for the offline-banner */
|
||||
.banner {
|
||||
background: mat-color($accent, 500);
|
||||
background: mat.get-color-from-palette($accent, 500);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('BannerComponent', () => {
|
||||
let component: BannerComponent;
|
||||
let fixture: ComponentFixture<BannerComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(BannerComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('BlockTileComponent', () => {
|
||||
let component: BlockTileComponent;
|
||||
let fixture: ComponentFixture<BlockTileComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
// declarations: [BlockTileComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
// declarations: [BlockTileComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(BlockTileComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, TestBed } from '@angular/core/testing';
|
||||
import { TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -6,11 +6,13 @@ describe('ChartsComponent', () => {
|
||||
// let component: ChartsComponent;
|
||||
// let fixture: ComponentFixture<ChartsComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
// fixture = TestBed.createComponent(ChartsComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('CheckInputComponent', () => {
|
||||
let component: CheckInputComponent;
|
||||
let fixture: ComponentFixture<CheckInputComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(CheckInputComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,18 +9,20 @@ describe('ChoiceDialogComponent', () => {
|
||||
let component: ChoiceDialogComponent;
|
||||
let fixture: ComponentFixture<ChoiceDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ChoiceDialogComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { CountdownTimeComponent } from './countdown-time.component';
|
||||
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||
@ -7,11 +7,13 @@ describe('CountdownTimeComponent', () => {
|
||||
let component: CountdownTimeComponent;
|
||||
let fixture: ComponentFixture<CountdownTimeComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(CountdownTimeComponent);
|
||||
|
@ -0,0 +1,29 @@
|
||||
<h2 mat-dialog-title>{{ caption | translate }}</h2>
|
||||
<mat-dialog-content>
|
||||
<ng-container *ngIf="partnerName">
|
||||
<div class="space">
|
||||
<div class="coin info-coin thisPlayer"></div>
|
||||
<span>{{ getPlayerName() }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="coin info-coin partner"></div>
|
||||
<span>{{ partnerName }}</span>
|
||||
</div>
|
||||
</ng-container>
|
||||
<table [class]="disableBoard ? 'disabled' : ''" id="c4">
|
||||
<tr *ngFor="let row of [5, 4, 3, 2, 1, 0]">
|
||||
<td *ngFor="let col of [0, 1, 2, 3, 4, 5, 6]">
|
||||
<div [class]="getCoinClass(row, col)" (click)="clickField(row, col)"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="center">
|
||||
<button (click)="handleEvent('searchClicked')" *ngIf="state === 'start'" mat-raised-button color="accent">
|
||||
{{ 'Search player' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions>
|
||||
<button mat-button mat-dialog-close>{{ 'Close' | translate }}</button>
|
||||
</mat-dialog-actions>
|
@ -0,0 +1,51 @@
|
||||
span {
|
||||
font-size: 20px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
.space {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#c4 {
|
||||
background-color: yellow;
|
||||
padding: 10px;
|
||||
margin: 15px auto;
|
||||
}
|
||||
#c4.disabled {
|
||||
background-color: grey;
|
||||
}
|
||||
#c4 td {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
#c4 .notSelected {
|
||||
cursor: pointer;
|
||||
background-color: white;
|
||||
}
|
||||
#c4.disabled .notSelected {
|
||||
cursor: auto;
|
||||
}
|
||||
.thisPlayer {
|
||||
background-color: blue;
|
||||
}
|
||||
#c4.disabled .thisPlayer {
|
||||
background-color: #8888ff;
|
||||
}
|
||||
.partner {
|
||||
background-color: red;
|
||||
}
|
||||
#c4.disabled .partner {
|
||||
background-color: #ff8888;
|
||||
}
|
||||
.coin {
|
||||
border-radius: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.coin.info-coin {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
@ -62,97 +62,8 @@ type StateMachine = { [state in State]?: { [event in StateEvent]?: SMAction } };
|
||||
|
||||
@Component({
|
||||
selector: 'os-c4dialog',
|
||||
template: `
|
||||
<h2 mat-dialog-title>{{ caption | translate }}</h2>
|
||||
<mat-dialog-content>
|
||||
<ng-container *ngIf="partnerName">
|
||||
<div class="space">
|
||||
<div class="coin info-coin thisPlayer"></div>
|
||||
<span>{{ getPlayerName() }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="coin info-coin partner"></div>
|
||||
<span>{{ partnerName }}</span>
|
||||
</div>
|
||||
</ng-container>
|
||||
<table [class]="disableBoard ? 'disabled' : ''" id="c4">
|
||||
<tr *ngFor="let row of [5, 4, 3, 2, 1, 0]">
|
||||
<td *ngFor="let col of [0, 1, 2, 3, 4, 5, 6]">
|
||||
<div [class]="getCoinClass(row, col)" (click)="clickField(row, col)"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="center">
|
||||
<button
|
||||
(click)="handleEvent('searchClicked')"
|
||||
*ngIf="state === 'start'"
|
||||
mat-raised-button
|
||||
color="accent"
|
||||
>
|
||||
{{ 'Search player' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</mat-dialog-content>
|
||||
<mat-dialog-actions>
|
||||
<button mat-button mat-dialog-close>{{ 'Close' | translate }}</button>
|
||||
</mat-dialog-actions>
|
||||
`,
|
||||
styles: [
|
||||
`
|
||||
span {
|
||||
font-size: 20px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
.space {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#c4 {
|
||||
background-color: yellow;
|
||||
padding: 10px;
|
||||
margin: 15px auto;
|
||||
}
|
||||
#c4.disabled {
|
||||
background-color: grey;
|
||||
}
|
||||
#c4 td {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
#c4 .notSelected {
|
||||
cursor: pointer;
|
||||
background-color: white;
|
||||
}
|
||||
#c4.disabled .notSelected {
|
||||
cursor: auto;
|
||||
}
|
||||
.thisPlayer {
|
||||
background-color: blue;
|
||||
}
|
||||
#c4.disabled .thisPlayer {
|
||||
background-color: #8888ff;
|
||||
}
|
||||
.partner {
|
||||
background-color: red;
|
||||
}
|
||||
#c4.disabled .partner {
|
||||
background-color: #ff8888;
|
||||
}
|
||||
.coin {
|
||||
border-radius: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.coin.info-coin {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
`
|
||||
]
|
||||
templateUrl: './copyright-sign.component.html',
|
||||
styleUrls: ['./copyright-sign.component.scss']
|
||||
})
|
||||
export class C4DialogComponent implements OnInit, OnDestroy {
|
||||
/**
|
||||
@ -577,8 +488,7 @@ export class C4DialogComponent implements OnInit, OnDestroy {
|
||||
|
||||
@Component({
|
||||
selector: 'os-copyright-sign',
|
||||
template: ` <span (click)="launchC4($event)">©</span> `,
|
||||
styles: [``]
|
||||
template: ` <span (click)="launchC4($event)">©</span> `
|
||||
})
|
||||
export class CopyrightSignComponent {
|
||||
private clickTimeout: number | null;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('ExtensionFieldComponent', () => {
|
||||
let component: ExtensionFieldComponent;
|
||||
let fixture: ComponentFixture<ExtensionFieldComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ExtensionFieldComponent);
|
||||
|
@ -1,5 +1,3 @@
|
||||
@import '~@angular/material/theming';
|
||||
|
||||
@mixin os-global-spinner-theme($theme) {
|
||||
.spinner-container {
|
||||
display: flex;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('GlobalSpinnerComponent', () => {
|
||||
let component: GlobalSpinnerComponent;
|
||||
let fixture: ComponentFixture<GlobalSpinnerComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(GlobalSpinnerComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('GridLayoutComponent', () => {
|
||||
let component: GridLayoutComponent;
|
||||
let fixture: ComponentFixture<GridLayoutComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
// declarations: [GridLayoutComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
// declarations: [GridLayoutComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(GridLayoutComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||
import { HeadBarComponent } from './head-bar.component';
|
||||
@ -7,11 +7,13 @@ describe('HeadBarComponent', () => {
|
||||
let component: HeadBarComponent;
|
||||
let fixture: ComponentFixture<HeadBarComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(HeadBarComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('IconContainerComponent', () => {
|
||||
let component: IconContainerComponent;
|
||||
let fixture: ComponentFixture<IconContainerComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(IconContainerComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||
import { LegalNoticeContentComponent } from './legal-notice-content.component';
|
||||
@ -7,11 +7,13 @@ describe('LegalNoticeComponent', () => {
|
||||
let component: LegalNoticeContentComponent;
|
||||
let fixture: ComponentFixture<LegalNoticeContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(LegalNoticeContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('ListOfSpeakersContentComponent', () => {
|
||||
let component: ListOfSpeakersContentComponent;
|
||||
let fixture: ComponentFixture<ListOfSpeakersContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ListOfSpeakersContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-list-view-table-theme($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
@ -8,6 +8,6 @@
|
||||
$background: map-get($theme, background);
|
||||
|
||||
.projected {
|
||||
background-color: mat-color($background, hover) !important;
|
||||
background-color: mat.get-color-from-palette($background, hover) !important;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('ListViewTableComponent', () => {
|
||||
let component: ListViewTableComponent<any>;
|
||||
let fixture: ComponentFixture<ListViewTableComponent<any>>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ListViewTableComponent);
|
||||
|
@ -12,8 +12,15 @@ import {
|
||||
} from '@angular/core';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
|
||||
import { columnFactory, createDS, DataSourcePredicate, PblDataSource, PblNgridComponent } from '@pebula/ngrid';
|
||||
import { PblColumnDefinition, PblColumnFactory, PblNgridColumnSet, PblNgridRowContext } from '@pebula/ngrid/lib/grid';
|
||||
import {
|
||||
columnFactory,
|
||||
createDS,
|
||||
DataSourcePredicate,
|
||||
PblColumnDefinition,
|
||||
PblDataSource,
|
||||
PblNgridComponent
|
||||
} from '@pebula/ngrid';
|
||||
import { PblColumnFactory, PblNgridColumnSet, PblNgridRowContext } from '@pebula/ngrid/lib/grid';
|
||||
import { PblNgridDataMatrixRow } from '@pebula/ngrid/target-events';
|
||||
import { Observable, Subscription } from 'rxjs';
|
||||
import { distinctUntilChanged, filter } from 'rxjs/operators';
|
||||
@ -91,7 +98,8 @@ export interface ColumnRestriction {
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ListViewTableComponent<V extends BaseViewModel | BaseViewModelWithContentObject>
|
||||
implements OnInit, OnDestroy {
|
||||
implements OnInit, OnDestroy
|
||||
{
|
||||
/**
|
||||
* Declare the table
|
||||
*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('LogoComponent', () => {
|
||||
let component: LogoComponent;
|
||||
let fixture: ComponentFixture<LogoComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(LogoComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('MediaUploadContentComponent', () => {
|
||||
let component: MediaUploadContentComponent;
|
||||
let fixture: ComponentFixture<MediaUploadContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(MediaUploadContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-meta-text-block-style($theme) {
|
||||
$foreground: map-get($theme, foreground);
|
||||
@ -9,7 +9,7 @@
|
||||
min-width: 200px;
|
||||
|
||||
.mat-icon-button mat-icon {
|
||||
color: mat-color($foreground, icon);
|
||||
color: mat.get-color-from-palette($foreground, icon);
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('MetaTextBlockComponent', () => {
|
||||
let component: MetaTextBlockComponent;
|
||||
let fixture: ComponentFixture<MetaTextBlockComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(MetaTextBlockComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('MotionPollDetailContentComponent', () => {
|
||||
let component: MotionPollDetailContentComponent;
|
||||
let fixture: ComponentFixture<MotionPollDetailContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(MotionPollDetailContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('PreviewComponent', () => {
|
||||
let component: PreviewComponent;
|
||||
let fixture: ComponentFixture<PreviewComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(PreviewComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||
import { PrivacyPolicyContentComponent } from './privacy-policy-content.component';
|
||||
@ -7,11 +7,13 @@ describe('PrivacyPolicyComponent', () => {
|
||||
let component: PrivacyPolicyContentComponent;
|
||||
let fixture: ComponentFixture<PrivacyPolicyContentComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(PrivacyPolicyContentComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
/** Custom component theme. Only lives in a specific scope */
|
||||
@mixin os-progress-snack-bar-style($theme) {
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
.progress-snack-bar {
|
||||
.mat-progress-bar-buffer {
|
||||
background-color: mat-color($background, card) !important;
|
||||
background-color: mat.get-color-from-palette($background, card) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatSnackBarRef } from '@angular/material/snack-bar';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,12 +9,14 @@ describe('ProgressSnackBarComponent', () => {
|
||||
let component: ProgressSnackBarComponent;
|
||||
let fixture: ComponentFixture<ProgressSnackBarComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [{ provide: MatSnackBarRef, useValue: {} }]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [{ provide: MatSnackBarRef, useValue: {} }]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProgressSnackBarComponent);
|
||||
|
@ -1,26 +1,26 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-progress-theme($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
$accent: map-get($theme, accent);
|
||||
|
||||
.progress-wrapper {
|
||||
background-color: mat-color($primary);
|
||||
background-color: mat.get-color-from-palette($primary);
|
||||
}
|
||||
|
||||
.end-icon {
|
||||
color: mat-color($primary, default-contrast);
|
||||
color: mat.get-color-from-palette($primary, default-contrast);
|
||||
}
|
||||
|
||||
.slot {
|
||||
color: mat-color($primary, default-contrast);
|
||||
color: mat.get-color-from-palette($primary, default-contrast);
|
||||
}
|
||||
|
||||
.buffer {
|
||||
background-color: mat-color($primary, darker);
|
||||
background-color: mat.get-color-from-palette($primary, darker);
|
||||
}
|
||||
|
||||
.progress {
|
||||
background-color: mat-color($accent);
|
||||
background-color: mat.get-color-from-palette($accent);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { ProgressComponent } from './progress.component';
|
||||
|
||||
@ -6,11 +6,13 @@ describe('ProgressComponent', () => {
|
||||
let component: ProgressComponent;
|
||||
let fixture: ComponentFixture<ProgressComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ProgressComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ProgressComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProgressComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,18 +9,20 @@ describe('ProjectionDialogComponent', () => {
|
||||
let component: ProjectionDialogComponent;
|
||||
let fixture: ComponentFixture<ProjectionDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProjectionDialogComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-projector-button-style($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
@ -7,7 +7,7 @@
|
||||
$contrast: map-get($primary, contrast);
|
||||
|
||||
.mat-mini-fab.projector-inactive {
|
||||
color: mat-color($contrast, A200) !important;
|
||||
background-color: mat-color($contrast, 500) !important;
|
||||
color: mat.get-color-from-palette($contrast, A200) !important;
|
||||
background-color: mat.get-color-from-palette($contrast, 500) !important;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('ProjectorButtonComponent', () => {
|
||||
let component: ProjectorButtonComponent;
|
||||
let fixture: ComponentFixture<ProjectorButtonComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProjectorButtonComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('ProjectorComponent', () => {
|
||||
let component: ProjectorComponent;
|
||||
let fixture: ComponentFixture<ProjectorComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProjectorComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,18 +9,20 @@ describe('PromptDialogComponent', () => {
|
||||
let component: PromptDialogComponent;
|
||||
let fixture: ComponentFixture<PromptDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(PromptDialogComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
:host.full-width {
|
||||
width: 100%;
|
||||
@ -8,7 +8,7 @@
|
||||
$background: map-get($theme, background);
|
||||
$foreground: map-get($theme, foreground);
|
||||
|
||||
$foreground-color: mat-color($foreground, icon);
|
||||
$foreground-color: mat.get-color-from-palette($foreground, icon);
|
||||
|
||||
.input-container {
|
||||
position: relative;
|
||||
@ -39,7 +39,7 @@
|
||||
border-radius: 32px;
|
||||
font-size: 16px;
|
||||
border: 1px solid #ccc;
|
||||
background: mat-color($background, background);
|
||||
background: mat.get-color-from-palette($background, background);
|
||||
color: $foreground-color;
|
||||
transition: all 0.25s ease;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('RoundedInputComponent', () => {
|
||||
let component: RoundedInputComponent;
|
||||
let fixture: ComponentFixture<RoundedInputComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(RoundedInputComponent);
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Component, ViewChild } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { FormBuilder } from '@angular/forms';
|
||||
|
||||
import { BehaviorSubject } from 'rxjs';
|
||||
@ -22,12 +22,14 @@ describe('SearchValueSelectorComponent', () => {
|
||||
let hostComponent: TestHostComponent;
|
||||
let hostFixture: ComponentFixture<TestHostComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
hostFixture = TestBed.createComponent(TestHostComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('SlideContainerComponent', () => {
|
||||
let component: SlideContainerComponent;
|
||||
let fixture: ComponentFixture<SlideContainerComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SlideContainerComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -7,11 +7,13 @@ import { SortBottomSheetComponent } from './sort-bottom-sheet.component';
|
||||
describe('SortBottomSheetComponent', () => {
|
||||
let fixture: ComponentFixture<SortBottomSheetComponent<any>>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SortBottomSheetComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('OsSortFilterBarComponent', () => {
|
||||
let component: SortFilterBarComponent<any>;
|
||||
let fixture: ComponentFixture<any>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SortFilterBarComponent);
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Component, ViewChild } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||
import { EmptySelectable } from '../empty-selectable';
|
||||
@ -19,12 +19,14 @@ describe('SortingListComponent', () => {
|
||||
let hostComponent: TestHostComponent;
|
||||
let hostFixture: ComponentFixture<TestHostComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
hostFixture = TestBed.createComponent(TestHostComponent);
|
||||
|
@ -1,5 +1,5 @@
|
||||
@use '~@angular/material' as mat;
|
||||
@import '../../../../assets/styles/drag.scss';
|
||||
@import '~@angular/material/theming';
|
||||
|
||||
@mixin os-sorting-tree-style($theme) {
|
||||
$background: map-get($theme, background);
|
||||
@ -37,7 +37,7 @@
|
||||
|
||||
div.backgroundColorLight {
|
||||
box-sizing: border-box;
|
||||
background-color: mat-color($background, background);
|
||||
background-color: mat.get-color-from-palette($background, background);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14),
|
||||
0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Component, ViewChild } from '@angular/core';
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
import { BehaviorSubject } from 'rxjs';
|
||||
@ -37,12 +37,14 @@ describe('SortingTreeComponent', () => {
|
||||
let hostComponent: TestHostComponent;
|
||||
let hostFixture: ComponentFixture<TestHostComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [TestHostComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
hostFixture = TestBed.createComponent(TestHostComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('SpeakerButtonComponent', () => {
|
||||
let component: SpeakerButtonComponent;
|
||||
let fixture: ComponentFixture<SpeakerButtonComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SpeakerButtonComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use 'sass:math';
|
||||
@import '../../../../assets/styles/media-queries.scss';
|
||||
|
||||
@mixin os-tile-style($theme) {
|
||||
@ -64,7 +64,7 @@
|
||||
@if $space == true {
|
||||
@return calc(#{$size} / 4 * 100% - 16px);
|
||||
} @else {
|
||||
@return $size / 4 * 100%;
|
||||
@return math.div($size, 4) * 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
@if $space == true {
|
||||
@return calc(#{$size} / 8 * 100% - 16px);
|
||||
} @else {
|
||||
@return $size / 8 * 100%;
|
||||
@return math.div($size, 8) * 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@
|
||||
@if $space == true {
|
||||
@return calc(#{$size} / 12 * 100% - 16px);
|
||||
} @else {
|
||||
@return $size / 12 * 100%;
|
||||
@return math.div($size, 12) * 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@
|
||||
@if $space == true {
|
||||
@return calc(#{$size} / 16 * 100% - 16px);
|
||||
} @else {
|
||||
@return $size / 16 * 100%;
|
||||
@return math.div($size, 16) * 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { TileComponent } from './tile.component';
|
||||
|
||||
@ -6,11 +6,13 @@ describe('TileComponent', () => {
|
||||
let component: TileComponent;
|
||||
let fixture: ComponentFixture<TileComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [TileComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [TileComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(TileComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('UserMenuComponent', () => {
|
||||
let component: UserMenuComponent;
|
||||
let fixture: ComponentFixture<UserMenuComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(UserMenuComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('VjsPlayerComponent', () => {
|
||||
let component: VideoPlayerComponent;
|
||||
let fixture: ComponentFixture<VideoPlayerComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(VideoPlayerComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,11 +8,13 @@ describe('VotingPrivacyWarningComponent', () => {
|
||||
let component: VotingPrivacyWarningComponent;
|
||||
let fixture: ComponentFixture<VotingPrivacyWarningComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(VotingPrivacyWarningComponent);
|
||||
|
@ -23,8 +23,8 @@ import { Subject, Subscription } from 'rxjs';
|
||||
*/
|
||||
@Directive()
|
||||
export abstract class BaseFormControlComponentDirective<T>
|
||||
extends MatFormFieldControl<T>
|
||||
implements OnDestroy, ControlValueAccessor {
|
||||
implements MatFormFieldControl<T>, OnDestroy, ControlValueAccessor
|
||||
{
|
||||
public static nextId = 0;
|
||||
|
||||
@HostBinding() public id = `base-form-control-${BaseFormControlComponentDirective.nextId++}`;
|
||||
@ -102,8 +102,6 @@ export abstract class BaseFormControlComponentDirective<T>
|
||||
protected element: ElementRef<HTMLElement>,
|
||||
@Optional() @Self() public ngControl: NgControl
|
||||
) {
|
||||
super();
|
||||
|
||||
this.initializeForm();
|
||||
|
||||
if (this.ngControl !== null) {
|
||||
|
@ -11,7 +11,8 @@ export function isBaseModelWithAgendaItemAndListOfSpeakers(obj: any): obj is Bas
|
||||
*/
|
||||
export abstract class BaseModelWithAgendaItemAndListOfSpeakers<T = object>
|
||||
extends BaseModel<T>
|
||||
implements BaseModelWithAgendaItem<T>, BaseModelWithListOfSpeakers<T> {
|
||||
implements BaseModelWithAgendaItem<T>, BaseModelWithListOfSpeakers<T>
|
||||
{
|
||||
public agenda_item_id: number;
|
||||
public list_of_speakers_id: number;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { AgendaListComponent } from './agenda-list.component';
|
||||
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||
@ -7,12 +7,14 @@ describe('AgendaListComponent', () => {
|
||||
let component: AgendaListComponent;
|
||||
let fixture: ComponentFixture<AgendaListComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AgendaListComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AgendaListComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AgendaListComponent);
|
||||
|
@ -81,11 +81,11 @@ export class AgendaListComponent extends BaseListViewComponent<ViewItem> impleme
|
||||
public tableColumnDefinition: PblColumnDefinition[] = [
|
||||
{
|
||||
prop: 'title',
|
||||
width: 'auto'
|
||||
width: '100%'
|
||||
},
|
||||
{
|
||||
prop: 'info',
|
||||
width: '15%'
|
||||
width: '100px'
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('AgendaSortComponent', () => {
|
||||
let component: AgendaSortComponent;
|
||||
let fixture: ComponentFixture<AgendaSortComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AgendaSortComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AgendaSortComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AgendaSortComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,19 +9,21 @@ describe('ItemInfoDialogComponent', () => {
|
||||
let component: ItemInfoDialogComponent;
|
||||
let fixture: ComponentFixture<ItemInfoDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ItemInfoDialogComponent],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ItemInfoDialogComponent],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: {} },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ItemInfoDialogComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-list-of-speakers-style($theme) {
|
||||
$primary: map-get($theme, primary);
|
||||
@ -8,20 +8,20 @@
|
||||
$foreground: map-get($theme, foreground);
|
||||
|
||||
.current-speaker {
|
||||
background-color: mat-color($accent) !important;
|
||||
background-color: mat.get-color-from-palette($accent) !important;
|
||||
|
||||
> span {
|
||||
color: mat-color($accent, default-contrast);
|
||||
color: mat.get-color-from-palette($accent, default-contrast);
|
||||
}
|
||||
}
|
||||
|
||||
.finished-speaker-grid {
|
||||
> .number .name .controls {
|
||||
color: mat-color($foreground, text);
|
||||
color: mat.get-color-from-palette($foreground, text);
|
||||
}
|
||||
|
||||
> .time {
|
||||
color: mat-color($foreground, secondary-text);
|
||||
color: mat.get-color-from-palette($foreground, secondary-text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||
import { ListOfSpeakersComponent } from './list-of-speakers.component';
|
||||
@ -7,12 +7,14 @@ describe('ListOfSpeakersComponent', () => {
|
||||
let component: ListOfSpeakersComponent;
|
||||
let fixture: ComponentFixture<ListOfSpeakersComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ListOfSpeakersComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ListOfSpeakersComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ListOfSpeakersComponent);
|
||||
|
@ -12,7 +12,8 @@ export interface ItemTitleInformation {
|
||||
|
||||
export class ViewItem
|
||||
extends BaseViewModelWithContentObject<Item, BaseViewModelWithAgendaItem>
|
||||
implements ItemTitleInformation {
|
||||
implements ItemTitleInformation
|
||||
{
|
||||
public static COLLECTIONSTRING = Item.COLLECTIONSTRING;
|
||||
protected _collectionString = Item.COLLECTIONSTRING;
|
||||
|
||||
|
@ -23,7 +23,8 @@ export enum UserListIndexType {
|
||||
*/
|
||||
export class ViewListOfSpeakers
|
||||
extends BaseViewModelWithContentObject<ListOfSpeakers, BaseViewModelWithListOfSpeakers>
|
||||
implements ListOfSpeakersTitleInformation, Projectable {
|
||||
implements ListOfSpeakersTitleInformation, Projectable
|
||||
{
|
||||
public static COLLECTIONSTRING = ListOfSpeakers.COLLECTIONSTRING;
|
||||
protected _collectionString = ListOfSpeakers.COLLECTIONSTRING;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -11,17 +11,19 @@ describe('AssignmentDetailComponent', () => {
|
||||
let component: AssignmentDetailComponent;
|
||||
let fixture: ComponentFixture<AssignmentDetailComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [
|
||||
AssignmentDetailComponent,
|
||||
AssignmentPollComponent,
|
||||
AssignmentPollVoteComponent,
|
||||
PollProgressComponent
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [
|
||||
AssignmentDetailComponent,
|
||||
AssignmentPollComponent,
|
||||
AssignmentPollVoteComponent,
|
||||
PollProgressComponent
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentDetailComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('AssignmentListComponent', () => {
|
||||
let component: AssignmentListComponent;
|
||||
let fixture: ComponentFixture<AssignmentListComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentListComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentListComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentListComponent);
|
||||
|
@ -38,11 +38,10 @@ export class AssignmentListComponent extends BaseListViewComponent<ViewAssignmen
|
||||
public tableColumnDefinition: PblColumnDefinition[] = [
|
||||
{
|
||||
prop: 'title',
|
||||
width: 'auto'
|
||||
width: '100%'
|
||||
},
|
||||
{
|
||||
prop: 'phase',
|
||||
width: '20%',
|
||||
minWidth: 180
|
||||
},
|
||||
{
|
||||
|
@ -36,7 +36,8 @@ export const AssignmentPollPercentBaseVerbose = {
|
||||
|
||||
export class ViewAssignmentPoll
|
||||
extends ViewBasePoll<AssignmentPoll, AssignmentPollMethod, AssignmentPollPercentBase>
|
||||
implements AssignmentPollTitleInformation {
|
||||
implements AssignmentPollTitleInformation
|
||||
{
|
||||
public static COLLECTIONSTRING = AssignmentPoll.COLLECTIONSTRING;
|
||||
protected _collectionString = AssignmentPoll.COLLECTIONSTRING;
|
||||
|
||||
|
@ -39,7 +39,8 @@ export const AssignmentPhases: { name: string; value: number; display_name: stri
|
||||
|
||||
export class ViewAssignment
|
||||
extends BaseViewModelWithAgendaItemAndListOfSpeakers<Assignment>
|
||||
implements AssignmentTitleInformation {
|
||||
implements AssignmentTitleInformation
|
||||
{
|
||||
public static COLLECTIONSTRING = Assignment.COLLECTIONSTRING;
|
||||
protected _collectionString = Assignment.COLLECTIONSTRING;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
@import '~@angular/material/theming';
|
||||
@use '~@angular/material' as mat;
|
||||
|
||||
@mixin os-assignment-poll-detail-style($theme) {
|
||||
$background: map-get($theme, background);
|
||||
@ -6,24 +6,24 @@
|
||||
.assignment-result-table {
|
||||
border-collapse: collapse;
|
||||
tr {
|
||||
border-bottom: 1px solid mat-color($background, focused-button);
|
||||
border-bottom: 1px solid mat.get-color-from-palette($background, focused-button);
|
||||
}
|
||||
}
|
||||
|
||||
.openslides-theme .pbl-ngrid-row:hover {
|
||||
background-color: mat-color($background, card);
|
||||
background-color: mat.get-color-from-palette($background, card);
|
||||
}
|
||||
|
||||
.openslides-theme os-list-view-table os-sort-filter-bar .custom-table-header {
|
||||
&,
|
||||
.action-buttons .input-container input {
|
||||
background: mat-color($background, card);
|
||||
background: mat.get-color-from-palette($background, card);
|
||||
}
|
||||
}
|
||||
|
||||
.openslides-theme .pbl-ngrid-header-cell:first-child {
|
||||
&::after {
|
||||
border-right: 1px solid mat-color($background, focused-button);
|
||||
border-right: 1px solid mat.get-color-from-palette($background, focused-button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('AssignmentPollDetailComponent', () => {
|
||||
let component: AssignmentPollDetailComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollDetailComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollDetailComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollDetailComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollDetailComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
@ -9,18 +9,20 @@ describe('AssignmentPollDialogComponent', () => {
|
||||
let component: AssignmentPollDialogComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: null },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
providers: [
|
||||
{ provide: MatDialogRef, useValue: null },
|
||||
{
|
||||
provide: MAT_DIALOG_DATA,
|
||||
useValue: null
|
||||
}
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollDialogComponent);
|
||||
|
@ -33,7 +33,8 @@ type OptionsObject = { user_id: number; user: ViewUser }[];
|
||||
})
|
||||
export class AssignmentPollDialogComponent
|
||||
extends BasePollDialogComponent<ViewAssignmentPoll, AssignmentPollService>
|
||||
implements OnInit {
|
||||
implements OnInit
|
||||
{
|
||||
public unknownUserLabel = UnknownUserLabel;
|
||||
/**
|
||||
* The summary values that will have fields in the dialog
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('AssignmentPollMetaInfoComponent', () => {
|
||||
let component: AssignmentPollMetaInfoComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollMetaInfoComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollMetaInfoComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollMetaInfoComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollMetaInfoComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('AssignmentPollVoteComponent', () => {
|
||||
let component: AssignmentPollVoteComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollVoteComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollVoteComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollVoteComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollVoteComponent);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -10,12 +10,14 @@ describe('AssignmentPollComponent', () => {
|
||||
let component: AssignmentPollComponent;
|
||||
let fixture: ComponentFixture<AssignmentPollComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollComponent, AssignmentPollVoteComponent, PollProgressComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [AssignmentPollComponent, AssignmentPollVoteComponent, PollProgressComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AssignmentPollComponent);
|
||||
|
@ -29,7 +29,8 @@ import { AssignmentPollService } from '../../services/assignment-poll.service';
|
||||
})
|
||||
export class AssignmentPollComponent
|
||||
extends BasePollComponent<ViewAssignmentPoll, AssignmentPollService>
|
||||
implements OnInit {
|
||||
implements OnInit
|
||||
{
|
||||
@Input()
|
||||
public set poll(value: ViewAssignmentPoll) {
|
||||
this.initPoll(value);
|
||||
|
@ -16,7 +16,8 @@ import { BaseViewComponentDirective } from './base-view';
|
||||
@Directive()
|
||||
export abstract class BaseImportListComponentDirective<M extends BaseModel>
|
||||
extends BaseViewComponentDirective
|
||||
implements OnInit {
|
||||
implements OnInit
|
||||
{
|
||||
/**
|
||||
* The data source for a table. Requires to be initialised with a BaseViewModel
|
||||
*/
|
||||
|
@ -11,7 +11,8 @@ import { BaseViewModel } from './base-view-model';
|
||||
|
||||
export abstract class BaseListViewComponent<V extends BaseViewModel>
|
||||
extends BaseViewComponentDirective
|
||||
implements OnDestroy {
|
||||
implements OnDestroy
|
||||
{
|
||||
/**
|
||||
* The source of the table data, will be filled by an event emitter
|
||||
*/
|
||||
|
@ -9,7 +9,8 @@ import { Projectable, ProjectorElementBuildDeskriptor } from './projectable';
|
||||
*/
|
||||
export abstract class BaseProjectableViewModel<M extends BaseModel = any>
|
||||
extends BaseViewModel<M>
|
||||
implements Projectable {
|
||||
implements Projectable
|
||||
{
|
||||
public abstract getSlide(configService?: ConfigService): ProjectorElementBuildDeskriptor;
|
||||
|
||||
/**
|
||||
|
@ -24,7 +24,8 @@ export interface SortTreeFilterOption extends Identifiable {
|
||||
@Directive()
|
||||
export abstract class SortTreeViewComponentDirective<V extends BaseViewModel>
|
||||
extends BaseViewComponentDirective
|
||||
implements CanComponentDeactivate {
|
||||
implements CanComponentDeactivate
|
||||
{
|
||||
/**
|
||||
* Reference to the view child
|
||||
*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { E2EImportsModule } from 'e2e-imports.module';
|
||||
|
||||
@ -8,12 +8,14 @@ describe('ChatMessageComponent', () => {
|
||||
let component: ChatMessageComponent;
|
||||
let fixture: ComponentFixture<ChatMessageComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ChatMessageComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
beforeEach(
|
||||
waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [E2EImportsModule],
|
||||
declarations: [ChatMessageComponent]
|
||||
}).compileComponents();
|
||||
})
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ChatMessageComponent);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user