2020-07-20 15:23:29 +02:00
|
|
|
import { animate, animation, keyframes, style, transition, trigger, useAnimation } from '@angular/animations';
|
|
|
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
|
|
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
feat(console): user memberships, generic member create dialog, fix user autocomplete emitter (#606)
* load manager mgmtservice, user service
* add org memberships
* membership component, generic member creation
* refactor member create dialog
* project autocomplete context
* create batch managers in user component
* project context wrapper
* emit on user removal, preselect user on init
* membership avatar style, service
* auth user memberships, navigate to target
* cursor fix, avatar gen
* lint
* i18n fix
* remove role translations
* membership detail page, i18n
* fix role label i18n, after view init loader
* remove projectid from grant remove
* fix iam race condition
* refresh table ts, fix no permission project search
* change membership colors
* refresh table everywhere, replace assets, routing
* fix logo header size
* lint, fix project grant removal
* timestmp for p mem, user list, grants, p list (#615)
* npm audit
* update deps, resolve vulnerability
* fix tslint config
* update lock
* load 20 changes at once
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* membership i18n
Co-authored-by: Florian Forster <florian@caos.ch>
2020-08-24 08:48:47 +02:00
|
|
|
import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';
|
2020-07-20 15:23:29 +02:00
|
|
|
|
|
|
|
const rotate = animation([
|
|
|
|
animate(
|
|
|
|
'{{time}} cubic-bezier(0.785, 0.135, 0.15, 0.86)',
|
|
|
|
keyframes([
|
|
|
|
style({
|
|
|
|
transform: 'rotate(0deg)',
|
|
|
|
}),
|
|
|
|
style({
|
|
|
|
transform: 'rotate(360deg)',
|
|
|
|
}),
|
|
|
|
]),
|
|
|
|
),
|
|
|
|
]);
|
|
|
|
@Component({
|
|
|
|
selector: 'app-refresh-table',
|
|
|
|
templateUrl: './refresh-table.component.html',
|
|
|
|
styleUrls: ['./refresh-table.component.scss'],
|
|
|
|
animations: [
|
|
|
|
trigger('rotate', [
|
|
|
|
transition('* => *', [useAnimation(rotate, { params: { time: '1s' } })]),
|
|
|
|
]),
|
|
|
|
],
|
|
|
|
})
|
|
|
|
export class RefreshTableComponent implements OnInit {
|
|
|
|
@Input() public selection: SelectionModel<any> = new SelectionModel<any>(true, []);
|
feat(console): user memberships, generic member create dialog, fix user autocomplete emitter (#606)
* load manager mgmtservice, user service
* add org memberships
* membership component, generic member creation
* refactor member create dialog
* project autocomplete context
* create batch managers in user component
* project context wrapper
* emit on user removal, preselect user on init
* membership avatar style, service
* auth user memberships, navigate to target
* cursor fix, avatar gen
* lint
* i18n fix
* remove role translations
* membership detail page, i18n
* fix role label i18n, after view init loader
* remove projectid from grant remove
* fix iam race condition
* refresh table ts, fix no permission project search
* change membership colors
* refresh table everywhere, replace assets, routing
* fix logo header size
* lint, fix project grant removal
* timestmp for p mem, user list, grants, p list (#615)
* npm audit
* update deps, resolve vulnerability
* fix tslint config
* update lock
* load 20 changes at once
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* membership i18n
Co-authored-by: Florian Forster <florian@caos.ch>
2020-08-24 08:48:47 +02:00
|
|
|
@Input() public timestamp!: Timestamp.AsObject;
|
2020-07-20 15:23:29 +02:00
|
|
|
@Input() public dataSize: number = 0;
|
|
|
|
@Input() public emitRefreshAfterTimeoutInMs: number = 0;
|
fix(console): cleanup contributor module, move loading state to shared module, button visibility in light theme (#504)
* refreshtable component
* project grant refresh table
* project role refresh, user grant, i18n
* lint
* auth user mfa table
* auth mfa table
* rm unused 404 page, add mgmt mfa table
* change light accent color
* add actions to mfa table
* user detail mfa table
* clear selection on refresh, bind data length
* member table
* fix padding mfa table
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* z-index, new colors
* new senf color
* create stepper
* app create stepper
* i18n
* i18n sections, header titles
* lint
* add pro mode
* main contributor component
* drop project members shared module
* project detail members
* org contributors, iam contributors
* invert card and background colors in light design
* changes card design
* lighten meta background
* account card radius
* fix imports, global user email link
* move spinner to refresh-table component
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/en.json
Co-authored-by: Florian Forster <florian@caos.ch>
* light background on light design
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
* Update console/src/assets/i18n/de.json
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: Florian Forster <florian@caos.ch>
2020-07-22 13:47:31 +02:00
|
|
|
@Input() public loading: boolean = false;
|
2020-07-20 15:23:29 +02:00
|
|
|
@Output() public refreshed: EventEmitter<void> = new EventEmitter();
|
|
|
|
|
|
|
|
ngOnInit(): void {
|
|
|
|
if (this.emitRefreshAfterTimeoutInMs) {
|
|
|
|
setTimeout(() => {
|
|
|
|
this.emitRefresh();
|
|
|
|
}, this.emitRefreshAfterTimeoutInMs);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
emitRefresh(): void {
|
|
|
|
this.selection.clear();
|
|
|
|
return this.refreshed.emit();
|
|
|
|
}
|
|
|
|
}
|