@eui/tools 4.15.9 → 4.15.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.version.properties +1 -1
- package/CHANGELOG.md +41 -0
- package/bin/eui-scripts.js +6 -2
- package/bin/scripts/build-package-sub.js +20 -0
- package/bin/scripts/version.js +12 -0
- package/global.test.js +3 -3
- package/package.json +12 -16
- package/sandbox.js +3 -2
- package/scripts/csdr/cli/app.js +30 -3
- package/scripts/csdr/cli/package.js +41 -5
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/angular-config.json +33 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/dependencies-composite.json +5 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/gitignore_TO_REPLACE +50 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/package.json +6 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/scripts.json +3 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app-routing.module.ts +21 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.component.html +26 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.component.ts +19 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.routes.ts +7 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home-routing.module.ts +15 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.component.ts +8 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.module.ts +17 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/shared/shared.module.ts +15 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/assets/app-metadata.json +8 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/assets/config/env-json-config.json +41 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/index.html +22 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/assets/i18n/en.json +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/assets/i18n/fr.json +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/gitignore_TO_REPLACE +46 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/karma.conf.js +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/ng-package.json +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/package.json +4 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/index.ts +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/lib/module.ts +11 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/test.ts.TO_REPLACE +21 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tsconfig.lib.json +32 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tsconfig.spec.json +17 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tslint.json +17 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/angular.json +3 -3
- package/scripts/csdr/cli/skeletons/package/frontend-remote/dependencies-composite.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/dummy.scss +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/dummy.spec.ts +6 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/module.component.ts +62 -28
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/module.ts +33 -33
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/routing.module.ts +22 -10
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/assets/i18n-compiled/en.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/assets/i18n-compiled/fr.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/config/global.ts +8 -5
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/index.html +1 -1
- package/scripts/csdr/cli/skeletons/package/frontend-remote/tsconfig.app.json +3 -1
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/angular.json +90 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/browserslist +10 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/dependencies-base.json +2 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/dependencies-composite.json +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/gitignore_TO_REPLACE +64 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/karma.conf.js +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/package.json_TO_REPLACE +8 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/dummy.scss +3 -0
- package/scripts/csdr/cli/skeletons/package/{frontend-remote/src/app/dummy.spec.ts.TO_REPLACE → frontend-remote-eui10/src/app/dummy.spec.ts} +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/module.component.ts +71 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/module.ts +165 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/reducers/custom-route-serializer.ts +28 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/reducers/index.ts +42 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/routing.module.ts +51 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/assets/.gitkeep +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/global.ts +31 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/index.ts +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/modules.ts +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/environments/environment.prod.ts +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/environments/environment.ts +15 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/favicon.ico +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/index.html +10 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/main.ts +12 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/polyfills.ts +86 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/test.ts.TO_REPLACE +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tsconfig.app.json +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tsconfig.spec.json +18 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tslint-remote.json +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tslint.json +17 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/webpack.extra.js +15 -0
- package/scripts/csdr/config/angular.js +213 -3
- package/scripts/csdr/config/global.js +16 -0
- package/scripts/csdr/init/resources/yarn-eui13.lock +15857 -0
- package/scripts/csdr/install/common.js +26 -8
- package/scripts/csdr/jira/jira-utils.js +168 -168
- package/scripts/csdr/jira/update.js +150 -150
- package/scripts/csdr/metadata/app-envs.js +34 -33
- package/scripts/csdr/metadata/app-history.js +62 -61
- package/scripts/csdr/metadata/common.js +44 -41
- package/scripts/csdr/metadata/package-history.js +0 -1
- package/scripts/csdr/release/app/release-app.js +3 -0
- package/scripts/csdr/release/package/release-package.js +4 -0
- package/scripts/csdr/release/package/remote.js +3 -3
- package/scripts/csdr/release/package/ui.js +3 -3
- package/scripts/csdr/sync/sync-utils.js +6 -2
- package/scripts/utils/build/package/angular.js +4 -4
- package/scripts/utils/build/package/build-package-utils.js +50 -1
- package/scripts/utils/build/package/styles.js +100 -7
- package/scripts/utils/confluence-utils.js +126 -126
- package/scripts/utils/index.js +2 -2
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton/src/_generated/favicon.ico +0 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/app/app.module.ts +52 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/app/core/reducers/index.ts +40 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/global.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/index.ts +8 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/modules.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.dev.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.prod.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/favicon.ico +0 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/karma.conf.js +7 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/main.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/polyfills.ts +86 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/tst.ts +33 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tsconfig.app.json +19 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tsconfig.spec.json +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tslint.json +17 -0
- package/scripts/utils/pre-build/injection/skeletons.js +6 -2
- package/scripts/utils/pre-build/projects.js +5 -1
- package/scripts/utils/tools.js +30 -1
- package/scripts/csdr/cli/skeletons/package/frontend-remote/webpack.extra.js +0 -7
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"global": {
|
|
3
|
+
"appTitle": "CSDR-app",
|
|
4
|
+
"i18n": {
|
|
5
|
+
"i18nService": {
|
|
6
|
+
"defaultLanguage": "en",
|
|
7
|
+
"languages": [
|
|
8
|
+
"en",
|
|
9
|
+
"fr",
|
|
10
|
+
"es"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"i18nLoader": {
|
|
14
|
+
"i18nFolders": [
|
|
15
|
+
"i18n-eui",
|
|
16
|
+
"i18n-ecl",
|
|
17
|
+
"i18n"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"versions": {},
|
|
23
|
+
"modules": {
|
|
24
|
+
"core": {
|
|
25
|
+
"api": {
|
|
26
|
+
"base": "assets/",
|
|
27
|
+
"user": {
|
|
28
|
+
"base": "config/",
|
|
29
|
+
"details": "user-details.json",
|
|
30
|
+
"preferences": "user-preferences.json",
|
|
31
|
+
"rights": "user-rights.json"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"users": {
|
|
36
|
+
"api": {
|
|
37
|
+
"base": "https://jsonplaceholder.typicode.com/users"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<title>eUI - UX</title>
|
|
7
|
+
<base href="/">
|
|
8
|
+
|
|
9
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
10
|
+
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
|
11
|
+
<script src="https://ec.europa.eu/wel/cookie-consent/consent.js" type="text/javascript" defer></script>
|
|
12
|
+
</head>
|
|
13
|
+
|
|
14
|
+
<body>
|
|
15
|
+
<app-root>
|
|
16
|
+
<div id="loader-wrapper">
|
|
17
|
+
<div id="loader"></div>
|
|
18
|
+
</div>
|
|
19
|
+
</app-root>
|
|
20
|
+
</body>
|
|
21
|
+
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
|
2
|
+
|
|
3
|
+
# compiled output
|
|
4
|
+
**/node_modules
|
|
5
|
+
**/target
|
|
6
|
+
**/build
|
|
7
|
+
**/dist
|
|
8
|
+
**/out-tsc
|
|
9
|
+
**/tmp
|
|
10
|
+
**/test/reports
|
|
11
|
+
|
|
12
|
+
# IDEs and editors
|
|
13
|
+
/.idea
|
|
14
|
+
.project
|
|
15
|
+
.classpath
|
|
16
|
+
.c9/
|
|
17
|
+
*.launch
|
|
18
|
+
.settings/
|
|
19
|
+
*.sublime-workspace
|
|
20
|
+
|
|
21
|
+
# IDE - VSCode
|
|
22
|
+
.vscode/*
|
|
23
|
+
!.vscode/settings.json
|
|
24
|
+
!.vscode/tasks.json
|
|
25
|
+
!.vscode/launch.json
|
|
26
|
+
!.vscode/extensions.json
|
|
27
|
+
|
|
28
|
+
# misc
|
|
29
|
+
/.sass-cache
|
|
30
|
+
/connect.lock
|
|
31
|
+
/coverage
|
|
32
|
+
/libpeerconnection.log
|
|
33
|
+
npm-debug.log
|
|
34
|
+
testem.log
|
|
35
|
+
/typings
|
|
36
|
+
yarn-error.log
|
|
37
|
+
|
|
38
|
+
# e2e
|
|
39
|
+
/e2e/*.js
|
|
40
|
+
/e2e/*.map
|
|
41
|
+
**/src/**/*.js
|
|
42
|
+
**/src/**/*.map
|
|
43
|
+
|
|
44
|
+
# System Files
|
|
45
|
+
.DS_Store
|
|
46
|
+
Thumbs.db
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/module';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
|
2
|
+
|
|
3
|
+
import 'zone.js/dist/zone';
|
|
4
|
+
import 'zone.js/dist/zone-testing';
|
|
5
|
+
import { getTestBed } from '@angular/core/testing';
|
|
6
|
+
import {
|
|
7
|
+
BrowserDynamicTestingModule,
|
|
8
|
+
platformBrowserDynamicTesting
|
|
9
|
+
} from '@angular/platform-browser-dynamic/testing';
|
|
10
|
+
|
|
11
|
+
declare const require: any;
|
|
12
|
+
|
|
13
|
+
// First, initialize the Angular testing environment.
|
|
14
|
+
getTestBed().initTestEnvironment(
|
|
15
|
+
BrowserDynamicTestingModule,
|
|
16
|
+
platformBrowserDynamicTesting()
|
|
17
|
+
);
|
|
18
|
+
// Then we find all the tests.
|
|
19
|
+
const context = require.context('./', true, /\.spec\.ts$/);
|
|
20
|
+
// And load the modules.
|
|
21
|
+
context.keys().map(context);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.build.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "./out-tsc/lib",
|
|
5
|
+
"target": "es2015",
|
|
6
|
+
"module": "es2015",
|
|
7
|
+
"moduleResolution": "node",
|
|
8
|
+
"declaration": true,
|
|
9
|
+
"sourceMap": true,
|
|
10
|
+
"inlineSources": true,
|
|
11
|
+
"emitDecoratorMetadata": true,
|
|
12
|
+
"experimentalDecorators": true,
|
|
13
|
+
"importHelpers": true,
|
|
14
|
+
"types": [],
|
|
15
|
+
"lib": [
|
|
16
|
+
"dom",
|
|
17
|
+
"es2018"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"angularCompilerOptions": {
|
|
21
|
+
"annotateForClosureCompiler": true,
|
|
22
|
+
"skipTemplateCodegen": true,
|
|
23
|
+
"strictMetadataEmit": true,
|
|
24
|
+
"fullTemplateTypeCheck": true,
|
|
25
|
+
"strictInjectionParameters": true,
|
|
26
|
+
"enableResourceInlining": true
|
|
27
|
+
},
|
|
28
|
+
"exclude": [
|
|
29
|
+
"src/test.ts",
|
|
30
|
+
"**/*.spec.ts"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tslint.json",
|
|
3
|
+
"rules": {
|
|
4
|
+
"directive-selector": [
|
|
5
|
+
true,
|
|
6
|
+
"attribute",
|
|
7
|
+
"@module.scope.string@",
|
|
8
|
+
"camelCase"
|
|
9
|
+
],
|
|
10
|
+
"component-selector": [
|
|
11
|
+
true,
|
|
12
|
+
"element",
|
|
13
|
+
"@module.scope.string@",
|
|
14
|
+
"kebab-case"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"newProjectRoot": "apps",
|
|
5
5
|
"projects": {
|
|
6
|
-
"
|
|
6
|
+
"@module.full.name@": {
|
|
7
7
|
"root": ".",
|
|
8
8
|
"sourceRoot": "src",
|
|
9
9
|
"projectType": "application",
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"serve": {
|
|
53
53
|
"builder": "./node_modules/@angular-devkit/build-angular:dev-server",
|
|
54
54
|
"options": {
|
|
55
|
-
"browserTarget": "
|
|
55
|
+
"browserTarget": "@module.full.name@:build:serve-dist"
|
|
56
56
|
},
|
|
57
57
|
"configurations": {
|
|
58
58
|
"production": {
|
|
59
|
-
"browserTarget": "
|
|
59
|
+
"browserTarget": "@module.full.name@:build:production"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
},
|
|
@@ -1,50 +1,84 @@
|
|
|
1
|
-
import { Component, OnInit, Inject
|
|
1
|
+
import { Component, OnInit, Inject } from '@angular/core';
|
|
2
2
|
import { Location } from '@angular/common';
|
|
3
|
-
import { Router
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { take, retry } from 'rxjs/operators';
|
|
6
|
+
|
|
7
|
+
import { CONFIG_TOKEN, I18nService, I18nLoadStatus } from '@eui/core';
|
|
8
|
+
import { appConfig } from '../config/index';
|
|
9
|
+
|
|
10
|
+
enum ElementStatus {
|
|
11
|
+
Loading = 'loading',
|
|
12
|
+
Loaded = 'loaded',
|
|
13
|
+
Error = 'error',
|
|
14
|
+
}
|
|
6
15
|
|
|
7
16
|
@Component({
|
|
8
17
|
template: `
|
|
9
|
-
<
|
|
18
|
+
<ux-block-content *ngIf="moduleStatus === ElementStatus.Loading" [isBlocked]="true">
|
|
19
|
+
<div style="height: 100%"></div>
|
|
20
|
+
</ux-block-content>
|
|
21
|
+
<ng-container *ngIf="moduleStatus === ElementStatus.Loaded">
|
|
10
22
|
<router-outlet></router-outlet>
|
|
11
23
|
</ng-container>
|
|
24
|
+
<ng-container *ngIf="moduleStatus === ElementStatus.Error">
|
|
25
|
+
<div class="error-container">
|
|
26
|
+
<div>
|
|
27
|
+
<h1>Translations for this module failed to load.</h1>
|
|
28
|
+
<p>Do you want to try again?</p>
|
|
29
|
+
<ux-button (click)="loadTranslations()">{{ 'global.RELOAD' | translate }}</ux-button>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</ng-container>
|
|
12
33
|
`,
|
|
34
|
+
styles: [`
|
|
35
|
+
.error-container {
|
|
36
|
+
width: 50vw;
|
|
37
|
+
height: 50vh;
|
|
38
|
+
position: absolute;
|
|
39
|
+
top: 50%;
|
|
40
|
+
left: 50%;
|
|
41
|
+
transform: translate(-50%, -50%);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.error-container div {
|
|
45
|
+
text-align: center
|
|
46
|
+
}
|
|
47
|
+
`],
|
|
13
48
|
})
|
|
14
49
|
export class ModuleComponent implements OnInit {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
render: boolean;
|
|
50
|
+
ElementStatus = ElementStatus;
|
|
51
|
+
moduleStatus: ElementStatus;
|
|
18
52
|
|
|
19
53
|
constructor(private router: Router,
|
|
20
54
|
private location: Location,
|
|
21
55
|
@Inject(CONFIG_TOKEN) public config: any,
|
|
22
56
|
private i18nService: I18nService) {
|
|
23
|
-
const i18nFolders = ['elements/@module.full.name@/bundles/assets/i18n-compiled'];
|
|
24
|
-
this.i18nService.addResources({ i18nFolders }, '@module.full.name@');
|
|
25
|
-
|
|
26
|
-
this.i18nService.onReady('@module.full.name@')
|
|
27
|
-
.subscribe(() => {
|
|
28
|
-
this.render = true;
|
|
29
|
-
});
|
|
30
57
|
}
|
|
31
58
|
|
|
32
59
|
public ngOnInit() {
|
|
33
60
|
this.router.navigateByUrl(this.location.path(true));
|
|
61
|
+
this.loadTranslations();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private loadTranslations() {
|
|
65
|
+
this.setStatus(ElementStatus.Loading);
|
|
66
|
+
this.i18nService.lazyLoad({ i18nFolders: appConfig.global.i18nResources })
|
|
67
|
+
.pipe(take(1), retry(1))
|
|
68
|
+
.subscribe((loadStatus: I18nLoadStatus) => {
|
|
69
|
+
if (!loadStatus.success) {
|
|
70
|
+
this.setStatus(ElementStatus.Error);
|
|
71
|
+
console.error(`[ELEMENT: ${appConfig.global.elementName}] `, loadStatus.error);
|
|
72
|
+
} else {
|
|
73
|
+
this.setStatus(ElementStatus.Loaded);
|
|
74
|
+
}
|
|
75
|
+
}, (error) => {
|
|
76
|
+
this.setStatus(ElementStatus.Error);
|
|
77
|
+
console.error(`[ELEMENT: ${appConfig.global.elementName}] `, error);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
34
80
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// - Go to http://localhost:4200/mywp-remote-sample-v7/
|
|
38
|
-
// - Click on 'Go to mywp-remote-sample-v7b root'
|
|
39
|
-
// - Go back twice through the browser to http://localhost:4200/mywp-remote-sample-v7/main
|
|
40
|
-
// - Click on 'Go to child'
|
|
41
|
-
// Solution from here:
|
|
42
|
-
// - https://stackoverflow.com/questions/55617772/angular-7-multiple-outlets-error-cannot-activate-an-already-activated-outle
|
|
43
|
-
// HANDLE WITH CARE, IT MIGHT HAVE UNKNOWN SIDE EFFECTS!
|
|
44
|
-
/*this.router.events.subscribe(e => {
|
|
45
|
-
if (e instanceof ActivationStart) {
|
|
46
|
-
this.outlet.deactivate();
|
|
47
|
-
}
|
|
48
|
-
});*/
|
|
81
|
+
private setStatus(status: ElementStatus) {
|
|
82
|
+
this.moduleStatus = status;
|
|
49
83
|
}
|
|
50
84
|
}
|
|
@@ -14,28 +14,27 @@ import { TranslateModule, TranslateService, TranslateStore } from '@ngx-translat
|
|
|
14
14
|
// CSDR CORE - Babel defs & core reducers
|
|
15
15
|
import {
|
|
16
16
|
CachePreventionInterceptor,
|
|
17
|
+
CONFIG_TOKEN,
|
|
17
18
|
CorsSecurityInterceptor,
|
|
18
19
|
CsrfPreventionInterceptor,
|
|
19
20
|
EuLoginSessionTimeoutHandlingInterceptor,
|
|
20
|
-
|
|
21
|
-
UxService,
|
|
22
|
-
CONFIG_TOKEN,
|
|
23
|
-
UxDomService,
|
|
24
|
-
UserService,
|
|
21
|
+
HttpService,
|
|
25
22
|
I18nService,
|
|
26
|
-
|
|
23
|
+
LocalStorageService,
|
|
27
24
|
LogService,
|
|
28
|
-
|
|
25
|
+
OpenidConnectInterceptor,
|
|
29
26
|
OpenIdConnectService,
|
|
30
|
-
UxDynamicMessageBoxService,
|
|
31
|
-
UxDynamicComponentService,
|
|
32
|
-
UxAppShellService,
|
|
33
|
-
HttpService,
|
|
34
|
-
UxDynamicModalService,
|
|
35
|
-
LocalStorageService,
|
|
36
27
|
StorageService,
|
|
28
|
+
StoreService,
|
|
29
|
+
UserService,
|
|
30
|
+
UxAllModule,
|
|
31
|
+
UxAppShellService,
|
|
32
|
+
UxBreadcrumbsService,
|
|
33
|
+
UxDomService,
|
|
34
|
+
UxErrorFeedbackService,
|
|
35
|
+
UxService,
|
|
37
36
|
} from '@eui/core';
|
|
38
|
-
import { PushNotificationsService } from '@csdr/core';
|
|
37
|
+
import { LanguageInterceptor, PushNotificationsService, BreadcrumbsService } from '@csdr/core';
|
|
39
38
|
import { TRACE_LOCAL_SERVICE_NAME, ZipkinHttpInterceptor, ZipkinTraceManager } from '@csdr/zipkin-tracing';
|
|
40
39
|
|
|
41
40
|
import { TOKEN, reducerProvider, metaReducers } from './reducers/index';
|
|
@@ -43,12 +42,12 @@ import { CustomSerializer } from './reducers/custom-route-serializer';
|
|
|
43
42
|
|
|
44
43
|
import { environment } from '../environments/environment';
|
|
45
44
|
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
import { ELEMENT_ROUTER_TOKEN, PushNotificationMapping } from '@csdr/integration/elements';
|
|
45
|
+
// import { TaskMgrCommonModule } from '@cc/task-manager'; // TODO import from package
|
|
46
|
+
import { ELEMENT_ROUTER_TOKEN, PushNotificationMapping, UxServiceMapping } from '@csdr/integration';
|
|
49
47
|
import { RoutingModule } from './routing.module';
|
|
50
48
|
|
|
51
49
|
import { ModuleComponent } from './module.component';
|
|
50
|
+
import { appConfig } from '../config';
|
|
52
51
|
|
|
53
52
|
export function openidConnectInterceptorFactory(config) {
|
|
54
53
|
return new OpenidConnectInterceptor();
|
|
@@ -62,11 +61,11 @@ export function openidConnectInterceptorFactory(config) {
|
|
|
62
61
|
StoreRouterConnectingModule.forRoot({ stateKey: 'router', serializer: CustomSerializer }),
|
|
63
62
|
StoreModule.forRoot(TOKEN, { metaReducers }),
|
|
64
63
|
EffectsModule.forRoot([]),
|
|
65
|
-
StoreDevtoolsModule.instrument({ name:
|
|
64
|
+
StoreDevtoolsModule.instrument({ name: appConfig.global.storeName, maxAge: 150, logOnly: environment.production }),
|
|
66
65
|
TranslateModule,
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
// TaskMgrCommonModule,
|
|
67
|
+
UxAllModule,
|
|
68
|
+
// TaskMgrCommonModule, // TODO import from package
|
|
70
69
|
RoutingModule,
|
|
71
70
|
],
|
|
72
71
|
declarations: [
|
|
@@ -77,6 +76,12 @@ export function openidConnectInterceptorFactory(config) {
|
|
|
77
76
|
],
|
|
78
77
|
providers: [
|
|
79
78
|
reducerProvider,
|
|
79
|
+
{
|
|
80
|
+
provide: HTTP_INTERCEPTORS,
|
|
81
|
+
useClass: LanguageInterceptor,
|
|
82
|
+
deps: [CONFIG_TOKEN, StorageService],
|
|
83
|
+
multi: true,
|
|
84
|
+
},
|
|
80
85
|
{
|
|
81
86
|
provide: HTTP_INTERCEPTORS,
|
|
82
87
|
useClass: CorsSecurityInterceptor,
|
|
@@ -110,8 +115,13 @@ export function openidConnectInterceptorFactory(config) {
|
|
|
110
115
|
multi: true,
|
|
111
116
|
},
|
|
112
117
|
{ provide: CONFIG_TOKEN, useFactory: () => window['PROVIDERS']['CONFIG_TOKEN'], deps: [] },
|
|
113
|
-
{
|
|
118
|
+
{
|
|
119
|
+
provide: UxService,
|
|
120
|
+
useFactory: () => new UxServiceMapping(window['PROVIDERS']['ngZone'], window['PROVIDERS']['UxService']),
|
|
121
|
+
deps: [],
|
|
122
|
+
},
|
|
114
123
|
{ provide: UxDomService, useFactory: () => window['PROVIDERS']['UxDomService'], deps: [] },
|
|
124
|
+
{ provide: UxErrorFeedbackService, useFactory: () => window['PROVIDERS']['UxErrorFeedbackService'], deps: [] },
|
|
115
125
|
{ provide: LocalStorageService, useFactory: () => window['PROVIDERS']['LocalStorageService'], deps: [] },
|
|
116
126
|
{ provide: StorageService, useFactory: () => window['PROVIDERS']['StorageService'], deps: [] },
|
|
117
127
|
{ provide: LogService, useFactory: () => window['PROVIDERS']['LogService'], deps: [] },
|
|
@@ -125,22 +135,12 @@ export function openidConnectInterceptorFactory(config) {
|
|
|
125
135
|
{ provide: OpenIdConnectService, useFactory: () => window['PROVIDERS']['OpenIdConnectService'], deps: [] },
|
|
126
136
|
{ provide: HttpService, useFactory: () => window['PROVIDERS']['HttpService'], deps: [] },
|
|
127
137
|
{ provide: UxAppShellService, useFactory: () => window['PROVIDERS']['UxAppShellService'], deps: [] },
|
|
128
|
-
{
|
|
129
|
-
provide: UxDynamicMessageBoxService,
|
|
130
|
-
useFactory: () => window['PROVIDERS']['UxDynamicMessageBoxService'],
|
|
131
|
-
deps: [],
|
|
132
|
-
},
|
|
133
|
-
{ provide: UxDynamicModalService, useFactory: () => window['PROVIDERS']['UxDynamicModalService'], deps: [] },
|
|
134
|
-
{
|
|
135
|
-
provide: UxDynamicComponentService,
|
|
136
|
-
useFactory: () => window['PROVIDERS']['UxDynamicComponentService'],
|
|
137
|
-
deps: [],
|
|
138
|
-
},
|
|
139
138
|
{
|
|
140
139
|
provide: PushNotificationsService,
|
|
141
140
|
useFactory: (zone: NgZone) => new PushNotificationMapping(zone, window['PROVIDERS']['PushNotificationsService']),
|
|
142
141
|
deps: [NgZone],
|
|
143
142
|
},
|
|
143
|
+
{ provide: BreadcrumbsService, useFactory: () => window['PROVIDERS']['BreadcrumbsService'], deps: [] },
|
|
144
144
|
{ provide: ELEMENT_ROUTER_TOKEN, useFactory: () => window['PROVIDERS']['ELEMENT_ROUTER_TOKEN'], deps: [] },
|
|
145
145
|
{ provide: TRACE_LOCAL_SERVICE_NAME, useFactory: () => window['PROVIDERS']['TRACE_LOCAL_SERVICE_NAME'], deps: [] },
|
|
146
146
|
{ provide: ZipkinTraceManager, useFactory: () => window['PROVIDERS']['ZipkinTraceManager'], deps: [] },
|
|
@@ -154,7 +154,7 @@ export class AppModule {
|
|
|
154
154
|
ngDoBootstrap() {
|
|
155
155
|
const elementSampleEui = createCustomElement(ModuleComponent, { injector: this.injector });
|
|
156
156
|
try {
|
|
157
|
-
customElements.define(
|
|
157
|
+
customElements.define(appConfig.global.elementName, elementSampleEui);
|
|
158
158
|
} catch (e) {
|
|
159
159
|
console.log(e);
|
|
160
160
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { NgModule, NgZone, Inject } from '@angular/core';
|
|
2
|
-
import { RouterModule, Routes, Router } from '@angular/router';
|
|
2
|
+
import { RouterModule, Routes, Router, NavigationStart } from '@angular/router';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import { filter, distinctUntilChanged } from 'rxjs/operators';
|
|
3
5
|
|
|
4
|
-
import { ELEMENT_ROUTER_TOKEN, IRouterService } from '@csdr/integration
|
|
6
|
+
import { CCRoute, ELEMENT_ROUTER_TOKEN, IRouterService } from '@csdr/integration';
|
|
5
7
|
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
import { GLOBAL } from '../config/global';
|
|
8
|
+
// import { routes } from '@cc/task-manager'; // TODO import from package
|
|
9
|
+
import { appConfig } from '../config/index';
|
|
9
10
|
import { ModuleComponent } from './module.component';
|
|
10
11
|
|
|
11
12
|
const prefixedRoutes: Routes = [
|
|
12
13
|
{
|
|
13
|
-
path:
|
|
14
|
-
children: routes, // TODO
|
|
14
|
+
path: appConfig.global.baseUrl,
|
|
15
|
+
// children: routes, // TODO import from package
|
|
15
16
|
},
|
|
16
17
|
{ path: '**', component: ModuleComponent },
|
|
17
18
|
];
|
|
@@ -26,15 +27,26 @@ const prefixedRoutes: Routes = [
|
|
|
26
27
|
],
|
|
27
28
|
})
|
|
28
29
|
export class RoutingModule {
|
|
30
|
+
private routes: CCRoute[] = prefixedRoutes.map(route => route as CCRoute);
|
|
31
|
+
|
|
32
|
+
private navigationStartSubscription: Subscription;
|
|
29
33
|
|
|
30
34
|
constructor(private router: Router,
|
|
31
35
|
private ngZone: NgZone,
|
|
32
36
|
@Inject(ELEMENT_ROUTER_TOKEN) private routerService: IRouterService) {
|
|
33
37
|
|
|
34
|
-
this.routerService.registerSubRouter(
|
|
38
|
+
this.routerService.registerSubRouter(appConfig.global.baseUrl, (url: string) => {
|
|
35
39
|
this.ngZone.run(() => router.navigateByUrl(url));
|
|
36
|
-
});
|
|
40
|
+
}, this.routes);
|
|
37
41
|
|
|
38
|
-
this.
|
|
42
|
+
this.navigationStartSubscription = this.router
|
|
43
|
+
.events
|
|
44
|
+
.pipe(
|
|
45
|
+
filter(event => event instanceof NavigationStart),
|
|
46
|
+
distinctUntilChanged((prev, curr) => prev['url'] === curr['url']),
|
|
47
|
+
)
|
|
48
|
+
.subscribe(data => {
|
|
49
|
+
this.routerService.subrouterEvent(appConfig.global.baseUrl, data);
|
|
50
|
+
});
|
|
39
51
|
}
|
|
40
52
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"core.KEY":"english text","integration.KEY":"english text","cc.bulk.BULK_LIST":"Bulk operations","cc.bulk.FILTER":"Filter","cc.bulk.INITIATED_BY_ME":"Initiated by me","cc.bulk.ITEM_SORTING_BY_START_DATE_ASC":"Start date asc","cc.bulk.ITEM_SORTING_BY_START_DATE_DESC":"Start date desc","cc.bulk.ITEMS_FOUND":"bulk operations found","cc.bulk.LOADED_COMPLETED":"Loading completed","cc.bulk.REFRESH":"Refresh","cc.bulk.REPORT_LIST":"Report list","cc.bulk.SEARCH_RESULT":"Filter results","cc.bulk.SORT_BY":"Sort by:","cc.bulk.TEXT_SEARCH":"Search","cc.bulk.TEXT_SEARCH_PLACEHOLDER":"Search for a bulk operation","cc.bulk.STARTED_ON":"Started on","cc.bulk.BY":"by","cc.bulk.RELATED_TASKS":"Related tasks","cc.bulk.INTERACTIVE_TASKS":"Interactive tasks","cc.bulk-detail.BULK_DETAIL":"Bulk operation detail","cc.bulk-detail.BACK":"Back","cc.bulk-detail.STARTED_ON":"Started on","cc.start-bulk.BULK":"Bulk:start","cc.start-bulk.CANCEL":"Cancel","cc.start-bulk.DESCRIPTION_ERROR":"Mandatory field","cc.start-bulk.DESCRIPTION_LABEL":"Description","cc.start-bulk.DESCRIPTION_TITLE":"Type a description for this bulk process","cc.start-bulk.SAVE":"Start bulk","cc.start-bulk-reassign.BULK":"Bulk:reassign","cc.start-bulk-reassign.CANCEL":"Cancel","cc.start-bulk-reassign.CANDIDATES_ERROR":"Mandatory field","cc.start-bulk-reassign.CANDIDATES_LABEL":"Candidate","cc.start-bulk-reassign.DESCRIPTION_ERROR":"Mandatory field","cc.start-bulk-reassign.DESCRIPTION_LABEL":"Description","cc.start-bulk-reassign.NO_CANDIDATES_AVAILABLE":"No candidates available","cc.start-bulk-reassign.REASSIGN_TITLE":"Reassign","cc.start-bulk-reassign.SAVE":"Start bulk","cc.start-bulk-unclaim.BULK":"Bulk:unclaim","cc.start-bulk-unclaim.CANCEL":"Cancel","cc.start-bulk-unclaim.DESCRIPTION_ERROR":"Mandatory field","cc.start-bulk-unclaim.DESCRIPTION_LABEL":"Description","cc.start-bulk-unclaim.UNCLAIM_TITLE":"Unclaim","cc.start-bulk-unclaim.SAVE":"Start bulk","cc.clock.IS_LOADING":"Loading...","cc.clock.CLOCK_NA":"Clock Not Av.","cc.clock.RETRY":"Retry","cc.clock.HEADER":"Clock","cc.clock.ERROR":"Error","cc.clock.MARKER":"marker","cc.clock.CLOCK_DESC_LABEL":"(elapsed/stopped/remaining)","cc.clock.CLOCK_WITH_NO_DAYS_DESC_LABEL":"This clock has no end date set","cc.clock.CLOCK_WITH_DURATION_TYPE_EMPTY":"There is no duration (blue clock)","cc.clock.HISTORY":"Clock history","cc.clock.DEADLINE":"Deadline","cc.clock.FOR_DAY":"for {{days}} day","cc.clock.FOR_DAYS":"for {{days}} days","cc.clock.DAY_TO_DEADLINE":"{{days}} day to deadline","cc.clock.DAYS_TO_DEADLINE":"{{days}} days to deadline","cc.clock.DAY_OVER_DEADLINE":"{{days}} day over deadline","cc.clock.DAYS_OVER_DEADLINE":"{{days}} days over deadline","cc.clock.START_DATE":"Start date","cc.clock.END_DATE":"End date","cc.clock.MARKER_STATUS":"Status","cc.clock.MARKER_COMMENT":"Comment","cc.clock.MARKER_REASON":"Reason","cc.clock.TARGET_END_DATE":"Target End Date","cc.clock.STATUS.UNKNOWN":"Unknown status","cc.clock.STATUS.RUNNING":"Running","cc.clock.STATUS.PAUSED":"Paused","cc.clock.STATUS.ENDED":"Ended","cc.clock.STATUS.STOPPED":"Stopped","cc.clock.STATUS.SUSPENDED":"Suspended","cc.clock.STATUS.TERMINATED":"Terminated","cc.clock.MARKER_TYPE.SUSPENSION":"Suspension","cc.clock.MARKER_TYPE.END_DATE_TIMER":"End Date","cc.clock.MARKER_TYPE.MILESTONE":"Milestone","cc.clock.MARKER_TYPE.TIMER":"Timer","cc.clock.MARKER_TYPE.UNKNOWN":"Unknown","cc.shared.NO_ACTIONS_FOUND":"No Actions found","cc.shared.CLOSE":"Close","cc.shared.EMPTY":"Empty","cc.shared.MANAGE_FILTERS":"Manage","cc.shared.DELETE":"Delete","cc.shared.DISMISS_ALL":"Dismiss all","cc.shared.FILTER_NAME":"Filter name","cc.shared.FILTER_NAME_ERROR":"A filter with this name already exists","cc.shared.FILTER_NAME_PLACEHOLDER":"Provide unique name","cc.shared.NEW_FILTER":"Save current filter","cc.shared.OVERRIDE_MSG":"Overriding existing filter","cc.shared.SAVE":"Save","cc.shared.SELECT_FILTER":"Select filter","cc.shared.SELECTED_CRITERIA":"Selected criteria","cc.shared.RETRY.RETRY_LABEL":"Retry","cc.shared.SEARCH-ITEM":"Select items","cc.shared.SPINNER.LOADING_LABEL":"Loading...","cc.shared.UNKNOWN_BLOCK.HEADER":"Unknown","taskmgr.TASKS_WITHOUT_CANDIDATES":"Tasks without candidates","taskmgr.FULL_TEXT_SEARCH":"Search","taskmgr.FULL_TEXT_SEARCH_PLACEHOLDER":"Type some text","taskmgr.SEARCH_RESULT":"Filter results","taskmgr.REFRESH_LIST":"Refresh list","taskmgr.BULK_STATUS_WAITING":"The task is waiting for bulk processing","taskmgr.BULK_STATUS_PROCESSING":"The task is currently processing","taskmgr.BULK_STATUS_FAILED":"The bulk processing has failed","taskmgr.TASK_STATE_ACTIVE":"Active","taskmgr.TASK_STATE_ASSIGNED":"Assignee: {{ someone }}","taskmgr.TASK_STATE_COMPLETED":"Completed by {{ someone }} at {{ date }}","taskmgr.URGENT":"Urgent","taskmgr.ACTIONS_NOT_AVAILABLE":"Not Av.","taskmgr.ACTIONS":"Actions","taskmgr.ACTION_REASSIGN":"Reassign","taskmgr.ASSIGN":"Candidate","taskmgr.ASSIGN_TASK":"Assign to","taskmgr.OK":"Ok","taskmgr.ACTION_CLAIM":"Claim","taskmgr.ACTION_UNCLAIM":"Unclaim","taskmgr.ALL":"All","taskmgr.ASSIGNED_BY":"Assigned by","taskmgr.ASSIGNED_TO":"Assigned to","taskmgr.ASSIGNED_TO_CANDIDATES":"{{ value }} candidates...","taskmgr.ASSIGNED_TO_ME":"Me","taskmgr.ASSIGNED_TO_SOMEONE_AND_MANY_MORE":"{{ someone }} and {{ many }} more...","taskmgr.ASSIGNEE":"Assignee","taskmgr.CANDIDATE":"Candidate","taskmgr.CLEAR_SELECTION":"Clear selection","taskmgr.COUNT_TASK_SELECTED":"You have {{ count }} task(s) selected","taskmgr.COUNTERS_UPDATED":"Refresh counters","taskmgr.EMPTY":"Empty","taskmgr.FILTER":"Filter","taskmgr.IS_LOADING":"Loading...","taskmgr.LIST_OF_USERS":"List of users","taskmgr.LOADED_COMPLETED":"Loading completed","taskmgr.ME":"Me","taskmgr.NO_CANDIDATE":"No candidate","taskmgr.ON_BEHALF_OF":"{{ subject }} on behalf of {{ others }}","taskmgr.POPOVER_DEFAULT_TITLE":"Info","taskmgr.REQUIRED":"this field is required","taskmgr.RETRY":"Retry","taskmgr.SNOOZE_CANCEL_BUTTON":"Terminate snooze","taskmgr.SNOOZE_CONFIRM_BUTTON":"Snooze","taskmgr.SNOOZE_DUE_DATE":"Until: ","taskmgr.SNOOZE_DUE_DATE_NOT_IN_THE_FUTURE":"Please choose the date in the future.","taskmgr.SNOOZE_REASON":"Reason: ","taskmgr.SNOOZE_TASK":"Snooze task","taskmgr.SORT_BY":"Sort by:","taskmgr.SUPERVISED_USERS":"Me or any user supervised by me","taskmgr.TASK_CREATE_DATE":"Created on","taskmgr.TASK_DEADLINE":"Deadline","taskmgr.TASK_SORTING_BY_CREATE_DATE_ASC":"Create date asc","taskmgr.TASK_SORTING_BY_CREATE_DATE_DESC":"Create date desc","taskmgr.TASK_STATE":"State","taskmgr.TASK_CENTRE":"Task Centre","taskmgr.TASKS_FOUND":"tasks found","taskmgr.TITLE_TASK_NOT_SNOOZED":"Not snoozed","taskmgr.TITLE_TASK_SNOOZED":"Snoozed","taskmgr.widget.tile.TASKS":"My tasks","taskmgr.SELECT_ALL_LABEL":"Select all {{ count }} listed (out of {{ total }})","taskmgr.widget.taskList.ALL":"All tasks","taskmgr.widget.taskList.CLAIMED_BY_ME":"Claimed by me","taskmgr.widget.taskList.EMPTY":"Empty","taskmgr.widget.taskList.TASKS":"Tasks","taskmgr.widget.taskList.WHERE_I_AM_CANDIDATE":"Assigned to me/team","taxonomy.EMPTY_LABEL":"Empty","taxonomy.FILTER_OPTIONS_LIST_PLACEHOLDER":"Select value","taxonomy.NONE_NODE_SELECTED":"None taxonomy node selected","taxonomy.RESET":"Reset","taxonomy.SEARCH_FILTERS":"Search filters","taxonomy.UX_TREE_COLLAPSE_ALL_LABEL":"Collapse","taxonomy.UX_TREE_EXPAND_ALL_LABEL":"Expand","taxonomy.UX_TREE_FILTER_LABEL":"Select a type"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"core.KEY":"texte en français","integration.KEY":"texte en français","cc.bulk.BULK_LIST":"**fr** Bulk operations **fr**","cc.bulk.FILTER":"**fr** Filter **fr**","cc.bulk.INITIATED_BY_ME":"**fr** Initiated by me **fr**","cc.bulk.ITEM_SORTING_BY_START_DATE_ASC":"**fr** Start date asc **fr**","cc.bulk.ITEM_SORTING_BY_START_DATE_DESC":"**fr** Start date desc **fr**","cc.bulk.ITEMS_FOUND":"**fr** bulk operations found **fr**","cc.bulk.LOADED_COMPLETED":"Chargement terminé","cc.bulk.REFRESH":"Rafraîchir","cc.bulk.REPORT_LIST":"**fr** Report list **fr**","cc.bulk.SEARCH_RESULT":"**fr** Filter results **fr**","cc.bulk.SORT_BY":"Trier par : ","cc.bulk.TEXT_SEARCH":"**fr** Search **fr**","cc.bulk.TEXT_SEARCH_PLACEHOLDER":"**fr** Search for a bulk operation **fr**","cc.bulk.STARTED_ON":"**fr** Started on **fr**","cc.bulk.BY":"**fr** by **fr**","cc.bulk.RELATED_TASKS":"**fr** Related tasks **fr**","cc.bulk.INTERACTIVE_TASKS":"**fr** Interactive tasks **fr**","cc.bulk-detail.BULK_DETAIL":"**fr** Bulk operation detail **fr**","cc.bulk-detail.BACK":"**fr** Back **fr**","cc.bulk-detail.STARTED_ON":"**fr** Started on **fr**","cc.start-bulk.BULK":"Bulk:Démarrer un processus de masse","cc.start-bulk.CANCEL":"Annuler","cc.start-bulk.DESCRIPTION_ERROR":"Champ obligatoire","cc.start-bulk.DESCRIPTION_LABEL":"Description","cc.start-bulk.DESCRIPTION_TITLE":"Entrez une description pour ce processus de masse","cc.start-bulk.SAVE":"Démarrer un processus de masse","cc.start-bulk-reassign.BULK":"Bulk:Réassigner","cc.start-bulk-reassign.CANCEL":"Annuler","cc.start-bulk-reassign.CANDIDATES_ERROR":"Champ obligatoire","cc.start-bulk-reassign.CANDIDATES_LABEL":"Candidat","cc.start-bulk-reassign.DESCRIPTION_ERROR":"Champ obligatoire","cc.start-bulk-reassign.DESCRIPTION_LABEL":"Description","cc.start-bulk-reassign.NO_CANDIDATES_AVAILABLE":"Aucun candidat disponible","cc.start-bulk-reassign.REASSIGN_TITLE":"Réassigner","cc.start-bulk-reassign.SAVE":"Démarrer un processus de masse","cc.start-bulk-unclaim.BULK":"Bulk:Annuler la réclamation","cc.start-bulk-unclaim.CANCEL":"Annuler","cc.start-bulk-unclaim.DESCRIPTION_ERROR":"Champ obligatoire","cc.start-bulk-unclaim.DESCRIPTION_LABEL":"Description","cc.start-bulk-unclaim.UNCLAIM_TITLE":"Annuler la réclamation","cc.start-bulk-unclaim.SAVE":"Démarrer un processus de masse","cc.clock.CLOCK_NA":"Clock indisponible","cc.clock.IS_LOADING":"Chargement...","cc.clock.NA":"Indisponible","cc.clock.RETRY":"Réessayer","cc.clock.HEADER":"**fr** Clock **fr**","cc.clock.ERROR":"**fr** Error **fr**","cc.clock.CLOCK_DESC_LABEL":"**fr** (elapsed/stopped/remaining) **fr**","cc.clock.CLOCK_WITH_NO_DAYS_DESC_LABEL":"**fr** This clock has no end date set **fr**","cc.clock.CLOCK_WITH_DURATION_TYPE_EMPTY":"**fr** There is no duration (blue clock) **fr**","cc.clock.TARGET_END_DATE":"**fr** Target End Date **fr**","cc.clock.DAY_TO_DEADLINE":"**fr** {{days}} day to deadline **fr**","cc.clock.DAYS_TO_DEADLINE":"**fr** {{days}} days to deadline **fr**","cc.clock.DAY_OVER_DEADLINE":"**fr** {{days}} day over deadline **fr**","cc.clock.DAYS_OVER_DEADLINE":"**fr** {{days}} days over deadline **fr**","cc.shared.NO_ACTIONS_FOUND":"Aucune action trouvée","cc.shared.CLOSE":"Fermer","cc.shared.EMPTY":"Vide","cc.shared.MANAGE_FILTERS":"Gérer","cc.shared.DELETE":"Supprimer","cc.shared.DISMISS_ALL":"Annuler les filtres","cc.shared.FILTER_NAME":"Nom du filtre","cc.shared.FILTER_NAME_ERROR":"Un filtre existe déjà sous le même nom","cc.shared.FILTER_NAME_PLACEHOLDER":"Entrez un nom unique","cc.shared.NEW_FILTER":"Sauvegarder le filtre en cours","cc.shared.OVERRIDE_MSG":"Remplacer le filtre existant","cc.shared.SAVE":"Sauvegarder","cc.shared.SELECT_FILTER":"Sélectionner un filtre","cc.shared.SELECTED_CRITERIA":"Critères sélectionnés","cc.shared.RETRY.RETRY_LABEL":"Reessayez","cc.shared.SEARCH-ITEM":"Sélectionner des items","cc.shared.SPINNER.LOADING_LABEL":"Chargement...","cc.shared.UNKNOWN_BLOCK.HEADER":"Inconnu","taskmgr.TASKS_WITHOUT_CANDIDATES":"**fr** Tasks without candidates **fr**","taskmgr.FULL_TEXT_SEARCH":"Rechercher","taskmgr.FULL_TEXT_SEARCH_PLACEHOLDER":"Tapez du texte","taskmgr.SEARCH_RESULT":"Résultats du filtre","taskmgr.REFRESH_LIST":"Rafraîchir","taskmgr.BULK_STATUS_WAITING":"La tâche est en attente d'un traîtement de masse","taskmgr.BULK_STATUS_PROCESSING":"La tâche est en cours de traitement","taskmgr.BULK_STATUS_FAILED":"Erreur lors du traitement de masse","taskmgr.TASK_STATE_ACTIVE":"Active","taskmgr.TASK_STATE_ASSIGNED":"Assigné: {{ someone }}","taskmgr.TASK_STATE_COMPLETED":"Complété par {{ someone }} le {{ date }}","taskmgr.URGENT":"Urgent","taskmgr.ACTIONS_NOT_AVAILABLE":"Indisponible","taskmgr.ACTIONS":"Actions","taskmgr.ACTION_REASSIGN":"Réassigner","taskmgr.ASSIGN":"Candidat","taskmgr.ASSIGN_TASK":"Assigner à","taskmgr.OK":"Ok","taskmgr.ACTION_CLAIM":"Réclamer","taskmgr.ACTION_UNCLAIM":"Déclamer","taskmgr.ALL":"Tout","taskmgr.ASSIGNED_BY":"Assignée par","taskmgr.ASSIGNED_TO":"Assignée à","taskmgr.ASSIGNED_TO_CANDIDATES":"{{ value }} candidats...","taskmgr.ASSIGNED_TO_ME":"Moi","taskmgr.ASSIGNED_TO_SOMEONE_AND_MANY_MORE":"{{ someone }} et {{ many }} plus...","taskmgr.ASSIGNEE":"Réclamée par","taskmgr.CANDIDATE":"Candidat","taskmgr.CLEAR_SELECTION":"Effacer la sélection","taskmgr.COUNT_TASK_SELECTED":"Vous avez sélectionné {{ count }} tâche(s)","taskmgr.COUNTERS_UPDATED":"Rafraîchir les compteurs","taskmgr.EMPTY":"Vide","taskmgr.FILTER":"Filtrer","taskmgr.IS_LOADING":"Chargement...","taskmgr.LIST_OF_USERS":"Liste des utilisateurs","taskmgr.LOADED_COMPLETED":"Chargement terminé","taskmgr.ME":"Moi","taskmgr.NO_CANDIDATE":"Pas de candidat","taskmgr.ON_BEHALF_OF":"{{ subject }} au nom de {{ others }}","taskmgr.POPOVER_DEFAULT_TITLE":"Information","taskmgr.REQUIRED":"Ce champ est obligatoire","taskmgr.RETRY":"Réessayer","taskmgr.SNOOZE_CANCEL_BUTTON":"Annuler le report","taskmgr.SNOOZE_CONFIRM_BUTTON":"Reporter","taskmgr.SNOOZE_DUE_DATE":"Jusqu'à : ","taskmgr.SNOOZE_DUE_DATE_NOT_IN_THE_FUTURE":"S'il vous plait choisissez une date à venir.","taskmgr.SNOOZE_REASON":"Raison : ","taskmgr.SNOOZE_TASK":"Reporter une tâche","taskmgr.SORT_BY":"Trier par : ","taskmgr.SUPERVISED_USERS":"Moi or any user supervised by moi","taskmgr.TASK_CREATE_DATE":"Date de création","taskmgr.TASK_DEADLINE":"Date limite","taskmgr.TASK_SORTING_BY_CREATE_DATE_ASC":"Date de création asc.","taskmgr.TASK_SORTING_BY_CREATE_DATE_DESC":"Date de création desc.","taskmgr.TASK_STATE":"Etat","taskmgr.TASK_CENTRE":"Task Centre","taskmgr.TASKS_FOUND":"Tâches trouvées","taskmgr.TITLE_TASK_NOT_SNOOZED":"Non répetée","taskmgr.TITLE_TASK_SNOOZED":"Répetée","taskmgr.widget.tile.TASKS":"Mes tâches","taskmgr.SELECT_ALL_LABEL":"Sélectionnez tous les {{ count }} répertoriés (sur {{ total }})","taskmgr.widget.taskList.ALL":"Tous les tâches","taskmgr.widget.taskList.CLAIMED_BY_ME":"Mes tâches","taskmgr.widget.taskList.EMPTY":"Vide","taskmgr.widget.taskList.TASKS":"Tâches","taskmgr.widget.taskList.WHERE_I_AM_CANDIDATE":"Assignées à moi/groupe","taxonomy.EMPTY_LABEL":"Vide","taxonomy.FILTER_OPTIONS_LIST_PLACEHOLDER":"Sélectionnez une valeur","taxonomy.NONE_NODE_SELECTED":"Aucun noeud sélectionné","taxonomy.RESET":"Réinitialiser","taxonomy.SEARCH_FILTERS":"Filtres de recherche","taxonomy.UX_TREE_COLLAPSE_ALL_LABEL":"Masquer","taxonomy.UX_TREE_EXPAND_ALL_LABEL":"Afficher","taxonomy.UX_TREE_FILTER_LABEL":"Sélectionner un type"}
|