diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.html
index aa2d3c5104..9351a7aa7e 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.html
@@ -8,19 +8,19 @@
type="text"
[id]="field.id"
[(ngModel)]="value"
- (ngModelChange)="checkVisibility(field)"
(keyup)="onKeyUp($event)"
- (blur)="onBlur()"
[disabled]="field.readOnly"
- placeholder="{{field.placeholder}}">
+ placeholder="{{field.placeholder}}"
+ [mdAutocomplete]="auto">
+
+
+ {{item.name}}
+
+
+
-
-
- {{item.name}}
-
-
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.scss b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.scss
index 30495aca87..1f585dda22 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.scss
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.scss
@@ -6,29 +6,4 @@
&-group-widget {
width: 100%;
}
-
- &-group-autocomplete {
- background-color: #fff;
- position: inherit;
- max-height: 200px;
- overflow-y: auto;
- z-index: 5;
- width: 100%;
- color: #555;
- margin: -15px 0 0 0;
- > md-option {
- list-style-type: none;
- position: static;
- height: auto;
- width: auto;
- min-width: 124px;
- padding: 8px 0;
- margin: 0;
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
- border-radius: 2px;
- > span {
- opacity: 1;
- }
- }
- }
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.spec.ts
index 465cda825b..36377d6701 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.spec.ts
@@ -74,16 +74,6 @@ describe('FunctionalGroupWidgetComponent', () => {
expect(widget.groupId).toBe('');
});
- it('should flush value on blur', (done) => {
- spyOn(widget, 'flushValue').and.stub();
- widget.onBlur();
-
- setTimeout(() => {
- expect(widget.flushValue).toHaveBeenCalled();
- done();
- }, 200);
- });
-
it('should prevent default behaviour on option item click', () => {
let event = jasmine.createSpyObj('event', ['preventDefault']);
widget.onItemClick(null, event);
@@ -98,12 +88,6 @@ describe('FunctionalGroupWidgetComponent', () => {
expect(widget.value).toBe(item.name);
});
- it('should hide popup on flush', () => {
- widget.popupVisible = true;
- widget.flushValue();
- expect(widget.popupVisible).toBeFalsy();
- });
-
it('should update form on value flush', () => {
spyOn(widget.field, 'updateForm').and.callThrough();
widget.flushValue();
@@ -138,12 +122,6 @@ describe('FunctionalGroupWidgetComponent', () => {
expect(widget.field.value).toBe(groups[1]);
});
- it('should hide popup on key up', () => {
- widget.popupVisible = true;
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeFalsy();
- });
-
it('should fetch groups and show popup on key up', () => {
let groups: GroupModel[] = [
new GroupModel(),
@@ -156,12 +134,12 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'group';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowGroups).toHaveBeenCalledWith('group', undefined);
expect(widget.groups).toBe(groups);
- expect(widget.popupVisible).toBeTruthy();
});
it('should fetch groups with a group filter', () => {
@@ -176,13 +154,13 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.groupId = 'parentGroup';
widget.value = 'group';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowGroups).toHaveBeenCalledWith('group', 'parentGroup');
expect(widget.groups).toBe(groups);
- expect(widget.popupVisible).toBeTruthy();
});
it('should hide popup when fetching empty group list', () => {
@@ -193,32 +171,32 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'group';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowGroups).toHaveBeenCalledWith('group', undefined);
expect(widget.groups.length).toBe(0);
- expect(widget.popupVisible).toBeFalsy();
});
it('should not fetch groups when value is missing', () => {
spyOn(formService, 'getWorkflowGroups').and.stub();
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = null;
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowGroups).not.toHaveBeenCalled();
- expect(widget.popupVisible).toBeFalsy();
});
it('should not fetch groups when value violates constraints', () => {
spyOn(formService, 'getWorkflowGroups').and.stub();
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.minTermLength = 4;
widget.value = '123';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowGroups).not.toHaveBeenCalled();
- expect(widget.popupVisible).toBeFalsy();
});
});
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.ts
index 0d0a011928..45a4223471 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/functional-group/functional-group.widget.ts
@@ -17,6 +17,7 @@
/* tslint:disable:component-selector */
+import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
import { Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';
import { FormService } from '../../../services/form.service';
import { GroupModel } from './../core/group.model';
@@ -32,7 +33,7 @@ import { baseHost , WidgetComponent } from './../widget.component';
export class FunctionalGroupWidgetComponent extends WidgetComponent implements OnInit {
value: string;
- popupVisible: boolean = false;
+ oldValue: string;
groups: GroupModel[] = [];
minTermLength: number = 1;
groupId: string;
@@ -42,8 +43,6 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
super(formService);
}
- // TODO: investigate, called 2 times
- // https://github.com/angular/angular/issues/6782
ngOnInit() {
if (this.field) {
let group = this.field.value;
@@ -67,26 +66,18 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
}
onKeyUp(event: KeyboardEvent) {
- if (this.value && this.value.length >= this.minTermLength) {
- this.formService.getWorkflowGroups(this.value, this.groupId)
- .subscribe((result: GroupModel[]) => {
- this.groups = result || [];
- this.popupVisible = this.groups.length > 0;
- });
- } else {
- this.popupVisible = false;
+ if (this.value && this.value.length >= this.minTermLength && this.oldValue !== this.value) {
+ if (event.keyCode !== ESCAPE && event.keyCode !== ENTER) {
+ this.oldValue = this.value;
+ this.formService.getWorkflowGroups(this.value, this.groupId)
+ .subscribe((result: GroupModel[]) => {
+ this.groups = result || [];
+ });
+ }
}
}
- onBlur() {
- setTimeout(() => {
- this.flushValue();
- }, 200);
- }
-
flushValue() {
- this.popupVisible = false;
-
let option = this.groups.find(item => item.name.toLocaleLowerCase() === this.value.toLocaleLowerCase());
if (option) {
@@ -100,7 +91,6 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
this.field.updateForm();
}
- // TODO: still causes onBlur execution
onItemClick(item: GroupModel, event: Event) {
if (item) {
this.field.value = item;
@@ -110,4 +100,11 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
event.preventDefault();
}
}
+
+ onItemSelect(item: GroupModel) {
+ if (item) {
+ this.field.value = item;
+ this.value = item.name;
+ }
+ }
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.html
index 756643e0ea..a1ba4654a9 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.html
@@ -12,28 +12,27 @@
type="text"
[id]="field.id"
[(ngModel)]="value"
- (ngModelChange)="checkVisibility(field)"
(keyup)="onKeyUp($event)"
[disabled]="field.readOnly"
- placeholder="{{field.placeholder}}">
+ placeholder="{{field.placeholder}}"
+ [mdAutocomplete]="auto">
+
+
+
+
+
-
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.scss b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.scss
index cd7803f9ee..b0afdff6fd 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.scss
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.scss
@@ -1,69 +1,52 @@
-@import '~ng2-alfresco-core/styles/theming';
-@import '../form';
+@import '~@angular/material/theming';
-.adf {
+@mixin mat-people-widget-theme($theme) {
+ $primary: map-get($theme, primary);
+ $background: map-get($theme, background);
+ $foreground: map-get($theme, foreground);
- &-people-widget {
- width: 100%;
- }
+ .adf {
- &-people-autocomplete {
- background-color: #fff;
- position:inherit;
- max-height: 200px;
- width: 100%;
- overflow-y: auto;
- z-index: 5;
- border-radius: 3%;
- color: #555;
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
- > md-option {
- list-style-type: none;
- position: static;
- height: auto;
- width: auto;
- min-width: 124px;
- padding: 8px 0 0 20px;
- margin: 0;
- border-radius: 2px;
- > span {
- opacity: 1;
- }
+ &-people-widget {
+ width: 100%;
+ }
+
+ &-people-widget-pic {
+ background: mat-color($primary);
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: mat-color($foreground, text);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle;
+ }
+
+ &-people-widget-row {
+ padding-bottom: 10px;
+ }
+
+ &-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: mat-color($background, dialog);
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0;
+ }
+
+ &-people-widget-image-row {
+ display: inline-block;
+ }
+
+ &-people-label-name {
+ padding-left: 10px;
}
}
-
- &-people-widget-pic {
- background: #ff9800;
- display: inline-block;
- width: 30px;
- padding: 0 9px;
- border-radius: 100px;
- color: #fff;
- text-align: center;
- font-weight: bolder;
- font-size: 18px;
- text-transform: uppercase;
- vertical-align: middle;
- }
-
- &-people-widget-row {
- padding-bottom: 10px;
- }
-
- &-people-widget-image {
- border-radius: 100px;
- width: 50px;
- height: 50px;
- vertical-align: middle;
- display: inline-block;
- padding: 0 0;
- }
-
- &-people-widget-image-row {
- display: inline-block;
- }
-
- &-people-label-name {
- padding-left: 10px;
- }
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.spec.ts
index e30bdddd67..1cb4ba3146 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.spec.ts
@@ -142,12 +142,12 @@ describe('PeopleWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'user1';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowUsers).toHaveBeenCalledWith(widget.value, widget.groupId);
expect(widget.users).toBe(users);
- expect(widget.popupVisible).toBeTruthy();
});
it('should fetch users by search term and group id', () => {
@@ -159,13 +159,13 @@ describe('PeopleWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'user1';
widget.groupId = '1001';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowUsers).toHaveBeenCalledWith(widget.value, widget.groupId);
expect(widget.users).toBe(users);
- expect(widget.popupVisible).toBeTruthy();
});
it('should fetch users and show no popup', () => {
@@ -176,19 +176,20 @@ describe('PeopleWidgetComponent', () => {
})
);
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'user1';
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowUsers).toHaveBeenCalledWith(widget.value, widget.groupId);
expect(widget.users).toEqual([]);
- expect(widget.popupVisible).toBeFalsy();
});
it('should require search term to fetch users', () => {
spyOn(formService, 'getWorkflowUsers').and.stub();
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = null;
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowUsers).not.toHaveBeenCalled();
});
@@ -196,19 +197,14 @@ describe('PeopleWidgetComponent', () => {
it('should not fetch users due to constraint violation', () => {
spyOn(formService, 'getWorkflowUsers').and.stub();
+ let keyboardEvent = new KeyboardEvent('keypress');
widget.value = '123';
widget.minTermLength = 4;
- widget.onKeyUp(null);
+ widget.onKeyUp(keyboardEvent);
expect(formService.getWorkflowUsers).not.toHaveBeenCalled();
});
- it('should hide popup on value flush', () => {
- widget.popupVisible = true;
- widget.flushValue();
- expect(widget.popupVisible).toBeFalsy();
- });
-
it('should update form on value flush', () => {
spyOn(widget.field, 'updateForm').and.callThrough();
widget.flushValue();
@@ -247,31 +243,4 @@ describe('PeopleWidgetComponent', () => {
expect(widget.value).toBeNull();
expect(widget.field.value).toBeNull();
});
-
- describe('Image', () => {
-
- it('should show the initial in the image', () => {
- widget.users = [
- new GroupUserModel({firstName: 'Tony', lastName: 'Stark'}),
- new GroupUserModel({firstName: 'John', lastName: 'Doe'})
- ];
-
- fixture.detectChanges();
-
- expect(element.querySelector('#adf-people-widget-initial-0').innerHTML.trim()).toBe('TS');
- expect(element.querySelector('#adf-people-widget-initial-1').innerHTML.trim()).toBe('JD');
- });
-
- it('should show the the image if user has an image', () => {
- widget.users = [
- new GroupUserModel({firstName: 'Tony', lastName: 'Stark', userImage: 'testUrl0'}),
- new GroupUserModel({firstName: 'John', lastName: 'Doe', userImage: 'testUrl1'})
- ];
-
- fixture.detectChanges();
-
- expect((element.querySelector('#adf-people-widget-pic-0') as any).src).toContain('testUrl0');
- expect((element.querySelector('#adf-people-widget-pic-1') as any).src).toContain('testUrl1');
- });
- });
});
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.ts
index f9acf53b42..9c8dba1550 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/people/people.widget.ts
@@ -15,10 +15,11 @@
* limitations under the License.
*/
- /* tslint:disable:component-selector */
+/* tslint:disable:component-selector */
-import { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
-import { Observable } from 'rxjs/Observable';
+import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
+import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
+import { MdAutocompleteTrigger } from '@angular/material';
import { FormService } from '../../../services/form.service';
import { GroupUserModel } from '../core/group-user.model';
import { GroupModel } from '../core/group.model';
@@ -31,24 +32,21 @@ import { baseHost , WidgetComponent } from './../widget.component';
host: baseHost,
encapsulation: ViewEncapsulation.None
})
-export class PeopleWidgetComponent extends WidgetComponent implements OnInit, AfterViewInit {
+export class PeopleWidgetComponent extends WidgetComponent implements OnInit {
- @ViewChild('inputValue')
- input: ElementRef;
+ @ViewChild(MdAutocompleteTrigger)
+ input: MdAutocompleteTrigger;
- popupVisible: boolean = false;
minTermLength: number = 1;
value: string;
+ oldValue: string;
users: GroupUserModel[] = [];
groupId: string;
- constructor(public formService: FormService,
- public elementRef: ElementRef) {
- super(formService);
+ constructor(public formService: FormService) {
+ super(formService);
}
- // TODO: investigate, called 2 times
- // https://github.com/angular/angular/issues/6782
ngOnInit() {
if (this.field) {
let user: GroupUserModel = this.field.value;
@@ -61,37 +59,27 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit, Af
let restrictWithGroup = params['restrictWithGroup'];
this.groupId = restrictWithGroup.id;
}
-
- // Load auto-completion for previously saved value
- if (this.value) {
- this.formService
- .getWorkflowUsers(this.value, this.groupId)
- .subscribe((result: GroupUserModel[]) => this.users = result || []);
- }
- }
- }
-
- ngAfterViewInit() {
- if (this.input) {
- let onBlurInputEvent = Observable.fromEvent(this.input.nativeElement, 'blur');
- onBlurInputEvent.debounceTime(200).subscribe((event) => {
- this.flushValue();
- });
}
}
onKeyUp(event: KeyboardEvent) {
- if (this.value && this.value.length >= this.minTermLength) {
- this.formService.getWorkflowUsers(this.value, this.groupId)
- .subscribe((result: GroupUserModel[]) => {
- this.users = result || [];
- this.popupVisible = this.users.length > 0;
- });
- } else {
- this.popupVisible = false;
+ if (this.value && this.value.length >= this.minTermLength && this.oldValue !== this.value) {
+ if (event.keyCode !== ESCAPE && event.keyCode !== ENTER) {
+ if (this.value.length >= this.minTermLength) {
+ this.oldValue = this.value;
+ this.searchUsers();
+ }
+ }
}
}
+ searchUsers() {
+ this.formService.getWorkflowUsers(this.value, this.groupId)
+ .subscribe((result: GroupUserModel[]) => {
+ this.users = result || [];
+ });
+ }
+
onErrorImageLoad(user) {
if (user.userImage) {
user.userImage = null;
@@ -99,8 +87,6 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit, Af
}
flushValue() {
- this.popupVisible = false;
-
let option = this.users.find(item => {
let fullName = this.getDisplayName(item).toLocaleLowerCase();
return (this.value && fullName === this.value.toLocaleLowerCase());
@@ -136,6 +122,13 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit, Af
}
}
+ onItemSelect(item: GroupUserModel) {
+ if (item) {
+ this.field.value = item;
+ this.value = this.getDisplayName(item);
+ }
+ }
+
getInitialUserName(firstName: string, lastName: string) {
firstName = (firstName !== null && firstName !== '' ? firstName[0] : '');
lastName = (lastName !== null && lastName !== '' ? lastName[0] : '');
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.html
index 447ccc6326..bbcceb6185 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.html
@@ -11,16 +11,19 @@
[id]="field.id"
[(ngModel)]="value"
(keyup)="onKeyUp($event)"
- (blur)="onBlur()"
[disabled]="field.readOnly"
- placeholder="{{field.placeholder}}">
+ placeholder="{{field.placeholder}}"
+ [mdAutocomplete]="auto">
+
+
+
+ {{item.name}}
+
+
+
+
-
-
- {{item.name}}
-
-
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.scss b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.scss
index 923e12e047..7e25125d3b 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.scss
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.scss
@@ -11,30 +11,4 @@
&-typeahead-widget {
width: 100%;
}
-
- &-typeahead-autocomplete {
- background-color: #fff;
- position:absolute;
- max-height: 200px;
- width: 100%;
- overflow-y: auto;
- z-index: 5;
- color: #555;
- margin: -10px 0 0 0;
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
- > md-option {
- list-style-type: none;
- position: static;
- height: auto;
- width: auto;
- min-width: 124px;
- padding: 8px 0;
- margin: 0;
- border-radius: 2px;
- > span {
- opacity: 1;
- padding-left: 23px;
- }
- }
- }
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts
index 0abc4336cf..728207d258 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts
@@ -108,68 +108,6 @@ describe('TypeaheadWidgetComponent', () => {
expect(widget.handleError).toHaveBeenCalledWith(err);
});
- it('should show popup on key up', () => {
-
- spyOn(widget, 'getOptions').and.returnValue([{}, {}]);
-
- widget.minTermLength = 1;
- widget.value = 'some value';
-
- widget.popupVisible = false;
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeTruthy();
- });
-
- it('should require items to show popup', () => {
- widget.minTermLength = 1;
- widget.value = 'some value';
-
- widget.popupVisible = false;
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeFalsy();
- });
-
- it('should require value to show popup', () => {
- widget.minTermLength = 1;
- widget.value = '';
-
- widget.popupVisible = false;
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeFalsy();
- });
-
- it('should require value to be of min length to show popup', () => {
- spyOn(widget, 'getOptions').and.returnValue([{}, {}]);
-
- widget.minTermLength = 3;
- widget.value = 'v';
-
- // value less than constraint
- widget.popupVisible = false;
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeFalsy();
-
- // value satisfies constraint
- widget.value = 'value';
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeTruthy();
-
- // value gets less than allowed again
- widget.value = 'va';
- widget.onKeyUp(null);
- expect(widget.popupVisible).toBeFalsy();
- });
-
- it('should flush value on blur', (done) => {
- spyOn(widget, 'flushValue').and.stub();
- widget.onBlur();
-
- setTimeout(() => {
- expect(widget.flushValue).toHaveBeenCalled();
- done();
- }, 200);
- });
-
it('should prevent default behaviour on option item click', () => {
let event = jasmine.createSpyObj('event', ['preventDefault']);
widget.onItemClick(null, event);
@@ -270,12 +208,6 @@ describe('TypeaheadWidgetComponent', () => {
expect(filtered[0]).toEqual(options[1]);
});
- it('should hide popup on flush', () => {
- widget.popupVisible = true;
- widget.flushValue();
- expect(widget.popupVisible).toBeFalsy();
- });
-
it('should update form on value flush', () => {
spyOn(widget.field, 'updateForm').and.callThrough();
widget.flushValue();
@@ -359,22 +291,6 @@ describe('TypeaheadWidgetComponent', () => {
});
});
- it('should emit field change event on blur', (done) => {
- spyOn(widget, 'flushValue').and.stub();
- let fakeField = new FormFieldModel(new FormModel(), { id: 'fakeField', value: 'fakeValue' });
- widget.field = fakeField;
- widget.onBlur();
-
- setTimeout(() => {
- widget.fieldChanged.subscribe((field) => {
- expect(field).toBeDefined();
- expect(field.id).toEqual('field-id');
- expect(field.value).toEqual('field-value');
- });
- done();
- }, 200);
- });
-
describe('when template is ready', () => {
let typeaheadWidgetComponent: TypeaheadWidgetComponent;
let fixture: ComponentFixture;
@@ -428,8 +344,9 @@ describe('TypeaheadWidgetComponent', () => {
}));
it('should show typeahead options', async(() => {
+ let keyboardEvent = new KeyboardEvent('keypress');
typeaheadWidgetComponent.value = 'F';
- typeaheadWidgetComponent.onKeyUp(null);
+ typeaheadWidgetComponent.onKeyUp(keyboardEvent);
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(fixture.debugElement.queryAll(By.css('[id="md-option-1"]'))).toBeDefined();
@@ -472,8 +389,9 @@ describe('TypeaheadWidgetComponent', () => {
}));
it('should show typeahead options', async(() => {
+ let keyboardEvent = new KeyboardEvent('keypress');
typeaheadWidgetComponent.value = 'F';
- typeaheadWidgetComponent.onKeyUp(null);
+ typeaheadWidgetComponent.onKeyUp(keyboardEvent);
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(fixture.debugElement.queryAll(By.css('[id="md-option-1"]'))).toBeDefined();
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.ts
index 3c648d47ee..1a666ae27e 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.ts
@@ -17,6 +17,7 @@
/* tslint:disable:component-selector */
+import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { LogService } from 'ng2-alfresco-core';
import { WidgetVisibilityService } from '../../../services/widget-visibility.service';
@@ -33,9 +34,9 @@ import { baseHost , WidgetComponent } from './../widget.component';
})
export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit {
- popupVisible: boolean = false;
minTermLength: number = 1;
value: string;
+ oldValue: string;
options: FormFieldOption[] = [];
constructor(public formService: FormService,
@@ -111,24 +112,17 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
}
onKeyUp(event: KeyboardEvent) {
- if (this.value && this.value.length >= this.minTermLength) {
- this.options = this.getOptions();
- this.popupVisible = this.options.length > 0;
- } else {
- this.popupVisible = false;
+ if (this.value && this.value.length >= this.minTermLength && this.oldValue !== this.value) {
+ if (event.keyCode !== ESCAPE && event.keyCode !== ENTER) {
+ if (this.value.length >= this.minTermLength) {
+ this.options = this.getOptions();
+ this.oldValue = this.value;
+ }
+ }
}
}
- onBlur() {
- setTimeout(() => {
- this.flushValue();
- this.checkVisibility();
- }, 200);
- }
-
flushValue() {
- this.popupVisible = false;
-
let options = this.field.options || [];
let lValue = this.value ? this.value.toLocaleLowerCase() : null;
@@ -141,11 +135,9 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
this.value = null;
}
- // TODO: seems to be not needed as field.value setter calls it
this.field.updateForm();
}
- // TODO: still causes onBlur execution
onItemClick(item: FormFieldOption, event: Event) {
if (item) {
this.field.value = item.id;
@@ -157,6 +149,14 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
}
}
+ onItemSelect(item: FormFieldOption) {
+ if (item) {
+ this.field.value = item.id;
+ this.value = item.name;
+ this.checkVisibility();
+ }
+ }
+
handleError(error: any) {
this.logService.error(error);
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts b/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts
index 35437db014..11791322e6 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts
@@ -122,7 +122,6 @@ export class WidgetComponent implements AfterViewInit {
}
protected event(event: Event): void {
- console.log(event);
this.formService.formEvents.next(event);
}
}
diff --git a/ng2-components/ng2-activiti-form/styles/index.scss b/ng2-components/ng2-activiti-form/styles/index.scss
index 40ff129e85..8531a4ca32 100644
--- a/ng2-components/ng2-activiti-form/styles/index.scss
+++ b/ng2-components/ng2-activiti-form/styles/index.scss
@@ -1,9 +1,10 @@
@import '../src/components/widgets/form';
@import '../src/components/widgets/container/container.widget';
-@import '../src/components/widgets/dynamic-table/dynamic-table.widget';
+@import '../src/components/widgets/people/people.widget';
@mixin alfresco-activity-form-theme($theme) {
@include mat-form-theme($theme);
@include mat-container-widget-theme($theme);
- @include mat-dynamic-table-theme($theme);
+ @include mat-people-widget-theme($theme);
+
}
diff --git a/ng2-components/ng2-activiti-tasklist/src/models/user.model.ts b/ng2-components/ng2-activiti-tasklist/src/models/user.model.ts
index 7fa7465893..34b0e73f3f 100644
--- a/ng2-components/ng2-activiti-tasklist/src/models/user.model.ts
+++ b/ng2-components/ng2-activiti-tasklist/src/models/user.model.ts
@@ -28,7 +28,7 @@ export class User {
email: string;
firstName: string;
lastName: string;
- userImage: string;
+ userImage: string = null;
constructor(obj?: any) {
if (obj) {
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-orange.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-orange.css
index 6bd3623ab1..5e9dea53a0 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-orange.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-orange.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #2196f3;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-purple.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-purple.css
index 525460a45f..a5715b1c9e 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-purple.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-blue-purple.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #2196f3;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-orange.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-orange.css
index 0b8da2a1ad..5e73de67e5 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-orange.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-orange.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #00bcd4;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-purple.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-purple.css
index 33ef23e4a8..7daa158940 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-purple.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-cyan-purple.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #00bcd4;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-orange.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-orange.css
index b34b04c0d4..0289f7b96d 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-orange.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-orange.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #8bc34a;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-purple.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-purple.css
index e9e35b0e2e..cf19b237e6 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-purple.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-green-purple.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #8bc34a;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-indigo-pink.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-indigo-pink.css
index 194a8dbad7..ff1e860a2e 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-indigo-pink.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-indigo-pink.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(0, 0, 0, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: rgba(0, 0, 0, 0.87);
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(0, 0, 0, 0.07);
- border-bottom: 1px solid rgba(0, 0, 0, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.87);
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: rgba(0, 0, 0, 0.87); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(0, 0, 0, 0.38); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #3f51b5;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: white;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-pink-bluegrey.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-pink-bluegrey.css
index 04b2ca365b..3dd752adb3 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-pink-bluegrey.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-pink-bluegrey.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(255, 255, 255, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: white;
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(255, 255, 255, 0.07);
- border-bottom: 1px solid rgba(255, 255, 255, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: white;
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: white; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(255, 255, 255, 0.3); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #c2185b;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: white;
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: #424242;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-purple-green.css b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-purple-green.css
index 1044cd67c0..4f41595b71 100644
--- a/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-purple-green.css
+++ b/ng2-components/ng2-alfresco-core/prebuilt-themes/adf-purple-green.css
@@ -17,7 +17,23 @@
* This mixin contains shared option styles between the select and
* autocomplete components.
*/
-/* ANIMATION */
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+/* Theme for the ripple elements.*/
+/** The mixins below are shared between md-menu and md-select */
+/**
+ * This mixin adds the correct panel transform styles based
+ * on the direction that the menu panel opens.
+ */
+/* stylelint-disable material/no-prefixes */
+/* stylelint-enable */
+/**
+ * This mixin contains shared option styles between the select and
+ * autocomplete components.
+ */
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
@@ -2207,122 +2223,41 @@ container-widget .mat-focused .mat-input-prefix {
container-widget .mat-grid-tile {
overflow: visible; }
-.adf-dynamic-table {
- width: 100%;
- position: relative;
- border: 1px solid rgba(255, 255, 255, 0.07);
- white-space: nowrap;
- font-size: 14px;
- /* Firefox fixes */
- border-collapse: unset;
- border-spacing: 0; }
- .adf-dynamic-table thead {
- padding-bottom: 3px; }
- .adf-dynamic-table tbody tr {
- position: relative;
- height: 56px;
- transition-duration: 0.28s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-property: background-color; }
- .adf-dynamic-table tbody tr:hover {
- background-color: #eeeeee; }
- .adf-dynamic-table tbody tr.is-selected, .adf-dynamic-table tbody tr.is-selected:hover {
- background-color: #e0f7fa; }
- .adf-dynamic-table tbody tr:focus {
- outline-offset: -1px;
- outline-width: 1px;
- outline-color: #448aff;
- outline-style: solid; }
- .adf-dynamic-table td, .adf-dynamic-table th {
- padding: 0 18px 12px 18px;
- text-align: center; }
- .adf-dynamic-table td:first-of-type, .adf-dynamic-table th:first-of-type {
- padding-left: 24px; }
- .adf-dynamic-table td:last-of-type, .adf-dynamic-table th:last-of-type {
- padding-right: 24px; }
- .adf-dynamic-table td {
- color: white;
- position: relative;
- vertical-align: middle;
- height: 56px;
- border-top: 1px solid rgba(255, 255, 255, 0.07);
- border-bottom: 1px solid rgba(255, 255, 255, 0.07);
- padding-top: 12px;
- box-sizing: border-box;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: default; }
- .adf-dynamic-table th {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- position: relative;
- vertical-align: bottom;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 24px;
- letter-spacing: 0;
- height: 56px;
- font-size: 12px;
- color: white;
- padding-bottom: 8px;
- box-sizing: border-box; }
- .adf-dynamic-table th.sortable {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .adf-dynamic-table th.sortable:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc {
- color: white; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 24px;
- line-height: 1;
- letter-spacing: normal;
- text-transform: none;
- display: inline-block;
- word-wrap: normal;
- font-feature-settings: 'liga';
- -webkit-font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- font-size: 16px;
- content: "\e5d8";
- margin-right: 5px;
- vertical-align: sub; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover {
- cursor: pointer; }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-asc:hover:before, .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:hover:before {
- color: rgba(255, 255, 255, 0.3); }
- .adf-dynamic-table th.adf-dynamic-table__header--sorted-desc:before {
- content: "\e5db"; }
- .adf-dynamic-table .adf-dynamic-table-cell {
- text-align: left;
- cursor: default; }
- .adf-dynamic-table .adf-dynamic-table-cell--text {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--number {
- text-align: right; }
- .adf-dynamic-table .adf-dynamic-table-cell--image {
- text-align: left; }
- .adf-dynamic-table .adf-dynamic-table-cell--image img {
- width: 24px;
- height: 24px; }
- .adf-dynamic-table .full-width {
- width: 100%; }
+.adf-people-widget {
+ width: 100%; }
+
+.adf-people-widget-pic {
+ background: #7b1fa2;
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border-radius: 100px;
+ color: white;
+ text-align: center;
+ font-weight: bolder;
+ font-size: 18px;
+ text-transform: uppercase;
+ vertical-align: middle; }
+
+.adf-people-widget-row {
+ padding-bottom: 10px; }
+
+.adf-people-widget-image {
+ margin-left: -45px;
+ left: 21px;
+ background: #424242;
+ border-radius: 100px;
+ width: 40px;
+ height: 40px;
+ vertical-align: middle;
+ display: inline-block;
+ padding: 0; }
+
+.adf-people-widget-image-row {
+ display: inline-block; }
+
+.adf-people-label-name {
+ padding-left: 10px; }
.adf-filters__entry {
cursor: pointer;
diff --git a/ng2-components/package-base.json b/ng2-components/package-base.json
index b2a09bcf6b..0328d88b24 100644
--- a/ng2-components/package-base.json
+++ b/ng2-components/package-base.json
@@ -6,7 +6,7 @@
"scripts": {
"clean": "rimraf node_modules",
"clean-lock": "rimraf package-lock.json",
- "build": "npm run toc && npm run markdownlint && npm run webpack -- --config config/webpack.build.js --progress --profile --bail && npm run build-style",
+ "build": "npm run pkg-build && npm run toc && npm run markdownlint && npm run webpack -- --config config/webpack.build.js --progress --profile --bail && npm run build-style",
"build-style": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail",
"pkg-build": "package-json-merge ng2-alfresco-core/package.json ng2-alfresco-datatable/package.json ng2-activiti-diagrams/package.json ng2-activiti-analytics/package.json ng2-activiti-form/package.json ng2-activiti-tasklist/package.json ng2-activiti-processlist/package.json ng2-alfresco-documentlist/package.json ng2-alfresco-login/package.json ng2-alfresco-search/package.json ng2-alfresco-tag/package.json ng2-alfresco-upload/package.json ng2-alfresco-viewer/package.json ng2-alfresco-webscript/package.json ng2-alfresco-webscript/package.json ng2-alfresco-userinfo/package.json ng2-alfresco-social/package.json package-base.json > package.json",
"test": "node node_modules/karma/bin/karma start --reporters mocha,coverage --single-run --component .",
@@ -14,6 +14,7 @@
"toc": "markdown-toc -i ng2-alfresco-core/README.md && markdown-toc -i ng2-alfresco-datatable/README.md && markdown-toc -i ng2-activiti-diagrams/README.md && markdown-toc -i ng2-activiti-analytics/README.md && markdown-toc -i ng2-activiti-form/README.md && markdown-toc -i ng2-activiti-tasklist/README.md && markdown-toc -i ng2-activiti-processlist/README.md && markdown-toc -i ng2-alfresco-documentlist/README.md && markdown-toc -i ng2-alfresco-login/README.md && markdown-toc -i ng2-alfresco-search/README.md && markdown-toc -i ng2-alfresco-tag/README.md && markdown-toc -i ng2-alfresco-upload/README.md && markdown-toc -i ng2-alfresco-viewer/README.md && markdown-toc -i ng2-alfresco-webscript/README.md && markdown-toc -i ng2-alfresco-webscript/README.md && markdown-toc -i ng2-alfresco-userinfo/README.md && markdown-toc -i ng2-alfresco-social/README.md && markdown-toc -i README.md",
"markdownlint": "markdownlint ng2-alfresco-core/README.md && markdownlint ng2-alfresco-datatable/README.md && markdownlint ng2-activiti-diagrams/README.md && markdownlint ng2-activiti-analytics/README.md && markdownlint ng2-activiti-form/README.md && markdownlint ng2-activiti-tasklist/README.md && markdownlint ng2-activiti-processlist/README.md && markdownlint ng2-alfresco-documentlist/README.md && markdownlint ng2-alfresco-login/README.md && markdownlint ng2-alfresco-search/README.md && markdownlint ng2-alfresco-tag/README.md && markdownlint ng2-alfresco-upload/README.md && markdownlint ng2-alfresco-viewer/README.md && markdownlint ng2-alfresco-webscript/README.md && markdownlint ng2-alfresco-webscript/README.md && markdownlint ng2-alfresco-userinfo/README.md && markdownlint ng2-alfresco-social/README.md && markdownlint README.md",
"doc": "npm run toc && npm run markdownlint && npm run webpack -- --config config/webpack.doc.js --progress --profile --bail",
+ "docindex": "node config/buildFullDocIndex.js",
"tslint": "",
"prepublish": "",
"tsc": "",
diff --git a/ng2-components/package.json b/ng2-components/package.json
index 4a708a1d4d..c4aad7908e 100644
--- a/ng2-components/package.json
+++ b/ng2-components/package.json
@@ -17,7 +17,6 @@
"toc": "markdown-toc -i ng2-alfresco-core/README.md && markdown-toc -i ng2-alfresco-datatable/README.md && markdown-toc -i ng2-activiti-diagrams/README.md && markdown-toc -i ng2-activiti-analytics/README.md && markdown-toc -i ng2-activiti-form/README.md && markdown-toc -i ng2-activiti-tasklist/README.md && markdown-toc -i ng2-activiti-processlist/README.md && markdown-toc -i ng2-alfresco-documentlist/README.md && markdown-toc -i ng2-alfresco-login/README.md && markdown-toc -i ng2-alfresco-search/README.md && markdown-toc -i ng2-alfresco-tag/README.md && markdown-toc -i ng2-alfresco-upload/README.md && markdown-toc -i ng2-alfresco-viewer/README.md && markdown-toc -i ng2-alfresco-webscript/README.md && markdown-toc -i ng2-alfresco-webscript/README.md && markdown-toc -i ng2-alfresco-userinfo/README.md && markdown-toc -i ng2-alfresco-social/README.md && markdown-toc -i README.md",
"markdownlint": "markdownlint ng2-alfresco-core/README.md && markdownlint ng2-alfresco-datatable/README.md && markdownlint ng2-activiti-diagrams/README.md && markdownlint ng2-activiti-analytics/README.md && markdownlint ng2-activiti-form/README.md && markdownlint ng2-activiti-tasklist/README.md && markdownlint ng2-activiti-processlist/README.md && markdownlint ng2-alfresco-documentlist/README.md && markdownlint ng2-alfresco-login/README.md && markdownlint ng2-alfresco-search/README.md && markdownlint ng2-alfresco-tag/README.md && markdownlint ng2-alfresco-upload/README.md && markdownlint ng2-alfresco-viewer/README.md && markdownlint ng2-alfresco-webscript/README.md && markdownlint ng2-alfresco-webscript/README.md && markdownlint ng2-alfresco-userinfo/README.md && markdownlint ng2-alfresco-social/README.md && markdownlint README.md",
"doc": "npm run toc && npm run markdownlint && npm run webpack -- --config config/webpack.doc.js --progress --profile --bail",
- "docindex": "node config/buildFullDocIndex.js",
"tslint": "",
"prepublish": "",
"tsc": "",
@@ -76,25 +75,26 @@
"@angular/router": "4.3.6",
"@ngx-translate/core": "7.0.0",
"alfresco-js-api": "1.8.0",
- "chart.js": "2.5.0",
"core-js": "2.4.1",
"hammerjs": "2.0.8",
"material-design-lite": "1.2.1",
- "minimatch": "3.0.4",
"moment": "2.15.1",
- "ng2-activiti-diagrams": "1.8.0",
- "ng2-activiti-form": "1.8.0",
- "ng2-activiti-tasklist": "1.8.0",
- "ng2-alfresco-core": "1.8.0",
- "ng2-alfresco-datatable": "1.8.0",
- "ng2-alfresco-documentlist": "1.8.0",
- "ng2-charts": "1.6.0",
- "pdfjs-dist": "1.5.404",
- "raphael": "2.2.7",
"reflect-metadata": "0.1.10",
"rxjs": "5.1.0",
"systemjs": "0.19.27",
- "zone.js": "0.8.12"
+ "zone.js": "0.8.12",
+ "ng2-alfresco-core": "1.8.0",
+ "raphael": "2.2.7",
+ "chart.js": "2.5.0",
+ "ng2-activiti-diagrams": "1.8.0",
+ "ng2-charts": "1.6.0",
+ "@angular/flex-layout": "2.0.0-beta.9",
+ "ng2-activiti-form": "1.8.0",
+ "ng2-alfresco-datatable": "1.8.0",
+ "ng2-activiti-tasklist": "1.8.0",
+ "ng2-alfresco-documentlist": "1.8.0",
+ "minimatch": "3.0.4",
+ "pdfjs-dist": "1.5.404"
},
"devDependencies": {
"@types/hammerjs": "2.0.34",
@@ -129,8 +129,6 @@
"karma-systemjs": "0.16.0",
"karma-webpack": "2.0.3",
"loader-utils": "1.1.0",
- "markdown-toc": "1.1.0",
- "markdownlint-cli": "^0.3.1",
"merge-stream": "1.0.1",
"node-sass": "4.5.3",
"null-loader": "0.1.1",
@@ -154,7 +152,9 @@
"webpack": "2.2.1",
"webpack-dev-server": "2.3.0",
"webpack-merge": "2.6.1",
- "wsrv": "0.1.7"
+ "wsrv": "0.1.7",
+ "markdown-toc": "1.1.0",
+ "markdownlint-cli": "^0.3.1"
},
"license": "Apache-2.0",
"module": "./index.js",