mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 04:47:10 +08:00
Move components, containers and views to core lib
- Move files to core lib - Fix imports - Fix unit tests configuration - Fix configuration - Use ng-dynamic-component no barrels version -- enables using ng-dynamic-component in angular lib
This commit is contained in:
parent
72f065bbda
commit
3eb305ba4f
547 changed files with 2558 additions and 2452 deletions
15
angular.json
15
angular.json
|
@ -78,14 +78,14 @@
|
|||
"serve": {
|
||||
"builder": "ngx-build-plus:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "SuiteCRM:build:serve",
|
||||
"browserTarget": "shell:build:serve",
|
||||
"proxyConfig": "./proxy.conf.local.json",
|
||||
"extraWebpackConfig": "core/app/shell/webpack.config.js",
|
||||
"port": 5000
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "SuiteCRM:build:production",
|
||||
"browserTarget": "shell:build:production",
|
||||
"extraWebpackConfig": "core/app/shell/webpack.prod.config.js"
|
||||
}
|
||||
}
|
||||
|
@ -202,11 +202,18 @@
|
|||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"builder": "ngx-build-plus:karma",
|
||||
"options": {
|
||||
"main": "core/app/core/src/test.ts",
|
||||
"tsConfig": "core/app/core/tsconfig.spec.json",
|
||||
"karmaConfig": "core/app/core/karma.conf.js"
|
||||
"karmaConfig": "core/app/core/karma.conf.js",
|
||||
"styles": [
|
||||
"node_modules/bootstrap-css-only/css/bootstrap.min.css"
|
||||
],
|
||||
"scripts": [],
|
||||
"assets": [
|
||||
],
|
||||
"extraWebpackConfig": "core/app/core/webpack.config.spec.js"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
|
|
|
@ -8,27 +8,25 @@ module.exports = function (config) {
|
|||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-firefox-launcher'),
|
||||
require('karma-jasmine-html-reporter'),
|
||||
require('karma-coverage'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('@angular-devkit/build-angular/plugins/karma')
|
||||
],
|
||||
client: {
|
||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
coverageReporter: {
|
||||
dir: require('path').join(__dirname, '../../../coverage/core'),
|
||||
subdir: '.',
|
||||
reporters: [
|
||||
{ type: 'html' },
|
||||
{ type: 'text-summary' }
|
||||
],
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, '../../coverage/core'),
|
||||
reports: ['html', 'lcovonly', 'text-summary'],
|
||||
fixWebpackSourcePaths: true
|
||||
},
|
||||
reporters: ['progress', 'kjhtml'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
autoWatch: true,
|
||||
browsers: ['Chrome'],
|
||||
browsers: ['Chromium'],
|
||||
singleRun: false,
|
||||
restartOnFileChange: true
|
||||
});
|
||||
|
|
|
@ -6,12 +6,14 @@
|
|||
"@angular/core": "^11.0.0",
|
||||
"rxjs": "^6.6.3",
|
||||
"apollo-angular": "^2.2.0",
|
||||
"graphql": "^14.7.0",
|
||||
"graphql-tag": "^2.11.0",
|
||||
"@apollo/client": "^3.3.7",
|
||||
"luxon": "^1.25.0",
|
||||
"bn-ng-idle": "^1.0.1",
|
||||
"@angular-architects/module-federation": "^1.1.0",
|
||||
"lodash-es": "^4.17.20"
|
||||
"lodash-es": "^4.17.20",
|
||||
"ng-dynamic-component": "^8.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
|
|
|
@ -24,20 +24,20 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
|
||||
import {RouterTestingModule} from '@angular/router/testing';
|
||||
import {HttpClientTestingModule} from '@angular/common/http/testing';
|
||||
import {ActionBarUiComponent} from './action-bar.component';
|
||||
import {ThemeImagesStore} from 'core';
|
||||
import {of} from 'rxjs';
|
||||
import {take} from 'rxjs/operators';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {GlobalSearch} from 'core';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {themeImagesMockData} from 'core';
|
||||
import {GlobalSearch} from '../../services/navigation/global-search/global-search.service';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {themeImagesMockData} from '../../store/theme-images/theme-images.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {ThemeImagesStore} from '../../store/theme-images/theme-images.store';
|
||||
|
||||
|
||||
describe('ActionBarUiComponent', () => {
|
|
@ -27,9 +27,9 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {combineLatest, Observable} from 'rxjs';
|
||||
import {map} from 'rxjs/operators';
|
||||
import {LanguageStore, LanguageStrings} from 'core';
|
||||
import {ActionBarModel} from './action-bar-model';
|
||||
import {GlobalSearch} from 'core';
|
||||
import {LanguageStore, LanguageStrings} from '../../store/language/language.store';
|
||||
import {GlobalSearch} from '../../services/navigation/global-search/global-search.service';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-action-bar-ui',
|
|
@ -27,10 +27,10 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {ActionBarUiComponent} from './action-bar.component';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {ButtonLoadingUiModule} from 'core';
|
||||
import {ButtonLoadingUiModule} from '../../directives/button-loading/button-loading.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ActionBarUiComponent],
|
|
@ -28,15 +28,14 @@ import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
|||
import {Component} from '@angular/core';
|
||||
import {BehaviorSubject, Observable, of} from 'rxjs';
|
||||
import {BulkActionDataSource, BulkActionMenuComponent} from './bulk-action-menu.component';
|
||||
import {SelectionDataSource} from 'common';
|
||||
import {BulkActionsMap, SelectionDataSource, SelectionStatus} from 'common';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageMockData} from 'core';
|
||||
import {shareReplay, take} from 'rxjs/operators';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {BulkActionsMap, SelectionStatus} from 'common';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {languageMockData} from '../../store/language/language.store.spec.mock';
|
||||
|
||||
|
||||
const selectionSubject = new BehaviorSubject<SelectionStatus>(SelectionStatus.NONE);
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
import {Component, Input, OnInit} from '@angular/core';
|
||||
import {combineLatest, Observable} from 'rxjs';
|
||||
import {LanguageStore, LanguageStringMap} from 'core';
|
||||
import {map} from 'rxjs/operators';
|
||||
import {BulkActionsMap, DropdownButtonInterface, SelectionStatus, SelectionDataSource} from 'common';
|
||||
import {BulkActionsMap, DropdownButtonInterface, SelectionDataSource, SelectionStatus} from 'common';
|
||||
import {LanguageStore, LanguageStringMap} from '../../store/language/language.store';
|
||||
|
||||
export interface BulkActionDataSource {
|
||||
getBulkActions(): Observable<BulkActionsMap>;
|
|
@ -29,7 +29,7 @@ import {CommonModule} from '@angular/common';
|
|||
|
||||
import {BulkActionMenuComponent} from './bulk-action-menu.component';
|
||||
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [BulkActionMenuComponent],
|
|
@ -24,18 +24,18 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {ButtonGroupComponent} from './button-group.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {ButtonGroupInterface} from 'common';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {shareReplay} from 'rxjs/operators';
|
||||
import {Observable, of} from 'rxjs';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
|
||||
@Component({
|
||||
selector: 'dropdown-group-test-host-component',
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {ButtonGroupComponent} from '@components/button-group/button-group.component';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {ButtonGroupComponent} from './button-group.component';
|
||||
|
||||
|
||||
@NgModule({
|
|
@ -24,14 +24,14 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {ButtonComponent} from './button.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ButtonInterface} from 'common';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
|
||||
@Component({
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
import {Component, Input} from '@angular/core';
|
||||
import {ButtonInterface} from 'common';
|
||||
import {LanguageStore} from 'core';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-button',
|
|
@ -28,8 +28,8 @@ import {NgModule} from '@angular/core';
|
|||
import {CommonModule} from '@angular/common';
|
||||
|
||||
import {ButtonComponent} from './button.component';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {LabelModule} from '@components/label/label.module';
|
||||
import {LabelModule} from '../label/label.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ButtonComponent],
|
|
@ -24,11 +24,11 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
import {Component} from '@angular/core';
|
||||
import {ChartMessageAreaModule} from '@components/chart/components/chart-message-area/chart-message-area.module';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {ChartMessageAreaModule} from './chart-message-area.module';
|
||||
import {languageStoreMock} from '../../../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../../../store/language/language.store';
|
||||
|
||||
|
||||
@Component({
|
|
@ -25,7 +25,7 @@
|
|||
*/
|
||||
|
||||
import {Component, Input} from '@angular/core';
|
||||
import {LanguageStore} from 'core';
|
||||
import {LanguageStore} from '../../../../store/language/language.store';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-chart-message-area',
|
|
@ -26,8 +26,8 @@
|
|||
|
||||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {ChartMessageAreaComponent} from '@components/chart/components/chart-message-area/chart-message-area.component';
|
||||
import {LabelModule} from '@components/label/label.module';
|
||||
import {LabelModule} from '../../../label/label.module';
|
||||
import {ChartMessageAreaComponent} from './chart-message-area.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ChartMessageAreaComponent],
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
import {Component, Input, OnInit} from '@angular/core';
|
||||
import {ChartDataSource} from 'common';
|
||||
import {chartTypeMap} from '@components/chart/components/chart/chart.manifest';
|
||||
import {chartTypeMap} from './chart.manifest';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-chart',
|
|
@ -0,0 +1,18 @@
|
|||
import {PieGridChartComponent} from '../pie-grid-chart/pie-grid-chart.component';
|
||||
import {VerticalBarChartModule} from '../vertical-bar-chart/vertical-bar-chart.module';
|
||||
import {VerticalBarChartComponent} from '../vertical-bar-chart/vertical-bar-chart.component';
|
||||
import {PieGridChartModule} from '../pie-grid-chart/pie-grid-chart.module';
|
||||
import {LineChartModule} from '../line-chart/line-chart.module';
|
||||
import {LineChartComponent} from '../line-chart/line-chart.component';
|
||||
|
||||
export const chartModules = [
|
||||
LineChartModule,
|
||||
PieGridChartModule,
|
||||
VerticalBarChartModule
|
||||
];
|
||||
|
||||
export const chartTypeMap = {
|
||||
'line-chart': LineChartComponent,
|
||||
'pie-grid': PieGridChartComponent,
|
||||
'vertical-bar': VerticalBarChartComponent
|
||||
};
|
|
@ -28,8 +28,8 @@ import {NgModule} from '@angular/core';
|
|||
import {CommonModule} from '@angular/common';
|
||||
import {ChartComponent} from './chart.component';
|
||||
import {DynamicModule} from 'ng-dynamic-component';
|
||||
import {chartModules} from '@components/chart/components/chart/chart.manifest';
|
||||
import {ChartMessageAreaModule} from '@components/chart/components/chart-message-area/chart-message-area.module';
|
||||
import {ChartMessageAreaModule} from '../chart-message-area/chart-message-area.module';
|
||||
import {chartModules} from './chart.manifest';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ChartComponent],
|
||||
|
@ -38,7 +38,7 @@ import {ChartMessageAreaModule} from '@components/chart/components/chart-message
|
|||
CommonModule,
|
||||
...chartModules,
|
||||
DynamicModule,
|
||||
ChartMessageAreaModule
|
||||
ChartMessageAreaModule,
|
||||
]
|
||||
})
|
||||
export class ChartModule {
|
|
@ -25,10 +25,9 @@
|
|||
*/
|
||||
|
||||
import {Component, OnDestroy, OnInit} from '@angular/core';
|
||||
import {BaseChartComponent} from '@components/chart/components/base-chart/base-chart.component';
|
||||
import {MultiSeries} from 'common';
|
||||
import {isFalse} from 'common';
|
||||
import {isFalse, MultiSeries} from 'common';
|
||||
import {Subscription} from 'rxjs';
|
||||
import {BaseChartComponent} from '../base-chart/base-chart.component';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-line-chart',
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {LineChartComponent} from '@components/chart/components/line-chart/line-chart.component';
|
||||
import {NgxChartsModule} from '@swimlane/ngx-charts';
|
||||
import {ChartMessageAreaModule} from '@components/chart/components/chart-message-area/chart-message-area.module';
|
||||
import {ChartMessageAreaModule} from '../chart-message-area/chart-message-area.module';
|
||||
import {LineChartComponent} from './line-chart.component';
|
||||
|
||||
|
||||
@NgModule({
|
|
@ -25,10 +25,10 @@
|
|||
*/
|
||||
|
||||
import {Component, OnDestroy, OnInit} from '@angular/core';
|
||||
import {BaseChartComponent} from '@components/chart/components/base-chart/base-chart.component';
|
||||
import {SeriesResult, SingleSeries} from 'common';
|
||||
import {Subscription} from 'rxjs';
|
||||
import {LanguageStore} from 'core';
|
||||
import {LanguageStore} from '../../../../store/language/language.store';
|
||||
import {BaseChartComponent} from '../base-chart/base-chart.component';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-pie-grid-chart',
|
|
@ -28,7 +28,7 @@ import {NgModule} from '@angular/core';
|
|||
import {CommonModule} from '@angular/common';
|
||||
import {PieGridChartComponent} from './pie-grid-chart.component';
|
||||
import {NgxChartsModule} from '@swimlane/ngx-charts';
|
||||
import {ChartMessageAreaModule} from '@components/chart/components/chart-message-area/chart-message-area.module';
|
||||
import {ChartMessageAreaModule} from '../chart-message-area/chart-message-area.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [PieGridChartComponent],
|
|
@ -25,10 +25,9 @@
|
|||
*/
|
||||
|
||||
import {Component, OnDestroy, OnInit} from '@angular/core';
|
||||
import {BaseChartComponent} from '@components/chart/components/base-chart/base-chart.component';
|
||||
import {SingleSeries} from 'common';
|
||||
import {isFalse} from 'common';
|
||||
import {isFalse, SingleSeries} from 'common';
|
||||
import {Subscription} from 'rxjs';
|
||||
import {BaseChartComponent} from '../base-chart/base-chart.component';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-vertical-bar-chart',
|
|
@ -28,7 +28,7 @@ import {NgModule} from '@angular/core';
|
|||
import {CommonModule} from '@angular/common';
|
||||
import {VerticalBarChartComponent} from './vertical-bar-chart.component';
|
||||
import {NgxChartsModule} from '@swimlane/ngx-charts';
|
||||
import {ChartMessageAreaModule} from '@components/chart/components/chart-message-area/chart-message-area.module';
|
||||
import {ChartMessageAreaModule} from '../chart-message-area/chart-message-area.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [VerticalBarChartComponent],
|
|
@ -24,13 +24,13 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
import {Component} from '@angular/core';
|
||||
import {CloseButtonComponent} from './close-button.component';
|
||||
import {ButtonInterface} from 'common';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
|
||||
@Component({
|
||||
selector: 'close-button-test-host-component',
|
|
@ -27,7 +27,7 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {CloseButtonComponent} from './close-button.component';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [CloseButtonComponent],
|
|
@ -27,8 +27,7 @@
|
|||
import {Component, OnInit} from '@angular/core';
|
||||
import {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop';
|
||||
import {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';
|
||||
import { ButtonInterface } from '@base/app-common/components/button/button.model';
|
||||
import { ModalCloseFeedBack } from '@base/app-common/components/modal/modal.model';
|
||||
import {ButtonInterface, ModalCloseFeedBack} from 'common';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-columnchooser',
|
||||
|
@ -37,7 +36,7 @@ import { ModalCloseFeedBack } from '@base/app-common/components/modal/modal.mode
|
|||
|
||||
export class ColumnChooserComponent implements OnInit {
|
||||
close: ButtonInterface;
|
||||
|
||||
|
||||
modalTitle = 'Choose Columns';
|
||||
|
||||
displayed = [
|
|
@ -29,9 +29,9 @@ import {CommonModule} from '@angular/common';
|
|||
|
||||
import {ColumnChooserComponent} from './columnchooser.component';
|
||||
import {DragDropModule} from '@angular/cdk/drag-drop';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import { CloseButtonModule } from '../close-button/close-button.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [ColumnChooserComponent],
|
|
@ -24,15 +24,15 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {DropdownButtonComponent} from './dropdown-button.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {DropdownButtonInterface} from 'common';
|
||||
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
|
||||
@Component({
|
||||
selector: 'dropdown-button-test-host-component',
|
|
@ -28,8 +28,8 @@ import {NgModule} from '@angular/core';
|
|||
import {CommonModule} from '@angular/common';
|
||||
import {DropdownButtonComponent} from './dropdown-button.component';
|
||||
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {DropdownSubmenuModule} from '@components/dropdown-submenu/dropdown-submenu.module';
|
||||
import {DropdownSubmenuModule} from '../dropdown-submenu/dropdown-submenu.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [DropdownButtonComponent],
|
|
@ -24,14 +24,14 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {DropdownSubmenuComponent} from './dropdown-submenu.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {DropdownButtonInterface} from 'common';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
|
||||
|
||||
@Component({
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {DropdownSubmenuComponent} from '@components/dropdown-submenu/dropdown-submenu.component';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {DropdownSubmenuComponent} from './dropdown-submenu.component';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
|
||||
@NgModule({
|
|
@ -27,19 +27,19 @@
|
|||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
import {Component} from '@angular/core';
|
||||
import {Field} from 'common';
|
||||
import {DynamicLabelModule} from '@components/dynamic-label/dynamic-label.module';
|
||||
import {UserPreferenceStore} from 'core';
|
||||
import {userPreferenceStoreMock} from 'core';
|
||||
import {NumberFormatter} from 'core';
|
||||
import {numberFormatterMock} from 'core';
|
||||
import {DatetimeFormatter} from 'core';
|
||||
import {datetimeFormatterMock} from 'core';
|
||||
import {DateFormatter} from 'core';
|
||||
import {dateFormatterMock} from 'core';
|
||||
import {CurrencyFormatter} from 'core';
|
||||
import {currencyFormatterMock} from 'core';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {UserPreferenceStore} from '../../store/user-preference/user-preference.store';
|
||||
import {datetimeFormatterMock} from '../../services/formatters/datetime/datetime-formatter.service.spec.mock';
|
||||
import {CurrencyFormatter} from '../../services/formatters/currency/currency-formatter.service';
|
||||
import {userPreferenceStoreMock} from '../../store/user-preference/user-preference.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {DynamicLabelModule} from './dynamic-label.module';
|
||||
import {numberFormatterMock} from '../../services/formatters/number/number-formatter.spec.mock';
|
||||
import {dateFormatterMock} from '../../services/formatters/datetime/date-formatter.service.spec.mock';
|
||||
import {DateFormatter} from '../../services/formatters/datetime/date-formatter.service';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {currencyFormatterMock} from '../../services/formatters/currency/currency-formatter.service.spec.mock';
|
||||
import {DatetimeFormatter} from '../../services/formatters/datetime/datetime-formatter.service';
|
||||
import {NumberFormatter} from '../../services/formatters/number/number-formatter.service';
|
||||
|
||||
@Component({
|
||||
selector: 'dynamic-label-test-host-component',
|
|
@ -25,12 +25,11 @@
|
|||
*/
|
||||
|
||||
import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';
|
||||
import {DynamicLabelService} from 'core';
|
||||
import {StringMap} from 'common';
|
||||
import {FieldMap} from 'common';
|
||||
import {LanguageStore, LanguageStrings} from 'core';
|
||||
import {FieldMap, StringMap} from 'common';
|
||||
import {Observable} from 'rxjs';
|
||||
import {tap} from 'rxjs/operators';
|
||||
import {LanguageStore, LanguageStrings} from '../../store/language/language.store';
|
||||
import {DynamicLabelService} from '../../services/language/dynamic-label.service';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-dynamic-label',
|
|
@ -24,10 +24,10 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { Input, OnDestroy, OnInit, Directive } from '@angular/core';
|
||||
import {FieldGridRow} from '@components/field-grid/field-grid.model';
|
||||
import {Directive, Input, OnDestroy, OnInit} from '@angular/core';
|
||||
import {Subscription} from 'rxjs';
|
||||
import {BreakpointObserver, Breakpoints, BreakpointState} from '@angular/cdk/layout';
|
||||
import {FieldGridRow} from './field-grid.model';
|
||||
|
||||
|
||||
@Directive()
|
|
@ -24,19 +24,19 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
import {FieldGridComponent} from './field-grid.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
||||
import {LayoutModule} from '@angular/cdk/layout';
|
||||
import {FieldModule} from '@fields/field.module';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {RouterTestingModule} from '@angular/router/testing';
|
||||
import {Field} from 'common';
|
||||
import {ApolloTestingModule} from 'apollo-angular/testing';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
|
||||
@Component({
|
||||
selector: 'field-grid-host-component',
|
|
@ -25,10 +25,10 @@
|
|||
*/
|
||||
|
||||
import {Component, Input, OnChanges} from '@angular/core';
|
||||
import {FieldGridColumn, FieldGridRow} from '@components/field-grid/field-grid.model';
|
||||
import {BreakpointObserver} from '@angular/cdk/layout';
|
||||
import {Field} from 'common';
|
||||
import {BaseFieldGridComponent} from '@components/field-grid/base-field-grid.component';
|
||||
import {FieldGridColumn, FieldGridRow} from './field-grid.model';
|
||||
import {BaseFieldGridComponent} from './base-field-grid.component';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-field-grid',
|
|
@ -27,8 +27,8 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FieldGridComponent} from './field-grid.component';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {FieldModule} from '@fields/field.module';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [FieldGridComponent],
|
|
@ -24,38 +24,35 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {FieldLayoutComponent} from './field-layout.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {FieldMap} from 'common';
|
||||
import {ButtonModule} from '@components/button/button.module';
|
||||
import {DropdownButtonModule} from '@components/dropdown-button/dropdown-button.module';
|
||||
import {deepClone, FieldMap, Panel, Record} from 'common';
|
||||
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
||||
import {LayoutModule} from '@angular/cdk/layout';
|
||||
import {FieldModule} from '@fields/field.module';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {RouterTestingModule} from '@angular/router/testing';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {BehaviorSubject, Observable} from 'rxjs';
|
||||
import {Panel} from 'common';
|
||||
import {FieldLayoutConfig, FieldLayoutDataSource} from '@components/field-layout/field-layout.model';
|
||||
import {deepClone} from 'common';
|
||||
import {Record} from 'common';
|
||||
import {ModuleNameMapper} from 'core';
|
||||
import {moduleNameMapperMock} from 'core';
|
||||
import {UserPreferenceStore} from 'core';
|
||||
import {userPreferenceStoreMock} from 'core';
|
||||
import {NumberFormatter} from 'core';
|
||||
import {numberFormatterMock} from 'core';
|
||||
import {DatetimeFormatter} from 'core';
|
||||
import {datetimeFormatterMock} from 'core';
|
||||
import {DateFormatter} from 'core';
|
||||
import {dateFormatterMock} from 'core';
|
||||
import {CurrencyFormatter} from 'core';
|
||||
import {currencyFormatterMock} from 'core';
|
||||
import {LanguageStore} from 'core';
|
||||
import {languageStoreMock} from 'core';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {DropdownButtonModule} from '../dropdown-button/dropdown-button.module';
|
||||
import {ButtonModule} from '../button/button.module';
|
||||
import {moduleNameMapperMock} from '../../services/navigation/module-name-mapper/module-name-mapper.service.spec.mock';
|
||||
import {UserPreferenceStore} from '../../store/user-preference/user-preference.store';
|
||||
import {FieldLayoutConfig, FieldLayoutDataSource} from './field-layout.model';
|
||||
import {datetimeFormatterMock} from '../../services/formatters/datetime/datetime-formatter.service.spec.mock';
|
||||
import {CurrencyFormatter} from '../../services/formatters/currency/currency-formatter.service';
|
||||
import {userPreferenceStoreMock} from '../../store/user-preference/user-preference.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {numberFormatterMock} from '../../services/formatters/number/number-formatter.spec.mock';
|
||||
import {ModuleNameMapper} from '../../services/navigation/module-name-mapper/module-name-mapper.service';
|
||||
import {dateFormatterMock} from '../../services/formatters/datetime/date-formatter.service.spec.mock';
|
||||
import {DateFormatter} from '../../services/formatters/datetime/date-formatter.service';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {currencyFormatterMock} from '../../services/formatters/currency/currency-formatter.service.spec.mock';
|
||||
import {DatetimeFormatter} from '../../services/formatters/datetime/datetime-formatter.service';
|
||||
import {NumberFormatter} from '../../services/formatters/number/number-formatter.service';
|
||||
|
||||
/* eslint-disable camelcase, @typescript-eslint/camelcase */
|
||||
const mockConfigData: FieldLayoutConfig = {
|
|
@ -25,13 +25,11 @@
|
|||
*/
|
||||
|
||||
import {Component, Input} from '@angular/core';
|
||||
import {FieldMap} from 'common';
|
||||
import {FieldGridColumn, FieldGridRow} from '@components/field-grid/field-grid.model';
|
||||
import {FieldMap, Panel, Record} from 'common';
|
||||
import {BreakpointObserver} from '@angular/cdk/layout';
|
||||
import {Panel} from 'common';
|
||||
import {FieldLayoutConfig, FieldLayoutDataSource} from '@components/field-layout/field-layout.model';
|
||||
import {BaseFieldGridComponent} from '@components/field-grid/base-field-grid.component';
|
||||
import {Record} from 'common';
|
||||
import {FieldGridColumn, FieldGridRow} from '../field-grid/field-grid.model';
|
||||
import {BaseFieldGridComponent} from '../field-grid/base-field-grid.component';
|
||||
import {FieldLayoutConfig, FieldLayoutDataSource} from './field-layout.model';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-field-layout',
|
|
@ -27,9 +27,9 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FieldLayoutComponent} from './field-layout.component';
|
||||
import {FieldModule} from '@fields/field.module';
|
||||
import {FieldGridModule} from '@components/field-grid/field-grid.module';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {FieldGridModule} from '../field-grid/field-grid.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
|
||||
@NgModule({
|
|
@ -24,13 +24,13 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {FilterUiComponent} from './filter.component';
|
||||
import {ThemeImagesStore} from 'core';
|
||||
import {of} from 'rxjs';
|
||||
import {themeImagesMockData} from 'core';
|
||||
import {take} from 'rxjs/operators';
|
||||
import {themeImagesMockData} from '../../store/theme-images/theme-images.store.spec.mock';
|
||||
import {ThemeImagesStore} from '../../store/theme-images/theme-images.store';
|
||||
|
||||
describe('FilterUiComponent', () => {
|
||||
let component: FilterUiComponent;
|
|
@ -27,7 +27,7 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FilterUiComponent} from './filter.component';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [FilterUiComponent],
|
|
@ -27,8 +27,8 @@
|
|||
import {Component, OnInit} from '@angular/core';
|
||||
|
||||
import {ModalDismissReasons, NgbModal} from '@ng-bootstrap/ng-bootstrap';
|
||||
import {AuthService} from 'core';
|
||||
import {Subscription} from 'rxjs';
|
||||
import {AuthService} from '../../services/auth/auth.service';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-footer-ui',
|
|
@ -27,7 +27,7 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FooterUiComponent} from './footer.component';
|
||||
import {ImageModule} from '@components/image/image.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
|
||||
@NgModule({
|
|
@ -27,7 +27,7 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {AngularSvgIconModule} from 'angular-svg-icon';
|
||||
import {FullPageSpinnerComponent} from '@components/full-page-spinner/full-page-spinner.component';
|
||||
import {FullPageSpinnerComponent} from './full-page-spinner.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
|
@ -24,12 +24,12 @@
|
|||
* the words "Supercharged by SuiteCRM".
|
||||
*/
|
||||
|
||||
import {SingleValueStatisticsStoreFactory} from '@store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {StatisticsFetchGQL} from '@store/statistics/graphql/api.statistics.get';
|
||||
import {StatisticsMap, StatisticsQueryMap} from '@app-common/statistics/statistics.model';
|
||||
import {Observable, of} from 'rxjs';
|
||||
import {shareReplay} from 'rxjs/operators';
|
||||
import {fieldManagerMock} from '@services/record/field/field.manager.spec.mock';
|
||||
import {SingleValueStatisticsStoreFactory} from '../../store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {fieldManagerMock} from '../../services/record/field/field.manager.spec.mock';
|
||||
import {StatisticsFetchGQL} from '../../store/statistics/graphql/api.statistics.get';
|
||||
import {StatisticsMap, StatisticsQueryMap} from 'common';
|
||||
|
||||
class StatisticsFetchGQLSpy extends StatisticsFetchGQL {
|
||||
constructor() {
|
|
@ -26,19 +26,7 @@
|
|||
|
||||
import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing';
|
||||
|
||||
import {
|
||||
GridWidgetComponent,
|
||||
GridWidgetConfig,
|
||||
StatisticsQueryArgs
|
||||
} from '@components/grid-widget/grid-widget.component';
|
||||
import {Component} from '@angular/core';
|
||||
import {ViewContext} from '@app-common/views/view.model';
|
||||
import {WidgetMetadata} from '@app-common/metadata/widget.metadata';
|
||||
import {LanguageStore} from '@store/language/language.store';
|
||||
import {languageStoreMock} from '@store/language/language.store.spec.mock';
|
||||
import {gridWidgetFactoryMock} from '@components/grid-widget/grid-widget.component.spec.mock';
|
||||
import {SingleValueStatisticsStoreFactory} from '@store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {FieldModule} from '@fields/field.module';
|
||||
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {RouterTestingModule} from '@angular/router/testing';
|
||||
|
@ -47,6 +35,13 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations';
|
|||
import {interval} from 'rxjs';
|
||||
import {take} from 'rxjs/operators';
|
||||
import {GridWidgetModule} from './grid-widget.module';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {GridWidgetComponent, GridWidgetConfig, StatisticsQueryArgs} from './grid-widget.component';
|
||||
import {SingleValueStatisticsStoreFactory} from '../../store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {languageStoreMock} from '../../store/language/language.store.spec.mock';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {gridWidgetFactoryMock} from './grid-widget.component.spec.mock';
|
||||
import {ViewContext, WidgetMetadata} from 'common';
|
||||
|
||||
@Component({
|
||||
selector: 'scrm-grid-widget-test-host-component',
|
|
@ -25,30 +25,29 @@
|
|||
*/
|
||||
|
||||
import {Component, Input, OnDestroy, OnInit} from '@angular/core';
|
||||
|
||||
import {combineLatest, Observable, of, Subscription} from 'rxjs';
|
||||
import {map, shareReplay, take} from 'rxjs/operators';
|
||||
import {SingleValueStatisticsStoreFactory} from '../../store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {LanguageStore} from '../../store/language/language.store';
|
||||
import {
|
||||
ContentAlign,
|
||||
ContentJustify,
|
||||
FieldMap,
|
||||
isTrue,
|
||||
SingleValueStatisticsState,
|
||||
SingleValueStatisticsStoreInterface,
|
||||
StatisticMetadata,
|
||||
StatisticsQuery,
|
||||
StatisticWidgetLayoutCol,
|
||||
StatisticWidgetLayoutRow,
|
||||
StatisticWidgetOptions,
|
||||
StringMap,
|
||||
TextColor,
|
||||
TextSizes,
|
||||
WidgetMetadata
|
||||
} from '@app-common/metadata/widget.metadata';
|
||||
import {isTrue} from '@app-common/utils/value-utils';
|
||||
|
||||
import {LanguageStore} from '@store/language/language.store';
|
||||
import {combineLatest, Observable, of, Subscription} from 'rxjs';
|
||||
import {map, shareReplay, take} from 'rxjs/operators';
|
||||
import {SingleValueStatisticsStoreFactory} from '@store/single-value-statistics/single-value-statistics.store.factory';
|
||||
import {StatisticMetadata, StatisticsQuery} from '@app-common/statistics/statistics.model';
|
||||
import {ViewContext} from '@app-common/views/view.model';
|
||||
import {StringMap} from '@app-common/types/StringMap';
|
||||
import {FieldMap} from '@app-common/record/field.model';
|
||||
import {
|
||||
SingleValueStatisticsState,
|
||||
SingleValueStatisticsStoreInterface
|
||||
} from '@app-common/statistics/statistics-store.model';
|
||||
ViewContext,
|
||||
WidgetMetadata,
|
||||
} from 'common';
|
||||
|
||||
interface StatisticsEntry {
|
||||
labelKey?: string;
|
|
@ -0,0 +1,27 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FieldModule} from '../../fields/field.module';
|
||||
import {InlineLoadingSpinnerModule} from '../inline-loading-spinner/inline-loading-spinner.module';
|
||||
import {WidgetPanelModule} from '../widget-panel/widget-panel.module';
|
||||
import {GridWidgetComponent} from './grid-widget.component';
|
||||
import {LabelModule} from '../label/label.module';
|
||||
import {DynamicLabelModule} from '../dynamic-label/dynamic-label.module';
|
||||
import {ImageModule} from '../image/image.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [GridWidgetComponent],
|
||||
exports: [
|
||||
GridWidgetComponent
|
||||
],
|
||||
imports: [
|
||||
CommonModule,
|
||||
FieldModule,
|
||||
InlineLoadingSpinnerModule,
|
||||
WidgetPanelModule,
|
||||
LabelModule,
|
||||
ImageModule,
|
||||
DynamicLabelModule
|
||||
]
|
||||
})
|
||||
export class GridWidgetModule {
|
||||
}
|
|
@ -27,13 +27,13 @@
|
|||
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||
|
||||
import {ImageComponent} from './image.component';
|
||||
import {ThemeImagesStore} from 'core';
|
||||
import {themeImagesMockData} from 'core';
|
||||
import {HttpClientTestingModule} from '@angular/common/http/testing';
|
||||
import {AngularSvgIconModule} from 'angular-svg-icon';
|
||||
import {of} from 'rxjs';
|
||||
import {take} from 'rxjs/operators';
|
||||
import {Component} from '@angular/core';
|
||||
import {themeImagesMockData} from '../../store/theme-images/theme-images.store.spec.mock';
|
||||
import {ThemeImagesStore} from '../../store/theme-images/theme-images.store';
|
||||
|
||||
@Component({
|
||||
selector: 'host-component',
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue