@rosoftlab/material 1.0.0-alpha-19 → 1.0.1-alpha-3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"rosoftlab-material.mjs","sources":["../../../../projects/rosoftlab/material/src/lib/services/dialog.service-implementation.ts","../../../../projects/rosoftlab/material/src/lib/services/grid-layout.service.ts","../../../../projects/rosoftlab/material/src/lib/components/generic-table/generic-table.component.ts","../../../../projects/rosoftlab/material/src/lib/components/generic-table/generic-table.component.html","../../../../projects/rosoftlab/material/src/lib/components/searchable-dropdown/searchable-dropdown.component.ts","../../../../projects/rosoftlab/material/src/lib/components/searchable-dropdown/searchable-dropdown.component.html","../../../../projects/rosoftlab/material/src/lib/decorators/grid-layout.decorator.ts","../../../../projects/rosoftlab/material/src/lib/models/grid-layout.ts","../../../../projects/rosoftlab/material/src/lib/models/material-base-model.ts","../../../../projects/rosoftlab/material/src/lib/rsl-material-module.ts","../../../../projects/rosoftlab/material/src/public-api.ts","../../../../projects/rosoftlab/material/src/rosoftlab-material.ts"],"sourcesContent":["import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { DialogService } from '@rosoftlab/core';\r\n\r\nimport { from, Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\n\r\n/**\r\n * Async modal dialog service\r\n * DialogService makes this app easier to test by faking this service.\r\n * TODO: better modal implementation that doesn't use window.confirm\r\n */\r\n@Injectable()\r\nexport class DialogServiceMaterial implements DialogService {\r\n /**\r\n * Ask user to confirm an action. `message` explains the action and choices.\r\n * Returns observable resolving to `true`=confirm or `false`=cancel\r\n */\r\n constructor() { }\r\n confirm(message?: string, text?: string,\r\n confirmButtonText: string = 'Delete',\r\n cancelButtonText: string = 'Cancel'): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n title: message || 'Are you sure?',\r\n icon: 'warning',\r\n text: text || '',\r\n showCancelButton: true,\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n customClass: {\r\n confirmButton: 'btn btn-red btn-fill btn-wd',\r\n cancelButton: 'btn btn-grey btn-fill btn-wd',\r\n },\r\n buttonsStyling: false,\r\n reverseButtons: true\r\n })\r\n\r\n .then((result: any) => {\r\n if (result.value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n showSaveMessage(message?: string, title?: string): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n icon: 'success',\r\n title: message,\r\n timer: 2000,\r\n showConfirmButton: false,\r\n // customClass: 'overflow-hidden',\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n showRegisteredMessage(message?: string, title?: string): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n icon: 'success',\r\n title: message,\r\n showConfirmButton: true,\r\n customClass: {\r\n confirmButton: 'btn btn-success',\r\n },\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n\r\n showErrorMessage(e: any, message?: string): Observable<boolean> {\r\n if (!message) {\r\n message = 'Validation errors';\r\n }\r\n if (e instanceof HttpErrorResponse) {\r\n // Validation errors\r\n if (e.status === 400) {\r\n const errors = e.error.errors;\r\n if (errors) {\r\n errors.forEach(error => {\r\n message += error.field + ' ' + error.detail + '\\n';\r\n }); \r\n }\r\n }\r\n }\r\n const confirmation = Swal.fire({\r\n icon: 'error',\r\n title: message,\r\n // timer: 2000,\r\n showConfirmButton: true,\r\n customClass: {\r\n confirmButton: 'btn btn-success',\r\n },\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n } \r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '@rosoftlab/core';\r\nimport { MaterialBaseModel } from '../models';\r\nimport { GridLayoutModel } from '../models/grid-layout';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GridLayoutService<T extends MaterialBaseModel> {\r\n\r\n constructor(protected baseService: BaseService<T>) { }\r\n public getGridLayout(): GridLayoutModel[] {\r\n var model = this.baseService.newModel();\r\n return model.getGridLayout();\r\n }\r\n}\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DatePipe, DecimalPipe, PercentPipe } from '@angular/common';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, SortDirection } from '@angular/material/sort';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { BaseQueryData, BaseService, CellTextAlign, GridLayoutFormat, Rule } from '@rosoftlab/core';\r\nimport * as jsonLogic from 'json-logic-js/logic.js';\r\nimport { Observable, Subject, Subscription, fromEvent, merge, of } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { GridLayoutModel, MaterialBaseModel } from '../../models';\r\nimport { GridLayoutService } from '../../services';\r\nimport { DialogServiceMaterial } from '../../services/dialog.service-implementation';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'rsl-generic-table',\r\n templateUrl: './generic-table.component.html',\r\n styleUrls: ['./generic-table.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class GenericTableComponent<T extends MaterialBaseModel> implements OnInit, OnChanges, AfterViewInit {\r\n // displayedColumns = ['code']; //, 'name', 'cif', 'city', 'address', 'state', 'priceListName', 'delete'];\r\n @Input() modelType: new (...args: any[]) => T;\r\n @Input() baseService: BaseService<T>;\r\n @Input() gridLayoutService?: GridLayoutService<T>;\r\n @Input() editLink: string;\r\n @Input() defaultSort: string = null;\r\n @Input() defaultSortDirection: SortDirection = null;\r\n @Input() deleteDisableRule: Rule[];\r\n @Input() deletePropertyName: string = 'name';\r\n @Input() hasSearch: boolean;\r\n @Input() searchFields: string;\r\n @Input() defaultFilter: string;\r\n @Input() allowReorderItems: boolean;\r\n @Input() stickyColumns: string = null;\r\n @Input() editOnClick: boolean = false;\r\n @Input() editOnDblClick: boolean = false;\r\n @Input() allowEdit: boolean = true;\r\n @Input() popupEdit: boolean = false;\r\n @Input() customInclude: string = null;\r\n @Input() changeItemPosition: (prevItem: T, currentItem: T) => boolean;\r\n @Input() infiniteScroll: boolean = false;\r\n dataSource: MatTableDataSource<T> = new MatTableDataSource();\r\n resultsLength = 0;\r\n isLoadingResults = true;\r\n isRateLimitReached = false;\r\n\r\n filterValue: string;\r\n private filterChanged: Subject<string> = new Subject<string>();\r\n private filterChangedSubscription: Subscription\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(ElementRef, { static: false }) filter: ElementRef;\r\n @ViewChild('table') table: MatTable<any>;\r\n @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;\r\n resizeSubscription: any;\r\n\r\n selectedItem: T;\r\n gridLayout: GridLayoutModel[];\r\n @Output() selectedObject: EventEmitter<T> = new EventEmitter<T>();\r\n @Output() click: EventEmitter<{ propertyName: string, model: T }> = new EventEmitter<{ propertyName: string, model: T }>();\r\n @Output() editModel: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n displayedColumns: string[];\r\n // ruleEngineService: RuleEngineService<T>;\r\n constructor(\r\n public dialogService: DialogServiceMaterial,\r\n public router: Router,\r\n private datePipe: DatePipe,\r\n private numberPipe: DecimalPipe,\r\n private percentPipe: PercentPipe,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.baseService !== undefined || this.baseService !== null) {\r\n if (this.gridLayoutService != null) {\r\n this.gridLayout = this.gridLayoutService.getGridLayout();\r\n }\r\n else {\r\n const model = this.baseService.newModel();\r\n this.gridLayout = model.getGridLayout();\r\n }\r\n this.displayedColumns = [];\r\n if (this.allowReorderItems) {\r\n this.displayedColumns.push('position')\r\n }\r\n this.displayedColumns.push.apply(this.displayedColumns, this.gridLayout.map(x => x.propertyName));\r\n if (!this.editOnClick && !this.editOnDblClick && this.allowEdit) {\r\n this.displayedColumns.push('delete');\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.filterChangedSubscription = this.filterChanged\r\n .pipe(\r\n debounceTime(300),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(newText => {\r\n if (newText.length >= 3 || newText.length == 0) {\r\n this.filterValue = newText;\r\n\r\n this.paginator.pageIndex = 0;\r\n this.refreshForm();\r\n }\r\n });\r\n // this.getGridLayout();\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n this.paginator.pageSize = 15;\r\n if (this.defaultSort) {\r\n this.sort.active = this.defaultSort;\r\n if (this.defaultSortDirection) {\r\n this.sort.direction = this.defaultSortDirection;\r\n } else {\r\n this.sort.direction = 'asc';\r\n }\r\n }\r\n\r\n // this.dataSource.paginator = this.paginator;\r\n merge(this.sort.sortChange, this.paginator.page)\r\n .pipe(\r\n startWith({}),\r\n switchMap(() => {\r\n this.isLoadingResults = true;\r\n return this.getData();\r\n }),\r\n map(data => {\r\n // Flip flag to show that loading has finished.\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n if (data) {\r\n this.resultsLength = data.getMeta().meta.count;\r\n return data.getModels();\r\n } else {\r\n this.resultsLength = 0;\r\n return [];\r\n }\r\n }),\r\n catchError(() => {\r\n this.isLoadingResults = false;\r\n // Catch if the GitHub API has reached its rate limit. Return empty data.\r\n this.isRateLimitReached = true;\r\n return of([]);\r\n })\r\n ).subscribe(data => {\r\n // if (this.infiniteScroll) {\r\n // let oldData = this.dataSource.data ?? null;\r\n // // if (oldData.length === 0) {\r\n // // oldData = data;\r\n // // } else {\r\n // oldData=oldData.concat(data);\r\n // // }\r\n // this.dataSource.data = oldData;\r\n // }\r\n // else {\r\n this.dataSource.data = data;\r\n // }\r\n });\r\n // this.paginator.nextPage()\r\n }\r\n getData(): Observable<BaseQueryData<T>> {\r\n this.isLoadingResults = true;\r\n const pageIndex = (this.paginator.pageIndex || 0) + 1;\r\n const pageSize = this.paginator.pageSize || 20;\r\n const filters = [];\r\n\r\n let sorts = '';\r\n if (this.sort.active) {\r\n if (this.sort.direction === 'desc') {\r\n sorts = '-' + this.sort.active;\r\n } else {\r\n sorts = this.sort.active;\r\n }\r\n }\r\n if (this.hasSearch) {\r\n if (this.filterValue) {\r\n // const filtersArr = this.searchFields.split(\",\");\r\n // filtersArr.forEach(element => {\r\n // filters.push(element + '@=*' + this.filterValue);\r\n // });\r\n const y = '(' + this.searchFields.replace(',', '|') + ')';\r\n filters.push(y + '@=*' + this.filterValue);\r\n }\r\n }\r\n if (this.defaultFilter) {\r\n filters.push(this.defaultFilter);\r\n }\r\n const filtersValue = filters.join(', ');\r\n return this.baseService.getAll(pageIndex, pageSize, sorts, filtersValue, this.customInclude);\r\n }\r\n\r\n refreshForm() {\r\n this.getData().subscribe(data => {\r\n if (data) {\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n this.resultsLength = data.getMeta().meta.count;\r\n this.dataSource.data = data.getModels();\r\n } else {\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n this.resultsLength = 0;\r\n this.dataSource.data = [];\r\n }\r\n });\r\n }\r\n\r\n\r\n highlight(element: any) {\r\n if (this.selectedItem) {\r\n this.selectedItem.highlighted = element.highlighted;\r\n }\r\n this.selectedItem = null;\r\n element.highlighted = !element.highlighted;\r\n if (element.highlighted) {\r\n this.selectedItem = element;\r\n this.selectedObject.emit(element);\r\n } else {\r\n this.selectedObject.emit(null);\r\n }\r\n }\r\n deleteObject(model: T) {\r\n const msg = 'Do you want to delete ' + model[this.deletePropertyName] + '?';\r\n this.dialogService.confirm(msg).subscribe((response: boolean) => {\r\n if (response) {\r\n this.baseService.delete(model.id).subscribe(() => {\r\n const tempData = [];\r\n this.selectedObject.emit(null);\r\n this.dataSource.data.map((item) => {\r\n if (item.id !== model.id) {\r\n tempData.push(item);\r\n }\r\n });\r\n this.dataSource.data = tempData;\r\n });\r\n }\r\n });\r\n }\r\n editObject(model: T) {\r\n if (!this.popupEdit) {\r\n const id = model.id;\r\n this.router.navigate([this.editLink, id]);\r\n } else {\r\n this.editModel.emit(model);\r\n }\r\n }\r\n getFlexStyle(column: GridLayoutModel) {\r\n if (column.width) {\r\n const style = column.grow + ' ' + column.shrink + ' ' + column.width + 'px';\r\n return style;\r\n }\r\n return null;\r\n }\r\n\r\n getCellTextAlign(column: GridLayoutModel) {\r\n return column.textAlign ?? CellTextAlign.left;\r\n }\r\n\r\n showPictureCell(column: GridLayoutModel): boolean {\r\n return (column?.formating ?? GridLayoutFormat.none) === GridLayoutFormat.picture;\r\n }\r\n\r\n deleteDisabled(model: T) {\r\n if (this.deleteDisableRule) {\r\n return this.evaluateRule(this.deleteDisableRule, model);\r\n } else {\r\n return false;\r\n }\r\n }\r\n cellClick(model: T, propertyName: string) {\r\n this.click.emit({ propertyName, model });\r\n }\r\n\r\n private evaluateRule(rules: Rule[], model: T): boolean {\r\n let result = true;\r\n rules.forEach(rule => {\r\n let jsonRule: any;\r\n if (typeof rule.rule === 'string') {\r\n jsonRule = JSON.parse(rule.rule);\r\n } else {\r\n jsonRule = rule.rule;\r\n }\r\n if (rule.parameters) {\r\n const data = '{' + rule.parameters.map((item: string) => {\r\n return '\"' + item + '\":\"' + model[item] + '\"';\r\n }).join(',') + '}';\r\n result = jsonLogic.apply(jsonRule, JSON.parse(data));\r\n } else {\r\n result = jsonLogic.apply(jsonRule);\r\n }\r\n });\r\n return result;\r\n }\r\n getCelValue(row: any, propertyName: string): any {\r\n if (!row)\r\n return \"\";\r\n // if (propertyName == 'kompetenzenStdev')\r\n // console.log(propertyName);\r\n if (propertyName.indexOf('.') === -1) {\r\n var gridLayout = this.gridLayout.find(f => f.propertyName.indexOf(propertyName) > -1);\r\n return this.getFormatedValue(gridLayout, row[propertyName]);\r\n } else {\r\n const prop = propertyName.split('.')[0];\r\n const subProp = propertyName.replace(prop + '.', '');\r\n return this.getCelValue(row[prop], subProp);\r\n }\r\n }\r\n private getFormatedValue(gridLayout: GridLayoutModel, value: any) {\r\n\r\n if (gridLayout) {\r\n switch (gridLayout.formating) {\r\n case GridLayoutFormat.date:\r\n return this.datePipe.transform(value, gridLayout.format);\r\n break;\r\n case GridLayoutFormat.number:\r\n return this.numberPipe.transform(value, gridLayout.format);\r\n case GridLayoutFormat.percent:\r\n const valuePrc = value / 100;\r\n return this.percentPipe.transform(valuePrc, gridLayout.format);\r\n default:\r\n return value;\r\n break;\r\n }\r\n }\r\n return value;\r\n }\r\n applyFilter(event: Event) {\r\n }\r\n dropTable(event: CdkDragDrop<any>) {\r\n if (this.changeItemPosition) {\r\n const prevItem = this.dataSource.data[event.previousIndex];\r\n const currentItem = this.dataSource.data[event.currentIndex];\r\n\r\n if (this.changeItemPosition(prevItem, currentItem)) {\r\n const prevIndex = this.dataSource.data.findIndex((d) => d === event.item.data);\r\n moveItemInArray(this.dataSource.data, prevIndex, event.currentIndex);\r\n this.table.renderRows();\r\n }\r\n }\r\n }\r\n isColumnSticky(name: string): boolean {\r\n if (this.stickyColumns) {\r\n const filtersArr = this.stickyColumns.split(\",\");\r\n return filtersArr.findIndex(f => f == name) !== -1;\r\n }\r\n return false;\r\n }\r\n updateElement(model: T) {\r\n //Find if element exist\r\n var currentElement = this.dataSource.data.find(f => f.id === model.id);\r\n if (currentElement !== null) {\r\n const index = this.dataSource.data.indexOf(currentElement);\r\n this.dataSource.data[index] = model;\r\n } else {\r\n this.dataSource.data.push(model);\r\n }\r\n const newData = [...this.dataSource.data];\r\n this.dataSource.data = newData;\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n public ngAfterViewInit(): void {\r\n fromEvent(this.matTableRef.nativeElement, 'scroll')\r\n .pipe(debounceTime(700))\r\n .subscribe((e: any) => this.onTableScroll(e));\r\n }\r\n onTableScroll(e) {\r\n const tableViewHeight = e.target.offsetHeight // viewport: ~500px\r\n const tableScrollHeight = e.target.scrollHeight // length of all table\r\n const scrollLocation = e.target.scrollTop; // how far user scrolled\r\n\r\n // If the user has scrolled within 200px of the bottom, add more data\r\n const scrollThreshold = 200;\r\n\r\n const scrollUpLimit = scrollThreshold;\r\n if (scrollLocation < scrollUpLimit && this.paginator.pageIndex > 0) {\r\n // this.firstPage--;\r\n console.log(`onTableScroll() UP: firstPage decreased to ${this.paginator.pageIndex}. Now fetching data...`);\r\n // this.fetchData();\r\n\r\n this.scrollTo(tableScrollHeight / 2 - 2 * tableViewHeight);\r\n }\r\n\r\n const scrollDownLimit = tableScrollHeight - tableViewHeight - scrollThreshold;\r\n if (scrollLocation > scrollDownLimit && this.paginator.pageIndex < this.paginator.getNumberOfPages()) {\r\n // this.firstPage++;\r\n console.log(`onTableScroll(): firstPage increased to ${this.paginator.pageIndex}. Now fetching data...`);\r\n this.paginator.nextPage();\r\n // this.scrollTo(tableScrollHeight / 2 + tableViewHeight);\r\n }\r\n }\r\n private scrollTo(position: number): void {\r\n this.renderer.setProperty(this.matTableRef.nativeElement, 'scrollTop', position);\r\n }\r\n getCellClass(model: T, property: string) {\r\n return model.getCellClass(property);\r\n }\r\n}\r\n","<div class=\"containerX\" *ngIf=\"hasSearch\">\r\n <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayout.sm=\"column\" fxFlexFill>\r\n <mat-form-field fxFlex>\r\n <mat-label>Filter</mat-label>\r\n <input matInput [ngModel]='filterValue' (ngModelChange)='filterChanged.next($event)' #filter>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n<div class=\"table-container\">\r\n <div class=\"mat-elevation-z2\">\r\n <!-- #applicationsContainer -->\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoadingResults || isRateLimitReached\">\r\n <mat-spinner *ngIf=\"isLoadingResults\"></mat-spinner>\r\n <div class=\"example-rate-limit-reached\" *ngIf=\"isRateLimitReached\">\r\n {{'General.LoadingData' | translate}}\r\n </div>\r\n </div>\r\n\r\n\r\n <mat-table fxFlex #table [dataSource]=\"dataSource\" id=\"tempalte-forms-table\" matSort matSortDisableClear\r\n matSortDirection=\"asc\" cdkDropList [cdkDropListData]=\"dataSource\" (cdkDropListDropped)=\"dropTable($event)\">\r\n <!-- (scroll)=\"onTableScroll($event)\" -->\r\n\r\n\r\n <ng-container matColumnDef=\"position\">\r\n <mat-header-cell *matHeaderCellDef disableClear=\"true\">\r\n <!-- {{'General.Order' | translate}} -->\r\n </mat-header-cell>\r\n <mat-cell fxFlex *matCellDef=\"let element;\">\r\n <mat-icon cdkDragHandle>reorder</mat-icon>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngFor=\"let column of gridLayout\" [matColumnDef]=\"column.propertyName\"\r\n [sticky]=\"isColumnSticky(column.propertyName)\">\r\n <mat-header-cell mat-sort-header disableClear [style.flex]=\"getFlexStyle(column)\" *matHeaderCellDef>\r\n {{column.translateKey | translate}}\r\n </mat-header-cell>\r\n <mat-cell matTooltip={{getCelValue(row,column.propertyName)}} [style.flex]=\"getFlexStyle(column)\"\r\n [style.text-align]=\"getCellTextAlign(column)\" *matCellDef=\"let row\" (click)=\"cellClick(row,column.propertyName)\">\r\n <div [ngClass]=\"getCellClass(row,column.propertyName)\" *ngIf=\"!showPictureCell(column)\">\r\n {{getCelValue(row,column.propertyName)}}\r\n </div>\r\n <img [ngClass]=\"getCellClass(row,column.propertyName)\" *ngIf=\"showPictureCell(column)\">\r\n </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"delete\" stickyEnd *ngIf=\"!editOnClick && !editOnDblClick\">\r\n <mat-header-cell *matHeaderCellDef disableClear=\"true\">\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\">\r\n <button class=\"btn btn-green btn-fill btn-wd btn-just-icon\" (click)=\"editObject(row)\"\r\n matTooltip=\"{{'General.Edit' | translate}}\">\r\n <!-- <mat-icon>edit</mat-icon> -->\r\n <i class=\"material-icons\">edit</i>\r\n <div class=\"ripple-container\"></div>\r\n </button>\r\n <button class=\"btn btn-red btn-fill btn-wd btn-just-icon\" (click)=\"deleteObject(row)\"\r\n [disabled]=\"deleteDisabled(row)\" matTooltip=\"{{'General.Delete' | translate}}\">\r\n <i class=\"material-icons\">delete</i>\r\n <div class=\"ripple-container\"></div>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns;sticky: true\"></mat-header-row>\r\n\r\n <ng-container *ngIf=\"!editOnClick && !editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (click)=\"highlight(row)\"\r\n (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\">\r\n </mat-row>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"editOnClick && !editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (click)=\"editObject(row)\"\r\n (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\" style=\"cursor: pointer;\"></mat-row>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!editOnClick && editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (dblclick)=\"editObject(row)\"\r\n (click)=\"highlight(row)\" (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\"\r\n style=\"cursor: pointer;\"></mat-row>\r\n </ng-container>\r\n\r\n <!-- [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\"\r\n (click)=\"highlight(row)\" (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\" -->\r\n </mat-table>\r\n <mat-paginator #paginator [hidden]=\"infiniteScroll\" [length]=\"resultsLength\" [pageSize]=\"15\"\r\n [pageSizeOptions]=\"[15, 30, 100]\" [showFirstLastButtons]=\"true\">\r\n </mat-paginator>\r\n </div>\r\n</div>","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Optional, Output, Self } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NgControl, UntypedFormControl } from '@angular/forms';\r\nimport { BaseModel, BaseQueryData, BaseService } from '@rosoftlab/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, filter, finalize, switchMap, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'rsl-searchable-dropdown',\r\n templateUrl: './searchable-dropdown.component.html',\r\n host: {\r\n '[class.example-floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n '[attr.aria-describedby]': 'describedBy',\r\n }\r\n})\r\nexport class SearchableDropdownComponent<T extends BaseModel> implements OnInit, OnDestroy, ControlValueAccessor {\r\n static nextId = 0;\r\n onChange = (_: any) => { };\r\n onTouched = () => { };\r\n stateChanges = new Subject<void>();\r\n focused = false;\r\n errorState = false;\r\n id = `rsl-searchable-dropdown-${SearchableDropdownComponent.nextId++}`;\r\n\r\n // label for the search dropdown\r\n @Input() label: string = '';\r\n\r\n //Name of the form control\r\n @Input() fControlName: string;\r\n\r\n //Reference of the service\r\n @Input() serviceRef: BaseService<T>;\r\n\r\n //Fields for filtering\r\n @Input() searchFields: string;\r\n\r\n //Fields for display \r\n @Input() displayFields: string;\r\n\r\n //Fields for sorting the API data\r\n @Input() sortFields: string = '';\r\n\r\n // The value used to populate the control value\r\n @Input() valueField: string = 'id';\r\n\r\n // The minumum char for search\r\n @Input() minLengthTerm: number = 3;\r\n\r\n // The preload x elements\r\n @Input() preloadElementsCount: number;\r\n\r\n @Output() modelSelected: EventEmitter<BaseModel> = new EventEmitter();\r\n\r\n\r\n get empty() {\r\n return !this.value;\r\n }\r\n\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n\r\n\r\n @Input()\r\n get value(): any | null {\r\n return this._value;\r\n }\r\n set value(value: any | null) {\r\n if (value)\r\n if (this._value !== value) {\r\n this.loadModel(value);\r\n }\r\n this._value = value;\r\n this.stateChanges.next();\r\n }\r\n private _value: any;\r\n // Search form control\r\n searchControl: AbstractControl;\r\n\r\n showSerach = true;\r\n isLoading = false;\r\n options = [];\r\n filteredOptions = [];\r\n /** Subject that emits when the component has been destroyed. */\r\n protected _onDestroy = new Subject<void>();\r\n\r\n constructor(\r\n private _focusMonitor: FocusMonitor,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n @Optional() @Self() public ngControl: NgControl\r\n ) {\r\n\r\n this.searchControl = new UntypedFormControl('');\r\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\r\n if (this.focused && !origin) {\r\n this.onTouched();\r\n }\r\n this.focused = !!origin;\r\n this.stateChanges.next();\r\n });\r\n\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (!this.displayFields)\r\n this.displayFields = this.searchFields;\r\n\r\n this.loadModel(this.ngControl.value)\r\n\r\n if (this.preloadElementsCount) {\r\n this.serviceRef.getAll(1, this.preloadElementsCount).subscribe({\r\n next: (data: BaseQueryData<T>) => {\r\n this.showSerach = false;\r\n this.options = data.getModels();\r\n this.filteredOptions = this.options;\r\n }\r\n })\r\n }\r\n\r\n this.searchControl.valueChanges\r\n .pipe(\r\n filter((res) => {\r\n const result = res !== null && res.length >= this.minLengthTerm;\r\n if (!result) {\r\n this.options = [];\r\n this.filteredOptions = [];\r\n }\r\n this.showSerach = !result;\r\n return result;\r\n }),\r\n debounceTime(300),\r\n tap(() => {\r\n this.filteredOptions = [];\r\n this.isLoading = true;\r\n }),\r\n switchMap((value: string) =>\r\n this.serviceRef\r\n .getAll(1, 10, this.sortFields, `${this.searchFields.replace(',', '|')}@=*${value}`)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoading = false;\r\n })\r\n )\r\n ),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe((options: any) => {\r\n this.filteredOptions = options.getModels();\r\n });\r\n }\r\n\r\n onSelected($event) {\r\n const value = $event.option.value;\r\n this.searchControl.setValue(value);\r\n this.modelSelected.emit(value);\r\n if (this.valueField in value) {\r\n this.setControlValue(value[this.valueField]);\r\n }\r\n\r\n }\r\n setControlValue(value: any) {\r\n this.value = value;\r\n this.ngControl.control.setValue(value);\r\n }\r\n displayWith(value: any) {\r\n return this.getConcatedFields(value);\r\n }\r\n\r\n clearSelection() {\r\n this.modelSelected.emit(null);\r\n this.setControlValue(null);\r\n this.searchControl.setValue(null);\r\n this.filteredOptions = this.options;\r\n }\r\n\r\n getConcatedFields(option): string {\r\n if (!option) return null;\r\n const filtersArr = this.displayFields.split(',');\r\n return filtersArr.reduce((acc, cv) => {\r\n return acc.concat(option[cv] + ' ');\r\n }, '');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.searchControl = null;\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n getSearchText(): string {\r\n return `Enter ${this.minLengthTerm} characters to start search`;\r\n\r\n }\r\n writeValue(model: T | null): void {\r\n console.log(model);\r\n this.value = model;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n private loadModel(id: string) {\r\n //Load the model from API to display the value\r\n let needLoad = false;\r\n if (id) {\r\n if (!this.searchControl.value)\r\n needLoad = true\r\n else {\r\n if (this.searchControl.value[this.valueField] !== id) {\r\n needLoad = true\r\n }\r\n }\r\n }\r\n if (needLoad) {\r\n this.serviceRef.get(id).subscribe({\r\n next: (model: T) => {\r\n this.options.push(model);\r\n this.filteredOptions = this.options;\r\n this.searchControl.setValue(model);\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","<div class=\"form-group\">\r\n <label>{{label | translate}}</label>\r\n <mat-form-field appearance=\"outline\" fxFlex>\r\n <input matInput [matAutocomplete]=\"auto\" [formControl]=\"searchControl\">\r\n <button *ngIf=\"searchControl.value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSelection()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\"\r\n [displayWith]=\"displayWith.bind(this)\">\r\n <mat-option *ngIf=\"isLoading\">Loading...</mat-option>\r\n <mat-option *ngIf=\"!isLoading && filteredOptions.length == 0 && !showSerach\" disabled>Not found</mat-option>\r\n <mat-option *ngIf=\"showSerach\" disabled>{{getSearchText()}}</mat-option>\r\n <ng-container *ngIf=\"!isLoading && filteredOptions.length > 0\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n <span><b>{{getConcatedFields(option)}}</b></span>\r\n </mat-option>\r\n </ng-container>\r\n\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n</div>","import { CellTextAlign, GridLayoutFormat } from '@rosoftlab/core';\r\nexport function GridLayout(translateKey: string, width?: number | null,\r\n grow: 0 | 1 = 0, shrink: 0 | 1 = 0, subProperty?: string | null,\r\n formating: GridLayoutFormat = GridLayoutFormat.none,\r\n format: string = '', order: number = 0, textAlign: CellTextAlign = CellTextAlign.left) {\r\n return (target: any, propertyName: string | symbol) => {\r\n const annotations = Reflect.getMetadata('GridLayout', target) || [];\r\n let propName = propertyName\r\n if (subProperty) {\r\n propName = propertyName.toString() + '.' + subProperty;\r\n }\r\n annotations.push({\r\n propertyName: propName,\r\n translateKey,\r\n width,\r\n grow,\r\n shrink,\r\n formating,\r\n format,\r\n order,\r\n textAlign\r\n });\r\n\r\n Reflect.defineMetadata('GridLayout', annotations, target);\r\n };\r\n}\r\n","import { CellTextAlign, GridLayoutFormat } from '@rosoftlab/core';\r\nexport class GridLayoutModel {\r\n constructor(\r\n propertyName: string, translateKey: any = null, width: any = null, grow: 0 | 1 = 0, shrink: 0 | 1 = 0,\r\n formating: GridLayoutFormat = GridLayoutFormat.none, format = '', order = 0,\r\n textAlign: CellTextAlign = CellTextAlign.left) {\r\n this.propertyName = propertyName;\r\n this.translateKey = translateKey;\r\n this.width = width;\r\n this.grow = grow;\r\n this.shrink = shrink;\r\n this.formating = formating;\r\n this.format = format;\r\n this.order = order;\r\n this.textAlign = textAlign;\r\n }\r\n public propertyName: string;\r\n public translateKey: string;\r\n public width: number;\r\n public grow: 0 | 1;\r\n public shrink: 0 | 1;\r\n public formating: GridLayoutFormat = GridLayoutFormat.none;\r\n public format: string;\r\n public order: number = 0;\r\n public textAlign: CellTextAlign = CellTextAlign.left;\r\n}\r\n","import { BaseModel } from '@rosoftlab/core';\r\nimport { GridLayoutModel } from './grid-layout';\r\nexport class MaterialBaseModel extends BaseModel {\r\n\r\n public getGridLayout(): GridLayoutModel[] {\r\n const result = Array<GridLayoutModel>();\r\n const gridLayout: any = Reflect.getMetadata('GridLayout', this);\r\n if (gridLayout) {\r\n for (const layout of gridLayout) {\r\n const data = new GridLayoutModel(layout.propertyName, layout.translateKey,\r\n layout.width, layout.shrink, layout.grow,\r\n layout.formating, layout.format, layout.order, layout.textAlign);\r\n result.push(data);\r\n }\r\n }\r\n return result.sort(function (a, b) { return a.order - b.order; })\r\n //result;\r\n }\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GenericTableComponent, SearchableDropdownComponent } from './components';\r\n\r\nconst COMMON_MODULES = [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCardModule, MatCheckboxModule, MatChipsModule, MatDatepickerModule,\r\n MatDialogModule, MatExpansionModule, MatGridListModule, MatIconModule,\r\n MatInputModule, MatListModule, MatMenuModule, MatNativeDateModule,\r\n MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatRadioModule, MatRippleModule, MatSelectModule, MatSidenavModule,\r\n MatSliderModule, MatSlideToggleModule, MatSnackBarModule, MatSortModule, MatTableModule, MatTabsModule, MatToolbarModule,\r\n MatTooltipModule, MatOptionModule, DragDropModule, MatDividerModule, PortalModule, MatTreeModule, MatBadgeModule, MatStepperModule,\r\n CdkStepperModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n GenericTableComponent,\r\n SearchableDropdownComponent,\r\n ],\r\n imports: [\r\n ...COMMON_MODULES,\r\n TranslateModule\r\n ],\r\n exports: [\r\n ...COMMON_MODULES,\r\n GenericTableComponent,\r\n SearchableDropdownComponent,\r\n TranslateModule],\r\n})\r\nexport class RSLMaterialModule {\r\n}\r\n","/*\r\n * Public API Surface of core\r\n */\r\n\r\nexport * from './lib/core';\r\nexport * from './lib/services/dialog.service-implementation';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DialogServiceMaterial","i4","i1","i2","i5","i6","i7","i8","i9","i10"],"mappings":"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"}
1
+ {"version":3,"file":"rosoftlab-material.mjs","sources":["../../../../projects/rosoftlab/material/src/lib/services/dialog.service-implementation.ts","../../../../projects/rosoftlab/material/src/lib/services/grid-layout.service.ts","../../../../projects/rosoftlab/material/src/lib/components/generic-table/generic-table.component.ts","../../../../projects/rosoftlab/material/src/lib/components/generic-table/generic-table.component.html","../../../../projects/rosoftlab/material/src/lib/components/searchable-dropdown/searchable-dropdown.component.ts","../../../../projects/rosoftlab/material/src/lib/components/searchable-dropdown/searchable-dropdown.component.html","../../../../projects/rosoftlab/material/src/lib/decorators/grid-layout.decorator.ts","../../../../projects/rosoftlab/material/src/lib/models/grid-layout.ts","../../../../projects/rosoftlab/material/src/lib/models/material-base-model.ts","../../../../projects/rosoftlab/material/src/lib/rsl-material-module.ts","../../../../projects/rosoftlab/material/src/public-api.ts","../../../../projects/rosoftlab/material/src/rosoftlab-material.ts"],"sourcesContent":["import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { DialogService } from '@rosoftlab/core';\r\n\r\nimport { from, Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\n\r\n/**\r\n * Async modal dialog service\r\n * DialogService makes this app easier to test by faking this service.\r\n * TODO: better modal implementation that doesn't use window.confirm\r\n */\r\n@Injectable()\r\nexport class DialogServiceMaterial implements DialogService {\r\n /**\r\n * Ask user to confirm an action. `message` explains the action and choices.\r\n * Returns observable resolving to `true`=confirm or `false`=cancel\r\n */\r\n constructor() { }\r\n confirm(message?: string, text?: string,\r\n confirmButtonText: string = 'Delete',\r\n cancelButtonText: string = 'Cancel'): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n title: message || 'Are you sure?',\r\n icon: 'warning',\r\n text: text || '',\r\n showCancelButton: true,\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n customClass: {\r\n confirmButton: 'btn btn-red btn-fill btn-wd',\r\n cancelButton: 'btn btn-grey btn-fill btn-wd',\r\n },\r\n buttonsStyling: false,\r\n reverseButtons: true\r\n })\r\n\r\n .then((result: any) => {\r\n if (result.value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n showSaveMessage(message?: string, title?: string): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n icon: 'success',\r\n title: message,\r\n timer: 2000,\r\n showConfirmButton: false,\r\n // customClass: 'overflow-hidden',\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n showRegisteredMessage(message?: string, title?: string): Observable<boolean> {\r\n const confirmation = Swal.fire({\r\n icon: 'success',\r\n title: message,\r\n showConfirmButton: true,\r\n customClass: {\r\n confirmButton: 'btn btn-success',\r\n },\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n }\r\n\r\n showErrorMessage(e: any, message?: string): Observable<boolean> {\r\n if (!message) {\r\n message = 'Validation errors';\r\n }\r\n if (e instanceof HttpErrorResponse) {\r\n // Validation errors\r\n if (e.status === 400) {\r\n const errors = e.error.errors;\r\n if (errors) {\r\n errors.forEach(error => {\r\n message += error.field + ' ' + error.detail + '\\n';\r\n }); \r\n }\r\n }\r\n }\r\n const confirmation = Swal.fire({\r\n icon: 'error',\r\n title: message,\r\n // timer: 2000,\r\n showConfirmButton: true,\r\n customClass: {\r\n confirmButton: 'btn btn-success',\r\n },\r\n buttonsStyling: false\r\n }).then(() => {\r\n return true;\r\n }, () => {\r\n return false;\r\n }).catch();\r\n return from(confirmation);\r\n } \r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '@rosoftlab/core';\r\nimport { MaterialBaseModel } from '../models';\r\nimport { GridLayoutModel } from '../models/grid-layout';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GridLayoutService<T extends MaterialBaseModel> {\r\n\r\n constructor(protected baseService: BaseService<T>) { }\r\n public getGridLayout(): GridLayoutModel[] {\r\n var model = this.baseService.newModel();\r\n return model.getGridLayout();\r\n }\r\n}\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DatePipe, DecimalPipe, PercentPipe } from '@angular/common';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, SortDirection } from '@angular/material/sort';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { BaseQueryData, BaseService, CellTextAlign, GridLayoutFormat, Rule } from '@rosoftlab/core';\r\nimport * as jsonLogic from 'json-logic-js/logic.js';\r\nimport { Observable, Subject, Subscription, fromEvent, merge, of } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { GridLayoutModel, MaterialBaseModel } from '../../models';\r\nimport { GridLayoutService } from '../../services';\r\nimport { DialogServiceMaterial } from '../../services/dialog.service-implementation';\r\ndeclare var $: any;\r\n\r\n@Component({\n selector: 'rsl-generic-table',\n templateUrl: './generic-table.component.html',\n styleUrls: ['./generic-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\r\nexport class GenericTableComponent<T extends MaterialBaseModel> implements OnInit, OnChanges, AfterViewInit {\r\n // displayedColumns = ['code']; //, 'name', 'cif', 'city', 'address', 'state', 'priceListName', 'delete'];\r\n @Input() modelType: new (...args: any[]) => T;\r\n @Input() baseService: BaseService<T>;\r\n @Input() gridLayoutService?: GridLayoutService<T>;\r\n @Input() editLink: string;\r\n @Input() defaultSort: string = null;\r\n @Input() defaultSortDirection: SortDirection = null;\r\n @Input() deleteDisableRule: Rule[];\r\n @Input() deletePropertyName: string = 'name';\r\n @Input() hasSearch: boolean;\r\n @Input() searchFields: string;\r\n @Input() defaultFilter: string;\r\n @Input() allowReorderItems: boolean;\r\n @Input() stickyColumns: string = null;\r\n @Input() editOnClick: boolean = false;\r\n @Input() editOnDblClick: boolean = false;\r\n @Input() allowEdit: boolean = true;\r\n @Input() popupEdit: boolean = false;\r\n @Input() customInclude: string = null;\r\n @Input() changeItemPosition: (prevItem: T, currentItem: T) => boolean;\r\n @Input() infiniteScroll: boolean = false;\r\n dataSource: MatTableDataSource<T> = new MatTableDataSource();\r\n resultsLength = 0;\r\n isLoadingResults = true;\r\n isRateLimitReached = false;\r\n\r\n filterValue: string;\r\n private filterChanged: Subject<string> = new Subject<string>();\r\n private filterChangedSubscription: Subscription\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(ElementRef, { static: false }) filter: ElementRef;\r\n @ViewChild('table') table: MatTable<any>;\r\n @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;\r\n resizeSubscription: any;\r\n\r\n selectedItem: T;\r\n gridLayout: GridLayoutModel[];\r\n @Output() selectedObject: EventEmitter<T> = new EventEmitter<T>();\r\n @Output() click: EventEmitter<{ propertyName: string, model: T }> = new EventEmitter<{ propertyName: string, model: T }>();\r\n @Output() editModel: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n displayedColumns: string[];\r\n // ruleEngineService: RuleEngineService<T>;\r\n constructor(\r\n public dialogService: DialogServiceMaterial,\r\n public router: Router,\r\n private datePipe: DatePipe,\r\n private numberPipe: DecimalPipe,\r\n private percentPipe: PercentPipe,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.baseService !== undefined || this.baseService !== null) {\r\n if (this.gridLayoutService != null) {\r\n this.gridLayout = this.gridLayoutService.getGridLayout();\r\n }\r\n else {\r\n const model = this.baseService.newModel();\r\n this.gridLayout = model.getGridLayout();\r\n }\r\n this.displayedColumns = [];\r\n if (this.allowReorderItems) {\r\n this.displayedColumns.push('position')\r\n }\r\n this.displayedColumns.push.apply(this.displayedColumns, this.gridLayout.map(x => x.propertyName));\r\n if (!this.editOnClick && !this.editOnDblClick && this.allowEdit) {\r\n this.displayedColumns.push('delete');\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.filterChangedSubscription = this.filterChanged\r\n .pipe(\r\n debounceTime(300),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(newText => {\r\n if (newText.length >= 3 || newText.length == 0) {\r\n this.filterValue = newText;\r\n\r\n this.paginator.pageIndex = 0;\r\n this.refreshForm();\r\n }\r\n });\r\n // this.getGridLayout();\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n this.paginator.pageSize = 15;\r\n if (this.defaultSort) {\r\n this.sort.active = this.defaultSort;\r\n if (this.defaultSortDirection) {\r\n this.sort.direction = this.defaultSortDirection;\r\n } else {\r\n this.sort.direction = 'asc';\r\n }\r\n }\r\n\r\n // this.dataSource.paginator = this.paginator;\r\n merge(this.sort.sortChange, this.paginator.page)\r\n .pipe(\r\n startWith({}),\r\n switchMap(() => {\r\n this.isLoadingResults = true;\r\n return this.getData();\r\n }),\r\n map(data => {\r\n // Flip flag to show that loading has finished.\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n if (data) {\r\n this.resultsLength = data.getMeta().meta.count;\r\n return data.getModels();\r\n } else {\r\n this.resultsLength = 0;\r\n return [];\r\n }\r\n }),\r\n catchError(() => {\r\n this.isLoadingResults = false;\r\n // Catch if the GitHub API has reached its rate limit. Return empty data.\r\n this.isRateLimitReached = true;\r\n return of([]);\r\n })\r\n ).subscribe(data => {\r\n // if (this.infiniteScroll) {\r\n // let oldData = this.dataSource.data ?? null;\r\n // // if (oldData.length === 0) {\r\n // // oldData = data;\r\n // // } else {\r\n // oldData=oldData.concat(data);\r\n // // }\r\n // this.dataSource.data = oldData;\r\n // }\r\n // else {\r\n this.dataSource.data = data;\r\n // }\r\n });\r\n // this.paginator.nextPage()\r\n }\r\n getData(): Observable<BaseQueryData<T>> {\r\n this.isLoadingResults = true;\r\n const pageIndex = (this.paginator.pageIndex || 0) + 1;\r\n const pageSize = this.paginator.pageSize || 20;\r\n const filters = [];\r\n\r\n let sorts = '';\r\n if (this.sort.active) {\r\n if (this.sort.direction === 'desc') {\r\n sorts = '-' + this.sort.active;\r\n } else {\r\n sorts = this.sort.active;\r\n }\r\n }\r\n if (this.hasSearch) {\r\n if (this.filterValue) {\r\n // const filtersArr = this.searchFields.split(\",\");\r\n // filtersArr.forEach(element => {\r\n // filters.push(element + '@=*' + this.filterValue);\r\n // });\r\n const y = '(' + this.searchFields.replace(',', '|') + ')';\r\n filters.push(y + '@=*' + this.filterValue);\r\n }\r\n }\r\n if (this.defaultFilter) {\r\n filters.push(this.defaultFilter);\r\n }\r\n const filtersValue = filters.join(', ');\r\n return this.baseService.getAll(pageIndex, pageSize, sorts, filtersValue, this.customInclude);\r\n }\r\n\r\n refreshForm() {\r\n this.getData().subscribe(data => {\r\n if (data) {\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n this.resultsLength = data.getMeta().meta.count;\r\n this.dataSource.data = data.getModels();\r\n } else {\r\n this.isLoadingResults = false;\r\n this.isRateLimitReached = false;\r\n this.resultsLength = 0;\r\n this.dataSource.data = [];\r\n }\r\n });\r\n }\r\n\r\n\r\n highlight(element: any) {\r\n if (this.selectedItem) {\r\n this.selectedItem.highlighted = element.highlighted;\r\n }\r\n this.selectedItem = null;\r\n element.highlighted = !element.highlighted;\r\n if (element.highlighted) {\r\n this.selectedItem = element;\r\n this.selectedObject.emit(element);\r\n } else {\r\n this.selectedObject.emit(null);\r\n }\r\n }\r\n deleteObject(model: T) {\r\n const msg = 'Do you want to delete ' + model[this.deletePropertyName] + '?';\r\n this.dialogService.confirm(msg).subscribe((response: boolean) => {\r\n if (response) {\r\n this.baseService.delete(model.id).subscribe(() => {\r\n const tempData = [];\r\n this.selectedObject.emit(null);\r\n this.dataSource.data.map((item) => {\r\n if (item.id !== model.id) {\r\n tempData.push(item);\r\n }\r\n });\r\n this.dataSource.data = tempData;\r\n });\r\n }\r\n });\r\n }\r\n editObject(model: T) {\r\n if (!this.popupEdit) {\r\n const id = model.id;\r\n this.router.navigate([this.editLink, id]);\r\n } else {\r\n this.editModel.emit(model);\r\n }\r\n }\r\n getFlexStyle(column: GridLayoutModel) {\r\n if (column.width) {\r\n const style = column.grow + ' ' + column.shrink + ' ' + column.width + 'px';\r\n return style;\r\n }\r\n return null;\r\n }\r\n\r\n getCellTextAlign(column: GridLayoutModel) {\r\n return column.textAlign ?? CellTextAlign.left;\r\n }\r\n\r\n showPictureCell(column: GridLayoutModel): boolean {\r\n return (column?.formating ?? GridLayoutFormat.none) === GridLayoutFormat.picture;\r\n }\r\n\r\n deleteDisabled(model: T) {\r\n if (this.deleteDisableRule) {\r\n return this.evaluateRule(this.deleteDisableRule, model);\r\n } else {\r\n return false;\r\n }\r\n }\r\n cellClick(model: T, propertyName: string) {\r\n this.click.emit({ propertyName, model });\r\n }\r\n\r\n private evaluateRule(rules: Rule[], model: T): boolean {\r\n let result = true;\r\n rules.forEach(rule => {\r\n let jsonRule: any;\r\n if (typeof rule.rule === 'string') {\r\n jsonRule = JSON.parse(rule.rule);\r\n } else {\r\n jsonRule = rule.rule;\r\n }\r\n if (rule.parameters) {\r\n const data = '{' + rule.parameters.map((item: string) => {\r\n return '\"' + item + '\":\"' + model[item] + '\"';\r\n }).join(',') + '}';\r\n result = jsonLogic.apply(jsonRule, JSON.parse(data));\r\n } else {\r\n result = jsonLogic.apply(jsonRule);\r\n }\r\n });\r\n return result;\r\n }\r\n getCelValue(row: any, propertyName: string): any {\r\n if (!row)\r\n return \"\";\r\n // if (propertyName == 'kompetenzenStdev')\r\n // console.log(propertyName);\r\n if (propertyName.indexOf('.') === -1) {\r\n var gridLayout = this.gridLayout.find(f => f.propertyName.indexOf(propertyName) > -1);\r\n return this.getFormatedValue(gridLayout, row[propertyName]);\r\n } else {\r\n const prop = propertyName.split('.')[0];\r\n const subProp = propertyName.replace(prop + '.', '');\r\n return this.getCelValue(row[prop], subProp);\r\n }\r\n }\r\n private getFormatedValue(gridLayout: GridLayoutModel, value: any) {\r\n\r\n if (gridLayout) {\r\n switch (gridLayout.formating) {\r\n case GridLayoutFormat.date:\r\n return this.datePipe.transform(value, gridLayout.format);\r\n break;\r\n case GridLayoutFormat.number:\r\n return this.numberPipe.transform(value, gridLayout.format);\r\n case GridLayoutFormat.percent:\r\n const valuePrc = value / 100;\r\n return this.percentPipe.transform(valuePrc, gridLayout.format);\r\n default:\r\n return value;\r\n break;\r\n }\r\n }\r\n return value;\r\n }\r\n applyFilter(event: Event) {\r\n }\r\n dropTable(event: CdkDragDrop<any>) {\r\n if (this.changeItemPosition) {\r\n const prevItem = this.dataSource.data[event.previousIndex];\r\n const currentItem = this.dataSource.data[event.currentIndex];\r\n\r\n if (this.changeItemPosition(prevItem, currentItem)) {\r\n const prevIndex = this.dataSource.data.findIndex((d) => d === event.item.data);\r\n moveItemInArray(this.dataSource.data, prevIndex, event.currentIndex);\r\n this.table.renderRows();\r\n }\r\n }\r\n }\r\n isColumnSticky(name: string): boolean {\r\n if (this.stickyColumns) {\r\n const filtersArr = this.stickyColumns.split(\",\");\r\n return filtersArr.findIndex(f => f == name) !== -1;\r\n }\r\n return false;\r\n }\r\n updateElement(model: T) {\r\n //Find if element exist\r\n var currentElement = this.dataSource.data.find(f => f.id === model.id);\r\n if (currentElement !== null) {\r\n const index = this.dataSource.data.indexOf(currentElement);\r\n this.dataSource.data[index] = model;\r\n } else {\r\n this.dataSource.data.push(model);\r\n }\r\n const newData = [...this.dataSource.data];\r\n this.dataSource.data = newData;\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n public ngAfterViewInit(): void {\r\n fromEvent(this.matTableRef.nativeElement, 'scroll')\r\n .pipe(debounceTime(700))\r\n .subscribe((e: any) => this.onTableScroll(e));\r\n }\r\n onTableScroll(e) {\r\n const tableViewHeight = e.target.offsetHeight // viewport: ~500px\r\n const tableScrollHeight = e.target.scrollHeight // length of all table\r\n const scrollLocation = e.target.scrollTop; // how far user scrolled\r\n\r\n // If the user has scrolled within 200px of the bottom, add more data\r\n const scrollThreshold = 200;\r\n\r\n const scrollUpLimit = scrollThreshold;\r\n if (scrollLocation < scrollUpLimit && this.paginator.pageIndex > 0) {\r\n // this.firstPage--;\r\n console.log(`onTableScroll() UP: firstPage decreased to ${this.paginator.pageIndex}. Now fetching data...`);\r\n // this.fetchData();\r\n\r\n this.scrollTo(tableScrollHeight / 2 - 2 * tableViewHeight);\r\n }\r\n\r\n const scrollDownLimit = tableScrollHeight - tableViewHeight - scrollThreshold;\r\n if (scrollLocation > scrollDownLimit && this.paginator.pageIndex < this.paginator.getNumberOfPages()) {\r\n // this.firstPage++;\r\n console.log(`onTableScroll(): firstPage increased to ${this.paginator.pageIndex}. Now fetching data...`);\r\n this.paginator.nextPage();\r\n // this.scrollTo(tableScrollHeight / 2 + tableViewHeight);\r\n }\r\n }\r\n private scrollTo(position: number): void {\r\n this.renderer.setProperty(this.matTableRef.nativeElement, 'scrollTop', position);\r\n }\r\n getCellClass(model: T, property: string) {\r\n return model.getCellClass(property);\r\n }\r\n}\r\n","<div class=\"containerX\" *ngIf=\"hasSearch\">\r\n <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayout.sm=\"column\" fxFlexFill>\r\n <mat-form-field fxFlex>\r\n <mat-label>Filter</mat-label>\r\n <input matInput [ngModel]='filterValue' (ngModelChange)='filterChanged.next($event)' #filter>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n<div class=\"table-container\">\r\n <div class=\"mat-elevation-z2\">\r\n <!-- #applicationsContainer -->\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoadingResults || isRateLimitReached\">\r\n <mat-spinner *ngIf=\"isLoadingResults\"></mat-spinner>\r\n <div class=\"example-rate-limit-reached\" *ngIf=\"isRateLimitReached\">\r\n {{'General.LoadingData' | translate}}\r\n </div>\r\n </div>\r\n\r\n\r\n <mat-table fxFlex #table [dataSource]=\"dataSource\" id=\"tempalte-forms-table\" matSort matSortDisableClear\r\n matSortDirection=\"asc\" cdkDropList [cdkDropListData]=\"dataSource\" (cdkDropListDropped)=\"dropTable($event)\">\r\n <!-- (scroll)=\"onTableScroll($event)\" -->\r\n\r\n\r\n <ng-container matColumnDef=\"position\">\r\n <mat-header-cell *matHeaderCellDef disableClear=\"true\">\r\n <!-- {{'General.Order' | translate}} -->\r\n </mat-header-cell>\r\n <mat-cell fxFlex *matCellDef=\"let element;\">\r\n <mat-icon cdkDragHandle>reorder</mat-icon>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngFor=\"let column of gridLayout\" [matColumnDef]=\"column.propertyName\"\r\n [sticky]=\"isColumnSticky(column.propertyName)\">\r\n <mat-header-cell mat-sort-header disableClear [style.flex]=\"getFlexStyle(column)\" *matHeaderCellDef>\r\n {{column.translateKey | translate}}\r\n </mat-header-cell>\r\n <mat-cell matTooltip={{getCelValue(row,column.propertyName)}} [style.flex]=\"getFlexStyle(column)\"\r\n [style.text-align]=\"getCellTextAlign(column)\" *matCellDef=\"let row\" (click)=\"cellClick(row,column.propertyName)\">\r\n <div [ngClass]=\"getCellClass(row,column.propertyName)\" *ngIf=\"!showPictureCell(column)\">\r\n {{getCelValue(row,column.propertyName)}}\r\n </div>\r\n <img [ngClass]=\"getCellClass(row,column.propertyName)\" *ngIf=\"showPictureCell(column)\">\r\n </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"delete\" stickyEnd *ngIf=\"!editOnClick && !editOnDblClick\">\r\n <mat-header-cell *matHeaderCellDef disableClear=\"true\">\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\">\r\n <button class=\"btn btn-green btn-fill btn-wd btn-just-icon\" (click)=\"editObject(row)\"\r\n matTooltip=\"{{'General.Edit' | translate}}\">\r\n <!-- <mat-icon>edit</mat-icon> -->\r\n <i class=\"material-icons\">edit</i>\r\n <div class=\"ripple-container\"></div>\r\n </button>\r\n <button class=\"btn btn-red btn-fill btn-wd btn-just-icon\" (click)=\"deleteObject(row)\"\r\n [disabled]=\"deleteDisabled(row)\" matTooltip=\"{{'General.Delete' | translate}}\">\r\n <i class=\"material-icons\">delete</i>\r\n <div class=\"ripple-container\"></div>\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns;sticky: true\"></mat-header-row>\r\n\r\n <ng-container *ngIf=\"!editOnClick && !editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (click)=\"highlight(row)\"\r\n (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\">\r\n </mat-row>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"editOnClick && !editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (click)=\"editObject(row)\"\r\n (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\" style=\"cursor: pointer;\"></mat-row>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!editOnClick && editOnDblClick\">\r\n <mat-row *matRowDef=\"let row;let index = dataIndex; columns: displayedColumns;\" cdkDrag [cdkDragData]=\"row\"\r\n [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\" (dblclick)=\"editObject(row)\"\r\n (click)=\"highlight(row)\" (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\"\r\n style=\"cursor: pointer;\"></mat-row>\r\n </ng-container>\r\n\r\n <!-- [ngClass]=\"{hovered: row.hovered, highlighted: row.highlighted}\"\r\n (click)=\"highlight(row)\" (mouseover)=\"row.hovered = true\" (mouseout)=\"row.hovered = false\" -->\r\n </mat-table>\r\n <mat-paginator #paginator [hidden]=\"infiniteScroll\" [length]=\"resultsLength\" [pageSize]=\"15\"\r\n [pageSizeOptions]=\"[15, 30, 100]\" [showFirstLastButtons]=\"true\">\r\n </mat-paginator>\r\n </div>\r\n</div>","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Optional, Output, Self } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NgControl, UntypedFormControl } from '@angular/forms';\r\nimport { BaseModel, BaseQueryData, BaseService } from '@rosoftlab/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, filter, finalize, switchMap, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Component({\n selector: 'rsl-searchable-dropdown',\n templateUrl: './searchable-dropdown.component.html',\n host: {\n '[class.example-floating]': 'shouldLabelFloat',\n '[id]': 'id',\n '[attr.aria-describedby]': 'describedBy',\n },\n standalone: false\n})\r\nexport class SearchableDropdownComponent<T extends BaseModel> implements OnInit, OnDestroy, ControlValueAccessor {\r\n static nextId = 0;\r\n onChange = (_: any) => { };\r\n onTouched = () => { };\r\n stateChanges = new Subject<void>();\r\n focused = false;\r\n errorState = false;\r\n id = `rsl-searchable-dropdown-${SearchableDropdownComponent.nextId++}`;\r\n\r\n // label for the search dropdown\r\n @Input() label: string = '';\r\n\r\n //Name of the form control\r\n @Input() fControlName: string;\r\n\r\n //Reference of the service\r\n @Input() serviceRef: BaseService<T>;\r\n\r\n //Fields for filtering\r\n @Input() searchFields: string;\r\n\r\n //Fields for display \r\n @Input() displayFields: string;\r\n\r\n //Fields for sorting the API data\r\n @Input() sortFields: string = '';\r\n\r\n // The value used to populate the control value\r\n @Input() valueField: string = 'id';\r\n\r\n // The minumum char for search\r\n @Input() minLengthTerm: number = 3;\r\n\r\n // The preload x elements\r\n @Input() preloadElementsCount: number;\r\n\r\n @Output() modelSelected: EventEmitter<BaseModel> = new EventEmitter();\r\n\r\n\r\n get empty() {\r\n return !this.value;\r\n }\r\n\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n\r\n\r\n @Input()\r\n get value(): any | null {\r\n return this._value;\r\n }\r\n set value(value: any | null) {\r\n if (value)\r\n if (this._value !== value) {\r\n this.loadModel(value);\r\n }\r\n this._value = value;\r\n this.stateChanges.next();\r\n }\r\n private _value: any;\r\n // Search form control\r\n searchControl: AbstractControl;\r\n\r\n showSerach = true;\r\n isLoading = false;\r\n options = [];\r\n filteredOptions = [];\r\n /** Subject that emits when the component has been destroyed. */\r\n protected _onDestroy = new Subject<void>();\r\n\r\n constructor(\r\n private _focusMonitor: FocusMonitor,\r\n private _elementRef: ElementRef<HTMLElement>,\r\n @Optional() @Self() public ngControl: NgControl\r\n ) {\r\n\r\n this.searchControl = new UntypedFormControl('');\r\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\r\n if (this.focused && !origin) {\r\n this.onTouched();\r\n }\r\n this.focused = !!origin;\r\n this.stateChanges.next();\r\n });\r\n\r\n if (this.ngControl) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (!this.displayFields)\r\n this.displayFields = this.searchFields;\r\n\r\n this.loadModel(this.ngControl.value)\r\n\r\n if (this.preloadElementsCount) {\r\n this.serviceRef.getAll(1, this.preloadElementsCount).subscribe({\r\n next: (data: BaseQueryData<T>) => {\r\n this.showSerach = false;\r\n this.options = data.getModels();\r\n this.filteredOptions = this.options;\r\n }\r\n })\r\n }\r\n\r\n this.searchControl.valueChanges\r\n .pipe(\r\n filter((res) => {\r\n const result = res !== null && res.length >= this.minLengthTerm;\r\n if (!result) {\r\n this.options = [];\r\n this.filteredOptions = [];\r\n }\r\n this.showSerach = !result;\r\n return result;\r\n }),\r\n debounceTime(300),\r\n tap(() => {\r\n this.filteredOptions = [];\r\n this.isLoading = true;\r\n }),\r\n switchMap((value: string) =>\r\n this.serviceRef\r\n .getAll(1, 10, this.sortFields, `${this.searchFields.replace(',', '|')}@=*${value}`)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoading = false;\r\n })\r\n )\r\n ),\r\n takeUntil(this._onDestroy)\r\n )\r\n .subscribe((options: any) => {\r\n this.filteredOptions = options.getModels();\r\n });\r\n }\r\n\r\n onSelected($event) {\r\n const value = $event.option.value;\r\n this.searchControl.setValue(value);\r\n this.modelSelected.emit(value);\r\n if (this.valueField in value) {\r\n this.setControlValue(value[this.valueField]);\r\n }\r\n\r\n }\r\n setControlValue(value: any) {\r\n this.value = value;\r\n this.ngControl.control.setValue(value);\r\n }\r\n displayWith(value: any) {\r\n return this.getConcatedFields(value);\r\n }\r\n\r\n clearSelection() {\r\n this.modelSelected.emit(null);\r\n this.setControlValue(null);\r\n this.searchControl.setValue(null);\r\n this.filteredOptions = this.options;\r\n }\r\n\r\n getConcatedFields(option): string {\r\n if (!option) return null;\r\n const filtersArr = this.displayFields.split(',');\r\n return filtersArr.reduce((acc, cv) => {\r\n return acc.concat(option[cv] + ' ');\r\n }, '');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.searchControl = null;\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n getSearchText(): string {\r\n return `Enter ${this.minLengthTerm} characters to start search`;\r\n\r\n }\r\n writeValue(model: T | null): void {\r\n console.log(model);\r\n this.value = model;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n private loadModel(id: string) {\r\n //Load the model from API to display the value\r\n let needLoad = false;\r\n if (id) {\r\n if (!this.searchControl.value)\r\n needLoad = true\r\n else {\r\n if (this.searchControl.value[this.valueField] !== id) {\r\n needLoad = true\r\n }\r\n }\r\n }\r\n if (needLoad) {\r\n this.serviceRef.get(id).subscribe({\r\n next: (model: T) => {\r\n this.options.push(model);\r\n this.filteredOptions = this.options;\r\n this.searchControl.setValue(model);\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","<div class=\"form-group\">\r\n <label>{{label | translate}}</label>\r\n <mat-form-field appearance=\"outline\" fxFlex>\r\n <input matInput [matAutocomplete]=\"auto\" [formControl]=\"searchControl\">\r\n <button *ngIf=\"searchControl.value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSelection()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\"\r\n [displayWith]=\"displayWith.bind(this)\">\r\n <mat-option *ngIf=\"isLoading\">Loading...</mat-option>\r\n <mat-option *ngIf=\"!isLoading && filteredOptions.length == 0 && !showSerach\" disabled>Not found</mat-option>\r\n <mat-option *ngIf=\"showSerach\" disabled>{{getSearchText()}}</mat-option>\r\n <ng-container *ngIf=\"!isLoading && filteredOptions.length > 0\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n <span><b>{{getConcatedFields(option)}}</b></span>\r\n </mat-option>\r\n </ng-container>\r\n\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n</div>","import { CellTextAlign, GridLayoutFormat } from '@rosoftlab/core';\r\nexport function GridLayout(translateKey: string, width?: number | null,\r\n grow: 0 | 1 = 0, shrink: 0 | 1 = 0, subProperty?: string | null,\r\n formating: GridLayoutFormat = GridLayoutFormat.none,\r\n format: string = '', order: number = 0, textAlign: CellTextAlign = CellTextAlign.left) {\r\n return (target: any, propertyName: string | symbol) => {\r\n const annotations = Reflect.getMetadata('GridLayout', target) || [];\r\n let propName = propertyName\r\n if (subProperty) {\r\n propName = propertyName.toString() + '.' + subProperty;\r\n }\r\n annotations.push({\r\n propertyName: propName,\r\n translateKey,\r\n width,\r\n grow,\r\n shrink,\r\n formating,\r\n format,\r\n order,\r\n textAlign\r\n });\r\n\r\n Reflect.defineMetadata('GridLayout', annotations, target);\r\n };\r\n}\r\n","import { CellTextAlign, GridLayoutFormat } from '@rosoftlab/core';\r\nexport class GridLayoutModel {\r\n constructor(\r\n propertyName: string, translateKey: any = null, width: any = null, grow: 0 | 1 = 0, shrink: 0 | 1 = 0,\r\n formating: GridLayoutFormat = GridLayoutFormat.none, format = '', order = 0,\r\n textAlign: CellTextAlign = CellTextAlign.left) {\r\n this.propertyName = propertyName;\r\n this.translateKey = translateKey;\r\n this.width = width;\r\n this.grow = grow;\r\n this.shrink = shrink;\r\n this.formating = formating;\r\n this.format = format;\r\n this.order = order;\r\n this.textAlign = textAlign;\r\n }\r\n public propertyName: string;\r\n public translateKey: string;\r\n public width: number;\r\n public grow: 0 | 1;\r\n public shrink: 0 | 1;\r\n public formating: GridLayoutFormat = GridLayoutFormat.none;\r\n public format: string;\r\n public order: number = 0;\r\n public textAlign: CellTextAlign = CellTextAlign.left;\r\n}\r\n","import { BaseModel } from '@rosoftlab/core';\r\nimport { GridLayoutModel } from './grid-layout';\r\nexport class MaterialBaseModel extends BaseModel {\r\n\r\n public getGridLayout(): GridLayoutModel[] {\r\n const result = Array<GridLayoutModel>();\r\n const gridLayout: any = Reflect.getMetadata('GridLayout', this);\r\n if (gridLayout) {\r\n for (const layout of gridLayout) {\r\n const data = new GridLayoutModel(layout.propertyName, layout.translateKey,\r\n layout.width, layout.shrink, layout.grow,\r\n layout.formating, layout.format, layout.order, layout.textAlign);\r\n result.push(data);\r\n }\r\n }\r\n return result.sort(function (a, b) { return a.order - b.order; })\r\n //result;\r\n }\r\n}\r\n","import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GenericTableComponent, SearchableDropdownComponent } from './components';\r\n\r\nconst COMMON_MODULES = [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCardModule, MatCheckboxModule, MatChipsModule, MatDatepickerModule,\r\n MatDialogModule, MatExpansionModule, MatGridListModule, MatIconModule,\r\n MatInputModule, MatListModule, MatMenuModule, MatNativeDateModule,\r\n MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatRadioModule, MatRippleModule, MatSelectModule, MatSidenavModule,\r\n MatSliderModule, MatSlideToggleModule, MatSnackBarModule, MatSortModule, MatTableModule, MatTabsModule, MatToolbarModule,\r\n MatTooltipModule, MatOptionModule, DragDropModule, MatDividerModule, PortalModule, MatTreeModule, MatBadgeModule, MatStepperModule,\r\n CdkStepperModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n GenericTableComponent,\r\n SearchableDropdownComponent,\r\n ],\r\n imports: [\r\n ...COMMON_MODULES,\r\n TranslateModule\r\n ],\r\n exports: [\r\n ...COMMON_MODULES,\r\n GenericTableComponent,\r\n SearchableDropdownComponent,\r\n TranslateModule],\r\n})\r\nexport class RSLMaterialModule {\r\n}\r\n","/*\r\n * Public API Surface of core\r\n */\r\n\r\nexport * from './lib/core';\r\nexport * from './lib/services/dialog.service-implementation';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DialogServiceMaterial","i4","i1","i2","i5","i6","i7","i8","i9","i10"],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@rosoftlab/material",
3
- "version": "1.0.0-alpha-19",
3
+ "version": "1.0.1-alpha-3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.9",
6
6
  "@angular/core": "^18.2.9",
7
- "@rosoftlab/core": "1.0.0-alpha-19",
7
+ "@rosoftlab/core": "1.0.1-alpha-3",
8
8
  "@sweetalert2/theme-material-ui": "^5.0.16",
9
9
  "@angular/material": "^17.1.2",
10
10
  "sweetalert2": "^11.10.5"
@@ -23,8 +23,6 @@
23
23
  },
24
24
  ".": {
25
25
  "types": "./index.d.ts",
26
- "esm2022": "./esm2022/rosoftlab-material.mjs",
27
- "esm": "./esm2022/rosoftlab-material.mjs",
28
26
  "default": "./fesm2022/rosoftlab-material.mjs"
29
27
  }
30
28
  }