mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
[AAE-7100] ESLint support for ADF Core and DemoShell projects (#7481)
* remove tsconfig.base as per eslint schematics * add schematics * upgrade demoshell to eslint * fix eslint issues for demoshell * integrate eslint for ADF core and fix some issues * turn into warn * fix code * workaround for Chrome clipboard issue * exclude e2e tests * exclude e2e
This commit is contained in:
parent
6ef4838688
commit
b8bb234410
105
.eslintrc.json
Normal file
105
.eslintrc.json
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"ignorePatterns": [
|
||||||
|
"projects/**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"tsconfig.json",
|
||||||
|
"e2e/tsconfig.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"plugin:@angular-eslint/ng-cli-compat",
|
||||||
|
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
|
||||||
|
"plugin:@angular-eslint/template/process-inline-templates"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"eslint-plugin-unicorn",
|
||||||
|
"eslint-plugin-rxjs"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "element",
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": [
|
||||||
|
"element",
|
||||||
|
"attribute"
|
||||||
|
],
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/no-host-metadata-property": "off",
|
||||||
|
"@angular-eslint/no-input-prefix": "error",
|
||||||
|
"@typescript-eslint/consistent-type-definitions": "error",
|
||||||
|
"@typescript-eslint/dot-notation": "off",
|
||||||
|
"@typescript-eslint/explicit-member-accessibility": [
|
||||||
|
"off",
|
||||||
|
{
|
||||||
|
"accessibility": "explicit"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-inferrable-types": "off",
|
||||||
|
"@typescript-eslint/no-require-imports": "off",
|
||||||
|
"@typescript-eslint/no-var-requires": "error",
|
||||||
|
|
||||||
|
"@typescript-eslint/member-ordering": "warn",
|
||||||
|
"prefer-arrow/prefer-arrow-functions": "warn",
|
||||||
|
|
||||||
|
"brace-style": [
|
||||||
|
"error",
|
||||||
|
"1tbs"
|
||||||
|
],
|
||||||
|
"comma-dangle": "error",
|
||||||
|
"default-case": "error",
|
||||||
|
"import/order": "off",
|
||||||
|
"max-len": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"code": 240
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"no-bitwise": "off",
|
||||||
|
"no-duplicate-imports": "error",
|
||||||
|
"no-multiple-empty-lines": "error",
|
||||||
|
"no-redeclare": "error",
|
||||||
|
"no-return-await": "error",
|
||||||
|
"rxjs/no-create": "error",
|
||||||
|
"rxjs/no-subject-unsubscribe": "error",
|
||||||
|
"rxjs/no-subject-value": "error",
|
||||||
|
"rxjs/no-unsafe-takeuntil": "error",
|
||||||
|
"unicorn/filename-case": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.html"
|
||||||
|
],
|
||||||
|
"extends": [
|
||||||
|
"plugin:@angular-eslint/template/recommended"
|
||||||
|
],
|
||||||
|
"rules": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"extends": "../tsconfig.base.json",
|
"extends": "../tsconfig.json",
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"../**/*.spec.js",
|
"../**/*.spec.js",
|
||||||
"../**/*.spec.ts",
|
"../**/*.spec.ts",
|
||||||
|
46
angular.json
46
angular.json
@ -124,47 +124,47 @@
|
|||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-blue-orange.scss",
|
"input": "lib/core/styles/prebuilt/adf-blue-orange.scss",
|
||||||
"bundleName" : "adf-blue-orange"
|
"bundleName": "adf-blue-orange"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-blue-purple.scss",
|
"input": "lib/core/styles/prebuilt/adf-blue-purple.scss",
|
||||||
"bundleName" : "adf-blue-purple"
|
"bundleName": "adf-blue-purple"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-cyan-orange.scss",
|
"input": "lib/core/styles/prebuilt/adf-cyan-orange.scss",
|
||||||
"bundleName" : "adf-cyan-orange"
|
"bundleName": "adf-cyan-orange"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-cyan-purple.scss",
|
"input": "lib/core/styles/prebuilt/adf-cyan-purple.scss",
|
||||||
"bundleName" : "adf-cyan-purple"
|
"bundleName": "adf-cyan-purple"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-green-orange.scss",
|
"input": "lib/core/styles/prebuilt/adf-green-orange.scss",
|
||||||
"bundleName" : "adf-green-orange"
|
"bundleName": "adf-green-orange"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-green-purple.scss",
|
"input": "lib/core/styles/prebuilt/adf-green-purple.scss",
|
||||||
"bundleName" : "adf-green-purple"
|
"bundleName": "adf-green-purple"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-indigo-pink.scss",
|
"input": "lib/core/styles/prebuilt/adf-indigo-pink.scss",
|
||||||
"bundleName" : "adf-indigo-pink"
|
"bundleName": "adf-indigo-pink"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-pink-bluegrey.scss",
|
"input": "lib/core/styles/prebuilt/adf-pink-bluegrey.scss",
|
||||||
"bundleName" : "adf-pink-bluegrey"
|
"bundleName": "adf-pink-bluegrey"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"inject": false,
|
"inject": false,
|
||||||
"input": "lib/core/styles/prebuilt/adf-purple-green.scss",
|
"input": "lib/core/styles/prebuilt/adf-purple-green.scss",
|
||||||
"bundleName" : "adf-purple-green"
|
"bundleName": "adf-purple-green"
|
||||||
},
|
},
|
||||||
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
"demo-shell/src/assets/fonts/material-icons/material-icons.css",
|
||||||
"demo-shell/src/assets/fonts/muli/muli.css",
|
"demo-shell/src/assets/fonts/muli/muli.css",
|
||||||
@ -355,15 +355,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-eslint/builder:lint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": [
|
"lintFilePatterns": [
|
||||||
"tsconfig.dev.json"
|
"demo-shell/**/*.ts",
|
||||||
],
|
"demo-shell/**/*.html"
|
||||||
"exclude": [
|
|
||||||
"**/node_modules/**/*",
|
|
||||||
"**/lib/**/*",
|
|
||||||
"package.json"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -438,19 +434,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-eslint/builder:lint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": [
|
"lintFilePatterns": [
|
||||||
"lib/core/tsconfig.lib.json",
|
"lib/core/**/*.ts",
|
||||||
"lib/core/tsconfig.spec.json"
|
"lib/core/**/*.html"
|
||||||
],
|
|
||||||
"exclude": [
|
|
||||||
"**/lib/extensions/**/*",
|
|
||||||
"**/lib/content-services/**/*",
|
|
||||||
"**/lib/insights/**/*",
|
|
||||||
"**/lib/process-services-cloud/**/*",
|
|
||||||
"**/lib/process-services/**/*",
|
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
94
demo-shell/.eslintrc.json
Normal file
94
demo-shell/.eslintrc.json
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
"extends": "../.eslintrc.json",
|
||||||
|
"ignorePatterns": [
|
||||||
|
"!**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"demo-shell/tsconfig.app.json",
|
||||||
|
"demo-shell/src/tsconfig.spec.json",
|
||||||
|
"demo-shell/e2e/tsconfig.e2e.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"eslint-plugin-unicorn",
|
||||||
|
"eslint-plugin-rxjs"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "element",
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": [
|
||||||
|
"element",
|
||||||
|
"attribute"
|
||||||
|
],
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/no-host-metadata-property": "off",
|
||||||
|
"@angular-eslint/no-input-prefix": "error",
|
||||||
|
"@typescript-eslint/consistent-type-definitions": "error",
|
||||||
|
"@typescript-eslint/dot-notation": "off",
|
||||||
|
"@typescript-eslint/explicit-member-accessibility": [
|
||||||
|
"off",
|
||||||
|
{
|
||||||
|
"accessibility": "explicit"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-inferrable-types": "off",
|
||||||
|
"@typescript-eslint/no-require-imports": "off",
|
||||||
|
"@typescript-eslint/no-var-requires": "error",
|
||||||
|
"brace-style": [
|
||||||
|
"error",
|
||||||
|
"1tbs"
|
||||||
|
],
|
||||||
|
"comma-dangle": "error",
|
||||||
|
"default-case": "error",
|
||||||
|
"import/order": "off",
|
||||||
|
"max-len": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"code": 240
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"no-bitwise": "off",
|
||||||
|
"no-duplicate-imports": "error",
|
||||||
|
"no-multiple-empty-lines": "error",
|
||||||
|
"no-redeclare": "error",
|
||||||
|
"no-return-await": "error",
|
||||||
|
"rxjs/no-create": "error",
|
||||||
|
"rxjs/no-subject-unsubscribe": "error",
|
||||||
|
"rxjs/no-subject-value": "error",
|
||||||
|
"rxjs/no-unsafe-takeuntil": "error",
|
||||||
|
"unicorn/filename-case": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.html"
|
||||||
|
],
|
||||||
|
"rules": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"extends": "../tsconfig.json",
|
"extends": "../../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../out-tsc/e2e",
|
"outDir": "../out-tsc/e2e",
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
|
@ -25,7 +25,7 @@ import { ThemePalette } from '@angular/material/core';
|
|||||||
@Component({
|
@Component({
|
||||||
templateUrl: './app-layout.component.html',
|
templateUrl: './app-layout.component.html',
|
||||||
styleUrls: ['./app-layout.component.scss'],
|
styleUrls: ['./app-layout.component.scss'],
|
||||||
host: { 'class': 'app-layout' },
|
host: { class: 'app-layout' },
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class AppLayoutComponent implements OnInit, OnDestroy {
|
export class AppLayoutComponent implements OnInit, OnDestroy {
|
||||||
|
@ -72,7 +72,7 @@ export class FormCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
'custom-something': () => CustomWidgetComponent,
|
'custom-something': () => CustomWidgetComponent,
|
||||||
'custom-boolean': () => CustomWidgetComponent,
|
'custom-boolean': () => CustomWidgetComponent,
|
||||||
'custom-date': () => CustomWidgetComponent,
|
'custom-date': () => CustomWidgetComponent,
|
||||||
'custom': () => CustomWidgetComponent
|
custom: () => CustomWidgetComponent
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ export class FormCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
const fileReader = new FileReader();
|
const fileReader = new FileReader();
|
||||||
fileReader.onload = () => {
|
fileReader.onload = () => {
|
||||||
this.formConfig = <string> fileReader.result;
|
this.formConfig = fileReader.result as string;
|
||||||
};
|
};
|
||||||
fileReader.readAsText(file);
|
fileReader.readAsText(file);
|
||||||
|
|
||||||
|
@ -231,6 +231,7 @@ export class CardViewComponent implements OnInit, OnDestroy {
|
|||||||
value: of([
|
value: of([
|
||||||
{ icon: 'directions_bike', value: 'Zlatan' },
|
{ icon: 'directions_bike', value: 'Zlatan' },
|
||||||
{ icon: 'directions_bike', value: 'Lionel Messi' },
|
{ icon: 'directions_bike', value: 'Lionel Messi' },
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
{ value: 'Mohamed', directions_bike: 'save' },
|
{ value: 'Mohamed', directions_bike: 'save' },
|
||||||
{ value: 'Ronaldo' }
|
{ value: 'Ronaldo' }
|
||||||
]),
|
]),
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Component, ViewEncapsulation } from '@angular/core';
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||||
import { Router, ActivatedRoute } from '@angular/router';
|
import { Router, ActivatedRoute } from '@angular/router';
|
||||||
import { CloudLayoutService } from '../services/cloud-layout.service';
|
import { CloudLayoutService } from '../services/cloud-layout.service';
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ import { CloudLayoutService } from '../services/cloud-layout.service';
|
|||||||
`],
|
`],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class CommunityCloudComponent {
|
export class CommunityCloudComponent implements OnInit {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private router: Router,
|
private router: Router,
|
||||||
|
@ -31,13 +31,13 @@ import { Subject } from 'rxjs';
|
|||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
import { Pagination } from '@alfresco/js-api';
|
import { Pagination } from '@alfresco/js-api';
|
||||||
|
|
||||||
|
const PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
|
||||||
|
const ACTION_SAVE_AS = 'saveAs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './community-processes-cloud.component.html'
|
templateUrl: './community-processes-cloud.component.html'
|
||||||
})
|
})
|
||||||
export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||||
public static ACTION_SAVE_AS = 'saveAs';
|
|
||||||
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
|
|
||||||
|
|
||||||
@ViewChild('processCloud')
|
@ViewChild('processCloud')
|
||||||
processCloud: ProcessListCloudComponent;
|
processCloud: ProcessListCloudComponent;
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
private processFilterCloudService: ProcessFilterCloudService,
|
private processFilterCloudService: ProcessFilterCloudService,
|
||||||
private appConfig: AppConfigService) {
|
private appConfig: AppConfigService) {
|
||||||
const properties = this.appConfig.get<Array<any>>(
|
const properties = this.appConfig.get<Array<any>>(
|
||||||
CommunityProcessesCloudDemoComponent.PROCESS_FILTER_PROPERTY_KEYS
|
PROCESS_FILTER_PROPERTY_KEYS
|
||||||
);
|
);
|
||||||
|
|
||||||
if (properties) {
|
if (properties) {
|
||||||
@ -138,7 +138,7 @@ export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
onProcessFilterAction(filterAction: any) {
|
onProcessFilterAction(filterAction: any) {
|
||||||
this.cloudLayoutService.setCurrentProcessFilterParam({ id: filterAction.filter.id });
|
this.cloudLayoutService.setCurrentProcessFilterParam({ id: filterAction.filter.id });
|
||||||
if (filterAction.actionType === CommunityProcessesCloudDemoComponent.ACTION_SAVE_AS) {
|
if (filterAction.actionType === ACTION_SAVE_AS) {
|
||||||
this.router.navigate([`/cloud/community/processes/`], { queryParams: filterAction.filter });
|
this.router.navigate([`/cloud/community/processes/`], { queryParams: filterAction.filter });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,17 +24,14 @@ import { Subject } from 'rxjs';
|
|||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
import { Pagination } from '@alfresco/js-api';
|
import { Pagination } from '@alfresco/js-api';
|
||||||
|
|
||||||
|
const ACTION_SAVE_AS = 'saveAs';
|
||||||
|
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './community-task-cloud.component.html',
|
templateUrl: './community-task-cloud.component.html',
|
||||||
styles: [`.adf-cloud-layout-tab-body .mat-tab-body-wrapper {
|
styles: [`.adf-cloud-layout-tab-body .mat-tab-body-wrapper { height: 100%; }`]
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
`]
|
|
||||||
})
|
})
|
||||||
export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
|
export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||||
public static ACTION_SAVE_AS = 'saveAs';
|
|
||||||
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
|
||||||
|
|
||||||
@ViewChild('taskCloud')
|
@ViewChild('taskCloud')
|
||||||
taskCloud: TaskListCloudComponent;
|
taskCloud: TaskListCloudComponent;
|
||||||
|
|
||||||
@ -63,7 +60,7 @@ export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
private userPreference: UserPreferencesService,
|
private userPreference: UserPreferencesService,
|
||||||
private appConfig: AppConfigService) {
|
private appConfig: AppConfigService) {
|
||||||
|
|
||||||
const properties = this.appConfig.get<Array<any>>(CommunityTasksCloudDemoComponent.TASK_FILTER_PROPERTY_KEYS);
|
const properties = this.appConfig.get<Array<any>>(TASK_FILTER_PROPERTY_KEYS);
|
||||||
if (properties) {
|
if (properties) {
|
||||||
this.taskFilterProperties = properties;
|
this.taskFilterProperties = properties;
|
||||||
}
|
}
|
||||||
@ -137,7 +134,7 @@ export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
onTaskFilterAction(filterAction: any) {
|
onTaskFilterAction(filterAction: any) {
|
||||||
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
|
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
|
||||||
if (filterAction.actionType === CommunityTasksCloudDemoComponent.ACTION_SAVE_AS) {
|
if (filterAction.actionType === ACTION_SAVE_AS) {
|
||||||
this.router.navigate([`/cloud/community/tasks/`], { queryParams: filterAction.filter });
|
this.router.navigate([`/cloud/community/tasks/`], { queryParams: filterAction.filter });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { FormService, WidgetComponent } from '@alfresco/adf-core';
|
import { FormService, WidgetComponent } from '@alfresco/adf-core';
|
||||||
// tslint:disable:component-selector
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'custom-editor-widget',
|
selector: 'custom-editor-widget',
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
<input matInput (input)="setPeopleAppName($any($event).target?.value)" data-automation-id="app-people-app-input" />
|
<input matInput (input)="setPeopleAppName($any($event).target?.value)" data-automation-id="app-people-app-input" />
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field class="app-preselect-value-full">
|
<mat-form-field class="app-preselect-value-full">
|
||||||
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }} {{ DEFAULT_PEOPLE_PLACEHOLDER }}</mat-label>
|
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }} {{ defaultPeoplePlaceholder }}</mat-label>
|
||||||
<input matInput (input)="setPeoplePreselectValue($any($event).target?.value)" data-automation-id="app-people-preselect-input" />
|
<input matInput (input)="setPeoplePreselectValue($any($event).target?.value)" data-automation-id="app-people-preselect-input" />
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-checkbox class="app-preselect-value" (change)="onChangePeopleValidation($event)">{{
|
<mat-checkbox class="app-preselect-value" (change)="onChangePeopleValidation($event)">{{
|
||||||
@ -102,7 +102,7 @@
|
|||||||
data-automation-id="app-group-app-input"/>
|
data-automation-id="app-group-app-input"/>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field class="app-preselect-value-full">
|
<mat-form-field class="app-preselect-value-full">
|
||||||
<mat-label>Preselect: {{ DEFAULT_GROUP_PLACEHOLDER }}</mat-label>
|
<mat-label>Preselect: {{ defaultGroupPlaceholder }}</mat-label>
|
||||||
<input matInput
|
<input matInput
|
||||||
(input)="setGroupsPreselectValue($any($event).target?.value)"
|
(input)="setGroupsPreselectValue($any($event).target?.value)"
|
||||||
data-automation-id="app-group-preselect-input" />
|
data-automation-id="app-group-preselect-input" />
|
||||||
|
@ -29,16 +29,16 @@ import { IdentityGroupModel, IdentityUserModel } from '@alfresco/adf-core';
|
|||||||
})
|
})
|
||||||
export class PeopleGroupCloudDemoComponent {
|
export class PeopleGroupCloudDemoComponent {
|
||||||
|
|
||||||
DEFAULT_FILTER_MODE: string = 'appName';
|
defaultFilterMode: string = 'appName';
|
||||||
DEFAULT_GROUP_PLACEHOLDER: string = `[{"id": "1", "name":"activitiUserGroup"}]`;
|
defaultGroupPlaceholder: string = `[{"id": "1", "name":"activitiUserGroup"}]`;
|
||||||
DEFAULT_PEOPLE_PLACEHOLDER: string = `[{"id": "1", email": "user@user.com", "firstName":"user", "lastName": "lastName", "username": "user"}]`;
|
defaultPeoplePlaceholder: string = `[{"id": "1", email": "user@user.com", "firstName":"user", "lastName": "lastName", "username": "user"}]`;
|
||||||
|
|
||||||
peopleMode: ComponentSelectionMode = 'single';
|
peopleMode: ComponentSelectionMode = 'single';
|
||||||
preSelectUsers: IdentityUserModel[] = [];
|
preSelectUsers: IdentityUserModel[] = [];
|
||||||
invalidUsers: IdentityUserModel[] = [];
|
invalidUsers: IdentityUserModel[] = [];
|
||||||
peopleRoles: string[] = [];
|
peopleRoles: string[] = [];
|
||||||
peopleAppName: string;
|
peopleAppName: string;
|
||||||
peopleFilterMode: string = this.DEFAULT_FILTER_MODE;
|
peopleFilterMode: string = this.defaultFilterMode;
|
||||||
peoplePreselectValidation = false;
|
peoplePreselectValidation = false;
|
||||||
groupPreselectValidation = false;
|
groupPreselectValidation = false;
|
||||||
peopleReadonly = false;
|
peopleReadonly = false;
|
||||||
@ -49,7 +49,7 @@ export class PeopleGroupCloudDemoComponent {
|
|||||||
invalidGroups: IdentityGroupModel[] = [];
|
invalidGroups: IdentityGroupModel[] = [];
|
||||||
groupRoles: string[];
|
groupRoles: string[];
|
||||||
groupAppName: string;
|
groupAppName: string;
|
||||||
groupFilterMode: string = this.DEFAULT_FILTER_MODE;
|
groupFilterMode: string = this.defaultFilterMode;
|
||||||
|
|
||||||
setPeoplePreselectValue(value: string): void {
|
setPeoplePreselectValue(value: string): void {
|
||||||
this.preSelectUsers = this.getArrayFromString(value);
|
this.preSelectUsers = this.getArrayFromString(value);
|
||||||
|
@ -39,7 +39,7 @@ export class ProcessCloudLayoutComponent {
|
|||||||
'custom-something': () => CustomWidgetComponent,
|
'custom-something': () => CustomWidgetComponent,
|
||||||
'custom-boolean': () => CustomWidgetComponent,
|
'custom-boolean': () => CustomWidgetComponent,
|
||||||
'custom-date': () => CustomWidgetComponent,
|
'custom-date': () => CustomWidgetComponent,
|
||||||
'custom': () => CustomWidgetComponent
|
custom: () => CustomWidgetComponent
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,8 +41,8 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
actionMenu: boolean;
|
actionMenu: boolean;
|
||||||
contextMenu: boolean;
|
contextMenu: boolean;
|
||||||
actions: any[] = [];
|
actions: any[] = [];
|
||||||
selectedAction: { id: number, name: string, actionType: string};
|
selectedAction: { id: number; name: string; actionType: string};
|
||||||
selectedContextAction: { id: number, name: string, actionType: string};
|
selectedContextAction: { id: number; name: string; actionType: string};
|
||||||
|
|
||||||
filterProperties: string[];
|
filterProperties: string[];
|
||||||
filterSortProperties: string[];
|
filterSortProperties: string[];
|
||||||
@ -145,14 +145,12 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onShowRowContextMenu(event: DataCellEvent) {
|
onShowRowContextMenu(event: DataCellEvent) {
|
||||||
event.value.actions = this.actions.map((action) => {
|
event.value.actions = this.actions.map((action) => ({
|
||||||
return {
|
|
||||||
data: event.value.row['obj'],
|
data: event.value.row['obj'],
|
||||||
model: action,
|
model: action,
|
||||||
subject: this.performAction$
|
subject: this.performAction$
|
||||||
|
|
||||||
};
|
}));
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onExecuteRowAction(row: any) {
|
onExecuteRowAction(row: any) {
|
||||||
|
@ -22,15 +22,12 @@ import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layou
|
|||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
|
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-service-task-filter';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './service-task-list-cloud-demo.component.html'
|
templateUrl: './service-task-list-cloud-demo.component.html'
|
||||||
})
|
})
|
||||||
export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy {
|
export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
public static ACTION_SAVE_AS = 'saveAs';
|
|
||||||
public static ACTION_DELETE = 'delete';
|
|
||||||
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-service-task-filter';
|
|
||||||
|
|
||||||
@ViewChild('taskCloud')
|
@ViewChild('taskCloud')
|
||||||
taskCloud: ServiceTaskListCloudComponent;
|
taskCloud: ServiceTaskListCloudComponent;
|
||||||
|
|
||||||
@ -49,8 +46,8 @@ export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
actionMenu: boolean;
|
actionMenu: boolean;
|
||||||
contextMenu: boolean;
|
contextMenu: boolean;
|
||||||
actions: any[] = [];
|
actions: any[] = [];
|
||||||
selectedAction: { id: number, name: string, actionType: string};
|
selectedAction: { id: number; name: string; actionType: string};
|
||||||
selectedContextAction: { id: number, name: string, actionType: string};
|
selectedContextAction: { id: number; name: string; actionType: string};
|
||||||
selectionMode: string;
|
selectionMode: string;
|
||||||
filterId: string;
|
filterId: string;
|
||||||
|
|
||||||
@ -61,7 +58,7 @@ export class ServiceTaskListCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
private userPreference: UserPreferencesService,
|
private userPreference: UserPreferencesService,
|
||||||
private appConfig: AppConfigService) {
|
private appConfig: AppConfigService) {
|
||||||
|
|
||||||
const properties = this.appConfig.get<Array<any>>(ServiceTaskListCloudDemoComponent.TASK_FILTER_PROPERTY_KEYS);
|
const properties = this.appConfig.get<Array<any>>(TASK_FILTER_PROPERTY_KEYS);
|
||||||
if (properties === this.taskFilterProperties) {
|
if (properties === this.taskFilterProperties) {
|
||||||
this.taskFilterProperties = properties;
|
this.taskFilterProperties = properties;
|
||||||
}
|
}
|
||||||
|
@ -45,11 +45,11 @@ export class CloudProcessFiltersService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
readQueryParams(obj: Object): ProcessFilterCloudModel {
|
readQueryParams(obj: any): ProcessFilterCloudModel {
|
||||||
return this.processFilterCloudService.readQueryParams(obj);
|
return this.processFilterCloudService.readQueryParams(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeQueryParams(value: Object, appName?: string, id?: string): Object {
|
writeQueryParams(value: any, appName?: string, id?: string): any {
|
||||||
return this.processFilterCloudService.writeQueryParams(value, this.filterProperties, appName, id);
|
return this.processFilterCloudService.writeQueryParams(value, this.filterProperties, appName, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ export class CloudSettingsComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addAction() {
|
addAction() {
|
||||||
this.actions.push(<ActionMenuModel> this.actionMenuForm.value);
|
this.actions.push(this.actionMenuForm.value);
|
||||||
this.actionMenuForm.get('key').reset();
|
this.actionMenuForm.get('key').reset();
|
||||||
this.actionMenuForm.get('title').reset();
|
this.actionMenuForm.get('title').reset();
|
||||||
this.actionMenuForm.get('icon').reset();
|
this.actionMenuForm.get('icon').reset();
|
||||||
|
@ -23,15 +23,14 @@ import { CloudLayoutService } from './services/cloud-layout.service';
|
|||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
|
const ACTION_SAVE_AS = 'saveAs';
|
||||||
|
const ACTION_DELETE = 'delete';
|
||||||
|
const TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './tasks-cloud-demo.component.html'
|
templateUrl: './tasks-cloud-demo.component.html'
|
||||||
})
|
})
|
||||||
export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
public static ACTION_SAVE_AS = 'saveAs';
|
|
||||||
public static ACTION_DELETE = 'delete';
|
|
||||||
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
|
|
||||||
|
|
||||||
@ViewChild('taskCloud')
|
@ViewChild('taskCloud')
|
||||||
taskCloud: TaskListCloudComponent;
|
taskCloud: TaskListCloudComponent;
|
||||||
|
|
||||||
@ -51,8 +50,8 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
actionMenu: boolean;
|
actionMenu: boolean;
|
||||||
contextMenu: boolean;
|
contextMenu: boolean;
|
||||||
actions: any[] = [];
|
actions: any[] = [];
|
||||||
selectedAction: { id: number, name: string, actionType: string};
|
selectedAction: { id: number; name: string; actionType: string};
|
||||||
selectedContextAction: { id: number, name: string, actionType: string};
|
selectedContextAction: { id: number; name: string; actionType: string};
|
||||||
testingMode: boolean;
|
testingMode: boolean;
|
||||||
selectionMode: string;
|
selectionMode: string;
|
||||||
taskDetailsRedirection: boolean;
|
taskDetailsRedirection: boolean;
|
||||||
@ -67,7 +66,7 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
private userPreference: UserPreferencesService,
|
private userPreference: UserPreferencesService,
|
||||||
private appConfig: AppConfigService) {
|
private appConfig: AppConfigService) {
|
||||||
|
|
||||||
const properties = this.appConfig.get<Array<any>>(TasksCloudDemoComponent.TASK_FILTER_PROPERTY_KEYS);
|
const properties = this.appConfig.get<Array<any>>(TASK_FILTER_PROPERTY_KEYS);
|
||||||
if (properties) {
|
if (properties) {
|
||||||
this.taskFilterProperties = properties;
|
this.taskFilterProperties = properties;
|
||||||
}
|
}
|
||||||
@ -134,13 +133,13 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
onTaskFilterAction(filterAction: any) {
|
onTaskFilterAction(filterAction: any) {
|
||||||
|
|
||||||
if (filterAction.actionType === TasksCloudDemoComponent.ACTION_DELETE) {
|
if (filterAction.actionType === ACTION_DELETE) {
|
||||||
this.cloudLayoutService.setCurrentTaskFilterParam({ index: 0 });
|
this.cloudLayoutService.setCurrentTaskFilterParam({ index: 0 });
|
||||||
} else {
|
} else {
|
||||||
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
|
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterAction.actionType === TasksCloudDemoComponent.ACTION_SAVE_AS) {
|
if (filterAction.actionType === ACTION_SAVE_AS) {
|
||||||
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filterAction.filter });
|
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filterAction.filter });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,14 +149,12 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onShowRowContextMenu(event: DataCellEvent) {
|
onShowRowContextMenu(event: DataCellEvent) {
|
||||||
event.value.actions = this.actions.map((action) => {
|
event.value.actions = this.actions.map((action) => ({
|
||||||
return {
|
|
||||||
data: event.value.row['obj'],
|
data: event.value.row['obj'],
|
||||||
model: action,
|
model: action,
|
||||||
subject: this.performAction$
|
subject: this.performAction$
|
||||||
|
|
||||||
};
|
}));
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onExecuteRowAction(row: any) {
|
onExecuteRowAction(row: any) {
|
||||||
|
@ -53,7 +53,7 @@ export class ConfirmDialogExampleComponent {
|
|||||||
const dialog = this.dialog.open(ConfirmDialogComponent, {
|
const dialog = this.dialog.open(ConfirmDialogComponent, {
|
||||||
data: {
|
data: {
|
||||||
title: 'Upload',
|
title: 'Upload',
|
||||||
thirdOptionLabel: thirdOptionLabel,
|
thirdOptionLabel,
|
||||||
message: `This is the default message`
|
message: `This is the default message`
|
||||||
},
|
},
|
||||||
minWidth: '250px'
|
minWidth: '250px'
|
||||||
|
@ -73,8 +73,8 @@ export class DataTableComponent {
|
|||||||
{ value: 'multiple', viewValue: 'Multiple' }
|
{ value: 'multiple', viewValue: 'Multiple' }
|
||||||
];
|
];
|
||||||
|
|
||||||
private _imageUrl = 'http://placehold.it/140x100';
|
private imageUrl = 'http://placehold.it/140x100';
|
||||||
private _createdBy: any = {
|
private createdBy: any = {
|
||||||
name: 'Administrator',
|
name: 'Administrator',
|
||||||
email: 'admin@alfresco.com'
|
email: 'admin@alfresco.com'
|
||||||
};
|
};
|
||||||
@ -91,7 +91,7 @@ export class DataTableComponent {
|
|||||||
|
|
||||||
if (col.key === 'status') {
|
if (col.key === 'status') {
|
||||||
const users = row.getValue('users');
|
const users = row.getValue('users');
|
||||||
return (value || []).map((status, index) => ({ 'name': `${users[index].firstName} ${users[index].lastName}`, status }));
|
return (value || []).map((status, index) => ({ name: `${users[index].firstName} ${users[index].lastName}`, status }));
|
||||||
}
|
}
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
@ -110,7 +110,7 @@ export class DataTableComponent {
|
|||||||
Excepteur sint occaecat cupidatat non proident,
|
Excepteur sint occaecat cupidatat non proident,
|
||||||
sunt in culpa qui officia deserunt mollit anim id est laborum.`,
|
sunt in culpa qui officia deserunt mollit anim id est laborum.`,
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 1),
|
createdOn: new Date(2016, 6, 2, 15, 8, 1),
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
icon: 'material-icons://folder_open',
|
icon: 'material-icons://folder_open',
|
||||||
json: null,
|
json: null,
|
||||||
users: [
|
users: [
|
||||||
@ -132,7 +132,7 @@ export class DataTableComponent {
|
|||||||
id: 2,
|
id: 2,
|
||||||
name: 'Name 2',
|
name: 'Name 2',
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 2),
|
createdOn: new Date(2016, 6, 2, 15, 8, 2),
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
icon: 'material-icons://accessibility',
|
icon: 'material-icons://accessibility',
|
||||||
json: null,
|
json: null,
|
||||||
users: [
|
users: [
|
||||||
@ -154,7 +154,7 @@ export class DataTableComponent {
|
|||||||
id: 3,
|
id: 3,
|
||||||
name: 'Name 3',
|
name: 'Name 3',
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 3),
|
createdOn: new Date(2016, 6, 2, 15, 8, 3),
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
icon: 'material-icons://alarm',
|
icon: 'material-icons://alarm',
|
||||||
json: null,
|
json: null,
|
||||||
users: [
|
users: [
|
||||||
@ -176,7 +176,7 @@ export class DataTableComponent {
|
|||||||
id: 4,
|
id: 4,
|
||||||
name: 'Image 8',
|
name: 'Image 8',
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 4),
|
createdOn: new Date(2016, 6, 2, 15, 8, 4),
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
icon: 'material-icons://alarm',
|
icon: 'material-icons://alarm',
|
||||||
json: {
|
json: {
|
||||||
id: 4,
|
id: 4,
|
||||||
@ -207,7 +207,7 @@ export class DataTableComponent {
|
|||||||
id: 5,
|
id: 5,
|
||||||
name: 'I am using custom resolver',
|
name: 'I am using custom resolver',
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 4),
|
createdOn: new Date(2016, 6, 2, 15, 8, 4),
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
icon: 'material-icons://person_outline',
|
icon: 'material-icons://person_outline',
|
||||||
users: [
|
users: [
|
||||||
{
|
{
|
||||||
@ -244,11 +244,11 @@ export class DataTableComponent {
|
|||||||
addRow() {
|
addRow() {
|
||||||
const id = this.data.getRows().length + 1;
|
const id = this.data.getRows().length + 1;
|
||||||
const row = new ObjectDataRow({
|
const row = new ObjectDataRow({
|
||||||
id: id,
|
id,
|
||||||
name: 'Name ' + id,
|
name: 'Name ' + id,
|
||||||
createdOn: new Date(),
|
createdOn: new Date(),
|
||||||
icon: 'material-icons://extension',
|
icon: 'material-icons://extension',
|
||||||
createdBy: this._createdBy
|
createdBy: this.createdBy
|
||||||
});
|
});
|
||||||
this.data.getRows().push(row);
|
this.data.getRows().push(row);
|
||||||
this.data.sort();
|
this.data.sort();
|
||||||
@ -259,30 +259,30 @@ export class DataTableComponent {
|
|||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
name: 'Name 10',
|
name: 'Name 10',
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 5),
|
createdOn: new Date(2016, 6, 2, 15, 8, 5),
|
||||||
icon: 'material-icons://face'
|
icon: 'material-icons://face'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 11,
|
id: 11,
|
||||||
name: 'Name 11',
|
name: 'Name 11',
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 6),
|
createdOn: new Date(2016, 6, 2, 15, 8, 6),
|
||||||
icon: 'material-icons://language'
|
icon: 'material-icons://language'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 12,
|
id: 12,
|
||||||
name: 'Name 12',
|
name: 'Name 12',
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 7),
|
createdOn: new Date(2016, 6, 2, 15, 8, 7),
|
||||||
icon: 'material-icons://pets'
|
icon: 'material-icons://pets'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 13,
|
id: 13,
|
||||||
name: 'Image 13',
|
name: 'Image 13',
|
||||||
createdBy: this._createdBy,
|
createdBy: this.createdBy,
|
||||||
createdOn: new Date(2016, 6, 2, 15, 8, 8),
|
createdOn: new Date(2016, 6, 2, 15, 8, 8),
|
||||||
icon: this._imageUrl
|
icon: this.imageUrl
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
const rows = objects.map((obj) => new ObjectDataRow(obj));
|
const rows = objects.map((obj) => new ObjectDataRow(obj));
|
||||||
|
@ -262,10 +262,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (!this.pagination) {
|
if (!this.pagination) {
|
||||||
this.pagination = <Pagination> {
|
this.pagination = {
|
||||||
maxItems: this.preference.paginationSize,
|
maxItems: this.preference.paginationSize,
|
||||||
skipCount: 0
|
skipCount: 0
|
||||||
};
|
} as Pagination;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.route) {
|
if (this.route) {
|
||||||
@ -345,7 +345,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
|||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges) {
|
ngOnChanges(changes: SimpleChanges) {
|
||||||
if (changes.nodeResult && changes.nodeResult.currentValue) {
|
if (changes.nodeResult && changes.nodeResult.currentValue) {
|
||||||
this.nodeResult = <NodePaging> changes.nodeResult.currentValue;
|
this.nodeResult = changes.nodeResult.currentValue;
|
||||||
this.pagination = this.nodeResult.list.pagination;
|
this.pagination = this.nodeResult.list.pagination;
|
||||||
}
|
}
|
||||||
if (!this.pagination) {
|
if (!this.pagination) {
|
||||||
@ -354,12 +354,12 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
giveDefaultPaginationWhenNotDefined() {
|
giveDefaultPaginationWhenNotDefined() {
|
||||||
this.pagination = <Pagination> {
|
this.pagination = {
|
||||||
maxItems: this.preference.paginationSize,
|
maxItems: this.preference.paginationSize,
|
||||||
skipCount: 0,
|
skipCount: 0,
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
hasMoreItems: false
|
hasMoreItems: false
|
||||||
};
|
} as Pagination;
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentDocumentListNode(): MinimalNodeEntity[] {
|
getCurrentDocumentListNode(): MinimalNodeEntity[] {
|
||||||
@ -650,8 +650,11 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
|||||||
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
|
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
|
||||||
this.dialog.open(VersionManagerDialogAdapterComponent, {
|
this.dialog.open(VersionManagerDialogAdapterComponent, {
|
||||||
data: {
|
data: {
|
||||||
contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload,
|
contentEntry,
|
||||||
newFileVersion: newFileVersion, showComparison: true
|
showComments,
|
||||||
|
allowDownload,
|
||||||
|
newFileVersion,
|
||||||
|
showComparison: true
|
||||||
},
|
},
|
||||||
panelClass: 'adf-version-manager-dialog',
|
panelClass: 'adf-version-manager-dialog',
|
||||||
width: '630px'
|
width: '630px'
|
||||||
|
@ -106,7 +106,7 @@ export class FormComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
const fileReader = new FileReader();
|
const fileReader = new FileReader();
|
||||||
fileReader.onload = () => {
|
fileReader.onload = () => {
|
||||||
this.formConfig = <string> fileReader.result;
|
this.formConfig = fileReader.result as string;
|
||||||
};
|
};
|
||||||
fileReader.readAsText(file);
|
fileReader.readAsText(file);
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import { ThemePalette } from '@angular/material/core';
|
|||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
// tslint:disable-next-line: directive-class-suffix
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
||||||
export class HeaderDataService {
|
export class HeaderDataService {
|
||||||
|
|
||||||
show = true;
|
show = true;
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
</mat-expansion-panel-header>
|
</mat-expansion-panel-header>
|
||||||
|
|
||||||
<mat-form-field class="app-input-field">
|
<mat-form-field class="app-input-field">
|
||||||
<input matInput placeholder="Number" [(ngModel)]="number">
|
<input matInput placeholder="Number" [(ngModel)]="numberValue">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field class="app-input-field">
|
<mat-form-field class="app-input-field">
|
||||||
<input matInput placeholder="Min Integer Digits" [(ngModel)]="decimalValues.minIntegerDigits">
|
<input matInput placeholder="Min Integer Digits" [(ngModel)]="decimalValues.minIntegerDigits">
|
||||||
@ -93,16 +93,16 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<h3>AdfDecimalNumber Pipe - Default</h3>
|
<h3>AdfDecimalNumber Pipe - Default</h3>
|
||||||
<div>{{ number | adfDecimalNumber }} </div>
|
<div>{{ numberValue | adfDecimalNumber }} </div>
|
||||||
<br>
|
<br>
|
||||||
<h3>AdfDecimalNumber Pipe - Custom digits config</h3>
|
<h3>AdfDecimalNumber Pipe - Custom digits config</h3>
|
||||||
<div>{{ number | adfDecimalNumber : decimalValues }} </div>
|
<div>{{ numberValue | adfDecimalNumber : decimalValues }} </div>
|
||||||
<br>
|
<br>
|
||||||
<h3>AdfDecimalNumber Pipe - Custom locale</h3>
|
<h3>AdfDecimalNumber Pipe - Custom locale</h3>
|
||||||
<div>{{ number | adfDecimalNumber : null : locale }} </div>
|
<div>{{ numberValue | adfDecimalNumber : null : locale }} </div>
|
||||||
<br>
|
<br>
|
||||||
<h3>AdfDecimalNumber Pipe - Custom digits config and locale</h3>
|
<h3>AdfDecimalNumber Pipe - Custom digits config and locale</h3>
|
||||||
<div>{{ number | adfDecimalNumber : decimalValues : locale }} </div>
|
<div>{{ numberValue | adfDecimalNumber : decimalValues : locale }} </div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
</mat-expansion-panel>
|
</mat-expansion-panel>
|
||||||
|
@ -28,7 +28,7 @@ export class PipesComponent {
|
|||||||
today = new Date();
|
today = new Date();
|
||||||
locale: string;
|
locale: string;
|
||||||
format: string;
|
format: string;
|
||||||
number = 12345.56;
|
numberValue = 12345.56;
|
||||||
decimalValues = {
|
decimalValues = {
|
||||||
minIntegerDigits: undefined,
|
minIntegerDigits: undefined,
|
||||||
minFractionDigits: undefined,
|
minFractionDigits: undefined,
|
||||||
|
@ -21,25 +21,22 @@ import { ActivatedRoute, Params } from '@angular/router';
|
|||||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
|
|
||||||
|
const DEFAULT_SIZE = 20;
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './process-list-demo.component.html',
|
templateUrl: './process-list-demo.component.html',
|
||||||
styleUrls: [`./process-list-demo.component.scss`]
|
styleUrls: [`./process-list-demo.component.scss`]
|
||||||
})
|
})
|
||||||
|
|
||||||
export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
DEFAULT_SIZE = 20;
|
|
||||||
|
|
||||||
minValue = 0;
|
minValue = 0;
|
||||||
|
|
||||||
processListForm: FormGroup;
|
processListForm: FormGroup;
|
||||||
|
|
||||||
appId: number;
|
appId: number;
|
||||||
processDefId: string;
|
processDefId: string;
|
||||||
processInsId: string;
|
processInsId: string;
|
||||||
state: string;
|
state: string;
|
||||||
sort: string;
|
sort: string;
|
||||||
size: number = this.DEFAULT_SIZE;
|
size: number = DEFAULT_SIZE;
|
||||||
page: number = 0;
|
page: number = 0;
|
||||||
|
|
||||||
presetColumn = 'default';
|
presetColumn = 'default';
|
||||||
@ -140,7 +137,7 @@ export class ProcessListDemoComponent implements OnInit, OnDestroy {
|
|||||||
this.processDefId = null;
|
this.processDefId = null;
|
||||||
this.state = this.stateOptions[0].value;
|
this.state = this.stateOptions[0].value;
|
||||||
this.sort = null;
|
this.sort = null;
|
||||||
this.size = this.DEFAULT_SIZE;
|
this.size = DEFAULT_SIZE;
|
||||||
this.page = null;
|
this.page = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable */
|
/* eslint-disable */
|
||||||
|
|
||||||
import { Component, NgModule } from '@angular/core';
|
import { Component, NgModule } from '@angular/core';
|
||||||
import { WidgetComponent } from '@alfresco/adf-core';
|
import { WidgetComponent } from '@alfresco/adf-core';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// tslint:disable-next-line:adf-file-name
|
// eslint-disable-next-line
|
||||||
import {
|
import {
|
||||||
AfterViewInit,
|
AfterViewInit,
|
||||||
Component,
|
Component,
|
||||||
|
@ -30,10 +30,10 @@ export class TestSearchConfigurationService implements SearchConfigurationInterf
|
|||||||
include: ['path', 'allowableOperations'],
|
include: ['path', 'allowableOperations'],
|
||||||
paging: {
|
paging: {
|
||||||
maxItems: maxResults,
|
maxItems: maxResults,
|
||||||
skipCount: skipCount
|
skipCount
|
||||||
},
|
},
|
||||||
filterQueries: [
|
filterQueries: [
|
||||||
/*tslint:disable-next-line */
|
/* eslint-disable-next-line */
|
||||||
{ query: "TYPE:'cm:folder'" },
|
{ query: "TYPE:'cm:folder'" },
|
||||||
{ query: 'NOT cm:creator:System' }]
|
{ query: 'NOT cm:creator:System' }]
|
||||||
};
|
};
|
||||||
|
@ -23,7 +23,7 @@ import { ActivatedRoute, Router } from '@angular/router';
|
|||||||
templateUrl: './shared-link-view.component.html',
|
templateUrl: './shared-link-view.component.html',
|
||||||
styleUrls: [ './shared-link-view.component.scss' ],
|
styleUrls: [ './shared-link-view.component.scss' ],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
// tslint:disable-next-line:use-host-property-decorator
|
// eslint-disable-next-line
|
||||||
host: { 'class': 'app-shared-link-view' }
|
host: { 'class': 'app-shared-link-view' }
|
||||||
})
|
})
|
||||||
export class SharedLinkViewComponent implements OnInit {
|
export class SharedLinkViewComponent implements OnInit {
|
||||||
|
@ -22,6 +22,8 @@ import { debounceTime, takeUntil } from 'rxjs/operators';
|
|||||||
import moment from 'moment-es6';
|
import moment from 'moment-es6';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
|
|
||||||
|
const DEFAULT_SIZE = 20;
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-task-list-demo',
|
selector: 'app-task-list-demo',
|
||||||
templateUrl: './task-list-demo.component.html',
|
templateUrl: './task-list-demo.component.html',
|
||||||
@ -29,8 +31,6 @@ import { Subject } from 'rxjs';
|
|||||||
})
|
})
|
||||||
|
|
||||||
export class TaskListDemoComponent implements OnInit, OnDestroy {
|
export class TaskListDemoComponent implements OnInit, OnDestroy {
|
||||||
DEFAULT_SIZE = 20;
|
|
||||||
|
|
||||||
taskListForm: FormGroup;
|
taskListForm: FormGroup;
|
||||||
|
|
||||||
errorMessage: string;
|
errorMessage: string;
|
||||||
@ -46,7 +46,7 @@ export class TaskListDemoComponent implements OnInit, OnDestroy {
|
|||||||
name: string;
|
name: string;
|
||||||
sort: string;
|
sort: string;
|
||||||
start: number;
|
start: number;
|
||||||
size: number = this.DEFAULT_SIZE;
|
size: number = DEFAULT_SIZE;
|
||||||
page: number = 0;
|
page: number = 0;
|
||||||
dueAfter: string;
|
dueAfter: string;
|
||||||
dueBefore: string;
|
dueBefore: string;
|
||||||
@ -184,7 +184,7 @@ export class TaskListDemoComponent implements OnInit, OnDestroy {
|
|||||||
this.state = null;
|
this.state = null;
|
||||||
this.sort = null;
|
this.sort = null;
|
||||||
this.start = null;
|
this.start = null;
|
||||||
this.size = this.DEFAULT_SIZE;
|
this.size = DEFAULT_SIZE;
|
||||||
this.page = null;
|
this.page = null;
|
||||||
this.dueAfter = null;
|
this.dueAfter = null;
|
||||||
this.dueBefore = null;
|
this.dueBefore = null;
|
||||||
|
@ -112,7 +112,7 @@ export class ThemePickerComponent {
|
|||||||
];
|
];
|
||||||
|
|
||||||
constructor(public styleManager: StyleManager,
|
constructor(public styleManager: StyleManager,
|
||||||
private _themeStorage: ThemeStorage) {
|
private themeStorage: ThemeStorage) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,17 +120,17 @@ export class ThemePickerComponent {
|
|||||||
if (theme.isDefault === true) {
|
if (theme.isDefault === true) {
|
||||||
this.styleManager.setStyle('theme', ``);
|
this.styleManager.setStyle('theme', ``);
|
||||||
} else {
|
} else {
|
||||||
this.currentTheme = this._getCurrentThemeFromHref(theme.href);
|
this.currentTheme = this.getCurrentThemeFromHref(theme.href);
|
||||||
|
|
||||||
this.styleManager.setStyle('theme', theme.href);
|
this.styleManager.setStyle('theme', theme.href);
|
||||||
|
|
||||||
if (this.currentTheme) {
|
if (this.currentTheme) {
|
||||||
this._themeStorage.storeTheme(this.currentTheme);
|
this.themeStorage.storeTheme(this.currentTheme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private _getCurrentThemeFromHref(href: string): DocsSiteTheme {
|
private getCurrentThemeFromHref(href: string): DocsSiteTheme {
|
||||||
return this.themes.find((theme) => theme.href === href);
|
return this.themes.find((theme) => theme.href === href);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,14 +24,14 @@ import { Observable, Subject } from 'rxjs';
|
|||||||
interface ProcessServiceData {
|
interface ProcessServiceData {
|
||||||
rest: {
|
rest: {
|
||||||
fields: Array<{
|
fields: Array<{
|
||||||
processId?: string,
|
processId?: string;
|
||||||
taskId?: string,
|
taskId?: string;
|
||||||
fieldId?: string,
|
fieldId?: string;
|
||||||
values?: Array<{
|
values?: Array<{
|
||||||
id: string,
|
id: string;
|
||||||
name: string
|
name: string;
|
||||||
}>
|
}>;
|
||||||
}>
|
}>;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
@ -84,7 +84,7 @@ export class InMemoryFormService extends FormService {
|
|||||||
const form = new FormModel(flattenForm, formValues, readOnly, this, prefixedSpace);
|
const form = new FormModel(flattenForm, formValues, readOnly, this, prefixedSpace);
|
||||||
if (!json.fields) {
|
if (!json.fields) {
|
||||||
form.outcomes = [
|
form.outcomes = [
|
||||||
new FormOutcomeModel(<any> form, {
|
new FormOutcomeModel(form, {
|
||||||
id: '$save',
|
id: '$save',
|
||||||
name: FormOutcomeModel.SAVE_ACTION,
|
name: FormOutcomeModel.SAVE_ACTION,
|
||||||
isSystem: true
|
isSystem: true
|
||||||
|
2
demo-shell/src/typings.d.ts
vendored
2
demo-shell/src/typings.d.ts
vendored
@ -1,5 +1,5 @@
|
|||||||
/* SystemJS module definition */
|
/* SystemJS module definition */
|
||||||
declare var module: NodeModule;
|
declare const module: NodeModule;
|
||||||
interface NodeModule {
|
interface NodeModule {
|
||||||
id: string;
|
id: string;
|
||||||
}
|
}
|
||||||
|
3
demo-shell/tsconfig.app.json
Normal file
3
demo-shell/tsconfig.app.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "../tsconfig.json"
|
||||||
|
}
|
@ -189,6 +189,7 @@ export class DataTablePage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getClipboardInputText(): Promise<string> {
|
async getClipboardInputText(): Promise<string> {
|
||||||
return BrowserActions.getInputValue(this.pasteClipboardInput);
|
const inputValue = await BrowserActions.getInputValue(this.pasteClipboardInput);
|
||||||
|
return inputValue.match(/\d/).toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{
|
{
|
||||||
"C269081": "https://alfresco.atlassian.net/browse/ADF-5385",
|
"C269081": "https://alfresco.atlassian.net/browse/ADF-5385",
|
||||||
"C272819": "https://alfresco.atlassian.net/browse/ADF-5385"
|
"C272819": "https://alfresco.atlassian.net/browse/ADF-5385",
|
||||||
|
"C260188": "https://alfresco.atlassian.net/browse/ADF-5470",
|
||||||
|
"C260192": "https://alfresco.atlassian.net/browse/ADF-5470",
|
||||||
|
"C260193": "https://alfresco.atlassian.net/browse/ADF-5470",
|
||||||
|
"C216426": "https://alfresco.atlassian.net/browse/ADF-5470"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../../tsconfig.base.json",
|
"extends": "../../../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"emitDecoratorMetadata": true
|
"emitDecoratorMetadata": true
|
||||||
|
|
||||||
|
112
lib/core/.eslintrc.json
Normal file
112
lib/core/.eslintrc.json
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../.eslintrc.json",
|
||||||
|
"ignorePatterns": [
|
||||||
|
"!**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"lib/core/tsconfig.lib.json",
|
||||||
|
"lib/core/tsconfig.spec.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"eslint-plugin-unicorn",
|
||||||
|
"eslint-plugin-rxjs"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"jsdoc/newline-after-description": "warn",
|
||||||
|
"@typescript-eslint/naming-convention": "warn",
|
||||||
|
"@typescript-eslint/consistent-type-assertions": "warn",
|
||||||
|
"@typescript-eslint/prefer-for-of": "warn",
|
||||||
|
"no-underscore-dangle": "warn",
|
||||||
|
"no-shadow": "warn",
|
||||||
|
"quote-props": "warn",
|
||||||
|
"object-shorthand": "warn",
|
||||||
|
"prefer-const": "warn",
|
||||||
|
"arrow-body-style": "warn",
|
||||||
|
"@angular-eslint/no-output-native": "warn",
|
||||||
|
"space-before-function-paren": "warn",
|
||||||
|
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "element",
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": [
|
||||||
|
"element",
|
||||||
|
"attribute"
|
||||||
|
],
|
||||||
|
"prefix": [
|
||||||
|
"adf",
|
||||||
|
"app"
|
||||||
|
],
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/no-host-metadata-property": "off",
|
||||||
|
"@angular-eslint/no-input-prefix": "error",
|
||||||
|
"@typescript-eslint/consistent-type-definitions": "error",
|
||||||
|
"@typescript-eslint/dot-notation": "off",
|
||||||
|
"@typescript-eslint/explicit-member-accessibility": [
|
||||||
|
"off",
|
||||||
|
{
|
||||||
|
"accessibility": "explicit"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-floating-promises": "off",
|
||||||
|
"@typescript-eslint/no-inferrable-types": "off",
|
||||||
|
"@typescript-eslint/no-require-imports": "off",
|
||||||
|
"@typescript-eslint/no-var-requires": "error",
|
||||||
|
"brace-style": [
|
||||||
|
"error",
|
||||||
|
"1tbs"
|
||||||
|
],
|
||||||
|
"comma-dangle": "error",
|
||||||
|
"default-case": "error",
|
||||||
|
"import/order": "off",
|
||||||
|
"max-len": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"code": 240
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"no-bitwise": "off",
|
||||||
|
"no-duplicate-imports": "error",
|
||||||
|
"no-multiple-empty-lines": "error",
|
||||||
|
"no-redeclare": "error",
|
||||||
|
"no-return-await": "error",
|
||||||
|
"rxjs/no-create": "error",
|
||||||
|
"rxjs/no-subject-unsubscribe": "error",
|
||||||
|
"rxjs/no-subject-value": "error",
|
||||||
|
"rxjs/no-unsafe-takeuntil": "error",
|
||||||
|
"unicorn/filename-case": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.html"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/template/no-autofocus": "error",
|
||||||
|
"@angular-eslint/template/no-positive-tabindex": "error",
|
||||||
|
|
||||||
|
"@angular-eslint/template/no-negated-async": "warn"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"extends": "../../../tsconfig.base.json",
|
"extends": "../../../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"emitDecoratorMetadata": true
|
"emitDecoratorMetadata": true
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import { Subject } from 'rxjs';
|
|||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
// tslint:disable-next-line: directive-class-suffix
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
||||||
export abstract class BaseCardView<T extends CardViewItem> implements OnDestroy {
|
export abstract class BaseCardView<T extends CardViewItem> implements OnDestroy {
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { Component, Input, SimpleChange } from '@angular/core';
|
import { Component, Input, SimpleChange } from '@angular/core';
|
||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
@ -109,12 +109,12 @@ describe('CardViewItemDispatcherComponent', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should update the subcomponent\'s input parameters', () => {
|
it('should update the subcomponent\'s input parameters', () => {
|
||||||
const expectedEditable = false,
|
const expectedEditable = false;
|
||||||
expectedDisplayEmpty = true,
|
const expectedDisplayEmpty = true;
|
||||||
expectedProperty = <CardViewItem> {},
|
const expectedProperty = <CardViewItem> {};
|
||||||
expectedCustomInput = 1,
|
const expectedCustomInput = 1;
|
||||||
expectedDisplayNoneOption = false,
|
const expectedDisplayNoneOption = false;
|
||||||
expectedDisplayClearAction = false;
|
const expectedDisplayClearAction = false;
|
||||||
|
|
||||||
component.ngOnChanges({
|
component.ngOnChanges({
|
||||||
editable: new SimpleChange(true, expectedEditable, false),
|
editable: new SimpleChange(true, expectedEditable, false),
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Component, Input, OnChanges, OnDestroy } from '@angular/core';
|
import { Component, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { CardViewSelectItemModel } from '../../models/card-view-selectitem.model';
|
import { CardViewSelectItemModel } from '../../models/card-view-selectitem.model';
|
||||||
import { CardViewUpdateService } from '../../services/card-view-update.service';
|
import { CardViewUpdateService } from '../../services/card-view-update.service';
|
||||||
import { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';
|
import { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';
|
||||||
@ -30,7 +30,7 @@ import { takeUntil, map } from 'rxjs/operators';
|
|||||||
templateUrl: './card-view-selectitem.component.html',
|
templateUrl: './card-view-selectitem.component.html',
|
||||||
styleUrls: ['./card-view-selectitem.component.scss']
|
styleUrls: ['./card-view-selectitem.component.scss']
|
||||||
})
|
})
|
||||||
export class CardViewSelectItemComponent extends BaseCardView<CardViewSelectItemModel<string | number>> implements OnChanges, OnDestroy {
|
export class CardViewSelectItemComponent extends BaseCardView<CardViewSelectItemModel<string | number>> implements OnInit, OnChanges, OnDestroy {
|
||||||
static HIDE_FILTER_LIMIT = 5;
|
static HIDE_FILTER_LIMIT = 5;
|
||||||
|
|
||||||
@Input() editable: boolean = false;
|
@Input() editable: boolean = false;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Component, ViewEncapsulation, ViewChild, ElementRef, OnDestroy, Inject, Output, EventEmitter } from '@angular/core';
|
import { Component, ViewEncapsulation, ViewChild, ElementRef, OnDestroy, Inject, Output, EventEmitter, OnInit } from '@angular/core';
|
||||||
import { ESCAPE, TAB } from '@angular/cdk/keycodes';
|
import { ESCAPE, TAB } from '@angular/cdk/keycodes';
|
||||||
import { MatSelect } from '@angular/material/select';
|
import { MatSelect } from '@angular/material/select';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
@ -28,7 +28,7 @@ import { takeUntil } from 'rxjs/operators';
|
|||||||
host: { 'class': 'adf-select-filter-input' },
|
host: { 'class': 'adf-select-filter-input' },
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class SelectFilterInputComponent implements OnDestroy {
|
export class SelectFilterInputComponent implements OnInit, OnDestroy {
|
||||||
@ViewChild('selectFilterInput', { read: ElementRef, static: false }) selectFilterInput: ElementRef;
|
@ViewChild('selectFilterInput', { read: ElementRef, static: false }) selectFilterInput: ElementRef;
|
||||||
@Output() change = new EventEmitter<string>();
|
@Output() change = new EventEmitter<string>();
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from '@angular/core';
|
import { ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, SimpleChanges, ViewEncapsulation } from '@angular/core';
|
||||||
import { CardViewTextItemModel } from '../../models/card-view-textitem.model';
|
import { CardViewTextItemModel } from '../../models/card-view-textitem.model';
|
||||||
import { CardViewUpdateService } from '../../services/card-view-update.service';
|
import { CardViewUpdateService } from '../../services/card-view-update.service';
|
||||||
import { BaseCardView } from '../base-card-view';
|
import { BaseCardView } from '../base-card-view';
|
||||||
@ -42,7 +42,7 @@ const templateTypes = {
|
|||||||
styleUrls: ['./card-view-textitem.component.scss'],
|
styleUrls: ['./card-view-textitem.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class CardViewTextItemComponent extends BaseCardView<CardViewTextItemModel> implements OnChanges {
|
export class CardViewTextItemComponent extends BaseCardView<CardViewTextItemModel> implements OnChanges, OnDestroy {
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
editable: boolean = false;
|
editable: boolean = false;
|
||||||
@ -92,7 +92,11 @@ export class CardViewTextItemComponent extends BaseCardView<CardViewTextItemMode
|
|||||||
this.setTemplateType();
|
this.setTemplateType();
|
||||||
|
|
||||||
if (changes.editable) {
|
if (changes.editable) {
|
||||||
this.isEditable ? this.textInput.enable() : this.textInput.disable();
|
if (this.isEditable) {
|
||||||
|
this.textInput.enable();
|
||||||
|
} else {
|
||||||
|
this.textInput.disable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ describe('CardViewBaseItemModel', () => {
|
|||||||
expect(validator2.isValid).toHaveBeenCalledWith('test-against-this');
|
expect(validator2.isValid).toHaveBeenCalledWith('test-against-this');
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return the registered validators' common decision (case true)", () => {
|
it('should return the registered validators common decision (case true)', () => {
|
||||||
const validator1: CardViewItemValidator = { isValid: () => true, message: 'validator 1' };
|
const validator1: CardViewItemValidator = { isValid: () => true, message: 'validator 1' };
|
||||||
const validator2: CardViewItemValidator = { isValid: () => true, message: 'validator 2' };
|
const validator2: CardViewItemValidator = { isValid: () => true, message: 'validator 2' };
|
||||||
properties.validators = [validator1, validator2];
|
properties.validators = [validator1, validator2];
|
||||||
@ -107,7 +107,7 @@ describe('CardViewBaseItemModel', () => {
|
|||||||
expect(itemModel.getValidationErrors('test-against-this')).toEqual([]);
|
expect(itemModel.getValidationErrors('test-against-this')).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return the registered validators' common decision (case false)", () => {
|
it('should return the registered validators common decision (case false)', () => {
|
||||||
const validator1: CardViewItemValidator = { isValid: () => false, message: 'validator 1' };
|
const validator1: CardViewItemValidator = { isValid: () => false, message: 'validator 1' };
|
||||||
const validator2: CardViewItemValidator = { isValid: () => true, message: 'validator 2' };
|
const validator2: CardViewItemValidator = { isValid: () => true, message: 'validator 2' };
|
||||||
const validator3: CardViewItemValidator = { isValid: () => false, message: 'validator 3' };
|
const validator3: CardViewItemValidator = { isValid: () => false, message: 'validator 3' };
|
||||||
|
@ -30,7 +30,7 @@ import { CardViewArrayItemComponent } from '../components/card-view-arrayitem/ca
|
|||||||
})
|
})
|
||||||
export class CardItemTypeService extends DynamicComponentMapper {
|
export class CardItemTypeService extends DynamicComponentMapper {
|
||||||
|
|
||||||
protected defaultValue: Type<{}> = CardViewTextItemComponent;
|
protected defaultValue: Type<any> = CardViewTextItemComponent;
|
||||||
|
|
||||||
protected types: { [key: string]: DynamicComponentResolveFunction } = {
|
protected types: { [key: string]: DynamicComponentResolveFunction } = {
|
||||||
'text': DynamicComponentResolver.fromType(CardViewTextItemComponent),
|
'text': DynamicComponentResolver.fromType(CardViewTextItemComponent),
|
||||||
|
@ -29,10 +29,10 @@ export interface ClickNotification {
|
|||||||
target: any;
|
target: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function transformKeyToObject(key: string, value): Object {
|
export function transformKeyToObject(key: string, value): any {
|
||||||
const objectLevels: string[] = key.split('.').reverse();
|
const objectLevels: string[] = key.split('.').reverse();
|
||||||
|
|
||||||
return objectLevels.reduce<{}>((previousValue, currentValue) => {
|
return objectLevels.reduce<any>((previousValue, currentValue) => {
|
||||||
return { [currentValue]: previousValue};
|
return { [currentValue]: previousValue};
|
||||||
}, value);
|
}, value);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ import { ClipboardService } from './clipboard.service';
|
|||||||
})
|
})
|
||||||
export class ClipboardDirective {
|
export class ClipboardDirective {
|
||||||
/** Translation key or message for the tooltip. */
|
/** Translation key or message for the tooltip. */
|
||||||
// tslint:disable-next-line:no-input-rename
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
||||||
@Input('adf-clipboard')
|
@Input('adf-clipboard')
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ export class ClipboardDirective {
|
|||||||
target: HTMLInputElement | HTMLTextAreaElement;
|
target: HTMLInputElement | HTMLTextAreaElement;
|
||||||
|
|
||||||
/** Translation key or message for snackbar notification. */
|
/** Translation key or message for snackbar notification. */
|
||||||
// tslint:disable-next-line:no-input-rename
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
||||||
@Input('clipboard-notification') message: string;
|
@Input('clipboard-notification') message: string;
|
||||||
|
|
||||||
constructor(private clipboardService: ClipboardService,
|
constructor(private clipboardService: ClipboardService,
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, HostListener, Input } from '@angular/core';
|
import { Directive, HostListener, Input } from '@angular/core';
|
||||||
import { ContextMenuOverlayService } from './context-menu-overlay.service';
|
import { ContextMenuOverlayService } from './context-menu-overlay.service';
|
||||||
|
@ -15,16 +15,16 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector no-input-rename */
|
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Component, ContentChild, TemplateRef } from '@angular/core';
|
import { AfterContentInit, Component, ContentChild, TemplateRef } from '@angular/core';
|
||||||
import { DataColumnComponent } from './data-column.component';
|
import { DataColumnComponent } from './data-column.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'adf-data-column-header',
|
selector: 'adf-data-column-header',
|
||||||
template: ''
|
template: ''
|
||||||
})
|
})
|
||||||
export class DateColumnHeaderComponent {
|
export class DateColumnHeaderComponent implements AfterContentInit {
|
||||||
|
|
||||||
@ContentChild(TemplateRef)
|
@ContentChild(TemplateRef)
|
||||||
public header: TemplateRef<any>;
|
public header: TemplateRef<any>;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { Component, ContentChildren, QueryList } from '@angular/core';
|
import { Component, ContentChildren, QueryList } from '@angular/core';
|
||||||
import { DataColumnComponent } from './data-column.component';
|
import { DataColumnComponent } from './data-column.component';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector no-input-rename */
|
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';
|
import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ export class DataColumnComponent implements OnInit {
|
|||||||
|
|
||||||
/** Custom tooltip formatter function. */
|
/** Custom tooltip formatter function. */
|
||||||
@Input()
|
@Input()
|
||||||
formatTooltip: Function;
|
formatTooltip: (...args) => string;
|
||||||
|
|
||||||
/** Title to be used for screen readers. */
|
/** Title to be used for screen readers. */
|
||||||
@Input('sr-title')
|
@Input('sr-title')
|
||||||
|
@ -1090,7 +1090,7 @@ describe('DataTable', () => {
|
|||||||
const column = <DataColumn> {};
|
const column = <DataColumn> {};
|
||||||
|
|
||||||
const row: any = {
|
const row: any = {
|
||||||
getValue: function () {
|
getValue: function() {
|
||||||
return 'material-icons://android';
|
return 'material-icons://android';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1102,7 +1102,7 @@ describe('DataTable', () => {
|
|||||||
const column = <DataColumn> {};
|
const column = <DataColumn> {};
|
||||||
|
|
||||||
const row: any = {
|
const row: any = {
|
||||||
getValue: function () {
|
getValue: function() {
|
||||||
return 'http://www.google.com';
|
return 'http://www.google.com';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1114,7 +1114,7 @@ describe('DataTable', () => {
|
|||||||
const column = <DataColumn> {};
|
const column = <DataColumn> {};
|
||||||
|
|
||||||
const row: any = {
|
const row: any = {
|
||||||
getValue: function () {
|
getValue: function() {
|
||||||
return 'material-icons://android';
|
return 'material-icons://android';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1126,7 +1126,7 @@ describe('DataTable', () => {
|
|||||||
const column = <DataColumn> {};
|
const column = <DataColumn> {};
|
||||||
|
|
||||||
const row: any = {
|
const row: any = {
|
||||||
getValue: function () {
|
getValue: function() {
|
||||||
return 'http://www.google.com';
|
return 'http://www.google.com';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1229,7 +1229,7 @@ describe('DataTable', () => {
|
|||||||
|
|
||||||
const column = <DataColumn> {};
|
const column = <DataColumn> {};
|
||||||
const row: any = {
|
const row: any = {
|
||||||
getValue: function () {
|
getValue: function() {
|
||||||
return 'id';
|
return 'id';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -15,10 +15,12 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable @angular-eslint/no-conflicting-lifecycle */
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ViewChildren, QueryList, HostListener,
|
ViewChildren, QueryList, HostListener,
|
||||||
AfterContentInit, Component, ContentChild, DoCheck, ElementRef, EventEmitter, Input,
|
AfterContentInit, Component, ContentChild, DoCheck, ElementRef, EventEmitter, Input,
|
||||||
IterableDiffers, OnChanges, Output, SimpleChange, SimpleChanges, TemplateRef, ViewEncapsulation, OnDestroy
|
IterableDiffers, OnChanges, Output, SimpleChange, SimpleChanges, TemplateRef, ViewEncapsulation, OnDestroy, AfterViewInit
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { FocusKeyManager } from '@angular/cdk/a11y';
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
||||||
import { MatCheckboxChange } from '@angular/material/checkbox';
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
||||||
@ -57,7 +59,7 @@ export enum ShowHeaderMode {
|
|||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
host: { class: 'adf-datatable' }
|
host: { class: 'adf-datatable' }
|
||||||
})
|
})
|
||||||
export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck, OnDestroy {
|
export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck, OnDestroy, AfterViewInit {
|
||||||
|
|
||||||
@ViewChildren(DataTableRowComponent)
|
@ViewChildren(DataTableRowComponent)
|
||||||
rowsList: QueryList<DataTableRowComponent>;
|
rowsList: QueryList<DataTableRowComponent>;
|
||||||
@ -122,7 +124,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
|
|||||||
* docs for more details and usage examples.
|
* docs for more details and usage examples.
|
||||||
*/
|
*/
|
||||||
@Input()
|
@Input()
|
||||||
rowStyle: { [key: string]: any; };
|
rowStyle: { [key: string]: any };
|
||||||
|
|
||||||
/** The CSS class to apply to every row. */
|
/** The CSS class to apply to every row. */
|
||||||
@Input()
|
@Input()
|
||||||
@ -203,7 +205,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
|
|||||||
private click$: Observable<DataRowEvent>;
|
private click$: Observable<DataRowEvent>;
|
||||||
|
|
||||||
private differ: any;
|
private differ: any;
|
||||||
private rowMenuCache: object = {};
|
private rowMenuCache: any = {};
|
||||||
|
|
||||||
private subscriptions: Subscription[] = [];
|
private subscriptions: Subscription[] = [];
|
||||||
private singleClickStreamSub: Subscription;
|
private singleClickStreamSub: Subscription;
|
||||||
@ -856,7 +858,7 @@ export interface DataTableDropEvent {
|
|||||||
target: 'cell' | 'header';
|
target: 'cell' | 'header';
|
||||||
event: Event;
|
event: Event;
|
||||||
column: DataColumn;
|
column: DataColumn;
|
||||||
row?: DataRow
|
row?: DataRow;
|
||||||
};
|
};
|
||||||
|
|
||||||
preventDefault(): void;
|
preventDefault(): void;
|
||||||
|
@ -57,7 +57,7 @@ export class JsonCellComponent extends DataTableCellComponent implements OnInit
|
|||||||
}
|
}
|
||||||
|
|
||||||
view() {
|
view() {
|
||||||
const rawValue: string | object = this.data.getValue(this.row, this.column, this.resolverFn);
|
const rawValue: string | any = this.data.getValue(this.row, this.column, this.resolverFn);
|
||||||
const value = typeof rawValue === 'object'
|
const value = typeof rawValue === 'object'
|
||||||
? JSON.stringify(rawValue || {}, null, 2)
|
? JSON.stringify(rawValue || {}, null, 2)
|
||||||
: rawValue;
|
: rawValue;
|
||||||
|
@ -38,7 +38,7 @@ export interface DataColumn {
|
|||||||
srTitle?: string;
|
srTitle?: string;
|
||||||
cssClass?: string;
|
cssClass?: string;
|
||||||
template?: TemplateRef<any>;
|
template?: TemplateRef<any>;
|
||||||
formatTooltip?: Function;
|
formatTooltip?: (...args) => string;
|
||||||
copyContent?: boolean;
|
copyContent?: boolean;
|
||||||
editable?: boolean;
|
editable?: boolean;
|
||||||
focus?: boolean;
|
focus?: boolean;
|
||||||
|
@ -22,7 +22,7 @@ import { DataColumn } from './data-column.model';
|
|||||||
import { ObjectDataColumn } from './object-datacolumn.model';
|
import { ObjectDataColumn } from './object-datacolumn.model';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
// tslint:disable-next-line: directive-class-suffix
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
||||||
export abstract class DataTableSchema {
|
export abstract class DataTableSchema {
|
||||||
|
|
||||||
@ContentChild(DataColumnListComponent)
|
@ContentChild(DataColumnListComponent)
|
||||||
|
@ -136,12 +136,16 @@ describe('ObjectDataTableAdapter', () => {
|
|||||||
|
|
||||||
it('should fail getting value with row not defined', () => {
|
it('should fail getting value with row not defined', () => {
|
||||||
const adapter = new ObjectDataTableAdapter([], []);
|
const adapter = new ObjectDataTableAdapter([], []);
|
||||||
expect(() => { adapter.getValue(null, null); }).toThrowError('Row not found');
|
expect(() => {
|
||||||
|
adapter.getValue(null, null);
|
||||||
|
}).toThrowError('Row not found');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fail getting value with column not defined', () => {
|
it('should fail getting value with column not defined', () => {
|
||||||
const adapter = new ObjectDataTableAdapter([], []);
|
const adapter = new ObjectDataTableAdapter([], []);
|
||||||
expect(() => { adapter.getValue(<DataRow> {}, null); }).toThrowError('Column not found');
|
expect(() => {
|
||||||
|
adapter.getValue(<DataRow> {}, null);
|
||||||
|
}).toThrowError('Column not found');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should get value from row with column key', () => {
|
it('should get value from row with column key', () => {
|
||||||
@ -300,7 +304,9 @@ describe('ObjectDataTableAdapter', () => {
|
|||||||
describe('ObjectDataRow', () => {
|
describe('ObjectDataRow', () => {
|
||||||
|
|
||||||
it('should require object source', () => {
|
it('should require object source', () => {
|
||||||
expect(() => { return new ObjectDataRow(null); }).toThrowError('Object source not found');
|
expect(() => {
|
||||||
|
return new ObjectDataRow(null);
|
||||||
|
}).toThrowError('Object source not found');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should get top level property value', () => {
|
it('should get top level property value', () => {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { ChangeDetectorRef, Directive, ElementRef, Host, Inject, Input, OnChanges, Optional, Renderer2, SimpleChanges } from '@angular/core';
|
import { ChangeDetectorRef, Directive, ElementRef, Host, Inject, Input, OnChanges, Optional, Renderer2, SimpleChanges } from '@angular/core';
|
||||||
import { NodeEntry } from '@alfresco/js-api';
|
import { NodeEntry } from '@alfresco/js-api';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, ElementRef, Input, Renderer2, AfterViewChecked } from '@angular/core';
|
import { Directive, ElementRef, Input, Renderer2, AfterViewChecked } from '@angular/core';
|
||||||
import { HighlightTransformService, HighlightTransformResult } from '../services/highlight-transform.service';
|
import { HighlightTransformService, HighlightTransformResult } from '../services/highlight-transform.service';
|
||||||
|
@ -34,7 +34,7 @@ export class LibraryFavoriteDirective implements OnChanges {
|
|||||||
library: LibraryEntity = null;
|
library: LibraryEntity = null;
|
||||||
|
|
||||||
@Output() toggle = new EventEmitter<any>();
|
@Output() toggle = new EventEmitter<any>();
|
||||||
// tslint:disable-next-line: no-output-native
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
||||||
@Output() error = new EventEmitter<any>();
|
@Output() error = new EventEmitter<any>();
|
||||||
|
|
||||||
private targetLibrary = null;
|
private targetLibrary = null;
|
||||||
|
@ -149,7 +149,7 @@ describe('LibraryMembershipDirective', () => {
|
|||||||
expect(deleteMembershipSpy).not.toHaveBeenCalled();
|
expect(deleteMembershipSpy).not.toHaveBeenCalled();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it("should add 'workspace' to send appropriate email", fakeAsync(() => {
|
it(`should add 'workspace' to send appropriate email`, fakeAsync(() => {
|
||||||
mockSupportedVersion = true;
|
mockSupportedVersion = true;
|
||||||
const selection = { entry: { id: 'no-membership-requested' } };
|
const selection = { entry: { id: 'no-membership-requested' } };
|
||||||
const change = new SimpleChange(null, selection, true);
|
const change = new SimpleChange(null, selection, true);
|
||||||
|
@ -65,7 +65,7 @@ export class LibraryMembershipDirective implements OnChanges {
|
|||||||
@Output()
|
@Output()
|
||||||
toggle = new EventEmitter<LibraryMembershipToggleEvent>();
|
toggle = new EventEmitter<LibraryMembershipToggleEvent>();
|
||||||
|
|
||||||
// tslint:disable-next-line: no-output-native
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
||||||
@Output()
|
@Output()
|
||||||
error = new EventEmitter<LibraryMembershipErrorEvent>();
|
error = new EventEmitter<LibraryMembershipErrorEvent>();
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';
|
import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';
|
||||||
import { NodeEntry, Node, DeletedNodeEntity, DeletedNode, TrashcanApi, NodesApi } from '@alfresco/js-api';
|
import { NodeEntry, Node, DeletedNodeEntity, DeletedNode, TrashcanApi, NodesApi } from '@alfresco/js-api';
|
||||||
@ -185,6 +185,7 @@ export class NodeDeleteDirective implements OnChanges {
|
|||||||
if (status.allFailed && !status.oneFailed) {
|
if (status.allFailed && !status.oneFailed) {
|
||||||
return this.translation.instant(
|
return this.translation.instant(
|
||||||
'CORE.DELETE_NODE.ERROR_PLURAL',
|
'CORE.DELETE_NODE.ERROR_PLURAL',
|
||||||
|
// eslint-disable-next-line id-blacklist
|
||||||
{ number: status.failed.length }
|
{ number: status.failed.length }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -192,6 +193,7 @@ export class NodeDeleteDirective implements OnChanges {
|
|||||||
if (status.allSucceeded && !status.oneSucceeded) {
|
if (status.allSucceeded && !status.oneSucceeded) {
|
||||||
return this.translation.instant(
|
return this.translation.instant(
|
||||||
'CORE.DELETE_NODE.PLURAL',
|
'CORE.DELETE_NODE.PLURAL',
|
||||||
|
// eslint-disable-next-line id-blacklist
|
||||||
{ number: status.success.length }
|
{ number: status.success.length }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ import { DownloadService } from '../services/download.service';
|
|||||||
* Directive selectors without adf- prefix will be deprecated on 3.0.0
|
* Directive selectors without adf- prefix will be deprecated on 3.0.0
|
||||||
*/
|
*/
|
||||||
@Directive({
|
@Directive({
|
||||||
// tslint:disable-next-line: directive-selector
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
||||||
selector: '[adfNodeDownload]'
|
selector: '[adfNodeDownload]'
|
||||||
})
|
})
|
||||||
export class NodeDownloadDirective {
|
export class NodeDownloadDirective {
|
||||||
@ -110,7 +110,8 @@ export class NodeDownloadDirective {
|
|||||||
// nodeId for Shared node
|
// nodeId for Shared node
|
||||||
const id = (<any> node.entry).nodeId || node.entry.id;
|
const id = (<any> node.entry).nodeId || node.entry.id;
|
||||||
|
|
||||||
let url, fileName;
|
let url;
|
||||||
|
let fileName;
|
||||||
if (this.version) {
|
if (this.version) {
|
||||||
url = this.contentApi.getVersionContentUrl(id, this.version.entry.id, true);
|
url = this.contentApi.getVersionContentUrl(id, this.version.entry.id, true);
|
||||||
fileName = this.version.entry.name;
|
fileName = this.version.entry.name;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';
|
import { Directive, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';
|
||||||
import { FavoriteBody, NodeEntry, SharedLinkEntry, Node, SharedLink, FavoritesApi } from '@alfresco/js-api';
|
import { FavoriteBody, NodeEntry, SharedLinkEntry, Node, SharedLink, FavoritesApi } from '@alfresco/js-api';
|
||||||
|
@ -69,7 +69,9 @@ describe('NodeRestoreDirective', () => {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
translationService = TestBed.inject(TranslationService);
|
translationService = TestBed.inject(TranslationService);
|
||||||
spyOn(translationService, 'instant').and.callFake((key) => { return key; });
|
spyOn(translationService, 'instant').and.callFake((key) => {
|
||||||
|
return key;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not restore when selection is empty', () => {
|
it('should not restore when selection is empty', () => {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector no-input-rename */
|
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
||||||
import { TrashcanApi, DeletedNodeEntry, DeletedNodesPaging, PathInfoEntity } from '@alfresco/js-api';
|
import { TrashcanApi, DeletedNodeEntry, DeletedNodesPaging, PathInfoEntity } from '@alfresco/js-api';
|
||||||
@ -194,6 +194,7 @@ export class NodeRestoreDirective {
|
|||||||
return this.translation.instant(
|
return this.translation.instant(
|
||||||
'CORE.RESTORE_NODE.PARTIAL_PLURAL',
|
'CORE.RESTORE_NODE.PARTIAL_PLURAL',
|
||||||
{
|
{
|
||||||
|
// eslint-disable-next-line id-blacklist
|
||||||
number: status.fail.length
|
number: status.fail.length
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:no-input-rename */
|
/* eslint-disable @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Directive, ElementRef, HostListener, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
|
import { Directive, ElementRef, HostListener, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
|
||||||
import { FileInfo, FileUtils } from '../utils/file-utils';
|
import { FileInfo, FileUtils } from '../utils/file-utils';
|
||||||
|
@ -20,7 +20,7 @@ import { EventEmitter, Input, Output, Directive } from '@angular/core';
|
|||||||
import { ThemePalette } from '@angular/material/core';
|
import { ThemePalette } from '@angular/material/core';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
// tslint:disable-next-line: directive-class-suffix
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
||||||
export abstract class FormBaseComponent {
|
export abstract class FormBaseComponent {
|
||||||
|
|
||||||
static SAVE_OUTCOME_ID: string = '$save';
|
static SAVE_OUTCOME_ID: string = '$save';
|
||||||
|
@ -35,7 +35,7 @@ import { WidgetVisibilityService } from './../../services/widget-visibility.serv
|
|||||||
import { FormFieldModel } from './../widgets/core/form-field.model';
|
import { FormFieldModel } from './../widgets/core/form-field.model';
|
||||||
import { WidgetComponent } from './../widgets/widget.component';
|
import { WidgetComponent } from './../widgets/widget.component';
|
||||||
|
|
||||||
declare var adf: any;
|
declare const adf: any;
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'adf-form-field',
|
selector: 'adf-form-field',
|
||||||
@ -63,7 +63,7 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
|||||||
@Input()
|
@Input()
|
||||||
field: FormFieldModel = null;
|
field: FormFieldModel = null;
|
||||||
|
|
||||||
componentRef: ComponentRef<{}>;
|
componentRef: ComponentRef<any>;
|
||||||
|
|
||||||
focus: boolean = false;
|
focus: boolean = false;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { Component, OnInit, ViewEncapsulation, InjectionToken, Inject, Optional } from '@angular/core';
|
import { Component, OnInit, ViewEncapsulation, InjectionToken, Inject, Optional } from '@angular/core';
|
||||||
import { FormService } from './../../../services/form.service';
|
import { FormService } from './../../../services/form.service';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector no-input-rename */
|
/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
|
||||||
|
|
||||||
import { Component, ViewEncapsulation } from '@angular/core';
|
import { Component, ViewEncapsulation } from '@angular/core';
|
||||||
import { FormService } from './../../../services/form.service';
|
import { FormService } from './../../../services/form.service';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { ContainerColumnModel } from './../core/container-column.model';
|
import { ContainerColumnModel } from './../core/container-column.model';
|
||||||
import { ContainerModel } from './../core/container.model';
|
import { ContainerModel } from './../core/container.model';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { AfterViewInit, Component, OnInit, ViewEncapsulation } from '@angular/core';
|
import { AfterViewInit, Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||||
import { FormService } from './../../../services/form.service';
|
import { FormService } from './../../../services/form.service';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export class ContainerColumnModel {
|
export class ContainerColumnModel {
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { FormFieldModel } from './form-field.model';
|
import { FormFieldModel } from './form-field.model';
|
||||||
import { FormWidgetModel } from './form-widget.model';
|
import { FormWidgetModel } from './form-widget.model';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { RelatedContentRepresentation } from '@alfresco/js-api';
|
import { RelatedContentRepresentation } from '@alfresco/js-api';
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface DisplayableCMProperties {
|
export interface DisplayableCMProperties {
|
||||||
name?: string;
|
name?: string;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export class ErrorMessageModel {
|
export class ErrorMessageModel {
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface ExternalContentLink {
|
export interface ExternalContentLink {
|
||||||
contentAvailable: boolean;
|
contentAvailable: boolean;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface ExternalContent {
|
export interface ExternalContent {
|
||||||
folder: boolean;
|
folder: boolean;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { FormFieldSelectedFolder } from './form-field-selected-folder';
|
import { FormFieldSelectedFolder } from './form-field-selected-folder';
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { DisplayableCMProperties } from './displayable-cm-properties.model';
|
import { DisplayableCMProperties } from './displayable-cm-properties.model';
|
||||||
import { FormFieldFileSource } from './form-field-file-source';
|
import { FormFieldFileSource } from './form-field-file-source';
|
||||||
@ -31,10 +31,10 @@ export interface FormFieldMetadata {
|
|||||||
};
|
};
|
||||||
responseVariable?: boolean;
|
responseVariable?: boolean;
|
||||||
menuOptions?: {
|
menuOptions?: {
|
||||||
show?: boolean,
|
show?: boolean;
|
||||||
download?: boolean,
|
download?: boolean;
|
||||||
retrieveMetadata?: boolean,
|
retrieveMetadata?: boolean;
|
||||||
remove?: boolean
|
remove?: boolean;
|
||||||
};
|
};
|
||||||
displayableCMProperties?: DisplayableCMProperties[];
|
displayableCMProperties?: DisplayableCMProperties[];
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface FormFieldOption {
|
export interface FormFieldOption {
|
||||||
id: string;
|
id: string;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface FormFieldSelectedFolder {
|
export interface FormFieldSelectedFolder {
|
||||||
accountId: string;
|
accountId: string;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export interface FormFieldTemplates {
|
export interface FormFieldTemplates {
|
||||||
[key: string]: string;
|
[key: string]: string;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export class FormFieldTypes {
|
export class FormFieldTypes {
|
||||||
static CONTAINER: string = 'container';
|
static CONTAINER: string = 'container';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import moment from 'moment-es6';
|
import moment from 'moment-es6';
|
||||||
import { FormFieldTypes } from './form-field-types';
|
import { FormFieldTypes } from './form-field-types';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
import moment from 'moment-es6';
|
import moment from 'moment-es6';
|
||||||
import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
|
import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
|
||||||
import { ContainerColumnModel } from './container-column.model';
|
import { ContainerColumnModel } from './container-column.model';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { FormOutcomeModel } from './form-outcome.model';
|
import { FormOutcomeModel } from './form-outcome.model';
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { FormWidgetModel } from './form-widget.model';
|
import { FormWidgetModel } from './form-widget.model';
|
||||||
import { WidgetVisibilityModel } from './../../../models/widget-visibility.model';
|
import { WidgetVisibilityModel } from './../../../models/widget-visibility.model';
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
/* tslint:disable */
|
/* eslint-disable */
|
||||||
import { FormFieldMetadata } from './form-field-metadata';
|
import { FormFieldMetadata } from './form-field-metadata';
|
||||||
|
|
||||||
export interface FormValues extends FormFieldMetadata {
|
export interface FormValues extends FormFieldMetadata {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export abstract class FormWidgetModel {
|
export abstract class FormWidgetModel {
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ export interface FormRepresentationModel {
|
|||||||
taskName?: string;
|
taskName?: string;
|
||||||
processDefinitionId?: string;
|
processDefinitionId?: string;
|
||||||
customFieldTemplates?: {
|
customFieldTemplates?: {
|
||||||
[key: string]: string
|
[key: string]: string;
|
||||||
};
|
};
|
||||||
selectedOutcome?: string;
|
selectedOutcome?: string;
|
||||||
fields?: any[];
|
fields?: any[];
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
export * from './form-field-metadata';
|
export * from './form-field-metadata';
|
||||||
export * from './form-values';
|
export * from './form-values';
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* tslint:disable:component-selector */
|
/* eslint-disable @angular-eslint/component-selector */
|
||||||
|
|
||||||
import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
|
import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
|
||||||
import { FormWidgetModel } from './form-widget.model';
|
import { FormWidgetModel } from './form-widget.model';
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user