feature(ui-library): Added own library of UI components to replace digi-ng. Skeleton is first component moved (TV-850)
Squashed commit of the following: commit d76e32cd99e2e823142f4410e66c66df5e096041 Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Thu Oct 28 10:28:02 2021 +0200 Move styles to own library commit 85f0a5788ebdd7309499b1b623f4ac1046f45811 Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Thu Oct 28 10:09:23 2021 +0200 double quotes in html commit eeb600cd631e3478c136795a8109e8927546b14b Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Wed Oct 27 16:42:48 2021 +0200 UI library with copy of digi-ng's skeleton commit 11a24c0eef173e6b2f087eca5e96063036e6394b Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Wed Oct 27 16:06:43 2021 +0200 Update .eslintrc.json commit 3c4b2e4823dbd8e9ca8dd332966bd10ac0fc098f Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Wed Oct 27 15:08:32 2021 +0200 add nx library
This commit is contained in:
58
angular.json
58
angular.json
@@ -51,7 +51,7 @@
|
|||||||
"assets": ["apps/mina-sidor-fa/src/assets"],
|
"assets": ["apps/mina-sidor-fa/src/assets"],
|
||||||
"styles": ["apps/mina-sidor-fa/src/styles/styles.scss"],
|
"styles": ["apps/mina-sidor-fa/src/styles/styles.scss"],
|
||||||
"stylePreprocessorOptions": {
|
"stylePreprocessorOptions": {
|
||||||
"includePaths": ["apps/mina-sidor-fa/src/styles"]
|
"includePaths": ["libs/styles/src"]
|
||||||
},
|
},
|
||||||
"scripts": ["node_modules/marked/lib/marked.js"],
|
"scripts": ["node_modules/marked/lib/marked.js"],
|
||||||
"allowedCommonJsDependencies": ["opentracing/lib/span", "opentracing/lib/tracer", "error-stack-parser"]
|
"allowedCommonJsDependencies": ["opentracing/lib/span", "opentracing/lib/tracer", "error-stack-parser"]
|
||||||
@@ -188,6 +188,62 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ui": {
|
||||||
|
"projectType": "library",
|
||||||
|
"root": "libs/ui",
|
||||||
|
"sourceRoot": "libs/ui/src",
|
||||||
|
"prefix": "mina-sidor-fa-web",
|
||||||
|
"architect": {
|
||||||
|
"build": {
|
||||||
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
|
"options": {
|
||||||
|
"outputPath": "dist/apps/mina-sidor-fa",
|
||||||
|
"index": "apps/mina-sidor-fa/src/index.html",
|
||||||
|
"main": "apps/mina-sidor-fa/src/main.ts",
|
||||||
|
"tsConfig": "apps/mina-sidor-fa/tsconfig.app.json",
|
||||||
|
"stylePreprocessorOptions": {
|
||||||
|
"includePaths": ["libs/styles/src"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint": {
|
||||||
|
"builder": "@nrwl/linter:eslint",
|
||||||
|
"options": {
|
||||||
|
"lintFilePatterns": ["libs/ui/src/**/*.ts", "libs/ui/src/**/*.html"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"builder": "@nrwl/jest:jest",
|
||||||
|
"outputs": ["coverage/libs/ui"],
|
||||||
|
"options": {
|
||||||
|
"jestConfig": "libs/ui/jest.config.js",
|
||||||
|
"passWithNoTests": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"styles": {
|
||||||
|
"projectType": "library",
|
||||||
|
"root": "libs/styles",
|
||||||
|
"sourceRoot": "libs/styles/src",
|
||||||
|
"prefix": "mina-sidor-fa-web",
|
||||||
|
"architect": {
|
||||||
|
"lint": {
|
||||||
|
"builder": "@nrwl/linter:eslint",
|
||||||
|
"options": {
|
||||||
|
"lintFilePatterns": ["libs/styles/src/**/*.ts", "libs/styles/src/**/*.html"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"builder": "@nrwl/jest:jest",
|
||||||
|
"outputs": ["coverage/libs/styles"],
|
||||||
|
"options": {
|
||||||
|
"jestConfig": "libs/styles/jest.config.js",
|
||||||
|
"passWithNoTests": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</section>
|
</section>
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar personalkonto"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar personalkonto"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #emptyDD class="employee-card__list">
|
<ng-template #emptyDD class="employee-card__list">
|
||||||
<dd>
|
<dd>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { DigiNgLayoutExpansionPanelModule } from '@af/digi-ng/_layout/layout-expansion-panel';
|
import { DigiNgLayoutExpansionPanelModule } from '@af/digi-ng/_layout/layout-expansion-panel';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -17,7 +17,7 @@ import { EmployeeCardComponent } from './employee-card.component';
|
|||||||
CommonModule,
|
CommonModule,
|
||||||
RouterModule.forChild([{ path: '', component: EmployeeCardComponent }]),
|
RouterModule.forChild([{ path: '', component: EmployeeCardComponent }]),
|
||||||
LayoutModule,
|
LayoutModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgLayoutExpansionPanelModule,
|
DigiNgLayoutExpansionPanelModule,
|
||||||
LocalDatePipeModule,
|
LocalDatePipeModule,
|
||||||
HideTextModule,
|
HideTextModule,
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #isLoadingEmployeeTemplate>
|
<ng-template #isLoadingEmployeeTemplate>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar personalkonto..."></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar personalkonto..."></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</section>
|
</section>
|
||||||
</digi-typography>
|
</digi-typography>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import { LocalDatePipeModule } from '@msfa-shared/pipes/local-date/local-date.mo
|
|||||||
import { EmployeeDeleteModule } from '../../components/employee-delete/employee-delete.module';
|
import { EmployeeDeleteModule } from '../../components/employee-delete/employee-delete.module';
|
||||||
import { EditEmployeeFormComponent } from './edit-employee-form/edit-employee-form.component';
|
import { EditEmployeeFormComponent } from './edit-employee-form/edit-employee-form.component';
|
||||||
import { EmployeeFormComponent } from './employee-form.component';
|
import { EmployeeFormComponent } from './employee-form.component';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { ErrorListModule } from '@msfa-shared/components/error-list/error-list.module';
|
import { ErrorListModule } from '@msfa-shared/components/error-list/error-list.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
@@ -38,7 +38,7 @@ import { ErrorListModule } from '@msfa-shared/components/error-list/error-list.m
|
|||||||
DigiNgFormCheckboxModule,
|
DigiNgFormCheckboxModule,
|
||||||
DigiNgButtonModule,
|
DigiNgButtonModule,
|
||||||
DigiNgLoaderSpinnerModule,
|
DigiNgLoaderSpinnerModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
LayoutModule,
|
LayoutModule,
|
||||||
EmployeeDeleteModule,
|
EmployeeDeleteModule,
|
||||||
DigiNgDialogModule,
|
DigiNgDialogModule,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { HttpClientTestingModule } from '@angular/common/http/testing';
|
import { HttpClientTestingModule } from '@angular/common/http/testing';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
@@ -17,7 +17,7 @@ describe('EmployeesListComponent', () => {
|
|||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
declarations: [EmployeesListComponent, LayoutComponent],
|
declarations: [EmployeesListComponent, LayoutComponent],
|
||||||
imports: [RouterTestingModule, DigiNgSkeletonBaseModule, HttpClientTestingModule],
|
imports: [RouterTestingModule, UiSkeletonModule, HttpClientTestingModule],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
|
|
||||||
fixture = TestBed.createComponent(EmployeesListComponent);
|
fixture = TestBed.createComponent(EmployeesListComponent);
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
</digi-typography>
|
</digi-typography>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar personal"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar personal"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</section>
|
</section>
|
||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { DigiNgLinkButtonModule } from '@af/digi-ng/_link/link-button';
|
import { DigiNgLinkButtonModule } from '@af/digi-ng/_link/link-button';
|
||||||
import { DigiNgLinkInternalModule } from '@af/digi-ng/_link/link-internal';
|
import { DigiNgLinkInternalModule } from '@af/digi-ng/_link/link-internal';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
@@ -18,7 +18,7 @@ import { EmployeesComponent } from './employees.component';
|
|||||||
RouterModule.forChild([{ path: '', component: EmployeesComponent }]),
|
RouterModule.forChild([{ path: '', component: EmployeesComponent }]),
|
||||||
LayoutModule,
|
LayoutModule,
|
||||||
DigiNgLinkInternalModule,
|
DigiNgLinkInternalModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
EmployeesListModule,
|
EmployeesListModule,
|
||||||
EmployeeDeleteModule,
|
EmployeeDeleteModule,
|
||||||
DigiNgLinkButtonModule,
|
DigiNgLinkButtonModule,
|
||||||
|
|||||||
@@ -131,7 +131,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar nya deltagare"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar nya deltagare"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #noAvailabeHandledare>
|
<ng-template #noAvailabeHandledare>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -21,7 +21,7 @@ import { AvropListModule } from './components/avrop-list/avrop-list.module';
|
|||||||
AvropListModule,
|
AvropListModule,
|
||||||
AvropFiltersModule,
|
AvropFiltersModule,
|
||||||
DigiNgProgressProgressbarModule,
|
DigiNgProgressProgressbarModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
HandledarePickerFormModule,
|
HandledarePickerFormModule,
|
||||||
UnauthorizedAlertModule,
|
UnauthorizedAlertModule,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { LoaderModule } from '@msfa-shared/components/loader/loader.module';
|
import { LoaderModule } from '@msfa-shared/components/loader/loader.module';
|
||||||
@@ -8,7 +8,7 @@ import { AvropListComponent } from './avrop-list.component';
|
|||||||
@NgModule({
|
@NgModule({
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
declarations: [AvropListComponent],
|
declarations: [AvropListComponent],
|
||||||
imports: [CommonModule, AvropRowModule, LoaderModule, DigiNgSkeletonBaseModule],
|
imports: [CommonModule, AvropRowModule, LoaderModule, UiSkeletonModule],
|
||||||
exports: [AvropListComponent],
|
exports: [AvropListComponent],
|
||||||
})
|
})
|
||||||
export class AvropListModule {}
|
export class AvropListModule {}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/mixins/list';
|
@import 'mixins/list';
|
||||||
|
|
||||||
.deltagare-tab-experiences {
|
.deltagare-tab-experiences {
|
||||||
display: contents;
|
display: contents;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/variables/gutters';
|
@import 'variables/gutters';
|
||||||
|
|
||||||
.reports-list {
|
.reports-list {
|
||||||
&__pagination {
|
&__pagination {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/variables/z-index';
|
@import 'variables/z-index';
|
||||||
|
|
||||||
.deltagare-tab-sensitive-information {
|
.deltagare-tab-sensitive-information {
|
||||||
display: contents;
|
display: contents;
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar deltagarinformation"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar deltagarinformation"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/variables/gutters';
|
@import 'variables/gutters';
|
||||||
|
|
||||||
.deltagare-card {
|
.deltagare-card {
|
||||||
&__tab-contents {
|
&__tab-contents {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
|||||||
import { DigiNgLayoutExpansionPanelModule } from '@af/digi-ng/_layout/layout-expansion-panel';
|
import { DigiNgLayoutExpansionPanelModule } from '@af/digi-ng/_layout/layout-expansion-panel';
|
||||||
import { DigiNgLinkButtonModule } from '@af/digi-ng/_link/link-button';
|
import { DigiNgLinkButtonModule } from '@af/digi-ng/_link/link-button';
|
||||||
import { DigiNgPopoverModule } from '@af/digi-ng/_popover/popover';
|
import { DigiNgPopoverModule } from '@af/digi-ng/_popover/popover';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -43,7 +43,7 @@ import { DeltagareCardService } from './deltagare-card.service';
|
|||||||
DigiNgPopoverModule,
|
DigiNgPopoverModule,
|
||||||
DigiNgLinkButtonModule,
|
DigiNgLinkButtonModule,
|
||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
],
|
],
|
||||||
providers: [DeltagareCardService],
|
providers: [DeltagareCardService],
|
||||||
exports: [DeltagareCardComponent],
|
exports: [DeltagareCardComponent],
|
||||||
|
|||||||
@@ -133,10 +133,10 @@
|
|||||||
</msfa-report-layout>
|
</msfa-report-layout>
|
||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Avvikelserapport (avvikelse)"
|
uiText="Laddar data för att kunna skapa Avvikelserapport (avvikelse)"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
<msfa-loader type="padded"></msfa-loader>
|
<msfa-loader type="padded"></msfa-loader>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobu
|
|||||||
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
||||||
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
||||||
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -34,7 +34,7 @@ import { AvvikelseReportFormService } from './avvikelse-report-form.service';
|
|||||||
ReportLayoutModule,
|
ReportLayoutModule,
|
||||||
ConfirmDialogModule,
|
ConfirmDialogModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
ReportDescriptionListModule,
|
ReportDescriptionListModule,
|
||||||
|
|||||||
@@ -316,10 +316,10 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Avvikelserapport (frånvaro)"
|
uiText="Laddar data för att kunna skapa Avvikelserapport (frånvaro)"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobu
|
|||||||
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
||||||
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
||||||
import { DigiNgFormValidationMessageModule } from '@af/digi-ng/_form/form-validation-message';
|
import { DigiNgFormValidationMessageModule } from '@af/digi-ng/_form/form-validation-message';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -33,7 +33,7 @@ import { FranvaroReportFormService } from './franvaro-report-form.service';
|
|||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
DigiNgFormDatepickerModule,
|
DigiNgFormDatepickerModule,
|
||||||
DigiNgFormRadiobuttonGroupModule,
|
DigiNgFormRadiobuttonGroupModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgFormTextareaModule,
|
DigiNgFormTextareaModule,
|
||||||
DigiNgFormInputModule,
|
DigiNgFormInputModule,
|
||||||
DigiNgFormValidationMessageModule,
|
DigiNgFormValidationMessageModule,
|
||||||
|
|||||||
@@ -136,10 +136,10 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Gemensam planering"
|
uiText="Laddar data för att kunna skapa Gemensam planering"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
|
|||||||
import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox';
|
import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox';
|
||||||
import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group';
|
import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group';
|
||||||
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -29,7 +29,7 @@ import { GemensamPlaneringFormService } from './gemensam-planering-form.service'
|
|||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
ReportDescriptionListModule,
|
ReportDescriptionListModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgFormCheckboxModule,
|
DigiNgFormCheckboxModule,
|
||||||
DigiNgDialogModule,
|
DigiNgDialogModule,
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -152,10 +152,10 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Informativ rapport"
|
uiText="Laddar data för att kunna skapa Informativ rapport"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
|
import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
|
||||||
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
||||||
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
import { DigiNgFormTextareaModule } from '@af/digi-ng/_form/form-textarea';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -26,7 +26,7 @@ import { InformativRapportFormService } from './informativ-rapport-form.service'
|
|||||||
ConfirmDialogModule,
|
ConfirmDialogModule,
|
||||||
ReportDescriptionListModule,
|
ReportDescriptionListModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgDialogModule,
|
DigiNgDialogModule,
|
||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
DigiNgFormTextareaModule,
|
DigiNgFormTextareaModule,
|
||||||
|
|||||||
@@ -280,10 +280,10 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Periodisk redovisning"
|
uiText="Laddar data för att kunna skapa Periodisk redovisning"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
|
|||||||
import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox';
|
import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox';
|
||||||
import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group';
|
import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group';
|
||||||
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -27,7 +27,7 @@ import { PeriodiskRedovisningFormService } from './periodisk-redovisning-form.se
|
|||||||
ReportDescriptionListModule,
|
ReportDescriptionListModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgDialogModule,
|
DigiNgDialogModule,
|
||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
DigiNgFormRadiobuttonGroupModule,
|
DigiNgFormRadiobuttonGroupModule,
|
||||||
|
|||||||
@@ -152,8 +152,8 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base
|
<ui-skeleton
|
||||||
[afCount]="3"
|
[uiCount]="3"
|
||||||
afText="Laddar data för att kunna skapa Signal om arbete eller studier"
|
uiText="Laddar data för att kunna skapa Signal om arbete eller studier"
|
||||||
></digi-ng-skeleton-base>
|
></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobu
|
|||||||
import { DigiNgFormRangeModule } from '@af/digi-ng/_form/form-range';
|
import { DigiNgFormRangeModule } from '@af/digi-ng/_form/form-range';
|
||||||
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
|
||||||
import { DigiNgFormValidationMessageModule } from '@af/digi-ng/_form/form-validation-message';
|
import { DigiNgFormValidationMessageModule } from '@af/digi-ng/_form/form-validation-message';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
import { ReactiveFormsModule } from '@angular/forms';
|
||||||
@@ -29,7 +29,7 @@ import { SignalFormService } from './signal-form.service';
|
|||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
DigiNgFormRadiobuttonGroupModule,
|
DigiNgFormRadiobuttonGroupModule,
|
||||||
DigiNgFormDatepickerModule,
|
DigiNgFormDatepickerModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
DigiNgDialogModule,
|
DigiNgDialogModule,
|
||||||
DigiNgFormRangeModule,
|
DigiNgFormRangeModule,
|
||||||
DigiNgFormValidationMessageModule,
|
DigiNgFormValidationMessageModule,
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar Avvikelserapport (avvikelse)"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar Avvikelserapport (avvikelse)"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -19,7 +19,7 @@ import { AvvikelseReportViewService } from './avvikelse-report-view.service';
|
|||||||
ReportLayoutModule,
|
ReportLayoutModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
],
|
],
|
||||||
providers: [AvvikelseReportViewService],
|
providers: [AvvikelseReportViewService],
|
||||||
exports: [AvvikelseReportViewComponent],
|
exports: [AvvikelseReportViewComponent],
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar Avvikelserapport (frånvaro)"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar Avvikelserapport (frånvaro)"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -19,7 +19,7 @@ import { FranvaroReportViewService } from './franvaro-report-view.service';
|
|||||||
ReportLayoutModule,
|
ReportLayoutModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
],
|
],
|
||||||
providers: [FranvaroReportViewService],
|
providers: [FranvaroReportViewService],
|
||||||
exports: [FranvaroReportViewComponent],
|
exports: [FranvaroReportViewComponent],
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar Gemensam planering"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar Gemensam planering"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -19,7 +19,7 @@ import { GemensamPlaneringViewService } from './gemensam-planering-view.service'
|
|||||||
ReportLayoutModule,
|
ReportLayoutModule,
|
||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule
|
||||||
],
|
],
|
||||||
providers: [GemensamPlaneringViewService],
|
providers: [GemensamPlaneringViewService],
|
||||||
exports: [GemensamPlaneringViewComponent],
|
exports: [GemensamPlaneringViewComponent],
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #skeletonRef>
|
<ng-template #skeletonRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar Gemensam planering"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar Gemensam planering"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -21,7 +21,7 @@ import { PeriodiskRedovisningViewService } from './periodisk-redovisning-view.se
|
|||||||
BackLinkModule,
|
BackLinkModule,
|
||||||
LoaderModule,
|
LoaderModule,
|
||||||
HideTextModule,
|
HideTextModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
],
|
],
|
||||||
providers: [PeriodiskRedovisningViewService],
|
providers: [PeriodiskRedovisningViewService],
|
||||||
exports: [PeriodiskRedovisningViewComponent],
|
exports: [PeriodiskRedovisningViewComponent],
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/variables/gutters';
|
@import 'variables/gutters';
|
||||||
@import 'apps/mina-sidor-fa/src/styles/variables/z-index';
|
@import 'variables/z-index';
|
||||||
|
|
||||||
.deltagare-list {
|
.deltagare-list {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar deltagarlista"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar deltagarlista"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #noDeltagare>
|
<ng-template #noDeltagare>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'apps/mina-sidor-fa/src/styles/variables/gutters';
|
@import 'variables/gutters';
|
||||||
|
|
||||||
.deltagare {
|
.deltagare {
|
||||||
&__header {
|
&__header {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { RouterModule } from '@angular/router';
|
|||||||
import { DeltagareListComponent } from './deltagare-list.component';
|
import { DeltagareListComponent } from './deltagare-list.component';
|
||||||
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
|
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
|
||||||
import { DeltagareListTableModule } from './components/deltagare-list-table/deltagare-list-table.module';
|
import { DeltagareListTableModule } from './components/deltagare-list-table/deltagare-list-table.module';
|
||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { UnauthorizedAlertModule } from '@msfa-shared/components/unauthorized-alert/unauthorized-alert.module';
|
import { UnauthorizedAlertModule } from '@msfa-shared/components/unauthorized-alert/unauthorized-alert.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
@@ -20,7 +20,7 @@ import { UnauthorizedAlertModule } from '@msfa-shared/components/unauthorized-al
|
|||||||
]),
|
]),
|
||||||
LayoutModule,
|
LayoutModule,
|
||||||
DeltagareListTableModule,
|
DeltagareListTableModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
UnauthorizedAlertModule,
|
UnauthorizedAlertModule,
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
</msfa-layout>
|
</msfa-layout>
|
||||||
|
|
||||||
<ng-template #loadingRef>
|
<ng-template #loadingRef>
|
||||||
<digi-ng-skeleton-base [afCount]="3" afText="Laddar kontoinformation"></digi-ng-skeleton-base>
|
<ui-skeleton [uiCount]="3" uiText="Laddar kontoinformation"></ui-skeleton>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #emptyText>
|
<ng-template #emptyText>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DigiNgSkeletonBaseModule } from '@af/digi-ng/_skeleton/skeleton-base';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
@@ -17,7 +17,7 @@ import { MyAccountComponent } from './my-account.component';
|
|||||||
RouterModule.forChild([{ path: '', component: MyAccountComponent }]),
|
RouterModule.forChild([{ path: '', component: MyAccountComponent }]),
|
||||||
LayoutModule,
|
LayoutModule,
|
||||||
IconModule,
|
IconModule,
|
||||||
DigiNgSkeletonBaseModule,
|
UiSkeletonModule,
|
||||||
OrganizationPickerFormModule,
|
OrganizationPickerFormModule,
|
||||||
RolesDialogModule,
|
RolesDialogModule,
|
||||||
HideTextModule,
|
HideTextModule,
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
projects: ['<rootDir>/apps/mina-sidor-fa'],
|
projects: ['<rootDir>/apps/mina-sidor-fa', '<rootDir>/libs/ui', '<rootDir>/libs/styles'],
|
||||||
};
|
};
|
||||||
|
|||||||
22
libs/styles/.eslintrc.json
Normal file
22
libs/styles/.eslintrc.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"extends": ["../../.eslintrc.json"],
|
||||||
|
"ignorePatterns": ["!**/*"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["*.ts"],
|
||||||
|
"extends": ["plugin:@nrwl/nx/angular", "plugin:@angular-eslint/template/process-inline-templates"],
|
||||||
|
"parserOptions": { "project": ["libs/styles/tsconfig.*?.json"] },
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{ "type": "attribute", "prefix": "mina-sidor-fa-web", "style": "camelCase" }
|
||||||
|
],
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{ "type": "element", "prefix": "mina-sidor-fa-web", "style": "kebab-case" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ "files": ["*.html"], "extends": ["plugin:@nrwl/nx/angular-template"], "rules": {} }
|
||||||
|
]
|
||||||
|
}
|
||||||
7
libs/styles/README.md
Normal file
7
libs/styles/README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# styles
|
||||||
|
|
||||||
|
This library was generated with [Nx](https://nx.dev).
|
||||||
|
|
||||||
|
## Running unit tests
|
||||||
|
|
||||||
|
Run `nx test styles` to execute the unit tests.
|
||||||
23
libs/styles/jest.config.js
Normal file
23
libs/styles/jest.config.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
module.exports = {
|
||||||
|
displayName: 'styles',
|
||||||
|
preset: '../../jest.preset.js',
|
||||||
|
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
|
||||||
|
globals: {
|
||||||
|
'ts-jest': {
|
||||||
|
tsConfig: '<rootDir>/tsconfig.spec.json',
|
||||||
|
stringifyContentPathRegex: '\\.(html|svg)$',
|
||||||
|
astTransformers: {
|
||||||
|
before: [
|
||||||
|
'jest-preset-angular/build/InlineFilesTransformer',
|
||||||
|
'jest-preset-angular/build/StripStylesTransformer',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coverageDirectory: '../../coverage/libs/styles',
|
||||||
|
snapshotSerializers: [
|
||||||
|
'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js',
|
||||||
|
'jest-preset-angular/build/AngularSnapshotSerializer.js',
|
||||||
|
'jest-preset-angular/build/HTMLCommentSerializer.js',
|
||||||
|
],
|
||||||
|
};
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
@import 'variables/z-index';
|
@import '../variables/z-index';
|
||||||
|
|
||||||
@mixin msfa__backdrop($zIndex: $msfa__z-index-default, $fullScreen: true, $opaqueBackground: false) {
|
@mixin msfa__backdrop($zIndex: $msfa__z-index-default, $fullScreen: true, $opaqueBackground: false) {
|
||||||
top: 0;
|
top: 0;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@import 'variables/colors';
|
@import '../variables/colors';
|
||||||
@import 'variables/gutters';
|
@import '../variables/gutters';
|
||||||
|
|
||||||
|
|
||||||
@mixin msfa__fieldset($legendAsHeading: true) {
|
@mixin msfa__fieldset($legendAsHeading: true) {
|
||||||
107
libs/styles/src/styles.scss
Normal file
107
libs/styles/src/styles.scss
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
@import '@digi/core/dist/digi/digi.css';
|
||||||
|
@import '~@angular/cdk/overlay-prebuilt.css';
|
||||||
|
@import 'mixins/a11y';
|
||||||
|
@import 'mixins/backdrop';
|
||||||
|
@import 'mixins/icon';
|
||||||
|
@import 'mixins/link';
|
||||||
|
@import 'variables/z-index';
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: var(--digi--typography--font-family);
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
::before,
|
||||||
|
::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-weight: var(--digi--typography--font-weight);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
font-family: var(--digi--typography--font-family);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: var(--digi--typography--font-weight--semibold);
|
||||||
|
}
|
||||||
|
|
||||||
|
address {
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
dt {
|
||||||
|
font-weight: var(--digi--typography--font-weight--semibold);
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make all digi icons display inline-flex to make them get the correct height.
|
||||||
|
[class^='sc-digi-icon'],
|
||||||
|
.digi-button__icon {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix issue with too long modal-content. This makes it scrollable.
|
||||||
|
.digi-ng-dialog-base__content {
|
||||||
|
max-height: 90vh;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.digi-ng-dialog {
|
||||||
|
position: fixed;
|
||||||
|
z-index: $msfa__z-index-backdrop;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Removing margins from digi fieldset component.
|
||||||
|
.digi-form-fieldset {
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&__legend {
|
||||||
|
margin-bottom: var(--digi--layout--gutter--s);
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.msfa {
|
||||||
|
&__a11y-sr-only {
|
||||||
|
@include msfa__a11y-sr-only;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__small-text {
|
||||||
|
font-size: 0.875em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__backdrop {
|
||||||
|
@include msfa__backdrop($msfa__z-index-default, false);
|
||||||
|
|
||||||
|
&--full-screen {
|
||||||
|
@include msfa__backdrop($msfa__z-index-backdrop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__digi-icon {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__link {
|
||||||
|
@include msfa__link(false, 'light');
|
||||||
|
|
||||||
|
&--ignore-visited:visited {
|
||||||
|
@include msfa__link(true, 'light');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@import '~@digi/styles/src/layout/variables/layout__variables';
|
@import '~@digi/styles/src/layout/variables/layout__variables';
|
||||||
@import 'functions/rem';
|
@import '../functions/rem';
|
||||||
|
|
||||||
// AF DIGI Variables
|
// AF DIGI Variables
|
||||||
$digi--layout--gutter--xs: var(--digi--layout--gutter--xs);
|
$digi--layout--gutter--xs: var(--digi--layout--gutter--xs);
|
||||||
13
libs/styles/tsconfig.json
Normal file
13
libs/styles/tsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig.base.json",
|
||||||
|
"files": [],
|
||||||
|
"include": [],
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"path": "./tsconfig.lib.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "./tsconfig.spec.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
libs/styles/tsconfig.lib.json
Normal file
19
libs/styles/tsconfig.lib.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../dist/out-tsc",
|
||||||
|
"target": "es2015",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"inlineSources": true,
|
||||||
|
"types": [],
|
||||||
|
"lib": ["dom", "es2018"]
|
||||||
|
},
|
||||||
|
"angularCompilerOptions": {
|
||||||
|
"skipTemplateCodegen": true,
|
||||||
|
"strictMetadataEmit": true,
|
||||||
|
"enableResourceInlining": true
|
||||||
|
},
|
||||||
|
"exclude": ["src/test-setup.ts", "**/*.spec.ts"],
|
||||||
|
"include": ["**/*.ts"]
|
||||||
|
}
|
||||||
10
libs/styles/tsconfig.spec.json
Normal file
10
libs/styles/tsconfig.spec.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../dist/out-tsc",
|
||||||
|
"module": "commonjs",
|
||||||
|
"types": ["jest", "node"]
|
||||||
|
},
|
||||||
|
"files": ["src/test-setup.ts"],
|
||||||
|
"include": ["**/*.spec.ts", "**/*.d.ts"]
|
||||||
|
}
|
||||||
21
libs/ui/.eslintrc.json
Normal file
21
libs/ui/.eslintrc.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"extends": ["../../.eslintrc.json"],
|
||||||
|
"ignorePatterns": ["!**/*"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["*.ts"],
|
||||||
|
"extends": ["plugin:@nrwl/nx/angular", "plugin:@angular-eslint/template/process-inline-templates"],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{ "type": "attribute", "prefix": "mina-sidor-fa-web", "style": "camelCase" }
|
||||||
|
],
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{ "type": "element", "prefix": "mina-sidor-fa-web", "style": "kebab-case" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ "files": ["*.html"], "extends": ["plugin:@nrwl/nx/angular-template"], "rules": {} }
|
||||||
|
]
|
||||||
|
}
|
||||||
7
libs/ui/README.md
Normal file
7
libs/ui/README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# ui
|
||||||
|
|
||||||
|
This library was generated with [Nx](https://nx.dev).
|
||||||
|
|
||||||
|
## Running unit tests
|
||||||
|
|
||||||
|
Run `nx test ui` to execute the unit tests.
|
||||||
23
libs/ui/jest.config.js
Normal file
23
libs/ui/jest.config.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
module.exports = {
|
||||||
|
displayName: 'ui',
|
||||||
|
preset: '../../jest.preset.js',
|
||||||
|
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
|
||||||
|
globals: {
|
||||||
|
'ts-jest': {
|
||||||
|
tsConfig: '<rootDir>/tsconfig.spec.json',
|
||||||
|
stringifyContentPathRegex: '\\.(html|svg)$',
|
||||||
|
astTransformers: {
|
||||||
|
before: [
|
||||||
|
'jest-preset-angular/build/InlineFilesTransformer',
|
||||||
|
'jest-preset-angular/build/StripStylesTransformer',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coverageDirectory: '../../coverage/libs/ui',
|
||||||
|
snapshotSerializers: [
|
||||||
|
'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js',
|
||||||
|
'jest-preset-angular/build/AngularSnapshotSerializer.js',
|
||||||
|
'jest-preset-angular/build/HTMLCommentSerializer.js',
|
||||||
|
],
|
||||||
|
};
|
||||||
6
libs/ui/loader/loader-type.enum.ts
Normal file
6
libs/ui/loader/loader-type.enum.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export enum UiLoaderType {
|
||||||
|
FULL_SCREEN = 'fullscreen',
|
||||||
|
FULL_BLANK_SCREEN = 'full-blank-screen',
|
||||||
|
ABSOLUTE = 'absolute',
|
||||||
|
PADDED = 'padded',
|
||||||
|
}
|
||||||
4
libs/ui/loader/loader.component.html
Normal file
4
libs/ui/loader/loader.component.html
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<div [ngClass]="loaderClass">
|
||||||
|
asdf
|
||||||
|
<digi-icon-spinner [ngClass]="spinnerClass"></digi-icon-spinner>
|
||||||
|
</div>
|
||||||
40
libs/ui/loader/loader.component.scss
Normal file
40
libs/ui/loader/loader.component.scss
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@import 'mixins/backdrop';
|
||||||
|
@import 'variables/gutters';
|
||||||
|
@import 'variables/z-index';
|
||||||
|
|
||||||
|
@keyframes spinning {
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-loader {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
&--padded {
|
||||||
|
padding: $digi--layout--gutter--l;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--absolute {
|
||||||
|
@include msfa__backdrop($msfa__z-index-backdrop, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
&--full-screen {
|
||||||
|
@include msfa__backdrop($msfa__z-index-backdrop);
|
||||||
|
}
|
||||||
|
|
||||||
|
&--full-blank-screen {
|
||||||
|
@include msfa__backdrop($msfa__z-index-backdrop, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__spinner {
|
||||||
|
display: inline-flex;
|
||||||
|
animation: spinning 1s linear infinite;
|
||||||
|
|
||||||
|
&--s {
|
||||||
|
width: 2.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
26
libs/ui/loader/loader.component.spec.ts
Normal file
26
libs/ui/loader/loader.component.spec.ts
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* tslint:disable:no-unused-variable */
|
||||||
|
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { LoaderComponent } from './loader.component';
|
||||||
|
|
||||||
|
describe('LoaderComponent', () => {
|
||||||
|
let component: LoaderComponent;
|
||||||
|
let fixture: ComponentFixture<LoaderComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
declarations: [LoaderComponent],
|
||||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
|
}).compileComponents();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(LoaderComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
15
libs/ui/loader/loader.component.stories.ts
Normal file
15
libs/ui/loader/loader.component.stories.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { LoaderComponent } from './loader.component';
|
||||||
|
import { UiLoaderModule } from './loader.module';
|
||||||
|
|
||||||
|
export default { title: 'Loader', component: LoaderComponent };
|
||||||
|
|
||||||
|
const componentModule = {
|
||||||
|
moduleMetadata: {
|
||||||
|
imports: [UiLoaderModule],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const standard = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-loader></ui-loader>',
|
||||||
|
});
|
||||||
25
libs/ui/loader/loader.component.ts
Normal file
25
libs/ui/loader/loader.component.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
||||||
|
import { UiLoaderType } from './loader-type.enum';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'ui-loader',
|
||||||
|
templateUrl: './loader.component.html',
|
||||||
|
styleUrls: ['./loader.component.scss'],
|
||||||
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
|
})
|
||||||
|
export class LoaderComponent {
|
||||||
|
private readonly _defaultClass = 'ui-loader';
|
||||||
|
@Input() uiType: UiLoaderType = UiLoaderType.PADDED;
|
||||||
|
@Input() uiSize: 's' | 'm' = 'm';
|
||||||
|
|
||||||
|
get loaderClass(): string {
|
||||||
|
if (this.uiType) {
|
||||||
|
return `${this._defaultClass} ${this._defaultClass}--${this.uiType as string}`;
|
||||||
|
}
|
||||||
|
return this._defaultClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
get spinnerClass(): string {
|
||||||
|
return `${this._defaultClass}__spinner ${this._defaultClass}__spinner--${this.uiSize}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
libs/ui/loader/loader.module.ts
Normal file
11
libs/ui/loader/loader.module.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||||
|
import { LoaderComponent } from './loader.component';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
|
declarations: [LoaderComponent],
|
||||||
|
imports: [CommonModule],
|
||||||
|
exports: [LoaderComponent],
|
||||||
|
})
|
||||||
|
export class UiLoaderModule {}
|
||||||
11
libs/ui/skeleton/skeleton.component.html
Normal file
11
libs/ui/skeleton/skeleton.component.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<div class="ui-skeleton" data-digi-ng-component>
|
||||||
|
<div *ngIf="uiText" class="ui-skeleton__top"></div>
|
||||||
|
<p *ngIf="uiText" class="ui-skeleton__text">{{ uiText }}</p>
|
||||||
|
<div class="ui-skeleton__header"></div>
|
||||||
|
<div *ngFor="let stub of stubs" class="ui-skeleton__lines">
|
||||||
|
<div class="ui-skeleton__line"></div>
|
||||||
|
<div class="ui-skeleton__line"></div>
|
||||||
|
<div class="ui-skeleton__line"></div>
|
||||||
|
<div class="ui-skeleton__line ui-skeleton__line--last"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
91
libs/ui/skeleton/skeleton.component.scss
Normal file
91
libs/ui/skeleton/skeleton.component.scss
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
@import 'variables/gutters';
|
||||||
|
@import 'variables/breakpoints';
|
||||||
|
|
||||||
|
$typography__margin--text: u(6);
|
||||||
|
$animation__duration--sweep: 4s;
|
||||||
|
$ui__color--gray-10: #f5f5f5;
|
||||||
|
$ui__color--gray-20: #efefef;
|
||||||
|
$ui__color--gray-30: #d1d1d1;
|
||||||
|
$ui__color--skeleton-text: linear-gradient(
|
||||||
|
to left,
|
||||||
|
$ui__color--gray-20,
|
||||||
|
$ui__color--gray-20 40%,
|
||||||
|
$ui__color--gray-10 50%,
|
||||||
|
$ui__color--gray-20 60%,
|
||||||
|
$ui__color--gray-20
|
||||||
|
);
|
||||||
|
$ui__color--skeleton-head: linear-gradient(
|
||||||
|
to left,
|
||||||
|
$ui__color--gray-30,
|
||||||
|
$ui__color--gray-30 40%,
|
||||||
|
$ui__color--gray-20 50%,
|
||||||
|
$ui__color--gray-30 60%,
|
||||||
|
$ui__color--gray-30
|
||||||
|
);
|
||||||
|
$skeleton__top--height: 2.5rem;
|
||||||
|
$skeleton__top--height-desktop: 4.5rem;
|
||||||
|
$skeleton__header--height: 1rem + 0.46875rem;
|
||||||
|
$skeleton__header--height-desktop: 2rem + 0.3125rem;
|
||||||
|
|
||||||
|
:host {
|
||||||
|
|
||||||
|
.ui-skeleton__top {
|
||||||
|
animation: ui-skeleton__animation $animation__duration--sweep infinite;
|
||||||
|
height: $skeleton__top--height;
|
||||||
|
background: $ui__color--skeleton-text;
|
||||||
|
background-size: 400%;
|
||||||
|
width: 25%;
|
||||||
|
margin-bottom: var(--digi--layout--gutter--m);
|
||||||
|
|
||||||
|
@media (min-width: $digi--layout--breakpoint--l) {
|
||||||
|
height: $skeleton__top--height-desktop;
|
||||||
|
width: 20%;
|
||||||
|
margin-bottom: $digi--layout--gutter--l;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-skeleton__header {
|
||||||
|
animation: ui-skeleton__animation $animation__duration--sweep infinite;
|
||||||
|
background: $ui__color--skeleton-head;
|
||||||
|
background-size: 400%;
|
||||||
|
width: 33%;
|
||||||
|
height: $skeleton__header--height;
|
||||||
|
margin-bottom: var(----digi--layout--gutter--s);
|
||||||
|
|
||||||
|
@media (min-width: $digi--layout--breakpoint--l) {
|
||||||
|
height: $skeleton__header--height-desktop;
|
||||||
|
margin-bottom: $digi--layout--gutter--l;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-skeleton__line {
|
||||||
|
animation: ui-skeleton__animation $animation__duration--sweep 0.5s infinite;
|
||||||
|
background: $ui__color--skeleton-text;
|
||||||
|
background-size: 400%;
|
||||||
|
margin-bottom: var(--digi--layout--gutter--xs);
|
||||||
|
height: var(--digi--typography--font-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ui-skeleton__line--last {
|
||||||
|
width: 75%;
|
||||||
|
margin-bottom: var(--digi--layout--gutter);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-skeleton__text {
|
||||||
|
|
||||||
|
font-weight: var(--digi--typography--font-weight--semibold);
|
||||||
|
margin-bottom: $typography__margin--text / 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes ui-skeleton__animation {
|
||||||
|
0% {
|
||||||
|
background-position-x: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
background-position-x: 0%;
|
||||||
|
}
|
||||||
|
}
|
||||||
40
libs/ui/skeleton/skeleton.component.stories.ts
Normal file
40
libs/ui/skeleton/skeleton.component.stories.ts
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import { SkeletonComponent } from './skeleton.component';
|
||||||
|
import { UiSkeletonModule } from './skeleton.module';
|
||||||
|
|
||||||
|
export default { title: 'Skeleton', component: SkeletonComponent };
|
||||||
|
|
||||||
|
const componentModule = {
|
||||||
|
moduleMetadata: {
|
||||||
|
imports: [UiSkeletonModule],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const standard = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton></ui-skeleton>',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const limitedMultiLine = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton [uiCount]="2"></ui-skeleton>',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const extensiveMultiLine = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton [uiCount]="5"></ui-skeleton>',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const paragraphless = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton [uiCount]="0"></ui-skeleton>',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const customText = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton uiText="I am a custom text..."></ui-skeleton>',
|
||||||
|
});
|
||||||
|
|
||||||
|
export const noText = () => ({
|
||||||
|
...componentModule,
|
||||||
|
template: '<ui-skeleton uiText=""></ui-skeleton>',
|
||||||
|
});
|
||||||
25
libs/ui/skeleton/skeleton.component.ts
Normal file
25
libs/ui/skeleton/skeleton.component.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { Component, Input } from '@angular/core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Placeholder for content being loaded
|
||||||
|
*
|
||||||
|
* ##Usage
|
||||||
|
* ``import {SkeletonModule} from '@ui/skeleton';``
|
||||||
|
*/
|
||||||
|
@Component({
|
||||||
|
selector: 'ui-skeleton',
|
||||||
|
templateUrl: './skeleton.component.html',
|
||||||
|
styleUrls: ['./skeleton.component.scss'],
|
||||||
|
})
|
||||||
|
export class SkeletonComponent {
|
||||||
|
/**
|
||||||
|
* The amount of skeleton sections
|
||||||
|
*/
|
||||||
|
@Input() uiCount: number | undefined;
|
||||||
|
|
||||||
|
@Input() uiText = 'Laddar sidan';
|
||||||
|
|
||||||
|
get stubs(): string[] {
|
||||||
|
return Array(this.uiCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
10
libs/ui/skeleton/skeleton.module.ts
Normal file
10
libs/ui/skeleton/skeleton.module.ts
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { SkeletonComponent } from './skeleton.component';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [CommonModule],
|
||||||
|
declarations: [SkeletonComponent],
|
||||||
|
exports: [SkeletonComponent],
|
||||||
|
})
|
||||||
|
export class UiSkeletonModule {}
|
||||||
13
libs/ui/tsconfig.json
Normal file
13
libs/ui/tsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig.base.json",
|
||||||
|
"files": [],
|
||||||
|
"include": [],
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"path": "./tsconfig.lib.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "./tsconfig.spec.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
libs/ui/tsconfig.lib.json
Normal file
19
libs/ui/tsconfig.lib.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../dist/out-tsc",
|
||||||
|
"target": "es2015",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"inlineSources": true,
|
||||||
|
"types": [],
|
||||||
|
"lib": ["dom", "es2018"]
|
||||||
|
},
|
||||||
|
"angularCompilerOptions": {
|
||||||
|
"skipTemplateCodegen": true,
|
||||||
|
"strictMetadataEmit": true,
|
||||||
|
"enableResourceInlining": true
|
||||||
|
},
|
||||||
|
"exclude": ["src/test-setup.ts", "**/*.spec.ts"],
|
||||||
|
"include": ["**/*.ts"]
|
||||||
|
}
|
||||||
10
libs/ui/tsconfig.spec.json
Normal file
10
libs/ui/tsconfig.spec.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../dist/out-tsc",
|
||||||
|
"module": "commonjs",
|
||||||
|
"types": ["jest", "node"]
|
||||||
|
},
|
||||||
|
"files": ["src/test-setup.ts"],
|
||||||
|
"include": ["**/*.spec.ts", "**/*.d.ts"]
|
||||||
|
}
|
||||||
4
nx.json
4
nx.json
@@ -17,6 +17,8 @@
|
|||||||
},
|
},
|
||||||
"projects": {
|
"projects": {
|
||||||
"mina-sidor-fa": { "tags": [] },
|
"mina-sidor-fa": { "tags": [] },
|
||||||
"mina-sidor-fa-e2e": { "tags": [], "implicitDependencies": ["mina-sidor-fa"] }
|
"mina-sidor-fa-e2e": { "tags": [], "implicitDependencies": ["mina-sidor-fa"] },
|
||||||
|
"ui": { "tags": [] },
|
||||||
|
"styles": { "tags": [] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2954
package-lock.json
generated
2954
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -70,6 +70,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "~0.1102.0",
|
"@angular-devkit/build-angular": "~0.1102.0",
|
||||||
|
"@angular-devkit/schematics": "^12.2.11",
|
||||||
"@angular-eslint/eslint-plugin": "~1.0.0",
|
"@angular-eslint/eslint-plugin": "~1.0.0",
|
||||||
"@angular-eslint/eslint-plugin-template": "~1.0.0",
|
"@angular-eslint/eslint-plugin-template": "~1.0.0",
|
||||||
"@angular-eslint/template-parser": "~1.0.0",
|
"@angular-eslint/template-parser": "~1.0.0",
|
||||||
|
|||||||
@@ -15,18 +15,23 @@
|
|||||||
"skipDefaultLibCheck": true,
|
"skipDefaultLibCheck": true,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
|
"@app-api-models/*": ["libs/data/models/*"],
|
||||||
|
"@mina-sidor-fa-web/models": ["libs/models/src/index.ts"],
|
||||||
|
"@mina-sidor-fa-web/ui": ["libs/ui/src/index.ts"],
|
||||||
"@msfa-assets/*": ["apps/mina-sidor-fa/src/assets/*"],
|
"@msfa-assets/*": ["apps/mina-sidor-fa/src/assets/*"],
|
||||||
"@msfa-models/*": ["apps/mina-sidor-fa/src/app/shared/models/*"],
|
|
||||||
"@msfa-guards/*": ["apps/mina-sidor-fa/src/app/shared/guards/*"],
|
|
||||||
"@msfa-constants/*": ["apps/mina-sidor-fa/src/app/shared/constants/*"],
|
"@msfa-constants/*": ["apps/mina-sidor-fa/src/app/shared/constants/*"],
|
||||||
"@msfa-directives/*": ["apps/mina-sidor-fa/src/app/shared/directives/*"],
|
"@msfa-directives/*": ["apps/mina-sidor-fa/src/app/shared/directives/*"],
|
||||||
"@msfa-enums/*": ["apps/mina-sidor-fa/src/app/shared/enums/*"],
|
"@msfa-enums/*": ["apps/mina-sidor-fa/src/app/shared/enums/*"],
|
||||||
"@msfa-services/*": ["apps/mina-sidor-fa/src/app/shared/services/*"],
|
"@msfa-environment": ["apps/mina-sidor-fa/src/environments/environment"],
|
||||||
|
"@msfa-guards/*": ["apps/mina-sidor-fa/src/app/shared/guards/*"],
|
||||||
"@msfa-interceptors/*": ["apps/mina-sidor-fa/src/app/shared/interceptors/*"],
|
"@msfa-interceptors/*": ["apps/mina-sidor-fa/src/app/shared/interceptors/*"],
|
||||||
|
"@msfa-models/*": ["apps/mina-sidor-fa/src/app/shared/models/*"],
|
||||||
|
"@msfa-services/*": ["apps/mina-sidor-fa/src/app/shared/services/*"],
|
||||||
|
"@msfa-shared/*": ["apps/mina-sidor-fa/src/app/shared/*"],
|
||||||
"@msfa-utils/*": ["apps/mina-sidor-fa/src/app/shared/utils/*"],
|
"@msfa-utils/*": ["apps/mina-sidor-fa/src/app/shared/utils/*"],
|
||||||
"@msfa-validators/*": ["apps/mina-sidor-fa/src/app/shared/utils/validators/*"],
|
"@msfa-validators/*": ["apps/mina-sidor-fa/src/app/shared/utils/validators/*"],
|
||||||
"@msfa-environment": ["apps/mina-sidor-fa/src/environments/environment"],
|
"@ui/*": ["libs/ui/*"],
|
||||||
"@msfa-shared/*": ["apps/mina-sidor-fa/src/app/shared/*"]
|
"@mina-sidor-fa-web/styles": ["libs/styles/src/index.ts"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"angularCompilerOptions": {
|
"angularCompilerOptions": {
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "./tsconfig.base.json"
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user