File

libs/rucken/ionic/src/lib/entities/users/users-list/users-list-filters-modal/users-list-filters-modal.component.ts

Metadata

changeDetection ChangeDetectionStrategy.OnPush
selector users-list-filters-modal
templateUrl users-list-filters-modal.component.html

Inputs

class

Type: string

Default value: undefined

Constructor

constructor(_groupsService: GroupsService, _usersListFiltersModalService: UsersListFiltersModalService)

Methods

onYesClick
onYesClick(data: any)
Returns: void

Properties

groups$
groups$: Observable<Group[]>
sortFields
sortFields: SelectInput[]
sortTypes
sortTypes: SelectInput[]
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { BasePromptFormModalComponent, Group, translate } from '@rucken/core';
import { plainToClass } from 'class-transformer';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { GroupsService } from '../../../../services/groups.service';
import { UsersListFiltersModal } from './users-list-filters-modal';
import { UsersListFiltersModalService } from './users-list-filters-modal.service';
import { BindIoInner } from 'ngx-bind-io';

@BindIoInner()
@Component({
  selector: 'users-list-filters-modal',
  templateUrl: './users-list-filters-modal.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class UsersListFiltersModalComponent extends
  BasePromptFormModalComponent<UsersListFiltersModal> implements OnInit {
  @Input()
  class: string = undefined;
  groups$: Observable<Group[]>;
  sortTypes = UsersListFiltersModal.sortTypes;
  sortFields = UsersListFiltersModal.sortFields;

  constructor(
    private _groupsService: GroupsService,
    private _usersListFiltersModalService: UsersListFiltersModalService
  ) {
    super();
    this.group(UsersListFiltersModal);
    this.groups$ = this._groupsService.items$.pipe(
      map(
        items => {
          items.unshift(
            plainToClass(
              Group,
              {
                id: '',
                title: translate('None')
              }
            )
          );
          return items;
        }
      )
    );
  }
  ngOnInit() {
    this.data = this._usersListFiltersModalService.getCurrent();
    this.hideYes = true;
  }
  onYesClick(data?: any) {
    this._usersListFiltersModalService.setCurrent(
      this.data
    );
    super.onYesClick(data);
  }
}

results matching ""

    No results matching ""